summaryrefslogtreecommitdiff
path: root/sysdeps/powerpc
diff options
context:
space:
mode:
authorAdhemerval Zanella <azanella@linux.vnet.ibm.com>2015-02-03 07:41:25 -0500
committerAdhemerval Zanella <azanella@linux.vnet.ibm.com>2015-03-11 09:01:05 -0400
commit5ca10a0c9ad1edb3b2e2e59ac6dccdd879cf84ae (patch)
tree57db9c5b8cdfe2481b147f30b6e5d3987e1899e0 /sysdeps/powerpc
parentb42e14ff3e59c0cf083d6a7a523b9904297ca1d4 (diff)
downloadglibc-5ca10a0c9ad1edb3b2e2e59ac6dccdd879cf84ae.tar.gz
powerpc: Remove HAVE_ASM_GLOBAL_DOT_NAME define
With AIX port deprecated there is no need to check/define HAVE_ASM_GLOBAL_DOT_NAME anymore since the current minimum binutils supported (2.22) does not emit global symbol with dot. This patch removes all the HAVE_ASM_GLOBAL_DOT_NAME definition and checks for powerpc64 port.
Diffstat (limited to 'sysdeps/powerpc')
-rw-r--r--sysdeps/powerpc/powerpc64/configure31
-rw-r--r--sysdeps/powerpc/powerpc64/configure.ac19
-rw-r--r--sysdeps/powerpc/powerpc64/sysdep.h38
-rw-r--r--sysdeps/powerpc/powerpc64/tls-macros.h8
4 files changed, 11 insertions, 85 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; \