Auto-sync Upstream commit: ebae2f5a6f971a8f0b6c99e00f9c45ef7433924a Changes in addition to the sync: Add a downstream patch[1] to reinstate gconv-modules file and apply glibc-rh697421.patch after it. Also update spec file to create a new package glibc-gconv-extra with iconv converter modules that are not commonly used so that they can be removed in minimal or hardened installations. [1] https://sourceware.org/pipermail/libc-alpha/2021-June/127497.html Auto-sync commits: - Add build option to disable usage of scv on powerpc - io: Fix sporadic test failures in io/tst-stat - nptl: Avoid async cancellation to wrongly update __nptl_nthreads (BZ #19366) - nptl: Use pthread_kill on pthread_cancel - nptl: Implement raise in terms of pthread_kill - nptl: Move cancel type out of cancelhandling - nptl: Move cancel state out of cancelhandling - nptl: Remove CANCELING_BITMASK - nptl: Install cancellation handler on pthread_cancel - nptl: Deallocate the thread stack on setup failure (BZ #19511) - Remove stale references to libdl.a - Fix elf/tst-tls9-static after libdl cleanups. - iconvdata: Split out non-essential gconv module configuration - iconvdata: Move gconv-modules configuration to gconv-modules.conf - gconv_conf: Read configuration files in gconv-modules.d - iconvconfig: Read configuration from gconv-modules.d subdirectory - iconvconfig: Make file handling more general purpose - AArch64: Add support for roundeven[f] - configure: Replaced obsolete AC_TRY_COMPILE - libio: Assume _IO_lock_inexpensive - nptl: Remove exit-thread.h - Improve test coverage of strnlen function
138 lines
6.0 KiB
Diff
138 lines
6.0 KiB
Diff
Short description: Reinstate gconv-modules as the default configuration file
|
|
Author(s): Fedora glibc team <glibc@lists.fedoraproject.org>
|
|
Origin: PATCH
|
|
Upstream status: https://sourceware.org/pipermail/libc-alpha/2021-June/127497.html
|
|
|
|
Reinstate gconv-modules as the main file so that the configuration
|
|
files in gconv-modules.d/ become add-on configuration. With this, the
|
|
effective user visible change is that GCONV_PATH can now have
|
|
supplementary configuration in GCONV_PATH/gconv-modules.d/ in addition
|
|
to the main GCONV_PATH/gconv-modules file.
|
|
|
|
diff --git a/iconvdata/Makefile b/iconvdata/Makefile
|
|
index 3c6929fb59aadaa2..bb3f621b49608b04 100644
|
|
--- a/iconvdata/Makefile
|
|
+++ b/iconvdata/Makefile
|
|
@@ -137,13 +137,12 @@ charmaps = ../localedata/charmaps
|
|
extra-modules-left := $(modules)
|
|
include extra-module.mk
|
|
|
|
-gconv-modules = gconv-modules.conf gconv-modules-extra.conf
|
|
+gconv-modules = gconv-modules gconv-modules.d/gconv-modules-extra.conf
|
|
modpfx = $(objpfx)gconv-modules.d/
|
|
|
|
extra-objs += $(modules.so)
|
|
install-others = $(addprefix $(inst_gconvdir)/, $(modules.so)) \
|
|
- $(addprefix $(inst_gconvdir)/gconv-modules.d/, \
|
|
- $(gconv-modules))
|
|
+ $(addprefix $(inst_gconvdir)/, $(gconv-modules))
|
|
|
|
# We can build the conversion tables for numerous charsets automatically.
|
|
|
|
@@ -185,7 +184,7 @@ generated += $(generated-modules:=.h) $(generated-modules:=.stmp) \
|
|
iconv-test.out iconv-rules tst-loading.mtrace \
|
|
mtrace-tst-loading.out tst-tables.out iconv-test.xxx
|
|
ifdef objpfx
|
|
-generated += $(addprefix gconv-modules.d/,$(gconv-modules))
|
|
+generated += $(gconv-modules)
|
|
endif
|
|
|
|
# Rules to generate the headers.
|
|
@@ -253,8 +252,8 @@ headers: $(addprefix $(objpfx), $(generated-modules:=.h))
|
|
$(addprefix $(inst_gconvdir)/, $(modules.so)): \
|
|
$(inst_gconvdir)/%: $(objpfx)% $(+force)
|
|
$(do-install-program)
|
|
-$(addprefix $(inst_gconvdir)/gconv-modules.d/, $(gconv-modules)): \
|
|
- $(inst_gconvdir)/gconv-modules.d/%: $(modpfx)% $(+force)
|
|
+$(addprefix $(inst_gconvdir)/, $(gconv-modules)): \
|
|
+ $(inst_gconvdir)/%: $(objpfx)% $(+force)
|
|
$(do-install)
|
|
ifeq (no,$(cross-compiling))
|
|
# Update the $(prefix)/lib/gconv/gconv-modules.cache file. This is necessary
|
|
@@ -307,29 +306,29 @@ $(objpfx)mtrace-tst-loading.out: $(objpfx)tst-loading.out
|
|
$(common-objpfx)malloc/mtrace $(objpfx)tst-loading.mtrace > $@; \
|
|
$(evaluate-test)
|
|
|
|
-$(objpfx)bug-iconv1.out: $(addprefix $(modpfx), $(gconv-modules)) \
|
|
+$(objpfx)bug-iconv1.out: $(addprefix $(objpfx), $(gconv-modules)) \
|
|
$(addprefix $(objpfx),$(modules.so))
|
|
-$(objpfx)bug-iconv2.out: $(addprefix $(modpfx), $(gconv-modules)) \
|
|
+$(objpfx)bug-iconv2.out: $(addprefix $(objpfx), $(gconv-modules)) \
|
|
$(addprefix $(objpfx),$(modules.so))
|
|
-$(objpfx)bug-iconv3.out: $(addprefix $(modpfx), $(gconv-modules)) \
|
|
+$(objpfx)bug-iconv3.out: $(addprefix $(objpfx), $(gconv-modules)) \
|
|
$(addprefix $(objpfx),$(modules.so))
|
|
-$(objpfx)bug-iconv5.out: $(addprefix $(modpfx), $(gconv-modules)) \
|
|
+$(objpfx)bug-iconv5.out: $(addprefix $(objpfx), $(gconv-modules)) \
|
|
$(addprefix $(objpfx),$(modules.so))
|
|
-$(objpfx)tst-loading.out: $(addprefix $(modpfx), $(gconv-modules)) \
|
|
+$(objpfx)tst-loading.out: $(addprefix $(objpfx), $(gconv-modules)) \
|
|
$(addprefix $(objpfx),$(modules.so))
|
|
-$(objpfx)tst-iconv4.out: $(addprefix $(modpfx), $(gconv-modules)) \
|
|
+$(objpfx)tst-iconv4.out: $(addprefix $(objpfx), $(gconv-modules)) \
|
|
$(addprefix $(objpfx),$(modules.so))
|
|
-$(objpfx)tst-iconv7.out: $(addprefix $(modpfx), $(gconv-modules)) \
|
|
+$(objpfx)tst-iconv7.out: $(addprefix $(objpfx), $(gconv-modules)) \
|
|
$(addprefix $(objpfx),$(modules.so))
|
|
-$(objpfx)bug-iconv10.out: $(addprefix $(modpfx), $(gconv-modules)) \
|
|
+$(objpfx)bug-iconv10.out: $(addprefix $(objpfx), $(gconv-modules)) \
|
|
$(addprefix $(objpfx),$(modules.so))
|
|
-$(objpfx)bug-iconv12.out: $(addprefix $(modpfx), $(gconv-modules)) \
|
|
+$(objpfx)bug-iconv12.out: $(addprefix $(objpfx), $(gconv-modules)) \
|
|
$(addprefix $(objpfx),$(modules.so))
|
|
-$(objpfx)bug-iconv14.out: $(addprefix $(modpfx), $(gconv-modules)) \
|
|
+$(objpfx)bug-iconv14.out: $(addprefix $(objpfx), $(gconv-modules)) \
|
|
$(addprefix $(objpfx),$(modules.so))
|
|
|
|
$(objpfx)iconv-test.out: run-iconv-test.sh \
|
|
- $(addprefix $(modpfx), $(gconv-modules)) \
|
|
+ $(addprefix $(objpfx), $(gconv-modules)) \
|
|
$(addprefix $(objpfx),$(modules.so)) \
|
|
$(common-objdir)/iconv/iconv_prog TESTS
|
|
iconv_modules="$(modules)" \
|
|
@@ -338,7 +337,7 @@ $(objpfx)iconv-test.out: run-iconv-test.sh \
|
|
$(evaluate-test)
|
|
|
|
$(objpfx)tst-tables.out: tst-tables.sh \
|
|
- $(addprefix $(modpfx), $(gconv-modules)) \
|
|
+ $(addprefix $(objpfx), $(gconv-modules)) \
|
|
$(addprefix $(objpfx),$(modules.so)) \
|
|
$(objpfx)tst-table-from $(objpfx)tst-table-to
|
|
$(SHELL) $< $(common-objpfx) $(common-objpfx)iconvdata/ \
|
|
@@ -357,7 +356,10 @@ $(modpfx):
|
|
$(modpfx)%: % $(modpfx)
|
|
cp $< $@
|
|
|
|
+$(objpfx)gconv-modules: gconv-modules
|
|
+ cp $^ $@
|
|
+
|
|
# Test requires BIG5HKSCS.
|
|
$(objpfx)tst-iconv-big5-hkscs-to-2ucs4.out: \
|
|
- $(addprefix $(modpfx), $(gconv-modules)) \
|
|
+ $(addprefix $(objpfx), $(gconv-modules)) \
|
|
$(addprefix $(objpfx),$(modules.so))
|
|
diff --git a/iconvdata/gconv-modules.conf b/iconvdata/gconv-modules
|
|
similarity index 100%
|
|
rename from iconvdata/gconv-modules.conf
|
|
rename to iconvdata/gconv-modules
|
|
diff --git a/localedata/Makefile b/localedata/Makefile
|
|
index ff4ec4acfa2bc523..bc5a60cf3b49701a 100644
|
|
--- a/localedata/Makefile
|
|
+++ b/localedata/Makefile
|
|
@@ -183,7 +183,7 @@ install-others := $(addprefix $(inst_i18ndir)/, \
|
|
$(locales))
|
|
endif
|
|
|
|
-tests: $(objdir)/iconvdata/gconv-modules.d/gconv-modules.conf
|
|
+tests: $(objdir)/iconvdata/gconv-modules
|
|
|
|
tests-static += tst-langinfo-newlocale-static tst-langinfo-setlocale-static
|
|
|
|
@@ -465,5 +465,5 @@ $(objpfx)mtrace-tst-leaks.out: $(objpfx)tst-leaks.out
|
|
bug-setlocale1-ENV-only = LOCPATH=$(objpfx) LC_CTYPE=de_DE.UTF-8
|
|
bug-setlocale1-static-ENV-only = $(bug-setlocale1-ENV-only)
|
|
|
|
-$(objdir)/iconvdata/gconv-modules.d/gconv-modules.conf:
|
|
+$(objdir)/iconvdata/gconv-modules:
|
|
$(MAKE) -C ../iconvdata subdir=iconvdata $@
|