The scriptlet in glibc adds a dependency on bash to glibc-common,
which is required by glibc, so effectively the whole world depends on
bash. By rewriting the script in lua we drop this dependency, and also
to avoid a (bogus?) warning from rpm about a dependency loop.
If the call fails, an error is printed but the transaction is not failed.
(The original script didn't have "|| :", so the return value from
/sbin/ldconfig would be the return value from the script, causing
the transaction to fail.)
Quoting https://bugzilla.redhat.com/show_bug.cgi?id=2018913#c34:
warning: SCC #1: 5 members (5 external dependencies)
warning: glibc-2.35-2.fc37.x86_64
warning: -> glibc-minimal-langpack-2.35-2.fc37.x86_64
warning: -> glibc-common-2.35-2.fc37.x86_64
warning: ncurses-libs-6.2-9.20210508.fc36.x86_64
warning: -> glibc-2.35-2.fc37.x86_64
warning: bash-5.1.16-2.fc36.x86_64
warning: -> ncurses-libs-6.2-9.20210508.fc36.x86_64
warning: -> glibc-2.35-2.fc37.x86_64
warning: glibc-common-2.35-2.fc37.x86_64
warning: -> glibc-2.35-2.fc37.x86_64
warning: -> bash-5.1.16-2.fc36.x86_64
warning: glibc-minimal-langpack-2.35-2.fc37.x86_64
warning: -> glibc-common-2.35-2.fc37.x86_64
warning: -> glibc-2.35-2.fc37.x86_64
If we look into SCC #1, bash obviously requires glibc because it links
to it. The loop is created by glibc → glibc-common → bash, because
glibc-common has %transfiletriggerin and %transfiletriggerpostun using
bash to call /sbin/ldconfig.
https://github.com/coreos/rpm-ostree/pull/3453 provides a workaround
so that rpm-ostree doesn't choke on this.
See https://rpm-software-management.github.io/rpm/manual/lua.html and
298bb60a9f/rpmio/rpmlua.c (L806-L829)
assert() is not used because it seems better to ignore the error. The
old code would assert on exec(), but not on fork(), and it would not
check the return value either. But if the call fails (for any reason),
an error is printed. At least iconvconfig just seems to fail quietly
in case of a problem.
Almost half the LC_CTYPE files in langpacks are identical to the C.utf8
variant which is installed by default. This commit converts these to
symbolic links instead, saving ~350K of installed size per langpack.
Reviewed-by: Florian Weimer <fweimer@redhat.com>
glibc-fedora-localedef.patch was altering the install-locales target so
that it does not generate a locale-archive.
This commit drops the patch and uses the install-locale-files target
instead of install-locales. install-locale-files does not generate
locale-archive, and does not group identical locale files via hardlinks.
hardlink is also passed a -c flag so that it actually compares file
contents and hardlinks identical ones.
Temporary patches to work around gcc 12 vs glibc warning
and ppc64le long double conflicts.
Upstream commit: 5b8e7980c5dabd9aaefeba4f0208baa8cf7653ee
- Linux: Detect user namespace support in io/tst-getcwd-smallbuff
- Fix handling of unterminated bracket expressions in fnmatch (bug 28792)
- realpath: Avoid overwriting preexisting error (CVE-2021-3998)
- elf: Add a test for PT_LOAD segments with invalid p_align [BZ #28688]
- elf: Add a test for PT_LOAD segments with p_align == 1 [BZ #28688]
- elf: Add a test for PT_LOAD segments with mixed p_align [BZ #28676]
- Add and use link-test-modules-rpath-link [BZ #28455]
- tst-realpath-toolong: Fix hurd build
- getcwd: Set errno to ERANGE for size == 1 (CVE-2021-3999)
- Add valgrind smoke test
- htl: Fix cleaning the reply port
- elf: Properly align all PT_LOAD segments [BZ #28676]
- realpath: Set errno to ENAMETOOLONG for result larger than PATH_MAX [BZ #28770]
- support: Add helpers to create paths longer than PATH_MAX
- nptl: Effectively skip CAS in spinlock loop
- mips: Move DT_MIPS into <ldsodefs.h>
- x86_64: Document libmvec vector functions accuracy [BZ #28766]
- x86: Black list more Intel CPUs for TSX [BZ #27398]
- elf: Fix tst-align3
- elf: Move _dl_setup_hash to its own file
- htl: Fix build error in annexc
- elf: Reinstate tst-audit17
- x86: use default cache size if it cannot be determined [BZ #28784]
- rt/tst-mqueue*: Return UNSUPPORTED when mq_open fails with ENOSYS
- Linux: Add epoll_pwait2 (BZ #27359)
- Properly handle --disable-default-pie [BZ #28780]
- elf: Fix 64 time_t support for installed statically binaries
- Revert "elf: Fix 64 time_t support for installed statically binaries"
- CVE-2022-23218: Buffer overflow in sunrpc svcunix_create (bug 28768)
- sunrpc: Test case for clnt_create "unix" buffer overflow (bug 22542)
- CVE-2022-23219: Buffer overflow in sunrpc clnt_create for "unix" (bug 22542)
- socket: Add the __sockaddr_un_set function
- elf/tst-dl_find_object: Disable subtests for non-contiguous maps (bug 28732)
- elf: Set l_contiguous to 1 for the main map in more cases
- elf: Introduce rtld_setup_main_map
- hurd: Make RPC input array parameters const
- hurd: optimize exec cleanup
- hurd: Add __rtld_execve
- hurd: Fix exec() leak on proc_task2proc failure
- htl: Hide __pthread_attr's __schedparam type [BZ #23088]
- htl: Clear kernel_thread field before releasing the thread structure
- hurd: drop SA_SIGINFO availability xfail
- hurd: Fix timer/clock_getres crash on NULL res parameter
- hurd: Fix pthread_kill on exiting/ted thread
- [hurd] Drop spurious #ifdef SHARED
- [hurd] Call _dl_sort_maps_init in _dl_sysdep_start
- elf tst-dl_find_object: Fix typo
- s390x: Use <gcc-macros.h> in early HWCAP check
- x86: Add x86-64-vN check to early startup
- powerpc64le: Use <gcc-macros.h> in early HWCAP check
- Add --with-rtld-early-cflags configure option
- elf: Split dl-printf.c from dl-misc.c
- elf/Makefile: Reflow and sort most variable assignments
- Generate gcc-macros.h
- x86: HAVE_X86_LAHF_SAHF, HAVE_X86_MOVBE and -march=x86-64-vN (bug 28782)
- math: Add more inputs to atan2 accuracy tests [BZ #28765]
- Disable debuginfod in printer tests [BZ #28757]
- Update syscall lists for Linux 5.16
- i386: Remove broken CAN_USE_REGISTER_ASM_EBP (bug 28771)
- stdlib: Fix formatting of tests list in Makefile
- stdlib: Sort tests in Makefile
- x86_64: Fix SSE4.2 libmvec atan2 function accuracy [BZ #28765]
- debug: Synchronize feature guards in fortified functions [BZ #28746]
- debug: Autogenerate _FORTIFY_SOURCE tests
- Do not build libresolv module with 64 bit time_t flags
- Revert "linux: Fix ancillary 64-bit time timestamp conversion (BZ #28349, BZ #28350)"
- Revert "support: Add support_socket_so_timestamp_time64"
- timezone: Fix tst-bz28707 Makefile rule
- linux: Fix ancillary 64-bit time timestamp conversion (BZ #28349, BZ #28350)
- support: Add support_socket_so_timestamp_time64
- elf: Fix 64 time_t support for installed statically binaries
- Enable _FORTIFY_SOURCE=3 for gcc 12 and above
- manual: Drop obsolete @refill
- aarch64: Add HWCAP2_ECV from Linux 5.16
- Use Linux 5.16 in build-many-glibcs.py
- x86: Fix __wcsncmp_evex in strcmp-evex.S [BZ# 28755]
- x86: Fix __wcsncmp_avx2 in strcmp-avx2.S [BZ# 28755]
- math: Fix float conversion regressions with gcc-12 [BZ #28713]
- elf: Simplify software TM implementation in _dl_find_object
- Restore ENTRY_POINT definition on hppa, ia64 (bug 28749)
- elf: Fix fences in _dl_find_object_update (bug 28745)
- ttydefaults.h: Fix CSTATUS to control-t
- AArch64: Check for SVE in ifuncs [BZ #28744]
- debug: Remove catchsegv and libSegfault (BZ #14913)
- Documentation for OpenRISC port
- build-many-glibcs.py: add OpenRISC support
- or1k: Build Infrastructure
- or1k: ABI lists
- or1k: Linux ABI
- or1k: Linux Syscall Interface
- or1k: math soft float support
- or1k: Atomics and Locking primitives
- or1k: Thread Local Storage support
- or1k: startup and dynamic linking code
- or1k: ABI Implementation
- linux/syscalls: Add or1k_atomic syscall for OpenRISC
- elf: Add reloc for OpenRISC
- elf: Add a comment after trailing backslashes
- elf: Also try DT_RUNPATH for LD_AUDIT dlopen [BZ #28455]
- elf: Fix tst-linkall-static link when pthread is not in libc
Upstream commit: b99b0f93ee8762fe53ff65802deb6f00700b9924
- nss: Use "files dns" as the default for the hosts database (#2033020)
- arm: Guard ucontext _rtld_global_ro access by SHARED, not PIC macro
- Fix The GNU ToolChain Authors copyright notice
- Remove upper limit on tunable MALLOC_MMAP_THRESHOLD
- localedata: add new locale ab_GE
- Fix __minimal_malloc segfaults in __mmap due to stack-protector
- __glibc_unsafe_len: Fix comment
- malloc: Enable huge page support on main arena
- malloc: Move MORECORE fallback mmap to sysmalloc_mmap_fallback
- malloc: Add Huge Page support to arenas
- malloc: Add Huge Page support for mmap
- malloc: Move mmap logic to its own function
- malloc: Add THP/madvise support for sbrk
- malloc: Add madvise support for Transparent Huge Pages
- powerpc: Use global register variable in <thread_pointer.h>
- Use LFS and 64 bit time for installed programs (swbz#15333)
Since upstream commit 23645707f12f, --enable-static-pie is ignored by
the build system and static PIE is enabled by default on architectures
that support it.
Upstream commit: 4435c29892c43ae9908a42e591747be63102689b
- Drop glibc-fedora-revert-PT_LOAD-segment-align.patch; fix applied upstream
- Support target specific ALIGN for variable alignment test [BZ #28676]
- NEWS: Document LD_PREFER_MAP_32BIT_EXEC as x86-64 only
- elf: Align argument of __munmap to page size [BZ #28676]
Upstream commit: 0884724a95b60452ad483dbe086d237d02ba624d
- Add glibc-fedora-revert-PT_LOAD-segment-align.patch to revert upstream
commits 718fdd87b1b9 and fc2334ab32e0.
- intl: Emit no lines in bison generated files
- hurd: Do not set PIE_UNSUPPORTED
- NEWS: Move LD_PREFER_MAP_32BIT_EXEC
- mach: Fix spurious inclusion of stack_chk_fail_local in libmachuser.a
- Disable DT_RUNPATH on NSS tests [BZ #28455]
- sysdeps: Simplify sin Taylor Series calculation
- math: Remove the error handling wrapper from hypot and hypotf
- math: Use fmin/fmax on hypot
- aarch64: Add math-use-builtins-f{max,min}.h
- math: Add math-use-builtinds-fmin.h
- math: Add math-use-builtinds-fmax.h
- math: Remove powerpc e_hypot
- i386: Move hypot implementation to C
- math: Use an improved algorithm for hypotl (ldbl-128)
- math: Use an improved algorithm for hypotl (ldbl-96)
- math: Improve hypot performance with FMA
- math: Use an improved algorithm for hypot (dbl-64)
- math: Simplify hypotf implementation
- Cleanup encoding in comments
- Replace --enable-static-pie with --disable-default-pie
- hurd: Add rules for static PIE build
- hurd: Fix gmon-static
- x86-64: Remove LD_PREFER_MAP_32BIT_EXEC support [BZ #28656]
- elf: Use errcode instead of (unset) errno in rtld_chain_load
- Add a testcase to check alignment of PT_LOAD segment [BZ #28676]
- elf: Properly align PT_LOAD segments [BZ #28676]
- elf: Install a symbolic link to ld.so as /usr/bin/ld.so
- nptl: Add one more barrier to nptl/tst-create1
- Remove TLS_TCB_ALIGN and TLS_INIT_TCB_ALIGN
- nptl: rseq failure after registration on main thread is fatal
- nptl: Add public rseq symbols and <sys/rseq.h>
- nptl: Add glibc.pthread.rseq tunable to control rseq registration
- Linux: Use rseq to accelerate sched_getcpu
- nptl: Add rseq registration
- nptl: Introduce THREAD_GETMEM_VOLATILE
- nptl: Introduce <tcb-access.h> for THREAD_* accessors
- nptl: Add <thread_pointer.h> for defining __thread_pointer
- String: test-memcpy used unaligned types for buffers [BZ 28572]
- localedef: check magic value on archive load [BZ #28650]
- x86: Don't set Prefer_No_AVX512 for processors with AVX512 and AVX-VNNI
- linux: Add generic ioctl implementation
- linux: Add generic syscall implementation
- misc, nptl: Remove stray references to __condvar_load_64_relaxed
- csu: Always use __executable_start in gmon-start.c
- elf: execve statically linked programs instead of crashing [BZ #28648]
- Add --with-timeoutfactor=NUM to specify TIMEOUTFACTOR
Related to: https://fedoraproject.org/wiki/Changes/Make_Authselect_Mandatory
Users are now expected to use authselect to configure the system and packages
should no longer support non-authselect configurations.
/etc/nsswitch.conf is now owned by authselect.
Resolves: rhbz#2023741
Without this, the glibc build fails if annobin hasn't been bootstrapped
against an updated gcc major version. This will likely never happen in
production builds since _annotated_build is always set through
redhat-rpm-config but when testing with annobin disabled (*and* with a
rebased gcc), it may end up unnecessarily making gcc look for annobin.
Disable fedora-ci.koji-build.tier0.functional because of
https://gitlab.com/testing-farm/general/-/issues/37
With this update, fedora-ci.koji-build.tier0.functional will
still be executed, but it's test result will not be taken into
account for gating purposes.
Once the aforementioned CI Infrastructure issue is resolved,
we can roll this update back.
Upstream commit: 4df1fa6ddc8925a75f3da644d5da3bb16eb33f02
- x86-64: Use notl in EVEX strcmp (#2026399)
- nptl: Increase default TCB alignment to 32
- elf: add definition for ELF_NOTE_FDO and NT_FDO_PACKAGING_METADATA note
- AArch64: Improve A64FX memcpy
- AArch64: Optimize memcmp
- powerpc64[le]: Fix CFI and LR save address for asm syscalls [BZ #28532]
- linux: Implement pipe in terms of __NR_pipe2
- linux: Implement mremap in C
- linux: Add prlimit64 C implementation
- elf: Include <stdbool.h> in tst-tls20.c
- elf: Include <stdint.h> in tst-tls20.c
- hurd: Let report-wait use a weak reference to _hurd_itimer_thread
Upstream commit: 137ed5ac440a4d3cf4178ce97f349b349a9c2c66
- x86-64: Create microbenchmark infrastructure for libmvec
- linux: Use /proc/stat fallback for __get_nprocs_conf (BZ #28624)
- linux: Add fanotify_mark C implementation
- linux: Only build fstatat fallback if required
- regex: fix buffer read overrun in search [BZ#28470]
- x86-64: Add vector sin/sinf to libmvec microbenchmark
- x86-64: Add vector pow/powf to libmvec microbenchmark
- x86-64: Add vector log/logf to libmvec microbenchmark
- x86-64: Add vector exp/expf to libmvec microbenchmark
- x86-64: Add vector cos/cosf to libmvec microbenchmark
- io: Refactor close_range and closefrom
- nptl: Do not set signal mask on second setjmp return [BZ #28607]
- powerpc: Define USE_PPC64_NOTOC iff compiler supports it
- setjmp: Replace jmp_buf-macros.h with jmp_buf-macros.sym
- Update kernel version to 5.15 in tst-mman-consts.py
- socket: Do not use AF_NETLINK in __opensock
- elf: Move la_activity (LA_ACT_ADD) after _dl_add_to_namespace_list() (BZ #28062)
- Add PF_MCTP, AF_MCTP from Linux 5.15 to bits/socket.h
- malloc: Fix malloc debug for 2.35 onwards
- elf: Introduce GLRO (dl_libc_freeres), called from __libc_freeres
- nptl: Extract <bits/atomic_wide_counter.h> from pthread_cond_common.c
Upstream commit: a43c0b5483da4c5e3796af309864cb44256c02db
- x86-64: Create microbenchmark infrastructure for libmvec
- elf: hidden visibility for __minimal_malloc functions
- elf: Use a temporary file to generate Makefile fragments [BZ #28550]
- dso-ordering-test.py: Put all sources in one directory [BZ #28550]
- elf: Move LAV_CURRENT to link_lavcurrent.h
- Move assignment out of the CAS condition
- Add a comment for --enable-initfini-array [BZ #27945]
- tst-tzset: output reason when creating 4GiB file fails
- Add LLL_MUTEX_READ_LOCK [BZ #28537]
- Avoid extra load with CAS in __pthread_mutex_clocklock_common [BZ #28537]
- Avoid extra load with CAS in __pthread_mutex_lock_full [BZ #28537]
- String: Split memcpy tests so that parallel build is faster
- x86: Shrink memcmp-sse4.S code size
- Support C2X printf %b, %B
- Update syscall lists for Linux 5.15
- s390: Use long branches across object boundaries (jgh instead of jh)
This brings the test container in line with Fedora's filesystem layout
and avoids some test failures. For example, because Fedora's CS_PATH is
/usr/bin, tst-vfork3 will try to execute /usr/bin/echo in the container.
Without this change the container installs `echo' in /bin not /usr/bin,
causing the test to fail.
Reviewed-by: DJ Delorie <dj@redhat.com>
Upstream commit: 0bd356df1afb0591470499813d4ebae9bcedd6a6
- Remove the unused +mkdep/+make-deps/s-proto.S/s-proto-cancel.S
- Fix build a chec failures after b05fae4d8e34
- elf: Use the minimal malloc on tunables_strdup
Upstream commit: d3bf2f5927d51258a51ac7fde04f4805f8ee294a
- elf: Do not run DSO sorting if tunables is not enabled
- riscv: Build with -mno-relax if linker does not support R_RISCV_ALIGN
- x86-64: Replace movzx with movzbl
- regex: Unnest nested functions in regcomp.c
- Use Linux 5.15 in build-many-glibcs.py
- elf: Assume disjointed .rela.dyn and .rela.plt for loader
- i386: Explain why __HAVE_64B_ATOMICS has to be 0
- benchtests: Add hypotf
- benchtests: Make hypot input random
- arm: Use have-mtls-dialect-gnu2 to check for ARM TLS descriptors support
- arm: Use internal symbol for _dl_argv on _dl_start_user
- x86-64: Remove Prefer_AVX2_STRCMP
- x86-64: Improve EVEX strcmp with masked load
Upstream commit: 79d0fc65395716c1d95931064c7bf37852203c66
- benchtests: Add acosf function to bench-math
- benchtests: Improve bench-memcpy-random
- Disable -Waggressive-loop-optimizations warnings in tst-dynarray.c
- Fix compiler issue with mmap_internal
- Check if linker also support -mtls-dialect=gnu2
- Fix LIBC_PROG_BINUTILS for -fuse-ld=lld
- elf: Disable ifuncmain{1,5,5pic,5pie} when using LLD
- Handle NULL input to malloc_usable_size [BZ #28506]
- x86_64: Add memcmpeq.S to fix disable-multi-arch build
- login: Add back libutil as an empty library
- riscv: Fix incorrect jal with HIDDEN_JUMPTARGET
- x86_64: Add evex optimized __memcmpeq in memcmpeq-evex.S
- x86_64: Add avx2 optimized __memcmpeq in memcmpeq-avx2.S
- x86_64: Add sse2 optimized __memcmpeq in memcmp-sse2.S
- x86_64: Add support for __memcmpeq using sse2, avx2, and evex
- Benchtests: Add benchtests for __memcmpeq
- String: Add __memcmpeq as build target
- NEWS: Add item for __memcmpeq
- String: Add tests for __memcmpeq
- String: Add hidden defs for __memcmpeq() to enable internal usage
- String: Add support for __memcmpeq() ABI on all targets
- configure: Don't check LD -v --help for LIBC_LINKER_FEATURE
- elf: Make global.out depend on reldepmod4.so [BZ #28457]
- x86: Replace sse2 instructions with avx in memcmp-evex-movbe.S
- bench-math: Sort and put each bench per line
- x86_64: Add missing libmvec ABI tests
- elf: Fix e6fd79f379 build with --enable-tunables=no
- elf: Fix slow DSO sorting behavior in dynamic loader (BZ #17645)
- elf: Testing infrastructure for ld.so DSO sorting (BZ #17645)
- iconv: Use TIMEOUTFACTOR for iconv test timeout
- posix: Remove alloca usage for internal fnmatch implementation
- Add alloc_align attribute to memalign et al
- linux: Fix a possibly non-constant expression in _Static_assert
- x86-64: Add sysdeps/x86_64/fpu/Makeconfig
- Remove glibc-ld-readonly-revert.patch.
Upstream commit e037274c8ec86ca9d491331984b34f30701b23cf:
- stdlib: Fix tst-canon-bz26341 when the glibc build current working
directory is itself using symlinks.
- powerpc: Remove backtrace implementation
- Correct access attribute on memfrob (bug 28475)
- debug: Add tests for _FORTIFY_SOURCE=3
- Make sure that the fortified function conditionals are constant
- Don't add access size hints to fortifiable functions
- glibcextract.py: Place un-assemblable @@@ in a comment
- nss: Unnest nested function add_key
- ld.so: Initialize bootstrap_map.l_ld_readonly [BZ #28340]
- timex: Use 64-bit fields on 32-bit TIMESIZE=64 systems (BZ #28469)
- manual: Update _TIME_BITS to clarify it's user defined
- nptl: Fix tst-cancel7 and tst-cancelx7 pidfile race
- elf: Fix elf_get_dynamic_info() for bootstrap
- hurd if_index: Explicitly use AF_INET for if index discovery
- hurd: Fix intr-msg parameter/stack kludge
- x86-64: Add test-vector-abi.h/test-vector-abi-sincos.h
- elf: Fix dynamic-link.h usage on rtld.c