diff options
author | Siddhesh Poyarekar <siddhesh@redhat.com> | 2014-08-21 11:44:54 +0530 |
---|---|---|
committer | Siddhesh Poyarekar <siddhesh@redhat.com> | 2014-11-05 16:09:39 +0530 |
commit | 8d89863a4d792a4441ae79bf81afcfcfacc68f3f (patch) | |
tree | 0902cb872550d7beda5e34eaabac7df837ebb28d /sysdeps/unix | |
parent | 3048eb130dcf42893803a5fffa5299b22a31117b (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/Makefile | 3 |
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)' \ |