[Top] [All Lists]

origtest failure with MIPS-Linux glibc

To: libc-alpha Mailinglist <>
Subject: origtest failure with MIPS-Linux glibc
From: Andreas Jaeger <>
Date: 30 Jun 2000 17:09:20 +0200
User-agent: Gnus/5.0807 (Gnus v5.8.7) XEmacs/21.1 (Capitol Reef)
The current glibc testsuite contains in the elf subdirectory a test
called origtest which loads dynamically (via dlopen) the shared file

This test fails on MIPS-Linux since contains an undefined
reference to foo which can't be fulfilled.  

In elf_machine_runtime_setup (sysdeps/mips/dl-machine.h)
elf_machine_got_rel is called to relocate the GOT table.  The ABI
defines that "if an entry correspondends to an undefined symbol and
the global offset table entry contains a zero, the entry must be
resolved by the dynamic linker".  foo has a value of 0 and therefore we
need to relocate it (even if it is not called at all) - but there's no
reference at all:

Symbol table '.dynsym' contains 50 entries:
   Num:    Value  Size Type    Bind   Vis      Ndx Name
    48: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND foo

Who's to blame here?  Is this a restriction of the MIPS ELF ABI (I do
think that glibc's dynamic linker does the right think in this case)?
Or is there a bug in binutils/gcc which should produce a wrong symbol

Is there anything I can do to fix this failure?

Any comments are very welcome.

 Andreas Jaeger
  SuSE Labs

<Prev in Thread] Current Thread [Next in Thread>