Upstream commit: ef21bd2d8c6805c0c186a01f7c5039189f51b8c4
- loadarchive: guard against locale-archive corruption (Bug #25115)
- Undo accidental commit to ChangeLog.19.
- nptl: Document AS-safe functions in cancellation.c.
- elf: Use nocancel pread64() instead of lseek()+read()
- Add nocancel version of pread64()
- Add run-one-test convenience target and makefile help text
- Update sysvipc kernel-features.h files for Linux 5.1
- S390: Add new s390 platform z15.
- nptl: SIGCANCEL, SIGTIMER, SIGSETXID are always defined
- nptl/tst-cancel25 needs to be an internal test
- Remove libc_hidden_def from __semtimedop stub
- sysvipc: Implement semop based on semtimedop
- ipc: Refactor sysvipc internal definitions
- Rename and split elf/tst-dlopen-aout collection of tests
- dlfcn: Remove remnants of caller sensitivity from dlinfo
- ldconfig: handle .dynstr located in separate segment (bug 25087)
- ldd: Print "not a dynamic executable" on standard error [BZ #24150]
- Add PTRACE_GET_SYSCALL_INFO from Linux 5.3 to sys/ptrace.h.
- Move ChangeLog to ChangeLog.old/ChangeLog.19
- manual: Remove warning in the documentation of the abort function
- sysvipc: Set ipc_perm mode as mode_t (BZ#18231)
- Simplify note processing
- syscall-names.list: fix typos in comment
- y2038: linux: Provide __clock_settime64 implementation
- posix: Use posix_spawn for wordexp
- mips: Do not malloc on getdents64 fallback
- sparc: Assume GOTDATA support in the toolchain
- <dirent.h>: Remove wrong comment about getdents64 declaration
- ChangeLog: Remove leading spaces before tabs and trailing whitespace
- Make tst-strftime2 and tst-strftime3 depend on locale generation
- posix/tst-wordexp-nocmd: Fix diagnostics output in test
- wordexp: Split out command execution tests from posix/wordexp-test
Upstream commit: ca602c1536ce2777f95c07525f3c42d78812e665
- Adjust glibc-rh741105.patch
- Add TCP_TX_DELAY from Linux 5.3 to netinet/tcp.h
- [powerpc] fenv_private.h clean up
- [powerpc] libc_feupdateenv_test: optimize FPSCR access
- [powerpc] __fesetround_inline optimizations
- [powerpc] Rename fegetenv_status to fegetenv_control
- [powerpc] libc_feholdsetround_noex_ppc_ctx: optimize FPSCR write
- [powerpc] Rename fesetenv_mode to fesetenv_control
- Add helper script for glibc debugging
- Update bits/mman.h constants and tst-mman-consts.py for Linux 5.3.
- y2038: Provide conversion helpers for struct __timespec64
- Use binutils 2.33 branch in build-many-glibcs.py.
- Sync "language", "lang_name", "territory", "country_name" with CLDR/langtable
- Split up endian.h to minimize exposure of BYTE_ORDER.
- time: Add padding for the timespec if required
- Enable passing arguments to the inferior in debugglibc.sh
- [powerpc] No need to enter "Ignore Exceptions Mode"
- Y2038: Include proper header to provide support for struct timeval on HURD
- Disable warnings in string/tester.c at top level.
- string/endian.h: Restore the __USE_MISC conditionals
- Disable -Wmaybe-uninitialized for total_deadline in sunrpc/clnt_udp.c.
- ChangeLog update from my last commit
- nptl: Move pthread_attr_setinheritsched implementation into libc.
- elf: Never use the file ID of the main executable [BZ #24900]
- elf: Assign TLS modid later during dlopen [BZ #24930]
- nptl: Move pthread_attr_getschedparam implementation into libc
- riscv: Remove support for variable page sizes
- nptl: Move pthread_attr_setschedparam implementation into libc
Upstream commit 464cd3a9d5f505d92bae9a941bb75b0d91ac14ee
- y2038: Introduce struct __timespec64 - new internal glibc type
- auto-changelog: Remove latin1 from codecs
- Set the expects flags to clock_nanosleep
- Fix tst-sigcontext-get_pc rule name from a43565ac447b1
- inet/net-internal.h: Fix uninitalised clntudp_call() variable
- Fix vDSO initialization on arm and mips
- Script to generate ChangeLog-like output from git log
- [powerpc] SET_RESTORE_ROUND optimizations and bug fix
- Fix building support_ptrace.c on i686-gnu.
- S390: Use _HP_TIMING_S390_H instead of _HP_TIMING_H.
- Update syscall-names.list for Linux 5.3.
- Use Linux 5.3 in build-many-glibcs.py.
- S390: Add support for HP_TIMING_NOW.
- Fix RISC-V vfork build with Linux 5.3 kernel headers.
- Add UNSUPPORTED check in elf/tst-pldd.
- sparc64: Use linux generic time implementation
- mips: Consolidate INTERNAL_VSYSCALL_CALL
- powerpc: Simplify vsyscall internal macros
- Refactor vDSO initialization code
- Remove PREPARE_VERSION and PREPARE_VERSION_KNOW
- Fix small error in HP_TIMING_PRINT trailing null char setting
Upstream commit: 1a6566094d3097f4a3037ab5555cddc6cb11c3a3
- alpha: force old OSF1 syscalls for getegid, geteuid and getppid [BZ #24986]
- Fix http: URL in 'configure'
- Regenerate charmap-kw.h, locfile-kw.h
- Fix three GNU license URLs, along with trailing-newline issues.
- Prefer https to http for gnu.org and fsf.org URLs
Upstream commit: 1bced8cadc82077f0201801239e89eb24b68e9aa
- Don't put non-ASCII into installed headers
- Fix spellings of contributor names in comments and doc
- [MIPS] Raise highest supported EI_ABIVERSION value [SWBZ #24916]
- mips: Force RWX stack for hard-float builds that can run on pre-4.8 kernels
- linux: Make profil_counter a compat_symbol (SWBZ#17726)
- Refactor sigcontextinfo.h
- Add RTLD_SINGLE_THREAD_P on generic single-thread.h
- Chinese locales: Set first_weekday to 2 (swbug 24682).
- powerpc: Fix typos and field name in comments
- Mark IDN tests unsupported with libidn2 before 2.0.5.
- Document strftime %Ob and %OB as C2X features.
- Remove dead regex code
- Fix bad pointer / leak in regex code
- Don't use the argument to time.
- Add tgmath.h macros for narrowing functions.
- Update i386 libm-test-ulps
The ellipsis range support only allows <Uxxxx> or <Uxxxxxxxx> as
valid unicode code points, otherwise it treats it as a symbol and
since we don't define the symbol the entire range is unused.
Upstream commit: 8a814e20d443adc460a1030fa1a66aa9ae817483
- Drop glibc-rh1732406.patch, fix for the regression applied upstream.
- nptl: Use uintptr_t for address diagnostic in nptl/tst-pthread-getattr
- Linux: Move getdents64 to <dirent.h>
- test-container: Install with $(sorted-subdirs) (swbz#24794)
- gconv: Check reference count in __gconv_release_cache (#1732406)
- x86-64: Compile branred.c with -mprefer-vector-width=128 (swbz#24603)
- build-many-glibcs.py: Use Linux 5.2 by default
- Linux: Use in-tree copy of SO_ constants for !__USE_MISC (swbz#24532)
- test-container: Avoid copying unintended system libraries
Upstream commit: dcf36bcad3f283f77893d3b157ef7bb2c99419f2
- Add NEWS entry about the new AArch64 IFUNC resolver call ABI
- locale/C-translit.h.in: Cyrillic -> ASCII transliteration [BZ #2872]
- Linux: Update syscall-names.list to Linux 5.2
Upstream commit: 30ba0375464f34e4bf8129f3d3dc14d0c09add17
- Don't declare __malloc_check_init in <malloc.h> (bug 23352)
- nftw: fill in stat buf for dangling links [BZ #23501]
- dl-vdso: Add LINUX_4 HASH CODE to support nds32 vdso mechanism
- riscv: restore ABI compatibility (bug 24484)
- aarch64: new ifunc resolver ABI
- nptl: Remove vfork IFUNC-based forwarder from libpthread [BZ #20188]
- malloc: Add nptl, htl dependency for the subdirectory [BZ #24757]
- Call _dl_open_check after relocation [BZ #24259]
- Linux: Use mmap instead of malloc in dirent/tst-getdents64
- ld.so: Support moving versioned symbols between sonames [BZ #24741]
- io: Remove copy_file_range emulation [BZ #24744]
- Linux: Adjust gedents64 buffer size to int range [BZ #24740]
- powerpc: Use generic e_expf
- Linux: Add nds32 specific syscalls to syscall-names.list
- szl_PL locale: Fix a typo in the previous commit (bug 24652).
Upstream commit: 48c3c1238925410b4e777dc94e2fde4cc9132d44
- Linux: Fix __glibc_has_include use for <sys/stat.h> and statx (#1721129)
- <sys/cdefs.h>: Inhibit macro expansion for __glibc_has_include
- Add IPV6_ROUTER_ALERT_ISOLATE from Linux 5.1 to bits/in.h
- aarch64: handle STO_AARCH64_VARIANT_PCS
- aarch64: add STO_AARCH64_VARIANT_PCS and DT_AARCH64_VARIANT_PCS
- powerpc: Remove optimized finite
- math: Use wordsize-64 version for finite
- powerpc: Remove optimized isinf
- math: Use wordsize-64 version for isinf
- powerpc: Remove optimized isnan
- math: Use wordsize-64 version for isnan
- benchtests: Add isnan/isinf/isfinite benchmark
- powerpc: copysign cleanup
- powerpc: consolidate rint
- libio: freopen of default streams crashes in old programs (swbz#24632)
- Linux: Deprecate <sys/sysctl.h> and sysctl
- <sys/stat.h>: Use Linux UAPI header for statx if available and useful
(#1721129)
- <sys/cdefs.h>: Add __glibc_has_include macro
- Improve performance of memmem
- Improve performance of strstr
- Benchmark strstr hard needles
- Fix malloc tests build with GCC 10
Upstream commit: 51ea67d54882318c4fa5394c386f4816ddc22408
- powerpc: get_rounding_mode: utilize faster method to get rounding mode
- riscv: Do not use __has_include__
- powerpc: fegetexcept: utilize function instead of duplicating code
- iconv: Use __twalk_r in __gconv_release_shlib
- Fix iconv buffer handling with IGNORE error handler (swbz#18830)
Upstream commit: dc91a19e6f71e1523f4ac179191a29b2131d74bb
- Linux: Add oddly-named arm syscalls to syscall-names.list.
- arm: Remove ioperm/iopl/inb/inw/inl/outb/outw/outl support.
- Add INADDR_ALLSNOOPERS_GROUP from Linux 5.1 to netinet/in.h.
Upstream commit: 85188d8211698d1a255f0aec6529546db5c56de3
- Remove support for PowerPC SPE extension
- elf: Add tst-ldconfig-bad-aux-cache test
- Add F_SEAL_FUTURE_WRITE from Linux 5.1 to bits/fcntl-linux.h
- nss_dns: Check for proper A/AAAA address alignment
Upstream commit: 25f7a3c96116a9102df8bf7b04ef160faa32416d
- malloc: make malloc fail with requests larger than PTRDIFF_MAX (BZ#23741)
- powerpc: Fix format issue from 3a16dd780eeba602
- powerpc: fma using builtins
- powerpc: Use generic fabs{f} implementations
- mips: Remove rt_sigreturn usage on context function
- powerpc: Remove rt_sigreturn usage on context function
- support: Add support_capture_subprogram
- stdlib/tst-secure-getenv: handle >64 groups
Upstream commit: e3f454bac0f968216699ca405c127c858f0657c7
- nss_dns: Do not replace root domain with empty string
- alloc_buffer: Return unqualified pointer type in alloc_buffer_next
- malloc: Set and reset all hooks for tracing (swbz#16573)
Upstream commit: 8260f23616c1a2a4e609f989a195fba7690a42ca
- Fix strptime era handling, add more strftime tests [BZ #24394]
- time/tst-strftime2.c: Make the file easier to maintain
- time: Add tests for Minguo calendar [BZ #24293]
- ja_JP locale: Add entry for the new Japanese era [BZ #22964]
- Add Reiwa era tests to time/tst-strftime3.c
Upstream commit: 993e3107af67edefcfc79a62ae55f7b98aa5151e
- Add AArch64 HWCAPs from Linux 5.0
- tt_RU: Fix orthographic mistakes in day and abday sections [BZ #24296]
- iconv, localedef: avoid floating point rounding differences [BZ #24372]
- Fix parentheses error in iconvconfig.c and ld-collate.c [BZ #24372]
- S390: New configure check and hwcap values for new CPU architecture arch13
- S390: Add memmove, strstr, and memmem ifunc variants for arch13
- nptl: Remove pthread_clock_gettime pthread_clock_settime
- linux: Assume clock_getres CLOCK_{PROCESS,THREAD}_CPUTIME_ID
- Remove __get_clockfreq
- Do not use HP_TIMING_NOW for random bits
- hp-timing: Refactor rtld usage, add generic support
- Add NT_ARM_PAC_MASK and NT_MIPS_MSA from Linux 5.0 to elf.h
- Add UDP_GRO from Linux 5.0 to netinet/udp.h
- nptl: Convert tst-sem5 & tst-sem13 to use libsupport
- nptl/tst-rwlock14: Test pthread_rwlock_timedwrlock correctly
- nss/tst-nss-files-alias-leak: add missing opening quote in printf
- math: Enable some math builtins for clang
- powerpc: Use __builtin_{mffs,mtfsf}
- RISC-V: Fix `test' operand error with soft-float ABI being configured
Upstream commit: 78919d3886c9543279ec755a701e279c62b44164
78919d3886 time/mktime.c: Update obsolete URL in comment.
b626c5aa5d Record CVE-2019-9169 in NEWS and ChangeLog [BZ #24114]
066ae81ec9 hurd: Fix comment style
e87d8ada29 hurd: Document how EINTR should be handled in critical sections
477e739b32 Update syscall-names.list for Linux 5.0.
238d60a1fb localedata: Add Minguo calendar support to Taiwanese locales [BZ #24293]
5b06f538c5 malloc: Check for large bin list corruption when inserting unsorted chunk
a0a0dc8317 Remove obsolete, never-implemented XSI STREAMS declarations
Upstream commit: a0a0dc83173ce11ff45105fd32e5d14356cdfb9c
- Drop glibc-fedora-streams-rh436349.patch. STREAMS was removed upstream.
- Remove obsolete, never-implemented XSI STREAMS declarations
- nss: Fix tst-nss-files-alias-truncated for default --as-needed linking
- scripts/check-obsolete-constructs.py: Process all headers as UTF-8.
- Use Linux 5.0 in build-many-glibcs.py.
- hurd: Add no-op version of __res_enable_icmp [BZ #24047]
- Move inttypes.h and stdint.h to stdlib.
- Use a proper C tokenizer to implement the obsolete typedefs test.
- Fix output of LD_SHOW_AUXV=1.
Upstream commit: 38b52865d4ccfee3647f27e969e539a4396a73b1
- Drop glibc-rh1670028.patch, applied upstream
- elf: Add DF_1_KMOD, DF_1_WEAKFILTER, DF_1_NOCOMMON to <elf.h>
- resolv: Enable full ICMP errors for UDP DNS sockets [BZ #24047]
- C-SKY: add elf header definition for elfutils
- C-SKY: mark lr as undefined to stop unwinding
- C-SKY: remove user_regs definition
- C-SKY: fix sigcontext miss match
- Bug 24307: Update to Unicode 12.0.0
- Break lines before not after operators, batch 4.
- check-wrapper-headers test: Adjust Fortran include file directory
- Fix location where math-vector-fortran.h is installed.
Bootstrapping glibc will disable benchtests, but the if/endif clauses
excluded essentials from the bootstrapped build. Also, mtrace isn't built
when bootstrapping.
Upstream commit: e0cb7b6131ee5f2dca2938069b8b9590304e6f6b
- nss_files: Fix /etc/aliases null pointer dereference (swbz#24059)
- regex: fix read overrun (swbz#24114)
- libio: use stdout in puts and putchar, etc (swbz#24051)
- aarch64: Add AmpereComputing emag to tunable cpu list
- aarch64: Optimized memset specific to AmpereComputing emag
- aarch64: Optimized memchr specific to AmpereComputing emag
- Require GCC 6.2 or later to build glibc
- manual: Document lack of conformance of sched_* functions (swbz#14829)
- libio: Use stdin consistently for input functions (swbz#24153)
- x86-64 memcmp: Use unsigned Jcc instructions on size (swbz#24155)
- Fix handling of collating elements in fnmatch (swbz#17396,swbz#16976)
- arm: Use "nr" constraint for Systemtap probes (swbz#24164)
- Fix alignment of TLS variables for tls variant TLS_TCB_AT_TP (swbz#23403)
- Add compiler barriers for pthread_mutex_trylock (swbz#24180)
- rt: Turn forwards from librt to libc into compat symbols (swbz#24194)
- Linux: Add gettid system call wrapper (swbz#6399)
- nptl: Avoid fork handler lock for async-signal-safe fork (swbz#24161)
- elf: Ignore LD_AUDIT interfaces if la_version returns 0 (swbz#24122)
- nptl: Reinstate pthread_timedjoin_np as a cancellation point (swbz#24215)
- nptl: Fix invalid Systemtap probe in pthread_join (swbz#24211)
Upstream commit: 83e6b59625f45db1eee93e5684091f740c52a083
- elf: Revert LD_AUDIT fix for modules with invalid version (swbz#24122)
- strftime: Pass the additional flags from %EY to %Ey (swbz#24096)
- strftime: Set the default width of %Ey to 2 (swbz#23758)
Upstream commit: 3367acdb344a1d7fcf8f53748d301d652c8911dd
- elf: Fix LD_AUDIT for modules with invalid version (swbz#24122)
- CVE-2016-10739: getaddrinfo: Fully parse IPv4 address strings (#1331390)
- resolv: Do not send queries for non-host-names in nss_dns (swbz#24112)
- malloc: Revert fastbins to old-style atomics
commit 2ef427168818ce04b03cecb7b739f9db0156e3e4
- Require GCC 5 or later to build glibc (swbz#23993)
- Only build libm with -fno-math-errno (swbz#24024)
- sysdeps/ieee754: prevent maybe-uninitialized errors with -O (swbz#19444)
- Multiple locales: Use the correct 12-hour time formats (swbz#10496)
- sq_AL: Use the correct date and time formats (swbz#10496, swbz#23724)
- en_US: define date_fmt (swbz#24046)
- Remove executable bit from localedata/locales/bi_VU (swbz#23995)
- malloc: Always call memcpy in _int_realloc (swbz#24027)
- ARM: fix kernel assisted atomics with GCC 8 (swbz#24034)
- S390: Unify 31/64bit mem{set,cmp,cpy,pcpy}, bzero with ifunc handling
- S390: Refactor ifunc handling for several str* and wc* functions
- posix: Clear close-on-exec for posix_spawn adddup2 (swbz#23640)
- termios: Define TIOCSER_TEMT with __USE_MISC (swbz#17783)
- termios: Consolidate Baud Rate Selection definitions (swbz#23783)
- Y2038: add __{localtime64,gmttime64,ctime64}[_r] functions
- Y2038: make __difftime compatible with 64-bit time
Upstream commit: 7b36d26b22d147ffc347f427f9fd584700578a94
- compat getdents64: Use correct offset for retry (swbz#23972)
- x86: Fix static analysis warning in tst-cet-property-2 (swbz#23490)
- malloc: Add another test for tcache double free check (swbz#23907)
- getcpu: New system call wrapper
- posix_spawn_file_actions_addfchdir_np: New function (swbz#17405)
- Preparations for the IBM long double transition
- Preparations for 64-bit time_t on 32-bit architectures
- Enable VDSO for static linking on arm (swbz#19767)
Upstream commit: 7b36d26b22d147ffc347f427f9fd584700578a94
- CVE-2018-19591: if_nametoindex: Fix descriptor for overlong name (#1654000)
- Mutex: Add pthread mutex tunables
- stdlib: assert on NULL function pointer in atexit etc. (swbz#20544)
- Enable VDSO on i386 statically linked programs
- posix: Use posix_spawn on system
- posix: Use posix_spawn on popen (swbz#17490, swbz#22834)
- Fix _dl_profile_fixup data-dependency issue (swbz#23690)
- Enable VDSO for static linking on aarch64
Upstream commit: db9a8ad4ff3fc58e3773a9a4d0cabe3c1bc9c94c
- gethostid: Missing NULL check for gethostbyname_r result (#1631338)
- stdlib/tst-setcontext9 test suite failure (#1623519)
The file list geneation for the main package and subpackages was
unorganized and poorly structured. With this commit we change this
in three siginifcant ways:
* All file lists are built independent of each other from a master
list of files e.g. rpm.list. This is the important cleanup.
* All files are installed into %{glibc_sysroot}, which defaults
to $RPM_BUILD_ROOT. This supports future experimentation with
alternate glibc installs via this new variable.
* Redundant code is removed which is no longer required, like the
debuginfo list de-duplication; simplifying the install process.
The changes were tested by carrying out a file-by-file comparison
to ensure no file changed packages or installed location after
the patch.
The %install phase is reorganized into 3 distinct phases, the
first phase where files are modified, a second phase where file
lists are generated, and a final phase where files are only
removed based on list information.
This cleanup makes it very clear when we are done installing
files, and therefore creates a place where we can put ABI
instrumentation to compare the resulting ABI before stripping
and debuginfo generation.
No ABI instrumentation is added by this patch, and before-and-after
testing verifies the %install phase remains functionally the same.
Upstream commit: 93304f5f7a32f73b551266c5a181db51d97a71e4
- Install <bits/statx.h> header
- Put the correct Unicode version number 11.0.0 into the generated files
Upstream commit: fd70af45528d59a00eb3190ef6706cb299488fcd
- Add the statx function
- regexec: Fix off-by-one bug in weight comparison (#1582229)
- nss_files: Fix re-reading of long lines (swbz#18991)
- aarch64: add HWCAP_ATOMICS to HWCAP_IMPORTANT
- aarch64: Remove HWCAP_CPUID from HWCAP_IMPORTANT
- conform/conformtest.pl: Escape literal braces in regular expressions
- x86: Use AVX_Fast_Unaligned_Load from Zen onwards.
CFLAGS is not generally used when calling assembler, and this eventually
exposes a design issue in the annobin notes handling; see bug 1576362.
This reverts commit 7c1047805b.
The following commit removes the requirement for patches to be
placed in 1000, 2000, or 3000 ID blocks depending on their
upstream status. Instead upstream status is documented in the
header of the patch with some semi-standard notation as described
in template.patch. The patches are re-numbered and defined and
applied in the same order. Verified that before and after the
patch that the source tree does not change. The patch definition
is resorted to match the patch application order.
glibc-common already depends on /bin/sh, so it would be installed at a
time when trigger runs.
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
not supported even by GCC 7.3.1 on this architecture.
Apparently it requires architecture-specific support. In any case it
does not work with GCC 7.3.1 on riscv64:
stage3:/# gcc --version
gcc (GCC) 7.3.1 20180129
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
stage3:/# gcc -fstack-clash-protection
gcc: error: unrecognized command line option '-fstack-clash-protection'; did you mean '-fstack-protector'?
gcc: fatal error: no input files
compilation terminated.
Since time immemorial, Red Hat/Fedora packagers have been required
to add a stanza to spec files for packages containing libraries to
update the ldconfig cache.
```
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
```
To say this is annoying is to put it mildly. However, there was no
standard mechanism to make this boilerplate go away. Now with RPM 4.13+,
we should change this to file triggers and make all of that go away.
In the case of the transaction file triggers that run on the regular
link library paths, the performance benefit is minimal, and being greedy
does not hurt in this case. It's still an improvement over running
ldconfig every time anyway.
With the introduction of these triggers, we can start removing the
ldconfig boilerplate from Fedora package specs, and new packages will
not need to add it.
Pirority (-P) is not strictly needed, but we want to run our ldconfig
"first" before rest of scriptlets so it would speed up them (we would
build ldconfig cache beforehand).
References: https://bugzilla.redhat.com/1380878
Originally-proposed-by: Neal Gompa <ngompa13@gmail.com>
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
Add applicable Requires on libxcrypt
Back in June, Björn Esser proposed to add OpenBSD-compatible bcrypt
support to our implementation of crypt(3), and Zack Weinberg replied
that it might actually make more sense to _remove_ libcrypt from
glibc, freeing up libcrypt.so.1 and crypt.h to be provided by a
separate project that could move faster. (For instance, libxcrypt:
https://github.com/besser82/libxcrypt)
This commit is the glibc part of:
https://fedoraproject.org/wiki/Changes/Replace_glibc_libcrypt_with_libxcrypt
Upstream commit: 4612268a0ad8e3409d8ce2314dd2dd8ee0af5269
- Correct the list of static PIE architectures
- glibc_post_upgrade: Remove process restart logic
- glibc_post_upgrade: Integrate into the build process
- glibc_post_upgrade: Do not clean up tls subdirectories
- glibc_post_upgrade: Drop ia64 support
- Remove architecture-specific symbolic link for iconvconfig
- powerpc: Fix syscalls during early process initialization (swbz#22685)
This gives us access to the relevant definitions and also enables
us to perform a static PIE build without replicate the entire
compiler invocation.
Due to the move into the glibc build process, the program had to
be cleaned up to compile without warnings.
Its purpose is not entirely clear. glibc_post_upgrade invokes
iconvconfig with explicit paths, so it does not matter for which
multilib variant the binary was built.
Upstream commit: 64f63cb4583ecc1ba16c7253aacc192b6d088511
- Enable static PIE support
- Remove add-on support (already gone upstream)
- Rework test suite status reporting
- malloc: Fix integer overflows in memalign and malloc functions (swbz#22343)
- x86-64: Properly align La_x86_64_retval to VEC_SIZE (swbz#22715)
- aarch64: Update bits/hwcap.h for Linux 4.15
- Add NT_ARM_SVE to elf.h
Upstream commit: 860b0240a5645edd6490161de3f8d1d1f2786025
- CVE-2018-1000001: Make getcwd fail if it cannot obtain an absolute path
(#1533837)
- elf: Synchronize DF_1_* flags with binutils (#1439328)
- aarch64: fix static pie enabled libc when main is in a shared library
- malloc: Ensure that the consolidated fast chunk has a sane size
Upstream commit: 9a08a366a7e7ddffe62113a9ffe5e50605ea0924
- libnsl: Do not install libnsl.so, libnsl.a (#1531540)
- Use unversioned Supplements: for langpacks (#1490725)
- hu_HU locale: Avoid double space (swbz#22657)
- math: Make default libc_feholdsetround_noex_ctx use __feholdexcept
(swbz#22702)
Upstream commit: f1a844ac6389ea4e111afc019323ca982b5b027d
- CVE-2017-16997: elf: Check for empty tokens before DST expansion (#1526866)
- Remove sln (#1531546)
- Remove Sun RPC interfaces (#1531540)
- Rebuild with newer GCC to fix pthread_exit stack unwinding issue (#1529549)
- i386: In makecontext, align the stack before calling exit (swbz#22667)
- x86, armhfp: sync sys/ptrace.h with Linux 4.15 (swbz#22433)
- elf: check for rpath emptiness before making a copy of it
- elf: remove redundant is_path argument
- elf: remove redundant code from is_dst
- elf: remove redundant code from _dl_dst_substitute
- scandir: fix wrong assumption about errno (swbz#17804)
- Deprecate external use of libio.h and _G_config.h
A whole lot has changed since `sln` was introduced into glibc upstream with
this comment:
```
1998-07-21 07:10 H.J. Lu <hjl@gnu.org>
* elf/sln.c: New file.
```
Upstream glibc commit 9d141cae00c957096045d08fe504b4a2be66ab75
```
Author: Ulrich Drepper <drepper@redhat.com>
AuthorDate: Thu Aug 13 19:44:05 1998 +0000
```
Among other things for example, dynamic linking has been in use for the nearly
20 years that have passed and is now quite reliable. Further, many Fedora
systems now use an initramfs (dracut) which is basically a large filesystem of
utilities as a single blob; while it would require rebooting, one can easily
make hardlinks there.
Futher of course there's the increasing use of ostree in Fedora which which
consistently captures *all* of userspace and supports rollback, and additionaly
its presents a "read only" nature to admin tools and other processes that adds
significantly to system resilience.
The failure scenarios that could be recovered via `sln` seem to me to be very
small.
Applying this patch allows dropping a downstream Fedora patch to hardlink `sln` to `ldconfig`,
which was the source of a tricky bug:
https://github.com/projectatomic/rpm-ostree/pull/1173#issuecomment-355014583
that also impacts rpm-ostree. In practice today SELinux policy is fixed
in updates, but given there's no real reason for this binary to exist
anymore, let's drop it.
Upstream commit bad7a0c81f501fbbcc79af9eaa4b8254441c4a1f
- copy_file_range: New function to copy file data
- nptl: Consolidate pthread_{timed,try}join{_np}
- nptl: Implement pthread_self in libc.so (swbz#22635)
- math: Provide a C++ version of iseqsig (swbz#22377)
- elf: remove redundant __libc_enable_secure check from fillin_rpath
- math: Avoid signed shift overflow in pow (swbz#21309)
- x86: Add feature_1 to tcbhead_t (swbz#22563)
- x86: Update cancel_jmp_buf to match __jmp_buf_tag (swbz#22563)
- ld.so: Examine GLRO to detect inactive loader (swbz#20204)
- nscd: Fix nscd readlink argument aliasing (swbz#22446)
- elf: do not substitute dst in $LD_LIBRARY_PATH twice (swbz#22627)
- ldconfig: set LC_COLLATE to C (swbz#22505)
- math: New generic sincosf
- powerpc: st{r,p}cpy optimization for aligned strings
- CVE-2017-1000409: Count in expanded path in _dl_init_path (#1524867)
- CVE-2017-1000408: Compute correct array size in _dl_init_paths (#1524867)
- x86-64: Remove sysdeps/x86_64/fpu/s_cosf.S
- aarch64: Improve strcmp unaligned performance
Upstream commit: 37ac8e635a29810318f6d79902102e2e96b2b5bf
- Add elision tunables. Drop related configure flag.
- Linux: Implement interfaces for memory protection keys
- math: Add _Float64, _Float32x function aliases
- math: Use sign as double for reduced case in sinf
- math: fix sinf(NAN)
- math: s_sinf.c: Replace floor with simple casts
- et_EE locale: Base collation on iso14651_t1 (swbz#22517)
- tr_TR locale: Base collation on iso14651_t1 (swbz#22527)
- hr_HR locale: Avoid single code points for digraphs in LC_TIME (swbz#10580)
- S390: Fix backtrace in vdso functions
Upstream commit: 7863a7118112fe502e8020a0db0fa74fef281f29
- math: New generic sinf (swbz#5997)
- is_IS locale: Base collation on iso14651_t1 (swbz#22519)
- intl: Improve reproducibility by using bison (swbz#22432)
- sr_RS, bs_BA locales: make collation rules the same as for hr_HR (wbz#22534)
- hr_HR locale: various updates (swbz#10580)
- x86: Make a space in jmpbuf for shadow stack pointer
- malloc: Fix integer overflow when tcache is enabled (swbz#22375)
- locale: make forward accent sorting the default in collating (swbz#17750)
Upstream commit: a55430cb0e261834ce7a4e118dd9e0f2b7fb14bc
- elf: Properly compute offsets of note descriptor and next note (swbz#22370)
- cs_CZ locale: Base collation on iso14651_t1 (swbz#22336)
- Implement the mlock2 function
- Add _Float64x function aliases
- elf: Consolidate link map sorting
- pl_PL locale: Base collation on iso14651_t1 (swbz#22469)
- nss: Export nscd hash function as __nss_hash (swbz#22459)
Upstream commit: cccb6d4e87053ed63c74aee063fa84eb63ebf7b8
- sigwait can fail with EINTR (#1516394)
- Add memfd_create function
- resolv: Fix p_secstodate overflow handling (swbz#22463)
- resolv: Obsolete p_secstodate
- Avoid use of strlen in getlogin_r (swbz#22447)
- lv_LV locale: fix collation (swbz#15537)
- S390: Add cfi information for start routines in order to stop unwinding
- aarch64: Optimized memset for falkor
Upstream commit: 6b86036452b9ac47b4ee7789a50f2f37df7ecc4f
- CVE-2017-15804: glob: Fix buffer overflow during GLOB_TILDE unescaping
- powerpc: Use latest string function optimization for internal function calls
- math: No _Float128 support for ppc64le -mlong-double-64 (swbz#22402)
- tpi_PG locale: Fix wrong d_fmt
- aarch64: Disable lazy symbol binding of TLSDESC
- tpi_PG locale: fix syntax error (swbz#22382)
- i586: Use conditional branches in strcpy.S (swbz#22353)
- ffsl, ffsll: Declare under __USE_MISC, not just __USE_GNU
- csb_PL locale: Fix abmon/mon for March (swbz#19485)
- locale: Various yesstr/nostr/yesexpr/noexpr fixes (swbz#15260, swbz#15261)
- localedef: Add --no-warnings/--warnings option
- powerpc: Replace lxvd2x/stxvd2x with lvx/stvx in P7's memcpy/memmove
- locale: Use ASCII as much as possible in LC_MESSAGES
- Add new locale yuw_PG (swbz#20952)
- malloc: Add single-threaded path to malloc/realloc/calloc/memalloc
- i386: Replace assembly versions of e_powf with generic e_powf.c
- i386: Replace assembly versions of e_log2f with generic e_log2f.c
- x86-64: Add powf with FMA
- x86-64: Add logf with FMA
- i386: Replace assembly versions of e_logf with generic e_logf.c
- i386: Replace assembly versions of e_exp2f with generic e_exp2f.c
- x86-64: Add exp2f with FMA
- i386: Replace assembly versions of e_expf with generic e_expf.c
Upstream commit: 63b4baa44e8d22501c433c4093aa3310f91b6aa2
- Use make -O to serialize make output
- sysconf: Fix missing definition of UIO_MAXIOV on Linux (#1504165)
- Install correct bits/long-double.h for MIPS64 (swbz#22322)
- malloc: Fix deadlock in _int_free consistency check
- x86-64: Don't set GLRO(dl_platform) to NULL (swbz#22299)
- math: Add _Float128 function aliases
- locale: Add new locale mjw_IN (swbz#13994)
- aarch64: Rewrite elf_machine_load_address using _DYNAMIC symbol
- powerpc: fix check-before-set in SET_RESTORE_ROUND
- locale: Use U+202F as thousands separators in pl_PL locale (swbz#16777)
- math: Use __f128 to define FLT128_* constants in include/float.h for old GCC
- malloc: Improve malloc initialization sequence (swbz#22159)
- malloc: Use relaxed atomics for malloc have_fastchunks
- locale: New locale ca_ES@valencia (swbz#2522)
- math: Let signbit use the builtin in C++ mode with gcc < 6.x (swbz#22296)
- locale: Place monetary symbol in el_GR, el_CY after the amount (swbz#22019)
The former is more reliable because glibcsrcdir changes in case of a
release off the release/*/master branch (which does not have a
tarball), but glibcversion remains the same.
Upstream commit: c38a4bfd596db2be2b9c1f96715bdc833eab760a
- Switch to .9000 version numbers during development
- malloc: Use compat_symbol_reference in libmcheck (swbz#22050)
Upstream commit: 596f70134a8f11967c65c1d55a94a3a2718c731d
- Silence -O3 -Wall warning in malloc/hooks.c with GCC 7 (swbz#22052)
- locale: No warning for non-symbolic character (swbz#22295)
- locale: Allow "" int_curr_Symbol (swbz#22294)
- locale: Fix localedef exit code (swbz#22292)
- nptl: Preserve error in setxid thread broadcast in coredumps (swbz#22153)
- powerpc: Avoid putting floating point values in memory (swbz#22189)
- powerpc: Fix the carry bit on mpn_[add|sub]_n on POWER7 (swbz#22142)
- Support profiling PIE (swbz#22284)
Upstream commit: 1e26d35193efbb29239c710a4c46a64708643320
- malloc: Fix tcache leak after thread destruction (swbz#22111)
- powerpc: Fix IFUNC for memrchr.
- aarch64: Optimized implementation of memmove for Qualcomm Falkor
- Always do locking when iterating over list of streams (swbz#15142)
- abort: Do not flush stdio streams (swbz#15436)
Upstream commit: f4a6be2582b8dfe8adfa68da3dd8decf566b3983
- malloc: Abort on heap corruption, without a backtrace (swbz#21754)
- getaddrinfo: Return EAI_NODATA for gethostbyname2_r with NO_DATA (swbz#21922)
- getaddrinfo: Fix error handling in gethosts (swbz#21915) (swbz#21922)
- Place $(elf-objpfx)sofini.os last (swbz#22051)
- Various locale fixes (swbz#15332, swbz#22044)
Upstream commit: 5f9409b787c5758fc277f8d1baf7478b752b775d
- Drop glibc-rh952799.patch, applied upstream (#952799, swbz#22025)
- Various locale fixes (swbz#22022, swbz#22038, swbz#21951, swbz#13805,
swbz#21971, swbz#21959)
- MIPS/o32: Fix internal_syscall5/6/7 (swbz#21956)
- AArch64: Fix procfs.h not to expose stdint.h types
- iconv_open: Fix heap corruption on gconv_init failure (swbz#22026)
- iconv: Mangle __btowc_fct even without __init_fct (swbz#22025)
- Fix bits/math-finite.h _MSUF_ expansion namespace (swbz#22028)
- Provide a C++ version of iszero that does not use __MATH_TG (swbz#21930)
Addressed by this upstream commit in a different way:
commit eac43cbb8d808a40004aa0a4a286f5c5155beccb
Author: Florian Weimer <fweimer@redhat.com>
Date: Thu Aug 10 15:58:28 2017 +0200
malloc: Avoid optimizer warning with GCC 7 and -O3
The Perl Info generator in Texinfo 5.0 uses the input basename in the
output file, so the multi-arch conflict no longer happens, and the
Makefile tweak is not needed anymore.
This commit drops an overridden -fasynchronous-unwind-tables flag, which
had no effect.
We compile all of glibc with -fno-asynchronous-unwind-tables, so we can
drop glibc-fedora-ppc-unwind.patch.
Upstream commit: 2585d7b839559e665d5723734862fbe62264b25d
- Do not use generic selection in C++ mode
- Do not use __builtin_types_compatible_p in C++ mode (#1481205)
- x86-64: Check FMA_Usable in ifunc-mathvec-avx2.h (swbz#21966)
- Various locale fixes (swbz#21750, swbz#21960, swbz#21959, swbz#19852)
- Fix sigval namespace (swbz#21944)
- x86-64: Optimize e_expf with FMA (swbz#21912)
- Adjust glibc-rh827510.patch.
- Remove 'Buildroot' tag, 'Group' tag, and '%clean' section, and don't
remove the buildroot in %install, all per Fedora Packaging Guidelines
(#1476839)
Using eval affects command line parsing in the shell script. Call the
script directly, but do not quote $find_debuginfo_args, to splice its
contents into the argument list.
This works around an RPM change in the processing of macro argument lists.
Newer RPM versions split the argument list, so that %1 contains just eo,
and not the whole language list.
Instead, use %language_list directly. This is compatible with earlier
RPM versions, too.
Auto-sync with upstream release/2.26/master
Upstream commit: 2aad4b04ad7b17a2e6b0e66d2cb4bc559376617b
- Update to released 2.26 branch.
- getaddrinfo: Release resolver context on error in gethosts (swbz#21885)
Upstream commit: 91ac3a7d8474480685632cd25f844d3154c69fdf
- Drop glibc-rh1467518.patch in favor of upstream patch (#1467518)
- Fix pointer alignment in NSS group merge result construction (#1471985)
- Various locale fixes
Upstream commit: de895ddcd7fc45caeeeb0ae312311b8bd31d82c5:
- Added Fiji Hindi language locale for Fiji (swbz#21694).
- Added yesstr/nostr for nds_DE and nds_NL (swbz#21756).
- Added yesstr and nostr for Tigrinya (swbz#21759).
- Fix LC_MESSAGES and LC_ADDRESS for anp_IN (swbz#21760).
- Added yesstr/nostr and fix yesexpr for pap_AW and pap_CW (swbz#21757).
- Added Tongan language locale for Tonga (swbz#21728).
- [ARM] Fix ld.so crash when built using Binutils 2.29.
- Added yesstr and nostr for aa_ET (swbz#21768).
- New locale for bi_VU (swbz#21767).
- Disable single thread optimization for open_memstream
Dropped patches:
- armv7hl: Drop 32-bit ARM build fix, already in upstream master.
- s390x: Apply glibc fix again, removing PTRACE_GETREGS etc. (#1469536).
Upstream commit: 30200427a99e5ddac9bad08599418d44d54aa9aa
- Add per-thread cache to malloc
- Add Samoan language locale for Samoa
- Add Awajún / Aguaruna locale for Peru
- CVE-2010-3192: Avoid backtrace from __stack_chk_fail (swbz#12189)
- Add preadv2, writev2 RWF_NOWAIT flag (swbz#21738)
- Fix abday strings for ar_JO/ar_LB/ar_SY locales (swbz#21749)
- Fix abday strings for ar_SA locale (swbz#21748, swbz#19066)
- Set data_fmt for da_DK locale (swbz#17297)
- Add yesstr and nostr for the zh_HK locale (swbz#21733)
- Fix abday strings for the ksIN@devanagari locale (swbz#21743)
- Do not include _dl_resolv_conflicts in libc.a (swbz#21742)
- Test __memmove_chk, __memset_chk only in libc.so (swbz#21741)
- Add iI and eE to yesexpr and noexpr respectively for ts_ZA locale
- Add yesstr/nostr for kw_GB locale (swbz#21734)
- Add yesstr and nostr for the ts_ZA locale (swbz#21727)
- Fix LC_NAME for hi_IN locale (swbz#21729)
- Add yesstr and nostr for the xh_ZA locale (swbz#21724)
- Add yesstr and nostr for the zh_CN locale (swbz#21723)
- Fix full weekday names for the ks_IN@devanagari locale (swbz#21721)
- Various fixes to Arabic locales after CLDR import
Upstream commit: e237357a5a0559dee92261f1914d1fa2cd43a1a8
- Support an arbitrary number of search domains in the stub resolver (#168253)
- Detect and apply /etc/resolv.conf changes in libresolv (#1374239)
- Increase malloc alignment on i386 to 16 (swbz#21120)
- Make RES_ROTATE start with a random name server (swbz#19570)
- Fix tgmath.h totalorder, totalordermag return type (swbz#21687)
- Miscellaneous sys/ucontext.h namespace fixes (swbz#21457)
- Rename struct ucontext tag (swbz#21457)
- Call exit system call directly in clone (swbz#21512)
- powerpc64le: Enable float128
- getaddrinfo: Merge IPv6 addresses and IPv4 addresses (swbz#21295)
- Avoid .symver on common symbols (swbz#21666)
- inet_pton: Reject IPv6 addresses with many leading zeros (swbz#16637)
- Update to final released glibc 2.25.
The glibc rawhide builds must stay on 2.25 branch until
F26 branches from rawhide. This assures that we have ABI/API
guarantees provided by upstream. Please do not rebase rawhide
against glibc master.