https://sourceware.org/bugzilla/show_bug.cgi?id=19073
--- Comment #13 from Andreas Krebbel <krebbel at linux dot vnet.ibm.com> ---
(In reply to H.J. Lu from comment #10)
> (In reply to Andreas Krebbel from comment #8)
> > (In reply to H.J. Lu from comment #7)
> > > Please provide a testcase I can reproduce it on x86-64 with
> > > only cross binutils.
> >
> > The testcase I've attached fails the same way with cross binutils:
> >
> > install-s390x/bin/s390x-ibm-linux-ld -melf64_s390 b.os
> > Segmentation fault (core dumped)
>
> [hjl@gnu-6 pr19073]$ cat xxx.c
> void
> __foo ()
> {
> }
>
> asm (".weak foo_v1");
> asm (".globl foo_v1");
> asm (".set foo_v1, __foo");
> asm (".weak foo_v2");
> asm (".globl foo_v2");
> asm (".set foo_v2, __foo");
> asm (".symver foo_v2,[email protected]");
> asm (".symver foo_v1,foo@@VERS.1");
> asm (".globl foo");
> asm (".weak foo");
> asm (".set foo, __foo");
> [hjl@gnu-6 pr19073]$ make libfoo.so
> gcc -B./ -fPIC -c -o xxx.o xxx.c
> ./ld -o foo.o -r xxx.o
> ./ld -o libfoo.so -shared foo.o --version-script foo.v
> Makefile:12: recipe for target 'libfoo.so' failed
> make: *** [libfoo.so] Segmentation fault
> make: *** Deleting file 'libfoo.so'
> [hjl@gnu-6 pr19073]$
>
> There is a bug in sysdeps/unix/sysv/linux/s390/s390-64/getcontext.S
> which defines both getcontext@@GLIBC_2.2 and getcontext. But linker
> shouldn't crash.
I agree that this does not look correct but it is similiar to e.g. setjmp on
x86_64:
readelf -s libc.so.6 | grep " setjmp"
622: 0000000000032ce0 10 FUNC GLOBAL DEFAULT 13 setjmp@@GLIBC_2.2.5
6015: 0000000000032ce0 10 FUNC GLOBAL DEFAULT 13 setjmp
One difference appears to be that the symbol without version information is
weak on s390.
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-binutils