ld: pru: Fix resource_table output section alignment

My commit 261980de18 added alignment for the resource table symbol.
But it is wrong.  The Linux remoteproc driver loads and interprets the
contents of the .resource_table ELF section, not of a table symbol.

Without this patch, if the linker happens to output padding for symbol
alignment, then the resource table contents as viewed by the kernel
loader would "shift" and look corrupted.

ld/ChangeLog:

	* scripttempl/pru.sc  (.resource_table): Align the output
	section, not the first symbol.

Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
This commit is contained in:
Dimitar Dimitrov 2021-09-27 22:43:24 +03:00
parent 9279eb5c2c
commit 5109a7bd9b
2 changed files with 8 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2021-09-30 Dimitar Dimitrov <dimitar@dinux.eu>
* scripttempl/pru.sc (.resource_table): Align the output
section, not the first symbol.
2021-09-27 Nick Alcock <nick.alcock@oracle.com>
* configure: Regenerate.

View File

@ -151,11 +151,10 @@ SECTIONS
${RELOCATING+ PROVIDE (_data_end = .) ; }
} ${RELOCATING+ > dmem }
.resource_table ${RELOCATING-0} :
/* Linux remoteproc loader requires the resource_table section
start address to be aligned to 8 bytes. */
.resource_table ${RELOCATING-0} ${RELOCATING+ ALIGN(8)} :
{
/* Linux remoteproc loader requires the resource table address
to be aligned to 8 bytes. */
${RELOCATING+. = ALIGN(8);}
KEEP (*(.resource_table))
} ${RELOCATING+ > dmem}