diff options
author | Roland McGrath <roland@gnu.org> | 1995-07-26 07:10:58 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1995-07-26 07:10:58 +0000 |
commit | 958f803fc021993cc2ee1d4157d0092b830368aa (patch) | |
tree | 0e5939ccad4bb5a551b81f344843613455c12bb8 /libc-symbols.h | |
parent | 9f2233e81a0eb06e7278584654cfbdd313d8c228 (diff) | |
download | glibc-958f803fc021993cc2ee1d4157d0092b830368aa.zip glibc-958f803fc021993cc2ee1d4157d0092b830368aa.tar.gz glibc-958f803fc021993cc2ee1d4157d0092b830368aa.tar.bz2 |
Wed Jul 26 02:00:29 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>cvs/bind-493b24
* malloc/memalign.c: Allocate (SIZE + ALIGNMENT - 1) and then trim
if possible.
* mach/shortcut.awk: Emit decls for RPC.
* libc-symbols.h [GCC >= 2.7 && !ASSEMBLER] (weak_symbol,
weak_alias, strong_alias): Define using GCC __attribute__ syntax.
* Makerules ($(installed-libcs)): Depend on `lib' (only).
Diffstat (limited to 'libc-symbols.h')
-rw-r--r-- | libc-symbols.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/libc-symbols.h b/libc-symbols.h index f4d82a6..951ea61 100644 --- a/libc-symbols.h +++ b/libc-symbols.h @@ -134,6 +134,26 @@ Cambridge, MA 02139, USA. */ #endif +#if (!defined (ASSEMBLER) && \ + (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7))) +/* GCC 2.7 and later has special syntax for weak symbols and aliases. + Using that is better when possible, because the compiler and assembler + are better clued in to what we are doing. */ +#undef strong_alias +#define strong_alias(name, aliasname) \ + __typeof (name) aliasname __attribute__ ((alias (#name))); + +#ifdef HAVE_WEAK_SYMBOLS +#undef weak_symbol +#define weak_symbol(name) \ + __typeof (name) name __attribute__ ((weak)); +#undef weak_alias +#define weak_alias(name, aliasname) \ + __typeof (name) aliasname __attribute__ ((weak, alias (#name))); +#endif /* HAVE_WEAK_SYMBOLS. */ +#endif /* Not ASSEMBLER, and GCC 2.7 or later. */ + + /* When the file using this macro is linked in, the linker will emit a warning message MSG. */ |