This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: gcc 4.8.1, powerpc, .data.rel.ro.local entry with no corresponding .fixup entry
- From: Joerg Albert <jal2 at gmx dot de>
- To: gcc-help at gcc dot gnu dot org
- Date: Mon, 10 Feb 2014 14:33:11 +0000 (UTC)
- Subject: Re: gcc 4.8.1, powerpc, .data.rel.ro.local entry with no corresponding .fixup entry
- Authentication-results: sourceware.org; auth=none
- References: <loom dot 20140203T154631-645 at post dot gmane dot org>
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