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.23-493-g92e1ab0


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  92e1ab0eb58c57d5843fa982ff6c24f551f2f634 (commit)
      from  e3c0687de17a97e5dcd991841b54bec181b30e90 (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=92e1ab0eb58c57d5843fa982ff6c24f551f2f634

commit 92e1ab0eb58c57d5843fa982ff6c24f551f2f634
Author: Florian Weimer <fweimer@redhat.com>
Date:   Mon Jun 20 11:11:29 2016 +0200

    Revert __malloc_initialize_hook symbol poisoning
    
    It turns out the Emacs-internal malloc implementation uses
    __malloc_* symbols.  If glibc poisons them in <stdc-pre.h>,
    Emacs will no longer compile.

diff --git a/ChangeLog b/ChangeLog
index d610e9b..5821055 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2016-06-20  Florian Weimer  <fweimer@redhat.com>
+
+	Revert symbol poisoning of  __malloc_initialize_hook.
+	* include/stdc-predef.h (__malloc_initialize_hook): Remove
+	poisoning.
+	* malloc/Makefile: Remove un-poisoning.
+	* malloc/arena.c (ptmalloc_init): Use __malloc_initialize_hook
+	instead of old__malloc_initialize_hook.
+	* malloc/malloc-hooks.h: Likewise.
+	* malloc/malloc.c: Likewise.
+	* malloc/mcheck-init.c: Likewise.
+
 2016-06-19  Carlos O'Donell  <carlos@redhat.com>
 
 	* sysdeps/unix/sysv/linux/times.c (__times): Expand comments.
diff --git a/include/stdc-predef.h b/include/stdc-predef.h
index 52cf8d1..f9f7f73 100644
--- a/include/stdc-predef.h
+++ b/include/stdc-predef.h
@@ -57,11 +57,4 @@
 /* We do not support C11 <threads.h>.  */
 #define __STDC_NO_THREADS__		1
 
-/* Remove symbols from the API which can be interposed.  */
-#if defined (__GNUC__)
-# if __GNUC__ >= 4
-#  pragma GCC poison __malloc_initialize_hook
-# endif	 /* __GNUC__ >= 4 */
-#endif	/* __GNUC__ */
-
 #endif
diff --git a/malloc/Makefile b/malloc/Makefile
index 91eb17d..fa1730e 100644
--- a/malloc/Makefile
+++ b/malloc/Makefile
@@ -115,20 +115,6 @@ endif
 
 include ../Rules
 
-# Support references to removed APIs.  We use #pragma GCC poison in
-# <stdc-predef.h> to make it difficult to reference them.  For select
-# source files, we work around this poisoning by defining a macro on
-# the command line (which is processed before <stdc-predef.h> and can
-# therefore use tokens poisoned later).
-poisoned_apis = \
-  __malloc_initialize_hook \
-
-unpoisoned_api_defines := \
-  $(foreach sym,$(poisoned_apis), \
-    $(patsubst %,-Dold%, $(sym))=$(sym))
-CPPFLAGS-malloc.c = $(unpoisoned_api_defines)
-CPPFLAGS-mcheck-init.c = $(unpoisoned_api_defines)
-
 CFLAGS-mcheck-init.c = $(PIC-ccflag)
 CFLAGS-obstack.c = $(uses-callbacks)
 
diff --git a/malloc/arena.c b/malloc/arena.c
index 64a118c..ed5a4d5 100644
--- a/malloc/arena.c
+++ b/malloc/arena.c
@@ -341,7 +341,7 @@ ptmalloc_init (void)
         __malloc_check_init ();
     }
 #if HAVE_MALLOC_INIT_HOOK
-  void (*hook) (void) = atomic_forced_read (old__malloc_initialize_hook);
+  void (*hook) (void) = atomic_forced_read (__malloc_initialize_hook);
   if (hook != NULL)
     (*hook)();
 #endif
diff --git a/malloc/malloc-hooks.h b/malloc/malloc-hooks.h
index 3be391b..c7aa8b2 100644
--- a/malloc/malloc-hooks.h
+++ b/malloc/malloc-hooks.h
@@ -19,9 +19,6 @@
 #ifndef _MALLOC_HOOKS_H
 #define _MALLOC_HOOKS_H
 
-/* These hooks are no longer part of the public API and are poisoned
-   in <stdc-predef.h>.  Their names here reflect the command-line
-   mapping which is used inside glibc to get past the poisoning.  */
-void (*old__malloc_initialize_hook) (void);
+void (*__malloc_initialize_hook) (void);
 
 #endif  /* _MALLOC_HOOKS_H */
diff --git a/malloc/malloc.c b/malloc/malloc.c
index 21a912a..1f5f166 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -1851,9 +1851,9 @@ static void *memalign_hook_ini (size_t alignment, size_t sz,
                                 const void *caller) __THROW;
 
 #if HAVE_MALLOC_INIT_HOOK
-void weak_variable (*old__malloc_initialize_hook) (void) = NULL;
-compat_symbol (libc, old__malloc_initialize_hook,
-	       old__malloc_initialize_hook, GLIBC_2_0);
+void weak_variable (*__malloc_initialize_hook) (void) = NULL;
+compat_symbol (libc, __malloc_initialize_hook,
+	       __malloc_initialize_hook, GLIBC_2_0);
 #endif
 
 void weak_variable (*__free_hook) (void *__ptr,
diff --git a/malloc/mcheck-init.c b/malloc/mcheck-init.c
index 3218bb0..8d63dd3 100644
--- a/malloc/mcheck-init.c
+++ b/malloc/mcheck-init.c
@@ -27,4 +27,4 @@ turn_on_mcheck (void)
   mcheck (NULL);
 }
 
-void (*old__malloc_initialize_hook) (void) = turn_on_mcheck;
+void (*__malloc_initialize_hook) (void) = turn_on_mcheck;

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

Summary of changes:
 ChangeLog             |   12 ++++++++++++
 include/stdc-predef.h |    7 -------
 malloc/Makefile       |   14 --------------
 malloc/arena.c        |    2 +-
 malloc/malloc-hooks.h |    5 +----
 malloc/malloc.c       |    6 +++---
 malloc/mcheck-init.c  |    2 +-
 7 files changed, 18 insertions(+), 30 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]