mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
* manual/errno.texi (Error Codes): Added ECANCELED (118 for Hurd).
* sysdeps/mach/hurd/bits/errno.h: Regenerated. * sysdeps/gnu/Versions: New file. * sysdeps/unix/sysv/linux/Versions (libc: GLIBC_2.1): Remove _sys_errlist; sys_errlist; _sys_nerr; sys_nerr; from here. * sysdeps/gnu/Makefile ($(..)sysdeps/gnu/errlist-compat.c): New target. ($(objpfx)errlist.d): Depend on $(..)sysdeps/gnu/errlist-compat.c. * sysdeps/gnu/errlist.awk: Make output define _sys_errlist_internal and _sys_nerr_internal instead of anything else. Make it include "errlist-compat.c" if [!NOT_IN_libc && !ERRLIST_NO_COMPAT]. Make it emit some asm magic if [EMIT_ERR_MAX]. * sysdeps/gnu/errlist.c: Regenerated. * sysdeps/gnu/errlist-compat.awk: New file. * sysdeps/gnu/errlist-compat.c: New file (generated). * sysdeps/mach/hurd/errlist.c (ERRLIST_NO_COMPAT): New macro. (_sys_errlist_internal): Define this as a macro for _hurd_errlist. (_sys_nerr_internal): Define this is a macro for _hurd_nerr. (SYS_ERRLIST, SYS_NERR): Macros removed. (sys_nerr, _sys_nerr): Remove these weak aliases. * sysdeps/unix/sysv/linux/errlist.c: File removed. * sysdeps/unix/sysv/linux/errlist.h: File removed. * sysdeps/unix/sysv/linux/arm/errlist.c: File removed. * include/libc-symbols.h (declare_symbol): New macro. * config.h.in (ASM_TYPE_DIRECTIVE_PREFIX): New #undef. * configure.in: New check to define it. * configure: Regenerated.
This commit is contained in:
@ -29,6 +29,8 @@
|
||||
|
||||
* HAVE_ASM_SET_DIRECTIVE if we have `.set B, A' instead of `A = B'.
|
||||
* ASM_GLOBAL_DIRECTIVE with `.globl' or `.global'.
|
||||
* ASM_TYPE_DIRECTIVE_PREFIX with `@' or `#' or whatever for .type,
|
||||
or leave it undefined if there is no .type directive.
|
||||
* HAVE_GNU_LD if using GNU ld, with support for weak symbols in a.out,
|
||||
and for symbol set and warning messages extensions in a.out and ELF.
|
||||
* HAVE_ELF if using ELF, which supports weak symbols using `.weak'.
|
||||
@ -244,6 +246,34 @@
|
||||
link_warning (name, \
|
||||
"warning: " #name " is not implemented and will always fail")
|
||||
|
||||
|
||||
/* Declare SYMBOL to be TYPE (`function' or `object') and of SIZE bytes,
|
||||
when the assembler supports such declarations (such as in ELF).
|
||||
This is only necessary when defining something in assembly, or playing
|
||||
funny alias games where the size should be other than what the compiler
|
||||
thinks it is. */
|
||||
#define declare_symbol(symbol, type, size) \
|
||||
declare_symbol_1 (symbol, type, size)
|
||||
#ifdef ASM_TYPE_DIRECTIVE_PREFIX
|
||||
# ifdef __ASSEMBLER__
|
||||
# define declare_symbol_1(symbol, type, size) \
|
||||
.type C_SYMBOL_NAME (symbol), \
|
||||
declare_symbol_1_paste (ASM_TYPE_DIRECTIVE_PREFIX, type), size
|
||||
# define declare_symbol_1_paste(a, b) declare_symbol_1_paste_1 (a,b)
|
||||
# define declare_symbol_1_paste_1(a,b) a##b
|
||||
# else /* Not __ASSEMBLER__. */
|
||||
# define declare_symbol_1(symbol, type, size) \
|
||||
asm (".type " __SYMBOL_PREFIX #symbol \
|
||||
declare_symbol_1_stringify (ASM_TYPE_DIRECTIVE_PREFIX) #type \
|
||||
"\n\t.size " __SYMBOL_PREFIX #symbol ", " #size);
|
||||
# define declare_symbol_1_stringify(x) declare_symbol_1_stringify_1 (x)
|
||||
# define declare_symbol_1_stringify_1(x) #x
|
||||
# endif /* __ASSEMBLER__ */
|
||||
#else
|
||||
# define declare_symbol_1(symbol, type, size) /* Nothing. */
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
|
||||
*/
|
||||
|
Reference in New Issue
Block a user