summaryrefslogtreecommitdiff
path: root/stdlib
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1996-07-08 06:18:25 +0000
committerRoland McGrath <roland@gnu.org>1996-07-08 06:18:25 +0000
commitaf5b3bc33bbaf9151c34a351bdb257b90d407d5b (patch)
tree7a9d35a2cea2549dad8c3c9276208962732e4954 /stdlib
parent0676b5fdca8d4f2a8dd442db4d50dc2c1ee8729f (diff)
Mon Jul 8 02:14:25 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>cvs/libc-960708
* libc-symbols.h [GCC >= 2.7] (strong_alias, weak_alias): Use extern storage class. GCC gives an error for non-extern data defns with the alias attribute. Mon Jul 8 00:11:15 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * libc-symbols.h (weak_function): New macro. For GCC 2.7+ define as __attribute__ ((weak)). * elf/dl-minimal.c: Use weak_function as keyword in function defns instead of weak_symbol (NAME) after the defn. * stdlib/strtol.c: Likewise. * sysdeps/mach/hurd/dl-sysdep.c: Likewise. * sysdeps/alpha/dl-machine.h (elf_machine_rela) [RTLD_BOOTSTRAP]: If this is defined, don't declare _dl_rtld_map as weak, and don't check for MAP pointing to it. RESOLVE is always null in this case, so test with #ifdef instead of if. * libc-symbols.h (symbol_set_declare): Use weak_extern instead of weak_symbol. * csu/initfini.c (_init): Likewise. * locale/setlocale.c (DEFINE_CATEGORY): Likewise. * misc/efgcvt_r.c: Likewise. * sysdeps/alpha/dl-machine.h (elf_machine_rela): Likewise. * sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise. * libc-symbols.h [ASSEMBLER] (weak_symbol): Macro removed. It was not used in any assembler code. (weak_symbol_asm): Renamed to weak_extern_asm. (weak_extern): New macro replaces weak_symbol for weak extern refs; define to weak_extern_asm for [!ASSEMBLER]. * libc-symbols.h [! ASSEMBLER] [HAVE_WEAK_SYMBOLS] (weak_symbol_asm, weak_alias_asm): New macros, renamed from weak_symbol/weak_alias; define those now as aliases. Change conditional to use __attribute__ syntax for GCC 2.7+, not 2.8+ [GCC >= 2.7] [HAVE_WEAK_SYMBOLS] (weak_symbol): Do weak_symbol_asm after GCC weak attribute decl.
Diffstat (limited to 'stdlib')
-rw-r--r--stdlib/strtol.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/stdlib/strtol.c b/stdlib/strtol.c
index 3f34e390a1..1481d3388e 100644
--- a/stdlib/strtol.c
+++ b/stdlib/strtol.c
@@ -338,6 +338,9 @@ noconv:
/* External user entry point. */
INT
+#ifdef weak_function
+weak_function
+#endif
strtol (nptr, endptr, base)
const STRING_TYPE *nptr;
STRING_TYPE **endptr;
@@ -345,10 +348,3 @@ strtol (nptr, endptr, base)
{
return INTERNAL (strtol) (nptr, endptr, base, 0);
}
-#ifdef weak_symbol
-/* We need to weaken this symbol because some the the defined
- functions do not come from ANSI. The indirection is necessary
- because `strtol' might be a macro. */
-#define weak_this(x) weak_symbol (x)
-weak_this (strtol)
-#endif