This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc 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]

GNU C Library master sources branch master updated. glibc-2.21-190-g5ca10a0


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  5ca10a0c9ad1edb3b2e2e59ac6dccdd879cf84ae (commit)
      from  b42e14ff3e59c0cf083d6a7a523b9904297ca1d4 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=5ca10a0c9ad1edb3b2e2e59ac6dccdd879cf84ae

commit 5ca10a0c9ad1edb3b2e2e59ac6dccdd879cf84ae
Author: Adhemerval Zanella <azanella@linux.vnet.ibm.com>
Date:   Tue Feb 3 07:41:25 2015 -0500

    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.

diff --git a/ChangeLog b/ChangeLog
index 138226e..10410dc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,30 @@
+2015-03-11  Adhemerval Zanellla  <azanella@linux.vnet.ibm.com>
+
+	* config.h.in [HAVE_ASM_GLOBAL_DOT_NAME]: Remove define.
+	* include/libc-symbols.h [HAVE_ASM_GLOBAL_DOT_NAME] (strong_alias):
+	Remove define.
+	[HAVE_ASM_GLOBAL_DOT_NAME] (strong_data_alias): Likewise.
+	[HAVE_ASM_GLOBAL_DOT_NAME] (weak_alias): Likewise.
+	[HAVE_ASM_GLOBAL_DOT_NAME] (_symbol_version): Likewise.
+	[HAVE_ASM_GLOBAL_DOT_NAME] (_default_symbol_version): Likewise.
+	[HAVE_ASM_GLOBAL_DOT_NAME] (HIDDEN_JUMPTARGET): Likewise.
+	* nptl_db/db-symbols.h [HAVE_ASM_GLOBAL_DOT_NAME] (DOT): Remove
+	define.
+	* nptl_db/td_symbol_list.c (td_lookup): Remove
+	HAVE_ASM_GLOBAL_DOT_NAME code.
+	* sysdeps/powerpc/powerpc64/configure.ac: Remove
+	HAVE_ASM_GLOBAL_DOT_NAME check.
+	* sysdeps/powerpc/powerpc64/configure: Regenerate.
+	* sysdeps/powerpc/powerpc64/sysdep.h [HAVE_ASM_GLOBAL_DOT_NAME]
+	(DOT_LABEL): Remove define.
+	[HAVE_ASM_GLOBAL_DOT_NAME] (BODY_LABEL): Likewise.
+	[HAVE_ASM_GLOBAL_DOT_NAME] (ENTRY_2): Likewise.
+	[HAVE_ASM_GLOBAL_DOT_NAME] (END_2): Likewise.
+	* sysdeps/powerpc/powerpc64/tls-macros.h [HAVE_ASM_GLOBAL_DOT_NAME]
+	(__TLS_GET_ADDR): Likewise.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
+	[HAVE_ASM_GLOBAL_DOT_NAME] (DASHDASHPFX): Likewise.
+
 2015-03-11  Carlos O'Donell  <carlos@redhat.com>
 
 	[BZ #18111]
diff --git a/config.h.in b/config.h.in
index 695ca35..a1ae478 100644
--- a/config.h.in
+++ b/config.h.in
@@ -37,9 +37,6 @@
 /* Define if the assembler supports the gnu_unique_object symbol type.  */
 #undef	HAVE_ASM_UNIQUE_OBJECT
 
-/* Define a symbol_name as a global .symbol_name for ld.  */
-#undef	HAVE_ASM_GLOBAL_DOT_NAME
-
 /* On powerpc64, use overlapping .opd entries.  */
 #undef  USE_PPC64_OVERLAPPING_OPD
 
diff --git a/include/libc-symbols.h b/include/libc-symbols.h
index 2da0ab4..ca3fe00 100644
--- a/include/libc-symbols.h
+++ b/include/libc-symbols.h
@@ -96,17 +96,6 @@
 # define ASM_LINE_SEP ;
 #endif
 
-#ifdef HAVE_ASM_GLOBAL_DOT_NAME
-# ifndef C_SYMBOL_DOT_NAME
-#  if defined __GNUC__ && defined __GNUC_MINOR__ \
-      && (__GNUC__ << 16) + __GNUC_MINOR__ >= (3 << 16) + 1
-#   define C_SYMBOL_DOT_NAME(name) .name
-#  else
-#   define C_SYMBOL_DOT_NAME(name) .##name
-#  endif
-# endif
-#endif
-
 #ifndef __ASSEMBLER__
 /* GCC understands weak symbols and aliases; use its interface where
    possible, instead of embedded assembly language.  */
@@ -142,64 +131,28 @@
 #else /* __ASSEMBLER__ */
 
 # ifdef HAVE_ASM_SET_DIRECTIVE
-#  ifdef HAVE_ASM_GLOBAL_DOT_NAME
-#   define strong_alias(original, alias)				\
-  .globl C_SYMBOL_NAME (alias) ASM_LINE_SEP		\
-  .set C_SYMBOL_NAME (alias),C_SYMBOL_NAME (original) ASM_LINE_SEP	\
-  .globl C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP		\
-  .set C_SYMBOL_DOT_NAME (alias),C_SYMBOL_DOT_NAME (original)
-#   define strong_data_alias(original, alias)				\
-  .globl C_SYMBOL_NAME (alias) ASM_LINE_SEP		\
-  .set C_SYMBOL_NAME (alias),C_SYMBOL_NAME (original)
-#  else
-#   define strong_alias(original, alias)				\
+#  define strong_alias(original, alias)				\
   .globl C_SYMBOL_NAME (alias) ASM_LINE_SEP		\
   .set C_SYMBOL_NAME (alias),C_SYMBOL_NAME (original)
-#   define strong_data_alias(original, alias) strong_alias(original, alias)
-#  endif
+#  define strong_data_alias(original, alias) strong_alias(original, alias)
 # else
-#  ifdef HAVE_ASM_GLOBAL_DOT_NAME
-#   define strong_alias(original, alias)				\
-  .globl C_SYMBOL_NAME (alias) ASM_LINE_SEP		\
-  C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original) ASM_LINE_SEP		\
-  .globl C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP		\
-  C_SYMBOL_DOT_NAME (alias) = C_SYMBOL_DOT_NAME (original)
-#   define strong_data_alias(original, alias)				\
+#  define strong_alias(original, alias)				\
   .globl C_SYMBOL_NAME (alias) ASM_LINE_SEP		\
   C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original)
-#  else
-#   define strong_alias(original, alias)				\
-  .globl C_SYMBOL_NAME (alias) ASM_LINE_SEP		\
-  C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original)
-#   define strong_data_alias(original, alias) strong_alias(original, alias)
-#  endif
+#  define strong_data_alias(original, alias) strong_alias(original, alias)
 # endif
 
 # ifdef HAVE_ASM_WEAKEXT_DIRECTIVE
-#  ifdef HAVE_ASM_GLOBAL_DOT_NAME
-#   define weak_alias(original, alias)					\
-  .weakext C_SYMBOL_NAME (alias), C_SYMBOL_NAME (original) ASM_LINE_SEP \
-  .weakext C_SYMBOL_DOT_NAME (alias), C_SYMBOL_DOT_NAME (original)
-#  else
-#   define weak_alias(original, alias)					\
+#  define weak_alias(original, alias)					\
   .weakext C_SYMBOL_NAME (alias), C_SYMBOL_NAME (original)
-#  endif
 #  define weak_extern(symbol)						\
   .weakext C_SYMBOL_NAME (symbol)
 
 # else /* ! HAVE_ASM_WEAKEXT_DIRECTIVE */
 
-#  ifdef HAVE_ASM_GLOBAL_DOT_NAME
-#   define weak_alias(original, alias)					\
-  .weak C_SYMBOL_NAME (alias) ASM_LINE_SEP				\
-  C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original) ASM_LINE_SEP		\
-  .weak C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP				\
-  C_SYMBOL_DOT_NAME (alias) = C_SYMBOL_DOT_NAME (original)
-#  else
-#   define weak_alias(original, alias)					\
+#  define weak_alias(original, alias)					\
   .weak C_SYMBOL_NAME (alias) ASM_LINE_SEP				\
   C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original)
-#  endif
 
 #  define weak_extern(symbol)						\
   .weak C_SYMBOL_NAME (symbol)
@@ -358,33 +311,15 @@ for linking")
 # define default_symbol_version(real, name, version) \
      _default_symbol_version(real, name, version)
 # ifdef __ASSEMBLER__
-#  ifdef HAVE_ASM_GLOBAL_DOT_NAME
-#   define _symbol_version(real, name, version) \
-     .symver real, name##@##version ASM_LINE_SEP			\
-     .symver C_SYMBOL_DOT_NAME(real), C_SYMBOL_DOT_NAME(name##@##version)
-#   define _default_symbol_version(real, name, version) \
-     .symver real, name##@##@##version ASM_LINE_SEP			\
-     .symver C_SYMBOL_DOT_NAME(real), C_SYMBOL_DOT_NAME(name##@##@##version)
-#  else
-#   define _symbol_version(real, name, version) \
+#  define _symbol_version(real, name, version) \
      .symver real, name##@##version
-#   define _default_symbol_version(real, name, version) \
+#  define _default_symbol_version(real, name, version) \
      .symver real, name##@##@##version
-#  endif
 # else
-#  ifdef HAVE_ASM_GLOBAL_DOT_NAME
-#   define _symbol_version(real, name, version) \
-     __asm__ (".symver " #real "," #name "@" #version "\n\t"	\
-	      ".symver ." #real ",." #name "@" #version)
-#   define _default_symbol_version(real, name, version) \
-     __asm__ (".symver " #real "," #name "@@" #version "\n\t"	\
-	      ".symver ." #real ",." #name "@@" #version)
-#  else
-#   define _symbol_version(real, name, version) \
+#  define _symbol_version(real, name, version) \
      __asm__ (".symver " #real "," #name "@" #version)
-#   define _default_symbol_version(real, name, version) \
+#  define _default_symbol_version(real, name, version) \
      __asm__ (".symver " #real "," #name "@@" #version)
-#  endif
 # endif
 #else
 # define symbol_version(real, name, version)
@@ -527,11 +462,7 @@ for linking")
 #  define hidden_data_def(name)	strong_data_alias (name, __GI_##name)
 #  define hidden_data_weak(name)	hidden_data_def (name)
 #  define hidden_data_ver(local, name) strong_data_alias (local, __GI_##name)
-#  ifdef HAVE_ASM_GLOBAL_DOT_NAME
-#   define HIDDEN_JUMPTARGET(name) .__GI_##name
-#  else
-#   define HIDDEN_JUMPTARGET(name) __GI_##name
-#  endif
+#  define HIDDEN_JUMPTARGET(name) __GI_##name
 # endif
 #else
 # ifndef __ASSEMBLER__
diff --git a/nptl_db/db-symbols.h b/nptl_db/db-symbols.h
index 47fe951..0f27e67 100644
--- a/nptl_db/db-symbols.h
+++ b/nptl_db/db-symbols.h
@@ -16,11 +16,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#ifdef HAVE_ASM_GLOBAL_DOT_NAME
-# define DOT(x)	.##x		/* PPC64 requires . prefix on code symbols.  */
-#else
-# define DOT(x)	x		/* No prefix.  */
-#endif
+#define DOT(x)	x		/* No prefix.  */
 
 #define STRINGIFY(name)		STRINGIFY_1(name)
 #define STRINGIFY_1(name)	#name
diff --git a/nptl_db/td_symbol_list.c b/nptl_db/td_symbol_list.c
index 6b14d36..6915ed7 100644
--- a/nptl_db/td_symbol_list.c
+++ b/nptl_db/td_symbol_list.c
@@ -48,13 +48,5 @@ td_lookup (struct ps_prochandle *ps, int idx, psaddr_t *sym_addr)
   result = ps_pglobal_lookup (ps, LIBPTHREAD_SO, symbol_list_arr[idx],
 			      sym_addr);
 
-#ifdef HAVE_ASM_GLOBAL_DOT_NAME
-  /* For PowerPC, 64-bit uses dot symbols but 32-bit does not.
-     We could be a 64-bit libthread_db debugging a 32-bit libpthread.  */
-  if (result == PS_NOSYM && symbol_list_arr[idx][0] == '.')
-    result = ps_pglobal_lookup (ps, LIBPTHREAD_SO, &symbol_list_arr[idx][1],
-				sym_addr);
-#endif
-
   return result;
 }
diff --git a/sysdeps/powerpc/powerpc64/configure b/sysdeps/powerpc/powerpc64/configure
index 92ec607..d4deee7 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 67aac66..9e9881c 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 1f4efe6..bf2a884 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 198215d..42a95ec 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 6579757..5cd7ddb 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)

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |   27 ++++++
 config.h.in                                        |    3 -
 include/libc-symbols.h                             |   91 +++-----------------
 nptl_db/db-symbols.h                               |    6 +-
 nptl_db/td_symbol_list.c                           |    8 --
 sysdeps/powerpc/powerpc64/configure                |   31 -------
 sysdeps/powerpc/powerpc64/configure.ac             |   19 ----
 sysdeps/powerpc/powerpc64/sysdep.h                 |   38 ++-------
 sysdeps/powerpc/powerpc64/tls-macros.h             |    8 +-
 .../sysv/linux/powerpc/powerpc64/sysdep-cancel.h   |    6 +-
 10 files changed, 51 insertions(+), 186 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


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