This is the mail archive of the gas2@sourceware.cygnus.com mailing list for the gas2 project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Am Thu, 25 Mar 1999 schrieb Ian Lance Taylor:
>From: Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
> Date: Thu, 25 Mar 1999 11:24:57 +0100
>
> > FAIL: shared (non PIC, load offset)
> >
> >This one is the only serious error. It's worth investigating why this
> >is happening. Do other people using PowerPC GNU/Linux see this as
> >well?
>
> dunno, actually only a few PPC/Linux people are using snapshots right now (it
> is needed to build the egcs mainline). I get this FAIL since early January,
> 981227 is the last snapshot I have without this problem. What can I do to help
> to track down this problem?
>
>Whoops, I was confused. I confused that test with others. That test
>was only added in January 3, so it most likely never worked on PowerPC
>GNU/Linux.
>
>That test uses a special linker script,
> ld/testsuite/ld-shared/elf-offset.ld
>That linker script is probably missing something that is in the
>default PowerPC ELF linker script, ld/scripttempl/elfppc.sc, which is
>causing the problem. (You can see the default linker script in a
>slightly more readable form by running ld --verbose).
That was a good hint :-). This little patch fixes the FAIL for me:
--- elf-offset.ld~ Thu Mar 25 19:31:17 1999
+++ elf-offset.ld Thu Mar 25 19:31:43 1999
@@ -1,7 +1,7 @@
SECTIONS
{
/* Read-only sections, merged into text segment: */
- . = 0x100000;
+ . = 0x100000 + SIZEOF_HEADERS;
.hash : { *(.hash) }
.dynsym : { *(.dynsym) }
.dynstr : { *(.dynstr) }
If this really is only a testsuite bug, I'll take gas-990324 as the standard
binutils for an upcoming glibc-2.1 based PPC distribution, cause 2.9.1.0.x seems
to corrupt binaries with strip. BTW, what's the planned release date for 2.10?
> > On the last on the only special thing about shnp.so I noticed is the
> > following readelf output:
> >
> > Program Headers:
> > Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
> > LOAD 0x010000 0x00100000 0x00100000 0x017d0 0x017d0 RWE 0x10000
> > DYNAMIC 0x01176c 0x0010176c 0x0010176c 0x00050 0x00050 RW 0x4
> >
> > AFAI remember there are usually 2 LOAD entries here, or?
> >
> >Yes, there usually are. However, it is not a requirement.
>
> maybe glibc-2.1/glibc-2.1.1pre1 enforce this? Do people on other glibc-2.1
> platforms see this failure too? Or is it PPC only?
>
>Actually, there should be PHDR and INTERP entries also; the dynamic
>linker is probably complaining about the lack of a PHDR entry.
I noticed a few small differences between the PPC default linker script and the
test linker script that might be worth investigating, such as PPC does not sort
CONSTRUCTORS, does not incorporate .sdata.* sections and misses some stab.*
stuff.
Franz.