forked from Imagelibrary/binutils-gdb
.noinit and .persistent alignment
It's more elegant to make the section match up with its "_start" symbol. We could align by setting the address of the section (by using ALIGN before the colon), but this way we also set sh_addralign to at least $ALIGNMENT. * scripttempl/elf.sc (.noinit, .persistent): Align the output section rather than using ". = ALIGN();" at the beginning. Set address to zero when not a final link.
This commit is contained in:
@@ -342,9 +342,8 @@ STACK=".stack ${RELOCATING-0}${RELOCATING+${STACK_ADDR}} :
|
||||
test "${HAVE_NOINIT}" = "yes" && NOINIT="
|
||||
/* This section contains data that is not initialized during load,
|
||||
or during the application's initialization sequence. */
|
||||
.noinit (NOLOAD) :
|
||||
.noinit ${RELOCATING-0} (NOLOAD) : ${RELOCATING+ALIGN(${ALIGNMENT})}
|
||||
{
|
||||
${RELOCATING+. = ALIGN(${ALIGNMENT});}
|
||||
${RELOCATING+PROVIDE (__noinit_start = .);}
|
||||
*(.noinit${RELOCATING+ .noinit.* .gnu.linkonce.n.*})
|
||||
${RELOCATING+. = ALIGN(${ALIGNMENT});}
|
||||
@@ -353,9 +352,8 @@ test "${HAVE_NOINIT}" = "yes" && NOINIT="
|
||||
test "${HAVE_PERSISTENT}" = "yes" && PERSISTENT="
|
||||
/* This section contains data that is initialized during load,
|
||||
but not during the application's initialization sequence. */
|
||||
.persistent :
|
||||
.persistent ${RELOCATING-0} : ${RELOCATING+ALIGN(${ALIGNMENT})}
|
||||
{
|
||||
${RELOCATING+. = ALIGN(${ALIGNMENT});}
|
||||
${RELOCATING+PROVIDE (__persistent_start = .);}
|
||||
*(.persistent${RELOCATING+ .persistent.* .gnu.linkonce.p.*})
|
||||
${RELOCATING+. = ALIGN(${ALIGNMENT});}
|
||||
|
||||
Reference in New Issue
Block a user