Add new macro IN_MODULE to identify module in which source is built

The current scheme to identify which module a translation unit is
built in depends on defining multiple macros IS_IN_* and also defining
NOT_IN_libc if we're building a non-libc module.  In addition, there
is an IN_LIB macro that does effectively the same thing, but for
different modules (notably the systemtap probes).  This macro scheme
unifies both ideas to use just one macro IN_MODULE and assign it a
value depending on the module it is being built into.  If the module
is not defined, it defaults to MODULE_libc.

Patches that follow will replace uses of IS_IN_* variables with the
IS_IN() macro.  libc-symbols.h has been converted already to give an
example of how such a transition will look.

Verified that there are no relevant binary changes.  One source change
that will crop up repeatedly is that of nscd_stat, since it uses the
build timestamp as a constant in its logic.

	* Makeconfig (in-module): Get value of libof set for the
	translation unit.
	(CPPFLAGS): Use $(in-module).
	* Makerules: Don't suffix routine names for nonlib.
	* include/libc-modules.h: New file.
	* include/libc-symbols.h: Include libc-modules.h
	(IS_IN): New macro to replace IS_IN_* macros.
	* elf/Makefile: Set libof-* for each routine.
	* elf/rtld-Rules: Likewise.
	* extra-modules.mk: Likewise.
	* iconv/Makefile: Likewise.
	* iconvdata/Makefile: Likewise.
	* locale/Makefile: Likewise.
	* malloc/Makefile: Likewise.
	* nss/Makefile: Likewise.
	* sysdeps/gnu/Makefile: Likewise.
	* sysdeps/ieee754/ldbl-opt/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/Makefile: Likewise.
	* sysdeps/s390/s390-64/Makefile: Likewise.
	* nscd/Makefile: Set libof-* for each routine.  Set CFLAGS and
	CPPFLAGS for nscd instead of nonlib.
This commit is contained in:
Siddhesh Poyarekar 2014-11-19 12:13:54 +05:30
parent d71035bd9a
commit 9cd4747089
18 changed files with 134 additions and 28 deletions

View File

@ -1,3 +1,27 @@
2014-11-19 Siddhesh Poyarekar <siddhesh@redhat.com>
* Makeconfig (in-module): Get value of libof set for the
translation unit.
(CPPFLAGS): Use $(in-module).
* Makerules: Don't suffix routine names for nonlib.
* include/libc-modules.h: New file.
* include/libc-symbols.h: Include libc-modules.h
(IS_IN): New macro to replace IS_IN_* macros.
* elf/Makefile: Set libof-* for each routine.
* elf/rtld-Rules: Likewise.
* extra-modules.mk: Likewise.
* iconv/Makefile: Likewise.
* iconvdata/Makefile: Likewise.
* locale/Makefile: Likewise.
* malloc/Makefile: Likewise.
* nss/Makefile: Likewise.
* sysdeps/gnu/Makefile: Likewise.
* sysdeps/ieee754/ldbl-opt/Makefile: Likewise.
* sysdeps/unix/sysv/linux/Makefile: Likewise.
* sysdeps/s390/s390-64/Makefile: Likewise.
* nscd/Makefile: Set libof-* for each routine. Set CFLAGS and
CPPFLAGS for nscd instead of nonlib.
2014-11-18 Roland McGrath <roland@hack.frob.com> 2014-11-18 Roland McGrath <roland@hack.frob.com>
* nptl/createthread.c: New file. * nptl/createthread.c: New file.

View File

@ -813,6 +813,11 @@ endif # $(+cflags) == ""
# of many little headers in the include directory. # of many little headers in the include directory.
libio-include = -I$(..)libio libio-include = -I$(..)libio
in-module = $(subst -,_,$(firstword $(libof-$(basename $(@F))) \
$(libof-$(<F)) \
$(libof-$(@F)) \
libc))
# These are the variables that the implicit compilation rules use. # These are the variables that the implicit compilation rules use.
# Note that we can't use -std=* in CPPFLAGS, because it overrides # Note that we can't use -std=* in CPPFLAGS, because it overrides
# the implicit -lang-asm and breaks cpp behavior for .S files--notably # the implicit -lang-asm and breaks cpp behavior for .S files--notably
@ -821,7 +826,7 @@ CPPFLAGS = $(config-extra-cppflags) $(CPPUNDEFS) $(CPPFLAGS-config) \
$($(subdir)-CPPFLAGS) \ $($(subdir)-CPPFLAGS) \
$(+includes) $(defines) \ $(+includes) $(defines) \
-include $(..)include/libc-symbols.h $(sysdep-CPPFLAGS) \ -include $(..)include/libc-symbols.h $(sysdep-CPPFLAGS) \
$(CPPFLAGS-$(suffix $@)) \ $(CPPFLAGS-$(suffix $@)) -DIN_MODULE=MODULE_$(in-module) \
$(foreach lib,$(libof-$(basename $(@F))) \ $(foreach lib,$(libof-$(basename $(@F))) \
$(libof-$(<F)) $(libof-$(@F)),$(CPPFLAGS-$(lib))) \ $(libof-$(<F)) $(libof-$(@F)),$(CPPFLAGS-$(lib))) \
$(CPPFLAGS-$(<F)) $(CPPFLAGS-$(@F)) $(CPPFLAGS-$(basename $(@F))) $(CPPFLAGS-$(<F)) $(CPPFLAGS-$(@F)) $(CPPFLAGS-$(basename $(@F)))

View File

@ -1223,7 +1223,7 @@ xcheck: xtests
all-nonlib = $(strip $(tests) $(xtests) $(test-srcs) $(test-extras) $(others)) all-nonlib = $(strip $(tests) $(xtests) $(test-srcs) $(test-extras) $(others))
ifneq (,$(all-nonlib)) ifneq (,$(all-nonlib))
cpp-srcs-left = $(all-nonlib:=.c) $(all-nonlib:=.cc) cpp-srcs-left = $(all-nonlib)
lib := nonlib lib := nonlib
include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left)) include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
endif endif

View File

@ -436,7 +436,8 @@ $(objpfx)ldconfig: $(ldconfig-modules:%=$(objpfx)%.o)
SYSCONF-FLAGS := -D'SYSCONFDIR="$(sysconfdir)"' SYSCONF-FLAGS := -D'SYSCONFDIR="$(sysconfdir)"'
CFLAGS-ldconfig.c = $(SYSCONF-FLAGS) -D'LIBDIR="$(libdir)"' \ CFLAGS-ldconfig.c = $(SYSCONF-FLAGS) -D'LIBDIR="$(libdir)"' \
-D'SLIBDIR="$(slibdir)"' -DIS_IN_ldconfig=1 -D'SLIBDIR="$(slibdir)"' -DIS_IN_ldconfig=1 -DNOT_IN_libc=1
libof-ldconfig = ldconfig
CFLAGS-dl-cache.c = $(SYSCONF-FLAGS) CFLAGS-dl-cache.c = $(SYSCONF-FLAGS)
CFLAGS-cache.c = $(SYSCONF-FLAGS) CFLAGS-cache.c = $(SYSCONF-FLAGS)
CFLAGS-rtld.c = $(SYSCONF-FLAGS) CFLAGS-rtld.c = $(SYSCONF-FLAGS)
@ -444,6 +445,10 @@ CFLAGS-rtld.c = $(SYSCONF-FLAGS)
CPPFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),\ CPPFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),\
-DNOT_IN_libc=1 -DIS_IN_rtld=1 -DIN_LIB=rtld) -DNOT_IN_libc=1 -DIS_IN_rtld=1 -DIN_LIB=rtld)
cpp-srcs-left := $(all-rtld-routines:=.os)
lib := rtld
include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
test-modules = $(addprefix $(objpfx),$(addsuffix .so,$(strip $(modules-names)))) test-modules = $(addprefix $(objpfx),$(addsuffix .so,$(strip $(modules-names))))
generated += $(addsuffix .so,$(strip $(modules-names))) generated += $(addsuffix .so,$(strip $(modules-names)))

View File

@ -138,6 +138,11 @@ ifdef rtld-depfiles
-include $(rtld-depfiles) -include $(rtld-depfiles)
endif endif
# Set libof-* for each routine.
cpp-srcs-left := $(rtld-modules:%.os=%)
lib := rtld
include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
# This here is the whole point of all the shenanigans. # This here is the whole point of all the shenanigans.
rtld-CPPFLAGS := -DNOT_IN_libc=1 -DIS_IN_rtld=1 -DIN_LIB=rtld rtld-CPPFLAGS := -DNOT_IN_libc=1 -DIS_IN_rtld=1 -DIN_LIB=rtld

View File

@ -6,4 +6,5 @@
module := $(firstword $(extra-modules-left)) module := $(firstword $(extra-modules-left))
extra-modules-left := $(filter-out $(module),$(extra-modules-left)) extra-modules-left := $(filter-out $(module),$(extra-modules-left))
libof-$(notdir $(module)) := extramodules
CPPFLAGS-$(module).c += -DNOT_IN_libc CPPFLAGS-$(module).c += -DNOT_IN_libc

View File

@ -52,11 +52,12 @@ CFLAGS-gconv_cache.c += -DGCONV_DIR='"$(gconvdir)"'
CFLAGS-gconv_conf.c = -DGCONV_PATH='"$(gconvdir)"' CFLAGS-gconv_conf.c = -DGCONV_PATH='"$(gconvdir)"'
CFLAGS-iconvconfig.c = -DGCONV_PATH='"$(gconvdir)"' -DGCONV_DIR='"$(gconvdir)"' CFLAGS-iconvconfig.c = -DGCONV_PATH='"$(gconvdir)"' -DGCONV_DIR='"$(gconvdir)"'
CPPFLAGS-iconv_charmap = -DNOT_IN_libc CPPFLAGS-iconvprogs = -DNOT_IN_libc
CPPFLAGS-linereader = -DNOT_IN_libc
CPPFLAGS-strtab = -DNOT_IN_libc # Set libof-* for each routine.
CPPFLAGS-charmap = -DNOT_IN_libc cpp-srcs-left := $(iconv_prog-modules) $(iconvconfig-modules)
CPPFLAGS-charmap-dir = -DNOT_IN_libc lib := iconvprogs
include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
ifeq ($(run-built-tests),yes) ifeq ($(run-built-tests),yes)
xtests-special += $(objpfx)test-iconvconfig.out xtests-special += $(objpfx)test-iconvconfig.out

View File

@ -211,6 +211,7 @@ $(objpfx)iconv-rules: Makefile
$(AWK) 'NR == 1 { \ $(AWK) 'NR == 1 { \
for (i = 1; i <= NF; i++) { \ for (i = 1; i <= NF; i++) { \
printf "%s-routines := %s\n", $$i, tolower($$i); \ printf "%s-routines := %s\n", $$i, tolower($$i); \
printf "libof-%s := iconvdata\n", tolower($$i); \
printf "%s-map := gconv.map\n", $$i; \ printf "%s-map := gconv.map\n", $$i; \
} \ } \
}; \ }; \
@ -273,6 +274,11 @@ endif
include ../Rules include ../Rules
# Set libof-* for each routine.
cpp-srcs-left := $(modules) $(generated-modules)
lib := iconvdata
include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
tst-loading-ENV = MALLOC_TRACE=$(objpfx)tst-loading.mtrace tst-loading-ENV = MALLOC_TRACE=$(objpfx)tst-loading.mtrace
$(objpfx)mtrace-tst-loading.out: $(objpfx)tst-loading.out $(objpfx)mtrace-tst-loading.out: $(objpfx)tst-loading.out
$(common-objpfx)malloc/mtrace $(objpfx)tst-loading.mtrace > $@; \ $(common-objpfx)malloc/mtrace $(objpfx)tst-loading.mtrace > $@; \

41
include/libc-modules.h Normal file
View File

@ -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

View File

@ -20,6 +20,11 @@
#ifndef _LIBC_SYMBOLS_H #ifndef _LIBC_SYMBOLS_H
#define _LIBC_SYMBOLS_H 1 #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 /* This file's macros are included implicitly in the compilation of every
file in the C library by -imacros. 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 If the function should be internal to multiple objects, say ld.so and
libc.so, the best way is to use: 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) hidden_proto (foo)
#endif #endif
@ -564,7 +569,7 @@ for linking")
# define libc_hidden_data_ver(local, name) # define libc_hidden_data_ver(local, name)
#endif #endif
#ifdef IS_IN_rtld #if IS_IN (rtld)
# define rtld_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) # 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_tls_proto(name, attrs...) hidden_tls_proto (name, ##attrs)
# define rtld_hidden_def(name) hidden_def (name) # define rtld_hidden_def(name) hidden_def (name)
@ -584,7 +589,7 @@ for linking")
# define rtld_hidden_data_ver(local, name) # define rtld_hidden_data_ver(local, name)
#endif #endif
#ifdef IS_IN_libm #if IS_IN (libm)
# define libm_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) # 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_tls_proto(name, attrs...) hidden_tls_proto (name, ##attrs)
# define libm_hidden_def(name) hidden_def (name) # define libm_hidden_def(name) hidden_def (name)
@ -604,7 +609,7 @@ for linking")
# define libm_hidden_data_ver(local, name) # define libm_hidden_data_ver(local, name)
#endif #endif
#ifdef IS_IN_libresolv #if IS_IN (libresolv)
# define libresolv_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) # define libresolv_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
# define libresolv_hidden_tls_proto(name, attrs...) \ # define libresolv_hidden_tls_proto(name, attrs...) \
hidden_tls_proto (name, ##attrs) hidden_tls_proto (name, ##attrs)
@ -625,7 +630,7 @@ for linking")
# define libresolv_hidden_data_ver(local, name) # define libresolv_hidden_data_ver(local, name)
#endif #endif
#ifdef IS_IN_librt #if IS_IN (librt)
# define librt_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) # define librt_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
# define librt_hidden_tls_proto(name, attrs...) \ # define librt_hidden_tls_proto(name, attrs...) \
hidden_tls_proto (name, ##attrs) hidden_tls_proto (name, ##attrs)
@ -646,7 +651,7 @@ for linking")
# define librt_hidden_data_ver(local, name) # define librt_hidden_data_ver(local, name)
#endif #endif
#ifdef IS_IN_libdl #if IS_IN (libdl)
# define libdl_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) # define libdl_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
# define libdl_hidden_tls_proto(name, attrs...) \ # define libdl_hidden_tls_proto(name, attrs...) \
hidden_tls_proto (name, ##attrs) hidden_tls_proto (name, ##attrs)
@ -667,7 +672,7 @@ for linking")
# define libdl_hidden_data_ver(local, name) # define libdl_hidden_data_ver(local, name)
#endif #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_proto(name, attrs...) hidden_proto (name, ##attrs)
# define libnss_files_hidden_tls_proto(name, attrs...) \ # define libnss_files_hidden_tls_proto(name, attrs...) \
hidden_tls_proto (name, ##attrs) hidden_tls_proto (name, ##attrs)
@ -688,7 +693,7 @@ for linking")
# define libnss_files_hidden_data_ver(local, name) # define libnss_files_hidden_data_ver(local, name)
#endif #endif
#ifdef IS_IN_libnsl #if IS_IN (libnsl)
# define libnsl_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) # define libnsl_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
# define libnsl_hidden_tls_proto(name, attrs...) \ # define libnsl_hidden_tls_proto(name, attrs...) \
hidden_tls_proto (name, ##attrs) hidden_tls_proto (name, ##attrs)
@ -709,7 +714,7 @@ for linking")
# define libnsl_hidden_data_ver(local, name) # define libnsl_hidden_data_ver(local, name)
#endif #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_proto(name, attrs...) hidden_proto (name, ##attrs)
# define libnss_nisplus_hidden_tls_proto(name, attrs...) \ # define libnss_nisplus_hidden_tls_proto(name, attrs...) \
hidden_tls_proto (name, ##attrs) hidden_tls_proto (name, ##attrs)
@ -738,7 +743,7 @@ for linking")
# define HIDDEN_BUILTIN_JUMPTARGET(name) HIDDEN_JUMPTARGET(name) # define HIDDEN_BUILTIN_JUMPTARGET(name) HIDDEN_JUMPTARGET(name)
#endif #endif
#ifdef IS_IN_libutil #if IS_IN (libutil)
# define libutil_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) # define libutil_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
# define libutil_hidden_tls_proto(name, attrs...) \ # define libutil_hidden_tls_proto(name, attrs...) \
hidden_tls_proto (name, ##attrs) hidden_tls_proto (name, ##attrs)

View File

@ -96,7 +96,7 @@ CFLAGS-locfile.c = -Wno-write-strings -Wno-char-subscripts
CFLAGS-charmap-dir.c = -Wno-write-strings CFLAGS-charmap-dir.c = -Wno-write-strings
# This makes sure -DNOT_IN_libc et al are passed for all these modules. # This makes sure -DNOT_IN_libc et al are passed for all these modules.
cpp-srcs-left := $(addsuffix .c,$(localedef-modules) $(localedef-aux) \ cpp-srcs-left := $(localedef-modules) $(localedef-aux) $(locale-modules) \
$(locale-modules) $(lib-modules)) $(lib-modules)
lib := locale-programs lib := locale-programs
include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left)) include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))

View File

@ -89,6 +89,11 @@ endif
do-memusagestat: $(objpfx)memusagestat do-memusagestat: $(objpfx)memusagestat
memusagestat-modules = memusagestat memusagestat-modules = memusagestat
cpp-srcs-left := $(memusagestat-modules)
lib := memusagestat
include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
$(objpfx)memusagestat: $(memusagestat-modules:%=$(objpfx)%.o) $(objpfx)memusagestat: $(memusagestat-modules:%=$(objpfx)%.o)
$(LINK.o) -o $@ $^ $(libgd-LDFLAGS) -lgd -lpng -lz -lm $(LINK.o) -o $@ $^ $(libgd-LDFLAGS) -lgd -lpng -lz -lm

View File

@ -79,23 +79,22 @@ CFLAGS-nscd_gethst_r.c = -fexceptions
CFLAGS-nscd_getai.c = -fexceptions CFLAGS-nscd_getai.c = -fexceptions
CFLAGS-nscd_initgroups.c = -fexceptions CFLAGS-nscd_initgroups.c = -fexceptions
CPPFLAGS-nonlib += -DIS_IN_nscd=1 -D_FORTIFY_SOURCE=2 CPPFLAGS-nscd += -DIS_IN_nscd=1 -D_FORTIFY_SOURCE=2 -DNOT_IN_libc=1
ifeq (yesyes,$(have-fpie)$(build-shared)) ifeq (yesyes,$(have-fpie)$(build-shared))
CFLAGS-nonlib += $(pie-ccflag) CFLAGS-nscd += $(pie-ccflag)
endif endif
ifeq (yes,$(have-ssp)) ifeq (yes,$(have-ssp))
CFLAGS-nonlib += -fstack-protector CFLAGS-nscd += -fstack-protector
endif endif
ifeq (yesyes,$(have-fpie)$(build-shared)) ifeq (yesyes,$(have-fpie)$(build-shared))
LDFLAGS-nscd = -Wl,-z,now LDFLAGS-nscd = -Wl,-z,now
endif endif
# This makes sure CPPFLAGS-nonlib and CFLAGS-nonlib are passed # Set libof-nscd.
# for all these modules. cpp-srcs-left := $(nscd-modules)
cpp-srcs-left := $(nscd-modules:=.c) lib := nscd
lib := nonlib
include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left)) include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
$(objpfx)nscd: $(nscd-modules:%=$(objpfx)%.o) $(objpfx)nscd: $(nscd-modules:%=$(objpfx)%.o)

View File

@ -105,7 +105,8 @@ $(objpfx)makedb: $(makedb-modules:%=$(objpfx)%.o)
$(inst_vardbdir)/Makefile: db-Makefile $(+force) $(inst_vardbdir)/Makefile: db-Makefile $(+force)
$(do-install) $(do-install)
CFLAGS-nss_test1.c = -DNOT_IN_libc=1 libof-nss_test1 = extramodules
CPPFLAGS-nss_test1 = -DNOT_IN_libc=1
$(objpfx)/libnss_test1.so: $(objpfx)nss_test1.os $(link-libc-deps) $(objpfx)/libnss_test1.so: $(objpfx)nss_test1.os $(link-libc-deps)
$(build-module) $(build-module)
ifdef libnss_test1.so-version ifdef libnss_test1.so-version

View File

@ -145,6 +145,7 @@ LDFLAGS-tst-putenv = $(no-as-needed)
$(objpfx)tst-putenvmod.so: $(objpfx)tst-putenvmod.os $(link-libc-deps) $(objpfx)tst-putenvmod.so: $(objpfx)tst-putenvmod.os $(link-libc-deps)
$(build-module) $(build-module)
libof-tst-putenvmod = extramodules
CFLAGS-tst-putenvmod.c = -DNOT_IN_libc=1 CFLAGS-tst-putenvmod.c = -DNOT_IN_libc=1
$(objpfx)bug-getcontext: $(libm) $(objpfx)bug-getcontext: $(libm)

View File

@ -29,6 +29,8 @@ ifeq ($(subdir),stdio-common)
errlist-c = $(firstword $(wildcard $(addsuffix /errlist.c,$(sysdirs) .))) errlist-c = $(firstword $(wildcard $(addsuffix /errlist.c,$(sysdirs) .)))
libof-errlist-compat = extramodules
ifeq ($(build-shared),yes) ifeq ($(build-shared),yes)
$(objpfx)errlist-compat.c: $(errlist-c) $(..)sysdeps/gnu/errlist-compat.awk \ $(objpfx)errlist-compat.c: $(errlist-c) $(..)sysdeps/gnu/errlist-compat.awk \
$(common-objpfx)Versions.v.i $(before-compile) $(common-objpfx)Versions.v.i $(before-compile)

View File

@ -28,6 +28,10 @@ s390x-iconv-modules = ISO-8859-1_CP037_Z900 UTF8_UTF16_Z9 UTF16_UTF32_Z9 UTF8_UT
extra-modules-left += $(s390x-iconv-modules) extra-modules-left += $(s390x-iconv-modules)
include extra-module.mk include extra-module.mk
cpp-srcs-left := $(foreach mod,$(s390x-iconv-modules),$($(mod)-routines))
lib := iconvdata
include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
extra-objs += $(addsuffix .so, $(s390x-iconv-modules)) extra-objs += $(addsuffix .so, $(s390x-iconv-modules))
install-others += $(patsubst %, $(inst_gconvdir)/%.so, $(s390x-iconv-modules)) install-others += $(patsubst %, $(inst_gconvdir)/%.so, $(s390x-iconv-modules))

View File

@ -178,6 +178,7 @@ ifeq ($(subdir),elf)
sysdep-rtld-routines += dl-brk dl-sbrk dl-getcwd dl-openat64 dl-opendir \ sysdep-rtld-routines += dl-brk dl-sbrk dl-getcwd dl-openat64 dl-opendir \
dl-fxstatat64 dl-fxstatat64
libof-lddlibc4 = lddlibc4
CPPFLAGS-lddlibc4 += -DNOT_IN_libc CPPFLAGS-lddlibc4 += -DNOT_IN_libc
others += pldd others += pldd