import glibc-2.17-292.el7.src.rpm
Signed-off-by: zhangbinchen <zhangbinchen@openanolis.org>
This commit is contained in:
commit
ff0128648f
929 changed files with 436800 additions and 0 deletions
108
glibc-rh1418978-0.patch
Normal file
108
glibc-rh1418978-0.patch
Normal file
|
@ -0,0 +1,108 @@
|
|||
This patch backports the makefile changes related to the support/
|
||||
framework. It is based on upstream commits
|
||||
c23de0aacbeaa7a091609b35764bed931475a16d (support: Introduce new
|
||||
subdirectory for test infrastructure) and
|
||||
76dcbf42df83c970c13c786d287f1ec69e1b91eb (Expose linking against
|
||||
libsupport as make dependency).
|
||||
|
||||
The actual contents of the support/ subdirectory is kept in a separate
|
||||
patch, so that it can be updated separately.
|
||||
|
||||
diff --git a/Makeconfig b/Makeconfig
|
||||
index 1673eea7f2667aae..948c46420193051d 100644
|
||||
--- a/Makeconfig
|
||||
+++ b/Makeconfig
|
||||
@@ -384,6 +384,9 @@ LDFLAGS.so += $(hashstyle-LDFLAGS)
|
||||
LDFLAGS-rtld += $(hashstyle-LDFLAGS)
|
||||
endif
|
||||
|
||||
+# Additional libraries to link into every test.
|
||||
+link-extra-libs-tests = $(libsupport)
|
||||
+
|
||||
# Command for linking PIE programs with the C library.
|
||||
ifndef +link-pie
|
||||
+link-pie = $(CC) -pie -Wl,-O1 -nostdlib -nostartfiles -o $@ \
|
||||
@@ -464,7 +467,7 @@ link-libc-before-gnulib = -Wl,-rpath-link=$(rpath-link) \
|
||||
link-libc = $(link-libc-before-gnulib) $(gnulib)
|
||||
link-libc-tests = $(link-libc-before-gnulib) $(gnulib-tests)
|
||||
# This is how to find at build-time things that will be installed there.
|
||||
-rpath-dirs = math elf dlfcn nss nis rt resolv crypt
|
||||
+rpath-dirs = math elf dlfcn nss nis rt resolv crypt support
|
||||
rpath-link = \
|
||||
$(common-objdir):$(subst $(empty) ,:,$(patsubst ../$(subdir),.,$(rpath-dirs:%=$(common-objpfx)%)))
|
||||
else
|
||||
@@ -732,7 +735,7 @@ libio-include = -I$(..)libio
|
||||
# List of non-library modules that we build.
|
||||
built-modules = iconvprogs iconvdata ldconfig lddlibc4 libmemusage \
|
||||
libSegFault libpcprofile librpcsvc locale-programs \
|
||||
- memusagestat nonlib nscd extramodules libnldbl
|
||||
+ memusagestat nonlib nscd extramodules libnldbl libsupport
|
||||
|
||||
in-module = $(subst -,_,$(firstword $(libof-$(basename $(@F))) \
|
||||
$(libof-$(<F)) \
|
||||
@@ -1022,6 +1025,12 @@ else
|
||||
libm = $(common-objpfx)math/libm.a
|
||||
endif
|
||||
|
||||
+ifeq ($(build-shared),yes)
|
||||
+libsupport = $(common-objpfx)support/libsupport_nonshared.a
|
||||
+else
|
||||
+libsupport = $(common-objpfx)support/libsupport.a
|
||||
+endif
|
||||
+
|
||||
# These are the subdirectories containing the library source. The order
|
||||
# is more or less arbitrary. The sorting step will take care of the
|
||||
# dependencies.
|
||||
@@ -1029,7 +1038,7 @@ all-subdirs = csu assert ctype locale intl catgets math setjmp signal \
|
||||
stdlib stdio-common libio malloc string wcsmbs time dirent \
|
||||
grp pwd posix io termios resource misc socket sysvipc gmon \
|
||||
gnulib iconv iconvdata wctype manual shadow gshadow po argp \
|
||||
- crypt nss localedata timezone rt conform debug \
|
||||
+ crypt nss localedata timezone rt conform debug support \
|
||||
$(add-on-subdirs) dlfcn elf
|
||||
|
||||
ifndef avoid-generated
|
||||
diff --git a/Rules b/Rules
|
||||
index 25a16d1a4f001a95..b18fb12b1711c0fc 100644
|
||||
--- a/Rules
|
||||
+++ b/Rules
|
||||
@@ -142,6 +142,7 @@ endif
|
||||
|
||||
ifneq "$(strip $(binaries-shared-tests))" ""
|
||||
$(addprefix $(objpfx),$(binaries-shared-tests)): %: %.o \
|
||||
+ $(link-extra-libs-tests) \
|
||||
$(sort $(filter $(common-objpfx)lib%,$(link-libc))) \
|
||||
$(addprefix $(csu-objpfx),start.o) $(+preinit) $(+postinit)
|
||||
$(+link-tests)
|
||||
@@ -163,6 +164,7 @@ endif
|
||||
|
||||
ifneq "$(strip $(binaries-static-tests))" ""
|
||||
$(addprefix $(objpfx),$(binaries-static-tests)): %: %.o \
|
||||
+ $(link-extra-libs-tests) \
|
||||
$(sort $(filter $(common-objpfx)lib%,$(link-libc-static-tests))) \
|
||||
$(addprefix $(csu-objpfx),start.o) $(+preinit) $(+postinit)
|
||||
$(+link-static-tests)
|
||||
diff --git a/extra-lib.mk b/extra-lib.mk
|
||||
index af1d6fc888f43d1c..6b87e52db3666cca 100644
|
||||
--- a/extra-lib.mk
|
||||
+++ b/extra-lib.mk
|
||||
@@ -5,6 +5,9 @@
|
||||
# The variable $($(lib)-routines) defines the list of modules
|
||||
# to be included in that library. A sysdep Makefile can add to
|
||||
# $(lib)-sysdep_routines to include additional modules.
|
||||
+#
|
||||
+# Libraries listed in $(extra-libs-noinstall) are built, but not
|
||||
+# installed.
|
||||
|
||||
lib := $(firstword $(extra-libs-left))
|
||||
extra-libs-left := $(filter-out $(lib),$(extra-libs-left))
|
||||
@@ -28,7 +31,9 @@ extra-objs := $(extra-objs)
|
||||
all-$(lib)-routines := $($(lib)-routines) $($(lib)-sysdep_routines)
|
||||
|
||||
# Add each flavor of library to the lists of things to build and install.
|
||||
+ifeq (,$(filter $(lib), $(extra-libs-noinstall)))
|
||||
install-lib += $(foreach o,$(object-suffixes-$(lib)),$(lib:lib%=$(libtype$o)))
|
||||
+endif
|
||||
extra-objs += $(foreach o,$(filter-out .os .oS,$(object-suffixes-$(lib))),\
|
||||
$(patsubst %,%$o,$(filter-out \
|
||||
$($(lib)-shared-only-routines),\
|
Loading…
Add table
Add a link
Reference in a new issue