aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/libc-modules.h41
-rw-r--r--include/libc-symbols.h25
2 files changed, 56 insertions, 10 deletions
diff --git a/include/libc-modules.h b/include/libc-modules.h
new file mode 100644
index 0000000..029b600
--- /dev/null
+++ b/include/libc-modules.h
@@ -0,0 +1,41 @@
+/* Valid values for the IN_MODULE macro, which is defined for each source file
+ during compilation to indicate which module it is to be built into.
+
+ TODO: This file should eventually be auto-generated. */
+#define MODULE_libc 1
+#define MODULE_libpthread 2
+#define MODULE_rtld 3
+#define MODULE_libdl 4
+#define MODULE_libm 5
+#define MODULE_iconvprogs 6
+#define MODULE_iconvdata 7
+#define MODULE_lddlibc4 8
+#define MODULE_locale_programs 9
+#define MODULE_memusagestat 10
+#define MODULE_libutil 12
+#define MODULE_libBrokenLocale 13
+#define MODULE_libmemusage 15
+#define MODULE_libresolv 16
+#define MODULE_libnss_db 17
+#define MODULE_libnss_files 18
+#define MODULE_libnss_dns 19
+#define MODULE_libnss_compat 20
+#define MODULE_libnss_hesiod 21
+#define MODULE_libnss_nis 22
+#define MODULE_libnss_nisplus 23
+#define MODULE_libanl 24
+#define MODULE_librt 25
+#define MODULE_libSegFault 26
+#define MODULE_libthread_db 27
+#define MODULE_libcidn 28
+#define MODULE_libcrypt 29
+#define MODULE_libnsl 30
+#define MODULE_libpcprofile 31
+#define MODULE_librpcsvc 32
+#define MODULE_nscd 33
+#define MODULE_ldconfig 34
+#define MODULE_libnldbl 35
+
+/* Catch-all for test modules and other binaries. */
+#define MODULE_nonlib 98
+#define MODULE_extramodules 99
diff --git a/include/libc-symbols.h b/include/libc-symbols.h
index b1ac9db..58c3577 100644
--- a/include/libc-symbols.h
+++ b/include/libc-symbols.h
@@ -20,6 +20,11 @@
#ifndef _LIBC_SYMBOLS_H
#define _LIBC_SYMBOLS_H 1
+/* Pull in definitions for the MODULE_* macros. */
+#include <libc-modules.h>
+
+#define IS_IN(lib) (IN_MODULE == MODULE_##lib)
+
/* This file's macros are included implicitly in the compilation of every
file in the C library by -imacros.
@@ -448,7 +453,7 @@ for linking")
If the function should be internal to multiple objects, say ld.so and
libc.so, the best way is to use:
- #if !defined NOT_IN_libc || defined IS_IN_rtld
+ #if IS_IN (libc) || IS_IN (rtld)
hidden_proto (foo)
#endif
@@ -564,7 +569,7 @@ for linking")
# define libc_hidden_data_ver(local, name)
#endif
-#ifdef IS_IN_rtld
+#if IS_IN (rtld)
# define rtld_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
# define rtld_hidden_tls_proto(name, attrs...) hidden_tls_proto (name, ##attrs)
# define rtld_hidden_def(name) hidden_def (name)
@@ -584,7 +589,7 @@ for linking")
# define rtld_hidden_data_ver(local, name)
#endif
-#ifdef IS_IN_libm
+#if IS_IN (libm)
# define libm_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
# define libm_hidden_tls_proto(name, attrs...) hidden_tls_proto (name, ##attrs)
# define libm_hidden_def(name) hidden_def (name)
@@ -604,7 +609,7 @@ for linking")
# define libm_hidden_data_ver(local, name)
#endif
-#ifdef IS_IN_libresolv
+#if IS_IN (libresolv)
# define libresolv_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
# define libresolv_hidden_tls_proto(name, attrs...) \
hidden_tls_proto (name, ##attrs)
@@ -625,7 +630,7 @@ for linking")
# define libresolv_hidden_data_ver(local, name)
#endif
-#ifdef IS_IN_librt
+#if IS_IN (librt)
# define librt_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
# define librt_hidden_tls_proto(name, attrs...) \
hidden_tls_proto (name, ##attrs)
@@ -646,7 +651,7 @@ for linking")
# define librt_hidden_data_ver(local, name)
#endif
-#ifdef IS_IN_libdl
+#if IS_IN (libdl)
# define libdl_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
# define libdl_hidden_tls_proto(name, attrs...) \
hidden_tls_proto (name, ##attrs)
@@ -667,7 +672,7 @@ for linking")
# define libdl_hidden_data_ver(local, name)
#endif
-#ifdef IS_IN_libnss_files
+#if IS_IN (libnss_files)
# define libnss_files_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
# define libnss_files_hidden_tls_proto(name, attrs...) \
hidden_tls_proto (name, ##attrs)
@@ -688,7 +693,7 @@ for linking")
# define libnss_files_hidden_data_ver(local, name)
#endif
-#ifdef IS_IN_libnsl
+#if IS_IN (libnsl)
# define libnsl_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
# define libnsl_hidden_tls_proto(name, attrs...) \
hidden_tls_proto (name, ##attrs)
@@ -709,7 +714,7 @@ for linking")
# define libnsl_hidden_data_ver(local, name)
#endif
-#ifdef IS_IN_libnss_nisplus
+#if IS_IN (libnss_nisplus)
# define libnss_nisplus_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
# define libnss_nisplus_hidden_tls_proto(name, attrs...) \
hidden_tls_proto (name, ##attrs)
@@ -738,7 +743,7 @@ for linking")
# define HIDDEN_BUILTIN_JUMPTARGET(name) HIDDEN_JUMPTARGET(name)
#endif
-#ifdef IS_IN_libutil
+#if IS_IN (libutil)
# define libutil_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
# define libutil_hidden_tls_proto(name, attrs...) \
hidden_tls_proto (name, ##attrs)