mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 12:30:06 +00:00
Revert "Add hidden visibility to internal function prototypes".
The commit
commit 568ff4296c
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon Aug 21 05:50:38 2017 -0700
Add hidden visibility to internal function prototypes
breaks the build of the testsuite for many platforms:
https://sourceware.org/ml/libc-testresults/2017-q3/msg00300.html
The errors are of the following form, building math/atest-exp:
[...]
/scratch/jmyers/glibc-bot/build/glibcs/aarch64-linux-gnu/glibc/stdlib/rshift.o: In function `__mpn_rshift':
/scratch/jmyers/glibc-bot/build/glibcs/aarch64-linux-gnu/glibc-src/stdlib/rshift.c:45: undefined reference to `__assert_fail'
/scratch/jmyers/glibc-bot/install/compilers/aarch64-linux-gnu/lib/gcc/aarch64-glibc-linux-gnu/7.2.1/../../../../aarch64-glibc-linux-gnu/bin/ld: /scratch/jmyers/glibc-bot/build/glibcs/aarch64-linux-gnu/glibc/math/atest-exp: hidden symbol `__assert_fail' isn't defined
/scratch/jmyers/glibc-bot/install/compilers/aarch64-linux-gnu/lib/gcc/aarch64-glibc-linux-gnu/7.2.1/../../../../aarch64-glibc-linux-gnu/bin/ld: final link failed: Bad value
This test is using various objects from the build of libc. Some of
those objects contain references to __assert_fail. Because those
references are hidden, they cannot refer to __assert_fail from
libc.so. Given the tests using internal objects those symbols in
libc.a can't safely be made hidden, so this patch reverts the problem
commit until any alternative approach that doesn't break the build can
be found.
This commit is contained in:
parent
831bbd5527
commit
df1deda600
@ -1,5 +1,14 @@
|
||||
2017-08-21 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
Revert:
|
||||
2017-08-21 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* include/libc-symbols.h (__hidden_proto_hiddenattr): New for
|
||||
building libc.a.
|
||||
(hidden_proto): Likewise.
|
||||
(hidden_tls_proto): Likewise.
|
||||
(__hidden_proto): Likewise.
|
||||
|
||||
[BZ #21973]
|
||||
* sysdeps/sparc/sparc32/fpu/w_sqrt_compat.S: Remove file.
|
||||
* sysdeps/sparc/sparc32/fpu/w_sqrtf_compat.S: Likewise.
|
||||
|
@ -513,20 +513,8 @@ for linking")
|
||||
# endif
|
||||
#else
|
||||
# ifndef __ASSEMBLER__
|
||||
# if !defined SHARED && IS_IN (libc) && !defined LIBC_NONSHARED \
|
||||
&& !defined NO_HIDDEN
|
||||
# define __hidden_proto_hiddenattr(attrs...) \
|
||||
__attribute__ ((visibility ("hidden"), ##attrs))
|
||||
# define hidden_proto(name, attrs...) \
|
||||
__hidden_proto (name, , name, ##attrs)
|
||||
# define hidden_tls_proto(name, attrs...) \
|
||||
__hidden_proto (name, __thread, name, ##attrs)
|
||||
# define __hidden_proto(name, thread, internal, attrs...) \
|
||||
extern thread __typeof (name) name __hidden_proto_hiddenattr (attrs);
|
||||
# else
|
||||
# define hidden_proto(name, attrs...)
|
||||
# define hidden_tls_proto(name, attrs...)
|
||||
# endif
|
||||
# define hidden_proto(name, attrs...)
|
||||
# define hidden_tls_proto(name, attrs...)
|
||||
# else
|
||||
# define HIDDEN_JUMPTARGET(name) JUMPTARGET(name)
|
||||
# endif /* Not __ASSEMBLER__ */
|
||||
|
Loading…
Reference in New Issue
Block a user