about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--malloc/obstack.c8
2 files changed, 10 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 5b797d20e5..909f9f4d71 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* malloc/obstack.c (_obstack) [!defined _LIBC]: Remove; not used.
+	Add comment explaining why libc still defines it.
+
 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
 
 	* malloc/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
diff --git a/malloc/obstack.c b/malloc/obstack.c
index 47a4b16b53..4b3ccda906 100644
--- a/malloc/obstack.c
+++ b/malloc/obstack.c
@@ -95,10 +95,12 @@ int obstack_exit_failure = EXIT_FAILURE;
 #  define obstack_exit_failure exit_failure
 # endif
 
-/* The non-GNU-C macros copy the obstack into this global variable
-   to avoid multiple evaluation.  */
-
+# ifdef _LIBC
+/* A looong time ago (before 1994, anyway; we're not sure) this global variable
+   was used by non-GNU-C macros to avoid multiple evaluation.  The GNU C
+   library still exports it because somebody might use it.  */
 struct obstack *_obstack;
+# endif
 
 /* Define a macro that either calls functions with the traditional malloc/free
    calling interface, or calls functions with the mmalloc/mfree interface