This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Don't use IFUNC resolver for longjmp or system in libpthread (bug 21041)
- From: Joseph Myers <joseph at codesourcery dot com>
- To: Andreas Schwab <schwab at suse dot de>
- Cc: <libc-alpha at sourceware dot org>
- Date: Tue, 8 Aug 2017 18:09:34 +0000
- Subject: Re: [PATCH] Don't use IFUNC resolver for longjmp or system in libpthread (bug 21041)
- Authentication-results: sourceware.org; auth=none
- References: <mvmwp6em7uq.fsf@suse.de>
I suspect this of having caused s390 build failures.
s390x-glibc-linux-gnu-gcc -m31
../sysdeps/unix/sysv/linux/s390/pt-longjmp.c -c -std=gnu11 -fgnu89-inline
-O2 -Wall -Werror -Wundef -Wwrite-strings -fmerge-all-constants
-fno-stack-protector -frounding-math -g -Wstrict-prototypes
-Wold-style-definition -mlong-double-128 -fPIC -ftls-model=initial-exec
-I../include
-I/scratch/jmyers/glibc-bot/build/glibcs/s390-linux-gnu/glibc/nptl
-I/scratch/jmyers/glibc-bot/build/glibcs/s390-linux-gnu/glibc
-I../sysdeps/unix/sysv/linux/s390/s390-32
-I../sysdeps/unix/sysv/linux/s390/fpu -I../sysdeps/s390/fpu
-I../sysdeps/unix/sysv/linux/s390 -I../sysdeps/s390/nptl
-I../sysdeps/ieee754/ldbl-64-128 -I../sysdeps/ieee754/ldbl-opt
-I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux
-I../sysdeps/nptl -I../sysdeps/pthread -I../sysdeps/gnu
-I../sysdeps/unix/inet -I../sysdeps/unix/sysv -I../sysdeps/unix
-I../sysdeps/posix -I../sysdeps/s390/s390-32/multiarch
-I../sysdeps/s390/s390-32 -I../sysdeps/wordsize-32
-I../sysdeps/s390/multiarch -I../sysdeps/s390
-I../sysdeps/ieee754/ldbl-128 -I../sysdeps/ieee754/dbl-64
-I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic
-I.. -I../libio -I. -D_LIBC_REENTRANT -include
/scratch/jmyers/glibc-bot/build/glibcs/s390-linux-gnu/glibc/libc-modules.h
-DMODULE_NAME=libpthread -include ../include/libc-symbols.h -DPIC
-DSHARED -DTOP_NAMESPACE=glibc -o
/scratch/jmyers/glibc-bot/build/glibcs/s390-linux-gnu/glibc/nptl/pt-longjmp.os
-MD -MP -MF
/scratch/jmyers/glibc-bot/build/glibcs/s390-linux-gnu/glibc/nptl/pt-longjmp.os.dt
-MT
/scratch/jmyers/glibc-bot/build/glibcs/s390-linux-gnu/glibc/nptl/pt-longjmp.os
In file included from <command-line>:0:0:
../sysdeps/unix/sysv/linux/s390/pt-longjmp.c:29:15: error: 'longjmp_ifunc'
undeclared here (not in a function); did you mean 'longjmp_alias'?
strong_alias (longjmp_ifunc, __v2longjmp)
^
./../include/libc-symbols.h:127:20: note: in definition of macro
'_strong_alias'
extern __typeof (name) aliasname __attribute__ ((alias (#name)));
^~~~
../sysdeps/unix/sysv/linux/s390/pt-longjmp.c:29:1: note: in expansion of
macro 'strong_alias'
strong_alias (longjmp_ifunc, __v2longjmp)
^~~~~~~~~~~~
../sysdeps/unix/sysv/linux/s390/pt-longjmp.c:31:15: error:
'siglongjmp_ifunc' undeclared here (not in a function); did you mean
'longjmp_ifunc'?
strong_alias (siglongjmp_ifunc, __v2siglongjmp)
^
./../include/libc-symbols.h:127:20: note: in definition of macro
'_strong_alias'
extern __typeof (name) aliasname __attribute__ ((alias (#name)));
^~~~
../sysdeps/unix/sysv/linux/s390/pt-longjmp.c:31:1: note: in expansion of
macro 'strong_alias'
strong_alias (siglongjmp_ifunc, __v2siglongjmp)
^~~~~~~~~~~~
../sysdeps/unix/sysv/linux/s390/pt-longjmp.c:31:33: error:
'__v2siglongjmp' aliased to undefined symbol 'siglongjmp_ifunc'
strong_alias (siglongjmp_ifunc, __v2siglongjmp)
^
./../include/libc-symbols.h:127:20: note: in definition of macro
'_strong_alias'
extern __typeof (name) aliasname __attribute__ ((alias (#name)));
^~~~
../sysdeps/unix/sysv/linux/s390/pt-longjmp.c:31:1: note: in expansion of
macro 'strong_alias'
strong_alias (siglongjmp_ifunc, __v2siglongjmp)
^~~~~~~~~~~~
../sysdeps/unix/sysv/linux/s390/pt-longjmp.c:31:33: error:
'__v2siglongjmp' aliased to undefined symbol 'siglongjmp_ifunc'
strong_alias (siglongjmp_ifunc, __v2siglongjmp)
^
./../include/libc-symbols.h:127:26: note: in definition of macro
'_strong_alias'
extern __typeof (name) aliasname __attribute__ ((alias (#name)));
^~~~~~~~~
../sysdeps/unix/sysv/linux/s390/pt-longjmp.c:31:1: note: in expansion of
macro 'strong_alias'
strong_alias (siglongjmp_ifunc, __v2siglongjmp)
^~~~~~~~~~~~
../sysdeps/unix/sysv/linux/s390/pt-longjmp.c:29:30: error: '__v2longjmp'
aliased to undefined symbol 'longjmp_ifunc'
strong_alias (longjmp_ifunc, __v2longjmp)
^
./../include/libc-symbols.h:127:26: note: in definition of macro
'_strong_alias'
extern __typeof (name) aliasname __attribute__ ((alias (#name)));
^~~~~~~~~
../sysdeps/unix/sysv/linux/s390/pt-longjmp.c:29:1: note: in expansion of
macro 'strong_alias'
strong_alias (longjmp_ifunc, __v2longjmp)
^~~~~~~~~~~~
/scratch/jmyers/glibc-bot/build/glibcs/s390-linux-gnu/glibc/sysd-rules:151:
recipe for target
'/scratch/jmyers/glibc-bot/build/glibcs/s390-linux-gnu/glibc/nptl/pt-longjmp.os'
failed
make[3]: ***
[/scratch/jmyers/glibc-bot/build/glibcs/s390-linux-gnu/glibc/nptl/pt-longjmp.os]
Error 1
--
Joseph S. Myers
joseph@codesourcery.com