mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-02-23 13:21:43 +08:00
ld: pru: Place exception-handling sections correctly
* scripttempl/pru.sc (OUTPUT_SECTION_ALIGN): New helper variable to place at end of DMEM output sections. (.data): Use the helper variable. (.eh_frame): New output section. (.gnu_extab): Ditto. (.gcc_except_table): Ditto. (.resource_table): Use the helper variable.
This commit is contained in:
parent
654dfab066
commit
35130e73da
10
ld/ChangeLog
10
ld/ChangeLog
@ -1,3 +1,13 @@
|
||||
2023-05-04 Dimitar Dimitrov <dimitar@dinux.eu>
|
||||
|
||||
* scripttempl/pru.sc (OUTPUT_SECTION_ALIGN): New helper variable
|
||||
to place at end of DMEM output sections.
|
||||
(.data): Use the helper variable.
|
||||
(.eh_frame): New output section.
|
||||
(.gnu_extab): Ditto.
|
||||
(.gcc_except_table): Ditto.
|
||||
(.resource_table): Use the helper variable.
|
||||
|
||||
2023-04-27 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* ldmisc.c (vfinfo): Add support for %x and %lx.
|
||||
|
@ -24,6 +24,12 @@ ENTRY (_start)
|
||||
|
||||
EOF
|
||||
|
||||
OUTPUT_SECTION_ALIGN="
|
||||
${RELOCATING+/* In case this is the last input section,
|
||||
align to keep the loadable segment size a multiple of the common page size.
|
||||
Some SoCs have stricter memory size requirements than others. */
|
||||
. = ALIGN (CONSTANT (COMMONPAGESIZE));}"
|
||||
|
||||
cat <<EOF
|
||||
SECTIONS
|
||||
{
|
||||
@ -163,10 +169,25 @@ SECTIONS
|
||||
${RELOCATING+*(COMMON)}
|
||||
${RELOCATING+ PROVIDE (_bss_end = .) ; }
|
||||
|
||||
${RELOCATING+/* In case this is the last input section, align to
|
||||
keep the loadable segment size a multiple of the common page size.
|
||||
Some SoCs have stricter memory size requirements than others. */
|
||||
. = ALIGN (CONSTANT (COMMONPAGESIZE));}
|
||||
${OUTPUT_SECTION_ALIGN}
|
||||
} ${RELOCATING+ > dmem}
|
||||
|
||||
.eh_frame ${RELOCATING-0} :
|
||||
{
|
||||
KEEP (*(.eh_frame))${RELOCATING+ *(.eh_frame.*)}
|
||||
${OUTPUT_SECTION_ALIGN}
|
||||
} ${RELOCATING+ > dmem}
|
||||
|
||||
.gnu_extab ${RELOCATING-0} :
|
||||
{
|
||||
*(.gnu_extab)
|
||||
${OUTPUT_SECTION_ALIGN}
|
||||
} ${RELOCATING+ > dmem}
|
||||
|
||||
.gcc_except_table ${RELOCATING-0} :
|
||||
{
|
||||
*(.gcc_except_table${RELOCATING+ .gcc_except_table.*})
|
||||
${OUTPUT_SECTION_ALIGN}
|
||||
} ${RELOCATING+ > dmem}
|
||||
|
||||
/* Linux remoteproc loader requires the resource_table section
|
||||
@ -175,10 +196,7 @@ SECTIONS
|
||||
.resource_table ${RELOCATING-0} ${RELOCATING+ ALIGN (CONSTANT (MAXPAGESIZE))} :
|
||||
{
|
||||
KEEP (*(.resource_table))
|
||||
${RELOCATING+/* In case this is the last input section, align to
|
||||
keep the loadable segment size a multiple of the common page size.
|
||||
Some SoCs have stricter memory size requirements than others. */
|
||||
. = ALIGN (CONSTANT (COMMONPAGESIZE));}
|
||||
${OUTPUT_SECTION_ALIGN}
|
||||
} ${RELOCATING+ > dmem}
|
||||
|
||||
/* Global data not cleared after reset. */
|
||||
|
Loading…
Reference in New Issue
Block a user