new way of generating crt[ni].o [patch]
Andreas Jaeger
aj@arthur.rhein-neckar.de
Sat Sep 4 09:41:00 GMT 1999
>>>>> Zack Weinberg writes:
Zack> Andreas Jaeger wrote:
>> >>>>> Zack Weinberg writes:
>>
>> > The new x86 back end wants to generate trampolines to load the PIC
>> > base register all the time (yes, even with -march=i386). The current
>> > crt[in] generation can't handle this. So I rewrote it again. This
>> > version does the split in the object file; it turns out to be much,
>> > much cleaner that way. On the other hand, it is dependent on more
>> > gnu-binutils-specific features than before. I'm using binutils
>> > 2.9.5.0.10, but it ought to work with 2.9.1 and later, at least.
>>
>> Do I understand your statement correctly that the current gcc cvs
>> version doesn't correctly build glibc? How severe is the problem?
Zack> When I tried it, it blew up in the others pass trying to link the
Zack> first program against the just-built library. Error was "undefined
Zack> reference to symbol `LPR0'" or something like that; the problem was
Zack> that the new ia32 backend does -fPIC like this:
Zack> .LPR0:
Zack> movl (%esp), %ebx
Zack> ret
Zack> _init:
Zack> pushl %ebp
Zack> movl %esp, %ebp
Zack> pushl %ebx
Zack> call .LPR0
Zack> ... body of function here ...
Zack> The .LPR0 label and its code are lost when we split up the file.
:-(
Zack> sysdeps/i386/Makefile adds -march=i386 to CFLAGS, which is supposed to
Zack> go back to the old style of -fPIC. It works on a test file, but
Zack> doesn't on initfini.c, I don't know why.
I've got to concerns: I'd like to see glibc 2.1.2 asap released - and
I don't like another glibc release that only works with the current but
not with the next gcc compiler [1].
Richard, is there no way to get this working with all versions of gcc
including the current development version?
Andreas
Footnotes:
[1] gcc 2.95 doesn't work correctly with glibc 2.1.1 - and I don't
like to see a 2.1.2 which doesn't work with gcc 2.96.
--
Andreas Jaeger aj@arthur.rhein-neckar.de jaeger@informatik.uni-kl.de
for pgp-key finger ajaeger@aixd1.rhrk.uni-kl.de
More information about the Libc-hacker
mailing list