This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: Alpha, S390 on 2.2.5pre1
- From: Andreas Schwab <schwab at suse dot de>
- To: Andreas Jaeger <aj at suse dot de>
- Cc: libc-alpha at sources dot redhat dot com
- Date: Thu, 17 Jan 2002 16:36:20 +0100
- Subject: Re: Alpha, S390 on 2.2.5pre1
- References: <hou1tl416v.fsf@gee.suse.de>
Andreas Jaeger <aj@suse.de> writes:
|> On Alpha I get the failure with reldep6 (both with gcc 2.96 and gcc
|> 3.0.3):
|>
|> GCONV_PATH=/usr/src/packages/BUILD/glibc-2.2/cc/iconvdata LC_ALL=C /usr/src/packages/BUILD/glibc-2.2/cc/elf/ld-linux.so.2 --library-path /usr/src/packages/BUILD/glibc-2.2/cc:/usr/src/packages/BUILD/glibc-2.2/cc/math:/usr/src/packages/BUILD/glibc-2.2/cc/elf:/usr/src/packages/BUILD/glibc-2.2/cc/dlfcn:/usr/src/packages/BUILD/glibc-2.2/cc/nss:/usr/src/packages/BUILD/glibc-2.2/cc/nis:/usr/src/packages/BUILD/glibc-2.2/cc/rt:/usr/src/packages/BUILD/glibc-2.2/cc/resolv:/usr/src/packages/BUILD/glibc-2.2/cc/crypt:/usr/src/packages/BUILD/glibc-2.2/cc/linuxthreads /usr/src/packages/BUILD/glibc-2.2/cc/elf/reldep6
|> Illegal instruction
|>
|> (gdb) r
|> Starting program: /usr/src/packages/BUILD/glibc-2.2/cc/elf/./reldep6
|> (no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...
|> (no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...
|> (no debugging symbols found)...(no debugging symbols found)...
|> Program received signal SIGILL, Illegal instruction.
|> warning: Hit beginning of text section without finding
|> warning: enclosing function for address 0x4
|> This warning occurs if you are debugging a function without any symbols
|> (for example, in a stripped executable). In that case, you may wish to
|> increase the size of the search with the `set heuristic-fence-post' command.
|>
|> Otherwise, you told GDB there was a function where there isn't one, or
|> (more likely) you have encountered a bug in GDB.
|> 0x00000004 in ?? ()
|> (gdb) bt
|> #0 0x00000004 in ?? ()
|> #1 0x200001f6b28 in baz () from /usr/src/packages/BUILD/glibc-2.2/cc/elf/reldep6mod1.so
|> #2 0x200001f6b28 in baz () from /usr/src/packages/BUILD/glibc-2.2/cc/elf/reldep6mod1.so
That looks like a linker bug. The handling of weak symbols seems to be
broken, instead of generating a PLT relocation the linker uses a GOT
relocation, which is non-lazy.
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE GmbH, Deutschherrnstr. 15-19, D-90429 Nürnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."