about summary refs log tree commit diff
diff options
context:
space:
mode:
authorGreg McGary <greg@mcgary.org>2000-07-17 22:33:06 +0000
committerGreg McGary <greg@mcgary.org>2000-07-17 22:33:06 +0000
commit03df72bf736599aa4c2c8343b33bed3d2954afa8 (patch)
treef24ce1a51c6d0239d4e32840b06826ba9ac4a63c
parent14fa17ccec369589c6578af5b6a97b1353d73227 (diff)
downloadglibc-03df72bf736599aa4c2c8343b33bed3d2954afa8.tar.gz
glibc-03df72bf736599aa4c2c8343b33bed3d2954afa8.tar.xz
glibc-03df72bf736599aa4c2c8343b33bed3d2954afa8.zip
* include/libc-symbols.h (symbol_set_declare): Revert 2000-06-26 mods.
* include/set-hooks.h (RUN_HOOK): Revert 2000-06-26 mods.  Qualify 
ptr as __unbouned.
	* include/libc-symbols.h (symbol_set_declare): Revert 2000-06-26 mods.
	* include/set-hooks.h (RUN_HOOK): Revert 2000-06-26 mods.  Qualify
	ptr as __unbouned.
-rw-r--r--ChangeLog4
-rw-r--r--include/libc-symbols.h6
-rw-r--r--include/set-hooks.h12
3 files changed, 13 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 2fd62afb90..9b5e90da9b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -27,6 +27,10 @@
 	_IO_file_attach.
 	* libio/iovdprintf.c (_IO_vdprintf): Likewise.
 
+	* include/libc-symbols.h (symbol_set_declare): Revert 2000-06-26 mods.
+	* include/set-hooks.h (RUN_HOOK): Revert 2000-06-26 mods.  Qualify
+	ptr as __unbouned.
+
 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
 
 	* iconv/gconv_open.c (__gconv_open): Initialize the __data
diff --git a/include/libc-symbols.h b/include/libc-symbols.h
index 30a27c803b..147dca3542 100644
--- a/include/libc-symbols.h
+++ b/include/libc-symbols.h
@@ -242,8 +242,8 @@
 
 /* Declare SET for use in this module, if defined in another module.  */
 #  define symbol_set_declare(set) \
-  extern void (*const __start_##set) (void) __attribute__ ((__weak__));	\
-  extern void (*const __stop_##set) (void) __attribute__ ((__weak__));	\
+  extern void *const __start_##set __attribute__ ((__weak__));		\
+  extern void *const __stop_##set __attribute__ ((__weak__));		\
   weak_extern (__start_##set) weak_extern (__stop_##set)
 
 /* Return a pointer (void *const *) to the first element of SET.  */
@@ -261,7 +261,7 @@
   asm(".stabs \"" __SYMBOL_PREFIX #set "\",25,0,0," __SYMBOL_PREFIX #symbol)
 #  define bss_set_element(set, symbol)	?error Must use initialized data.
 #  define symbol_set_define(set)	void *const (set)[1];
-#  define symbol_set_declare(set)	extern void (*const (set)[1]) (void);
+#  define symbol_set_declare(set)	extern void *const (set)[1];
 
 #  define symbol_set_first_element(set)	&(set)[1]
 #  define symbol_set_end_p(set, ptr)	(*(ptr) == 0)
diff --git a/include/set-hooks.h b/include/set-hooks.h
index f4d7246567..709f4c0a61 100644
--- a/include/set-hooks.h
+++ b/include/set-hooks.h
@@ -40,12 +40,12 @@
 /* Run all the functions hooked on the set called NAME.
    Each function is called like this: `function ARGS'.  */
 
-# define RUN_HOOK(NAME, ARGS) \
-do {									   \
-  void (*const *ptr) (void);						   \
-  for (ptr = symbol_set_first_element (NAME);				   \
-       ! symbol_set_end_p (NAME, ptr); ++ptr)				   \
-    (*(__##NAME##_hook_function_t *) *ptr) ARGS;			   \
+# define RUN_HOOK(NAME, ARGS)				\
+do {							\
+  void *const *__unbounded ptr;				\
+  for (ptr = symbol_set_first_element (NAME);		\
+       ! symbol_set_end_p (NAME, ptr); ++ptr)		\
+    (*(__##NAME##_hook_function_t *) *ptr) ARGS;	\
 } while (0)
 
 /* Define a hook variable with NAME and PROTO, and a function called RUNNER