Movatterモバイル変換


[0]ホーム

URL:


This is the mail archive of thelibc-alpha@sourceware.orgmailing list for theglibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav:[Date Prev] [Date Next][Thread Prev] [Thread Next]
Other format:[Raw text]

Re: [PATCH] Add hidden visibility to internal function prototypes


On Mon, Aug 21, 2017 at 10:59 AM, Joseph Myers <joseph@codesourcery.com> wrote:> The commit>> commit 568ff4296c72534e49c8d9c83c33f3a0069cccc7> 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.Can't these link against libc.so instead of libc.a?> Committed (having tested on aarch64 with build-many-glibcs.py that this> fixes the build).>> diff --git a/ChangeLog b/ChangeLog> index b0f3a17..0e0ab13 100644> --- a/ChangeLog> +++ b/ChangeLog> @@ -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.> diff --git a/include/libc-symbols.h b/include/libc-symbols.h> index fe3571a..d6a1c26 100644> --- a/include/libc-symbols.h> +++ b/include/libc-symbols.h> @@ -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__ */>> --> Joseph S. Myers> joseph@codesourcery.com-- H.J.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav:[Date Prev] [Date Next][Thread Prev] [Thread Next]

[8]ページ先頭

©2009-2026 Movatter.jp