aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix
diff options
context:
space:
mode:
authorSiddhesh Poyarekar <siddhesh@redhat.com>2014-08-21 11:44:54 +0530
committerSiddhesh Poyarekar <siddhesh@redhat.com>2014-11-05 16:09:39 +0530
commit8d89863a4d792a4441ae79bf81afcfcfacc68f3f (patch)
tree0902cb872550d7beda5e34eaabac7df837ebb28d /sysdeps/unix
parent3048eb130dcf42893803a5fffa5299b22a31117b (diff)
Auto-generate libc-modules.h
Remove libc-modules.h from the tree and auto-generate it from soversions.i and a new file build.list. Macros generated from soversions.i have lower values starting from 1, while those from build.list start from a special value MODULE_OTHER_BEGIN, which has a high enough value (1000). This allows us to conveniently differentiate between the versioned libraries and other built modules, which is needed in errno.h and netdb.h to decide whether to use an internal symbol or an external one. Verified that generated code remains unchanged on x86_64. * Makeconfig (module-cppflags): Include libc-modules.h for everything except shlib-versions.v.i. (CPPFLAGS): Use it. (before-compile): Add libc-modules.h. ($(common-objpfx)libc-modules.h, $(common-objpfx)libc-modules.stmp): New targets. (common-generated): Add libc-modules.h and libc-modules.stmp. ($(common-objpfx)Versions.v.i): Depend on libc-modules.h. * build.list: New file. * include/libc-symbols.h: Don't include libc-modules.h. * include/libc-modules.h: Remove file. * scripts/gen-libc-modules.awk: New script to generate libc-modules.h. * sysdeps/unix/Makefile ($(common-objpfx)sysd-syscalls): Depend on libc-modules.stmp.
Diffstat (limited to 'sysdeps/unix')
-rw-r--r--sysdeps/unix/Makefile3
1 files changed, 2 insertions, 1 deletions
diff --git a/sysdeps/unix/Makefile b/sysdeps/unix/Makefile
index 0e535b63f9..573e90d57f 100644
--- a/sysdeps/unix/Makefile
+++ b/sysdeps/unix/Makefile
@@ -79,7 +79,8 @@ compile-syscall = $(COMPILE.S) -o $@ -x assembler-with-cpp - \
ifndef avoid-generated
$(common-objpfx)sysd-syscalls: $(..)sysdeps/unix/make-syscalls.sh \
- $(wildcard $(+sysdep_dirs:%=%/syscalls.list))
+ $(wildcard $(+sysdep_dirs:%=%/syscalls.list)) \
+ $(common-objpfx)libc-modules.stmp
for dir in $(+sysdep_dirs); do \
test -f $$dir/syscalls.list && \
{ sysdirs='$(sysdirs)' \