This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: -mrelocatable broken on ppc-linux
On Wed, Jan 21, 2004 at 12:29:20PM -0400, Aldy Hernandez wrote:
> Hi Jakub.
>
> I'm not very -mrelocatable savvy, so I may be spouting off
> nonsense... However...
>
> > But there isn't anything that would process .fixup section on Linux either,
> > is it?
>
> I checked with the 2.4 and 2.6 kernels. Both, use -mrelocatable-lib
> on a few files. Also, ppc-linux uses a linker script that does not
> ignore the .fixup sections (arch/ppc/vmlinux.lds).
Linux kernel .fixup sections are completely different animal than
the ones generated by GCC on PPC* AFAIK. They have the same name,
that's about it.
Linux kernel .fixup sections contains fixup instructions for user access,
while GCC generates something like:
.LCP123: .long foo@fixup
.section .fixup, "aw"
.align 2
.long .LCP123
.previous
Probably nothing bad happens when LK includes some garbage data in between
the instruction chunks somewhere, as they will never be executed, but
they certainly should not appear in LK.
> Alan, in the thread he referenced, mentioned that perhaps we should
> keep the fixup sections because folks could provide another linker
> script, which seems to be precisely the case in the linux kernel.
>
> Do you agree?
Jakub