svn commit: trunk/uClibc/include
vapier at uclibc.org
vapier at uclibc.org
Thu May 4 14:50:19 UTC 2006
Author: vapier
Date: 2006-05-04 07:50:17 -0700 (Thu, 04 May 2006)
New Revision: 14993
Log:
sync minor changes with glibc
Modified:
trunk/uClibc/include/libc-symbols.h
Changeset:
Modified: trunk/uClibc/include/libc-symbols.h
===================================================================
--- trunk/uClibc/include/libc-symbols.h 2006-05-04 14:44:13 UTC (rev 14992)
+++ trunk/uClibc/include/libc-symbols.h 2006-05-04 14:50:17 UTC (rev 14993)
@@ -1,4 +1,7 @@
-/* Copyright (C) 1991,92,93,95,96,97,98,99,2000,2001 Free Software Foundation, Inc.
+/* Support macros for making weak and strong aliases for symbols,
+ and for using symbol sets and linker warnings with GNU ld.
+ Copyright (C) 1995-1998,2000-2003,2004,2005,2006
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -17,14 +20,38 @@
02111-1307 USA. */
#ifndef _LIBC_SYMBOLS_H
-#define _LIBC_SYMBOLS_H 1
+#define _LIBC_SYMBOLS_H 1
+/* This file's macros are included implicitly in the compilation of every
+ file in the C library by -imacros.
+
+ We include uClibc_arch_features.h which is defined by arch devs.
+ It should define for us the following symbols:
+
+ * 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_ELF if using ELF, which supports weak symbols using `.weak'.
+ * HAVE_ASM_WEAK_DIRECTIVE if we have weak symbols using `.weak'.
+ * HAVE_ASM_WEAKEXT_DIRECTIVE if we have weak symbols using `.weakext'.
+
+ */
+
#include <bits/uClibc_arch_features.h>
-#define _LIBC 1
+/* This is defined for the compilation of all C library code. features.h
+ tests this to avoid inclusion of stubs.h while compiling the library,
+ before stubs.h has been generated. Some library code that is shared
+ with other packages also tests this symbol to see if it is being
+ compiled as part of the C library. We must define this before including
+ config.h, because it makes some definitions conditional on whether libc
+ itself is being compiled, or just some generator program. */
+#define _LIBC 1
+
/* Enable declarations of GNU extensions, since we are compiling them. */
-#define _GNU_SOURCE 1
+#define _GNU_SOURCE 1
/* Prepare for the case that `__builtin_expect' is not available. */
#if __GNUC__ == 2 && __GNUC_MINOR__ < 96
@@ -128,13 +155,13 @@
# define _strong_alias(name, aliasname) \
extern __typeof (name) aliasname __attribute__ ((alias (#name)));
-# ifdef HAVE_WEAK_SYMBOLS
-
/* This comes between the return type and function name in
a function definition to make that definition weak. */
# define weak_function __attribute__ ((weak))
# define weak_const_function __attribute__ ((weak, __const__))
+# ifdef HAVE_WEAK_SYMBOLS
+
/* Define ALIASNAME as a weak alias for NAME.
If weak aliases are not available, this defines a strong alias. */
# define weak_alias(name, aliasname) _weak_alias (name, aliasname)
@@ -147,9 +174,6 @@
# else
-# define weak_function /* empty */
-# define weak_const_function /* empty */
-
# define weak_alias(name, aliasname) strong_alias(name, aliasname)
# define weak_extern(symbol) /* Nothing. */
@@ -235,7 +259,7 @@
functions not exported) a bit faster by using a different calling
convention. */
#ifndef internal_function
-# define internal_function /* empty */
+# define internal_function /* empty */
#endif
/* We want the .gnu.warning.SYMBOL section to be unallocated. */
More information about the uClibc-cvs
mailing list