make check problems on powerpc-unknown-linux-gnu

Franz Sirl Franz.Sirl-kernel@lauterbach.com
Thu Mar 25 18:00:00 GMT 1999


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.



More information about the Gas2 mailing list