> Here is the ld -M output for the "bad" compile:
>
> .data_nosave    0xc0376790      0x870 load address 0x00376790
>                 0xc0377000                . = ALIGN (0x1000)
>  *fill*         0xc0376790      0x870 00

Ah right.  Having the ALIGN() inside the output section causes the linker
to put some filler in there, which makes it a non-empty section, but this
section isn't assigned to a segment so you get a warning from the linker.

I think the proper way to do this is to not put the ALIGN() before the
output section, nor inside it, but _on_ it, like

.data_nosave : ALIGN(0x1000) { .... }


Segher

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to