gcc 4.8.1, powerpc, .data.rel.ro.local entry with no corresponding .fixup entry

Joerg Albert jal2@gmx.de
Mon Feb 10 14:33:00 GMT 2014


Hi,

switched to gcc 4.8.2, but the problem remains.

It seems like .data.rel.ro.local contains pointers only
and its entries are not covered by any entries in .fixup.
All other .data.rel.ro.* sections contain arbitrary data -
if there are any pointers, there is always a corresponding
entry in .fixup.

Therefore I put .data.rel.ro.local between .got2 and .got in the
linker script file:

    KEEP(*(.got2))
    KEEP(*(.data.rel.ro.local))
    KEEP(*(.got))

which seems to solve the problem.

Is the above assumption valid? Or may it break with some other code
or with the next compiler version? It's quite hard to find documentation
about the usage of .data.rel.ro.local.

Thanks,
Joerg



More information about the Gcc-help mailing list