diff options
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/powerpc/powerpc64/configure | 31 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/configure.ac | 19 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/sysdep.h | 38 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/tls-macros.h | 8 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h | 6 |
5 files changed, 12 insertions, 90 deletions
diff --git a/sysdeps/powerpc/powerpc64/configure b/sysdeps/powerpc/powerpc64/configure index 92ec607e01..d4deee7878 100644 --- a/sysdeps/powerpc/powerpc64/configure +++ b/sysdeps/powerpc/powerpc64/configure @@ -1,37 +1,6 @@ # This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/powerpc/powerpc64. -# The Aix ld uses global .symbol_names instead of symbol_names -# and unfortunately early Linux PPC64 linkers use it as well. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for support for omitting dot symbols" >&5 -$as_echo_n "checking for support for omitting dot symbols... " >&6; } -if ${libc_cv_omit_dot_syms+:} false; then : - $as_echo_n "(cached) " >&6 -else - libc_cv_omit_dot_syms=no -echo 'void foo (void) {}' > conftest.c -if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -S conftest.c -o conftest.s 1>&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - if grep -w '\.foo' conftest.s > /dev/null; then - : - else - libc_cv_omit_dot_syms=yes - fi -fi -rm -f conftest.c conftest.s - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_omit_dot_syms" >&5 -$as_echo "$libc_cv_omit_dot_syms" >&6; } -if test x$libc_cv_omit_dot_syms != xyes; then - $as_echo "#define HAVE_ASM_GLOBAL_DOT_NAME 1" >>confdefs.h - -fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for linker support for overlapping .opd entries" >&5 $as_echo_n "checking for linker support for overlapping .opd entries... " >&6; } if ${libc_cv_overlapping_opd+:} false; then : diff --git a/sysdeps/powerpc/powerpc64/configure.ac b/sysdeps/powerpc/powerpc64/configure.ac index 67aac663d8..9e9881c39d 100644 --- a/sysdeps/powerpc/powerpc64/configure.ac +++ b/sysdeps/powerpc/powerpc64/configure.ac @@ -1,25 +1,6 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. # Local configure fragment for sysdeps/powerpc/powerpc64. -# The Aix ld uses global .symbol_names instead of symbol_names -# and unfortunately early Linux PPC64 linkers use it as well. -AC_CACHE_CHECK(for support for omitting dot symbols, -libc_cv_omit_dot_syms, [dnl -libc_cv_omit_dot_syms=no -echo 'void foo (void) {}' > conftest.c -if AC_TRY_COMMAND(${CC-cc} $CFLAGS $CPPFLAGS -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then - if grep -w '\.foo' conftest.s > /dev/null; then - : - else - libc_cv_omit_dot_syms=yes - fi -fi -rm -f conftest.c conftest.s -]) -if test x$libc_cv_omit_dot_syms != xyes; then - AC_DEFINE(HAVE_ASM_GLOBAL_DOT_NAME) -fi - AC_CACHE_CHECK(for linker support for overlapping .opd entries, libc_cv_overlapping_opd, [dnl libc_cv_overlapping_opd=no diff --git a/sysdeps/powerpc/powerpc64/sysdep.h b/sysdeps/powerpc/powerpc64/sysdep.h index 1f4efe6648..bf2a884b99 100644 --- a/sysdeps/powerpc/powerpc64/sysdep.h +++ b/sysdeps/powerpc/powerpc64/sysdep.h @@ -140,25 +140,14 @@ name##: OPD_ENT (name); \ .previous; -#ifdef HAVE_ASM_GLOBAL_DOT_NAME -# define DOT_LABEL(X) .##X -# define BODY_LABEL(X) .##X -# define ENTRY_2(name) \ - .globl BODY_LABEL(name); \ - ENTRY_1(name) \ - .size name, 24; -# define END_2(name) \ - .size BODY_LABEL(name),.-BODY_LABEL(name); -#else -# define DOT_LABEL(X) X -# define BODY_LABEL(X) .LY##X -# define ENTRY_2(name) \ +#define DOT_LABEL(X) X +#define BODY_LABEL(X) .LY##X +#define ENTRY_2(name) \ .type name,@function; \ ENTRY_1(name) -# define END_2(name) \ +#define END_2(name) \ .size name,.-BODY_LABEL(name); \ .size BODY_LABEL(name),.-BODY_LABEL(name); -#endif #define LOCALENTRY(name) #else /* _CALL_ELF */ @@ -403,25 +392,14 @@ LT_LABELSUFFIX(name,_name_end): ; \ OPD_ENT (name) "\n" \ ".popsection;" -#ifdef HAVE_ASM_GLOBAL_DOT_NAME -# define DOT_PREFIX "." -# define BODY_PREFIX "." -# define ENTRY_2(name) \ - ".globl " BODY_PREFIX #name ";\n" \ - ENTRY_1(name) "\n" \ - ".size " #name ", 24;" -# define END_2(name) \ - ".size " BODY_PREFIX #name ",.-" BODY_PREFIX #name ";" -#else -# define DOT_PREFIX "" -# define BODY_PREFIX ".LY" -# define ENTRY_2(name) \ +#define DOT_PREFIX "" +#define BODY_PREFIX ".LY" +#define ENTRY_2(name) \ ".type " #name ",@function;\n" \ ENTRY_1(name) -# define END_2(name) \ +#define END_2(name) \ ".size " #name ",.-" BODY_PREFIX #name ";\n" \ ".size " BODY_PREFIX #name ",.-" BODY_PREFIX #name ";" -#endif #define LOCALENTRY(name) #else /* _CALL_ELF */ diff --git a/sysdeps/powerpc/powerpc64/tls-macros.h b/sysdeps/powerpc/powerpc64/tls-macros.h index 198215d5f2..42a95ec5c1 100644 --- a/sysdeps/powerpc/powerpc64/tls-macros.h +++ b/sysdeps/powerpc/powerpc64/tls-macros.h @@ -17,11 +17,9 @@ : "=r" (__result) ); \ __result; \ }) -#ifdef HAVE_ASM_GLOBAL_DOT_NAME -# define __TLS_GET_ADDR ".__tls_get_addr" -#else -# define __TLS_GET_ADDR "__tls_get_addr" -#endif + +#define __TLS_GET_ADDR "__tls_get_addr" + /* PowerPC64 Local Dynamic TLS access. */ #define TLS_LD(x) \ ({ int * __result; \ diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h b/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h index 6579757660..5cd7ddb1ad 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h @@ -25,11 +25,7 @@ #if IS_IN (libc) || IS_IN (libpthread) || IS_IN (librt) -# ifdef HAVE_ASM_GLOBAL_DOT_NAME -# define DASHDASHPFX(str) .__##str -# else -# define DASHDASHPFX(str) __##str -# endif +# define DASHDASHPFX(str) __##str #if _CALL_ELF == 2 #define CANCEL_FRAMESIZE (FRAME_MIN_SIZE+16+48) |