aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1995-09-01 22:25:08 +0000
committerRoland McGrath <roland@gnu.org>1995-09-01 22:25:08 +0000
commit44c8d1a2a8775ad8c67fa1c46ccc67cccf585d93 (patch)
treec77e32c88b64caccdd673fc54efdba189361a6e6 /libc-symbols.h
parentRewrote i386 setjmp in assembly. (diff)
downloadglibc-44c8d1a2a8775ad8c67fa1c46ccc67cccf585d93.tar.gz
glibc-44c8d1a2a8775ad8c67fa1c46ccc67cccf585d93.tar.bz2
glibc-44c8d1a2a8775ad8c67fa1c46ccc67cccf585d93.zip
Fri Sep 1 16:16:12 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* libc-symbols.h (link_warning): Take new first arg SYMBOL; ask for a warning on references to that specific symbol, not the entire containing object file. (stub_warning): Pass symbol name to link_warning. * stdio/gets.c: Pass function name in link_warning invocation. * hurd/intr-msg.c: Treat apparent EINTR return from msg trap like MACH_SEND_INTERRUPTED. That indicates interrupt_operation was sent, but failed. * stdlib/msort.c: Include memcopy.h. (msort_with_tmp): If operating on aligned op_t words, use direct word fetches and stores. * sysdeps/i386/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC): Add missing backslash.
Diffstat (limited to 'libc-symbols.h')
-rw-r--r--libc-symbols.h20
1 files changed, 10 insertions, 10 deletions
diff --git a/libc-symbols.h b/libc-symbols.h
index 7cc67a2b7e..8030abb089 100644
--- a/libc-symbols.h
+++ b/libc-symbols.h
@@ -155,27 +155,27 @@ Cambridge, MA 02139, USA. */
-/* When the file using this macro is linked in, the linker
- will emit a warning message MSG. */
+/* When a reference to SYMBOL is encountered, the linker will emit a
+ warning message MSG. */
#ifdef HAVE_GNU_LD
#ifdef HAVE_ELF
-#define link_warning(msg) \
- static const char __evoke_link_warning__[] \
- __attribute__ ((section (".gnu.warning"))) = msg;
+#define link_warning(symbol, msg) \
+ static const char __evoke_link_warning_##symbol[] \
+ __attribute__ ((section (".gnu.warning." #symbol))) = msg;
#else
-#define link_warning(msg) \
+#define link_warning(symbol, msg) \
asm(".stabs \"" msg "\",30,0,0,0\n" \
- ".stabs \"__evoke_link_warning__\",1,0,0,0\n"\
- ".stabs \"__evoke_link_warning__\",2,0,0,0\n");
+ ".stabs \"" __SYMBOL_PREFIX #symbol "\",1,0,0,0\n");
#endif
#else
/* We will never be heard; they will all die horribly. */
-#define link_warning(msg)
+#define link_warning(symbol, msg)
#endif
/* A canned warning for sysdeps/stub functions. */
#define stub_warning(name) \
- link_warning ("warning: " #name " is not implemented and will always fail")
+ link_warning (name, \
+ "warning: " #name " is not implemented and will always fail")
/*