Compare commits

...

249 Commits
master ... f36

Author SHA1 Message Date
Florian Weimer 410e42e83d Auto-sync with upstream branch release/2.35/master
Upstream commit: 82663d3c034cd5d0d7efa2e92c380ced1ddbb09e

- time: Set daylight to 1 for matching DST/offset change (bug 29951)
- elf/tst-tlsopt-powerpc fails when compiled with -mcpu=power10 (BZ# 29776)
- time: Use 64 bit time on tzfile
- nscd: Use 64 bit time_t on libc nscd routines (BZ# 29402)
- nis: Build libnsl with 64 bit time_t
- Apply asm redirections in syslog.h before first use [BZ #27087]
- elf: Fix wrong fscanf usage on tst-pldd
- Allow for unpriviledged nested containers
- elf: Fix wrong fscanf usage on tst-pldd
- x86: Fix wcsnlen-avx2 page cross length comparison [BZ #29591]
- elf: Fix rtld-audit trampoline for aarch64
2023-01-11 09:49:05 +01:00
Arjun Shankar be2c7dc0db Auto-sync with upstream branch release/2.35/master
Upstream commit: 8263cbfc1155f2ed5ee304bd7ff7fc6ad44c6152

- Linux: Support __IPC_64 in sysvctl *ctl command arguments (bug 29771)
- mktime: improve heuristic for ca-1986 Indiana DST
- Makerules: fix MAKEFLAGS assignment for upcoming make-4.4 [BZ# 29564]
- linux: Fix fstatat on MIPSn64 (BZ #29730)
- linux: Fix generic struct_stat for 64 bit time (BZ# 29657)
2022-11-14 16:43:09 +01:00
Florian Weimer eb2dca633b Auto-sync with upstream branch release/2.35/master
Upstream commit: 8d125a1f9145ad90c94e438858d6b5b7578686f2

- elf: Do not completely clear reused namespace in dlmopen (bug 29600)
- nss: Use shared prefix in IPv4 address in tst-reload1
- nss: Fix tst-nss-files-hosts-long on single-stack hosts (bug 24816)
- nss: Implement --no-addrconfig option for getent
2022-10-21 19:06:55 +02:00
Arjun Shankar 64e677f744 Auto-sync with upstream branch release/2.35/master
Upstream commit: bca80a916e1a7fda51d0f30e9cfb5b111f8a2a7a

- Adjust glibc-rh2096191-2.patch
- nscd: Drop local address tuple variable [BZ #29607]
- x86-64: Require BMI1/BMI2 for AVX2 strrchr and wcsrchr implementations
- x86-64: Require BMI2 and LZCNT for AVX2 memrchr implementation
- x86-64: Require BMI2 for AVX2 (raw|w)memchr implementations
- x86-64: Require BMI2 for AVX2 wcs(n)cmp implementations
- x86-64: Require BMI2 for AVX2 strncmp implementation
- x86-64: Require BMI2 for AVX2 strcmp implementation
- x86-64: Require BMI2 for AVX2 str(n)casecmp implementations
- x86: include BMI1 and BMI2 in x86-64-v3 level
- hppa: undef __ASSUME_SET_ROBUST_LIST
- hppa: Fix initialization of dp register [BZ 29635]
- nptl: Add backoff mechanism to spinlock loop
- sysdeps: Add 'get_fast_jitter' interace in fast-jitter.h
- m68k: Enforce 4-byte alignment on internal locks (BZ #29537)
- gconv: Use 64-bit interfaces in gconv_parseconfdir (bug 29583)
- resolv: Fix building tst-resolv-invalid-cname for earlier C standards
- nss_dns: Rewrite _nss_dns_gethostbyname4_r using current interfaces
- resolv: Add new tst-resolv-invalid-cname
- nss_dns: In gaih_getanswer_slice, skip strange aliases (bug 12154)
- nss_dns: Rewrite getanswer_r to match getanswer_ptr (bug 12154, bug 29305)
- nss_dns: Remove remnants of IPv6 address mapping
- nss_dns: Rewrite _nss_dns_gethostbyaddr2_r and getanswer_ptr
- nss_dns: Split getanswer_ptr from getanswer_r
- resolv: Add DNS packet parsing helpers geared towards wire format
- resolv: Add internal __ns_name_length_uncompressed function
- resolv: Add the __ns_samebinaryname function
- resolv: Add internal __res_binary_hnok function
- resolv: Add tst-resolv-aliases
- resolv: Add tst-resolv-byaddr for testing reverse lookup
- elf: Implement force_first handling in _dl_sort_maps_dfs (bug 28937)
- elf: Rename _dl_sort_maps parameter from skip to force_first
- scripts/dso-ordering-test.py: Generate program run-time dependencies
- elf: Fix hwcaps string size overestimation
- Use __ehdr_start rather than _begin in _dl_start_final
- elf: Run tst-audit-tlsdesc, tst-audit-tlsdesc-dlopen everywhere
- nscd: Fix netlink cache invalidation if epoll is used [BZ #29415]
- Apply asm redirections in wchar.h before first use
- elf: Call __libc_early_init for reused namespaces (bug 29528)
2022-10-12 12:15:39 +02:00
Florian Weimer 12539e0de7 Do not require .annobin symbols in wrap-find-debuginfo.sh 2022-09-23 14:27:17 +02:00
Florian Weimer 7da439ec18 Remove .annobin* symbols from ld.so (#2126477) 2022-09-23 07:17:55 +02:00
Florian Weimer ed8c029e6c Use a temporary directory in wrap-find-debuginfo.sh
This avoids the need for separate variables for all files.
2022-09-23 07:17:33 +02:00
Arjun Shankar 2e466a0073 Retain libc.so.6 debuglink section, remove ld.so debuginfo file (#2090744)
This commit fixes wrap-find-debuginfo.sh so that:
* the .gnu_debuglink section of libc.so.6 is retained, and
* the redundant debuginfo file generated for ld.so is removed

Co-Authored-By: Benjamin Herrenschmidt <benh@amazon.com>
Reviewed-by: Florian Weimer <fweimer@redhat.com>

Rawhide commit: 8e2d77f734
2022-09-06 19:56:05 +02:00
Arjun Shankar 931ddd67fe Auto-sync with upstream branch release/2.35/master
Upstream commit: 83f1d9851e0b143991448d41ff50744d9972cb6e

- NEWS: Add entry for bug 28846
- socket: Check lengths before advancing pointer in CMSG_NXTHDR
- alpha: Fix generic brk system call emulation in __brk_call (bug 29490)
- stdlib: Fixup mbstowcs NULL __dst handling. [BZ #29279]
- stdlib: Remove attr_write from mbstows if dst is NULL [BZ: 29265]
- Update syscall lists for Linux 5.19
- riscv: Update rv64 libm test ulps
- dlfcn: Pass caller pointer to static dlopen implementation (bug 29446)
2022-08-23 11:12:30 +02:00
Florian Weimer 089ee6cab4 Auto-sync with upstream branch release/2.35/master
Upstream commit: 0e5b239f45992e4b54c6f946ecb0c410afc8bb08

- Drop glibc-swbz27087.patch, applied upstream.

- malloc: Simplify implementation of __malloc_assert
- Update syscall-names.list for Linux 5.18
- Apply asm redirections in stdio.h before first use [BZ #27087]
- x86: Add missing IS_IN (libc) check to strncmp-sse4_2.S
- x86: Move mem{p}{mov|cpy}_{chk_}erms to its own file
- x86: Move and slightly improve memset_erms
- x86: Add definition for __wmemset_chk AVX2 RTM in ifunc impl list
- x86: Put wcs{n}len-sse4.1 in the sse4.1 text section
- x86: Align entry for memrchr to 64-bytes.
- x86: Add BMI1/BMI2 checks for ISA_V3 check
- x86: Cleanup bounds checking in large memcpy case
- x86: Add bounds `x86_non_temporal_threshold`
- x86: Add sse42 implementation to strcmp's ifunc
- x86: Fix misordered logic for setting `rep_movsb_stop_threshold`
- x86: Align varshift table to 32-bytes
- x86: ZERO_UPPER_VEC_REGISTERS_RETURN_XTEST expect no transactions
- x86: Shrink code size of memchr-evex.S
- x86: Shrink code size of memchr-avx2.S
- x86: Optimize memrchr-avx2.S
- x86: Optimize memrchr-evex.S
- x86: Optimize memrchr-sse2.S
- x86: Add COND_VZEROUPPER that can replace vzeroupper if no `ret`
- x86: Create header for VEC classes in x86 strings library
- x86_64: Add strstr function with 512-bit EVEX
- x86-64: Ignore r_addend for R_X86_64_GLOB_DAT/R_X86_64_JUMP_SLOT
- x86_64: Implement evex512 version of strlen, strnlen, wcslen and wcsnlen
- x86_64: Remove bzero optimization
- nptl: Fix ___pthread_unregister_cancel_restore asynchronous restore
- linux: Fix mq_timereceive check for 32 bit fallback code (BZ 29304)
2022-07-22 17:33:49 +02:00
Florian Weimer ece850a900 ppc64le: Increase Clang compatibility of float128 redirects (#2100546) 2022-07-05 12:19:36 +02:00
Florian Weimer 0b310443f0 Add the no-aaaa DNS stub resolver option (#2096191) 2022-06-25 00:45:50 +02:00
Arjun Shankar a4cde2f82f Auto-sync with upstream branch release/2.35/master
Upstream commit: b6aade18a7e5719c942aa2da6cf3157aca993fa4

- nss: handle stat failure in check_reload_and_get (BZ #28752)
- nss: add assert to DB_LOOKUP_FCT (BZ #28752)
- nios2: Remove _dl_skip_args usage (BZ# 29187)
- hppa: Remove _dl_skip_args usage (BZ# 29165)
- NEWS: Add a bug fix entry for BZ #29225
- nptl: Fix __libc_cleanup_pop_restore asynchronous restore (BZ#29214)
- powerpc: Fix VSX register number on __strncpy_power9 [BZ #29197]
- socket: Fix mistyped define statement in socket/sys/socket.h (BZ #29225)
- iconv: Use 64 bit stat for gconv_parseconfdir (BZ# 29213)
- catgets: Use 64 bit stat for __open_catalog (BZ# 29211)
- inet: Use 64 bit stat for ruserpass (BZ# 29210)
- socket: Use 64 bit stat for isfdtype (BZ# 29209)
- posix: Use 64 bit stat for fpathconf (_PC_ASYNC_IO) (BZ# 29208)
- posix: Use 64 bit stat for posix_fallocate fallback (BZ# 29207)
- misc: Use 64 bit stat for getusershell (BZ# 29204)
- misc: Use 64 bit stat for daemon (BZ# 29203)
2022-06-14 11:05:19 +02:00
Arjun Shankar 7986c6c4ec Auto-sync with upstream branch release/2.35/master
Upstream commit: 6abb4002df97df668f40b0da84ab6261498a8541

- Fix deadlock when pthread_atfork handler calls pthread_atfork or dlclose
2022-05-30 18:16:23 +02:00
Florian Weimer 21d9ef9072 Auto-sync with upstream branch release/2.35/master
Upstream commit: ac87df8d750b0734e20ffb82d1d0d0efbe4b6212

- x86: Fallback {str|wcs}cmp RTM in the ncmp overflow case [BZ #29127]
- string.h: fix __fortified_attr_access macro call [BZ #29162]
2022-05-27 17:34:11 +02:00
Florian Weimer ad513d8e43 Auto-sync with upstream branch release/2.35/master
Upstream commit: 2b128a7d30f5f808c5246034f71d249010521f1b

- linux: Add a getauxval test [BZ #23293]
- rtld: Use generic argv adjustment in ld.so [BZ #23293]
2022-05-19 12:33:31 +02:00
Florian Weimer 0f40814c67 Auto-sync with upstream branch release/2.35/master
Upstream commit: 04892c543e08a8974ffc14f53e24e2b00810978c

- S390: Enable static PIE
2022-05-19 10:04:45 +02:00
Florian Weimer b001a8b720 Auto-sync with upstream branch release/2.35/master
Upstream commit: 72d9dcfd16468ed143a2800288476835f7a8c2a4

- csu: Implement and use _dl_early_allocate during static startup
- Linux: Introduce __brk_call for invoking the brk system call
- Linux: Implement a useful version of _startup_fatal
- ia64: Always define IA64_USE_NEW_STUB as a flag macro
- Linux: Define MMAP_CALL_INTERNAL
- i386: Honor I386_USE_SYSENTER for 6-argument Linux system calls
- i386: Remove OPTIMIZE_FOR_GCC_5 from Linux libc-do-syscall.S
- elf: Remove __libc_init_secure
- Linux: Consolidate auxiliary vector parsing (redo)
- Linux: Include <dl-auxv.h> in dl-sysdep.c only for SHARED
- Revert "Linux: Consolidate auxiliary vector parsing"
- Linux: Consolidate auxiliary vector parsing
- Linux: Assume that NEED_DL_SYSINFO_DSO is always defined
- Linux: Remove DL_FIND_ARG_COMPONENTS
- Linux: Remove HAVE_AUX_SECURE, HAVE_AUX_XID, HAVE_AUX_PAGESIZE
- elf: Merge dl-sysdep.c into the Linux version
- x86: Optimize {str|wcs}rchr-evex
- x86: Optimize {str|wcs}rchr-avx2
- x86: Optimize {str|wcs}rchr-sse2
- x86-64: Fix SSE2 memcmp and SSSE3 memmove for x32
- x86: Fix missing __wmemcmp def for disable-multiarch build
- x86: Cleanup page cross code in memcmp-avx2-movbe.S
- x86: Remove memcmp-sse4.S
- x86: Optimize memcmp SSE2 in memcmp.S
- x86: Small improvements for wcslen
- x86: Remove AVX str{n}casecmp
- x86: Add EVEX optimized str{n}casecmp
- x86: Add AVX2 optimized str{n}casecmp
- x86: Optimize str{n}casecmp TOLOWER logic in strcmp-sse42.S
- x86: Optimize str{n}casecmp TOLOWER logic in strcmp.S
- x86: Remove strspn-sse2.S and use the generic implementation
- x86: Remove strpbrk-sse2.S and use the generic implementation
- x86: Remove strcspn-sse2.S and use the generic implementation
- x86: Optimize strspn in strspn-c.c
- x86: Optimize strcspn and strpbrk in strcspn-c.c
- x86: Code cleanup in strchr-evex and comment justifying branch
- x86: Code cleanup in strchr-avx2 and comment justifying branch
- x86_64: Remove bcopy optimizations
- x86-64: Define __memcmpeq in ld.so
- x86-64: Remove bzero weak alias in SS2 memset
- x86_64/multiarch: Sort sysdep_routines and put one entry per line
- x86: Improve L to support L(XXX_SYMBOL (YYY, ZZZ))
- fortify: Ensure that __glibc_fortify condition is a constant [BZ #29141]
2022-05-17 12:00:42 +02:00
Florian Weimer 6c1d7dfbbe Auto-sync with upstream branch release/2.35/master
Upstream commit: 28ea43f8d64f0dd1f2de75525157730e1532e600

- dlfcn: Implement the RTLD_DI_PHDR request type for dlinfo
- manual: Document the dlinfo function
- NEWS: Add a bug fix entry for BZ #29109
- linux: Fix posix_spawn return code if clone fails (BZ#29109)
- x86: Fix fallback for wcsncmp_avx2 in strcmp-avx2.S [BZ #28896]
- x86: Fix bug in strncmp-evex and strncmp-avx2 [BZ #28895]
- x86: Set .text section in memset-vec-unaligned-erms
- x86-64: Optimize bzero
- x86: Remove SSSE3 instruction for broadcast in memset.S (SSE2 Only)
- x86: Improve vec generation in memset-vec-unaligned-erms.S
- x86-64: Fix strcmp-evex.S
- x86-64: Fix strcmp-avx2.S
- x86: Optimize strcmp-evex.S
- x86: Optimize strcmp-avx2.S
- manual: Clarify that abbreviations of long options are allowed
- Add HWCAP2_AFP, HWCAP2_RPRES from Linux 5.17 to AArch64 bits/hwcap.h
- Add SOL_MPTCP, SOL_MCTP from Linux 5.16 to bits/socket.h
- Update kernel version to 5.17 in tst-mman-consts.py
- Update kernel version to 5.16 in tst-mman-consts.py
- Update syscall lists for Linux 5.17
- posix/glob.c: update from gnulib
- linux: Fix fchmodat with AT_SYMLINK_NOFOLLOW for 64 bit time_t (BZ#29097)
- i386: Regenerate ulps
- linux: Fix missing internal 64 bit time_t stat usage
- elf: Fix DFS sorting algorithm for LD_TRACE_LOADED_OBJECTS with missing libraries (BZ #28868)
- scripts/glibcelf.py: Mark as UNSUPPORTED on Python 3.5 and earlier
- dlfcn: Do not use rtld_active () to determine ld.so state (bug 29078)
- INSTALL: Rephrase -with-default-link documentation
- misc: Fix rare fortify crash on wchar funcs. [BZ 29030]
- Default to --with-default-link=no (bug 25812)
- scripts: Add glibcelf.py module
- m68k: Handle fewer relocations for RTLD_BOOTSTRAP (#BZ29071)
- nptl: Fix pthread_cancel cancelhandling atomic operations
- mips: Fix mips64n32 64 bit time_t stat support (BZ#29069)
- hurd: Fix arbitrary error code
- nptl: Handle spurious EINTR when thread cancellation is disabled (BZ#29029)
- S390: Add new s390 platform z16.
2022-05-11 21:10:23 +02:00
Florian Weimer b104e8d4ff Auto-sync with upstream branch release/2.35/master
Upstream commit: cc9a4a664faac44fe62b6300b878cf5be514658b

- elf: Fix memory leak in _dl_find_object_update (#2065675)
- NEWS: Move PLT tracking slowdown to glibc 2.35.
- hppa: Use END instead of PSEUDO_END in swapcontext.S
- hppa: Implement swapcontext in assembler (bug 28960)
- nss: Protect against errno changes in function lookup (bug 28953)
- nss: Do not mention NSS test modules in <gnu/lib-names.h>
- io: Add fsync call in tst-stat
- nptl: Fix cleanups for stack grows up [BZ# 28899]
- hppa: Fix warnings from _dl_lookup_address
- hppa: Revise gettext trampoline design
- hppa: Fix swapcontext
- Fix elf/tst-audit2 on hppa
- hppa: Fix bind-now audit (BZ #28857)
- localedef: Handle symbolic links when generating locale-archive
2022-04-13 17:40:21 +02:00
Florian Weimer bab2cf683b Trim changelog 2022-03-15 08:57:16 +01:00
Florian Weimer 5683acda27 Remove downstream-only workaround patch for ppc64le 2022-03-13 17:28:29 +01:00
Arjun Shankar b9831c9524 Remove invalid comment from spec file
The Rawhide spec file briefly contained a comment regarding a
work-around for a localedef bug.  The bug was fixed and the comment
removed, but the comment got backported to Fedora 36 by mistake.
This commit removes the comment.
2022-03-03 20:28:10 +01:00
Arjun Shankar 024178b5e0 locale: symlink identical langpack LC_CTYPEs to the C.utf8 version
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.

Rawhide commit: a0bdca4f3f

Also:

 * locale: make install-locale-files instead of install-locales
   - Drop glibc-fedora-localedef.patch
   - Rawhide commit: cf979ff812

 * localedef: Handle symbolic links when generating locale-archive
   - Add glibc-localedef-handle-symlinks.patch
   - Upstream commit: ea89d5bbd9e5e514b606045d909e6ab87d851c88
2022-03-02 14:04:03 +01:00
Florian Weimer 5c209d3a56 Auto-sync with upstream branch release/2.35/master
Upstream commit: 732dd3a63d39c7ca77e817b462285c14551c8b49

- localedata: Do not generate output if warnings were present.
- localedef: Update LC_MONETARY handling (Bug 28845)
- NEWS: Add a bug fix entry for BZ #28688
- resolv: Fix tst-resolv tests for 2.35 ABIs and later
- elf: Replace tst-audit24bmod2.so with tst-audit24bmod2
- elf: Check invalid hole in PT_LOAD segments [BZ #28838]
- NEWS: Add a bug fix entry for BZ #28896
- x86: Fix TEST_NAME to make it a string in tst-strncmp-rtm.c
- x86: Test wcscmp RTM in the wcsncmp overflow case [BZ #28896]
- x86: Fallback {str|wcs}cmp RTM in the ncmp overflow case [BZ #28896]
- string: Add a testcase for wcsncmp with SIZE_MAX [BZ #28755]
- linux: Use socket-constants-time64.h on tst-socket-timestamp-compat
- linux: fix accuracy of get_nprocs and get_nprocs_conf [BZ #28865]
2022-02-28 10:30:04 +01:00
Florian Weimer 6d97bdd7b3 Mention GCC bug in glibc-temp-ibmldbl64.patch 2022-02-08 16:37:47 +01:00
Florian Weimer a7b71f9f73 Auto-sync with upstream branch release/2.35/master
Upstream commit: 24962427071fa532c3c48c918e9d64d719cc8a6c

- Add BZ#28860 reference on NEWS
- linux: Fix missing __convert_scm_timestamps (BZ #28860)
2022-02-08 15:53:22 +01:00
Florian Weimer f155668f01 Auto-sync with upstream branch release/2.35/master
Upstream commit: a2f1675634b3513c09c38e55e6766e8c05768b1f

- linux: __get_nprocs_sched: do not feed CPU_COUNT_S with garbage [BZ #28850]
- posix: Fix tst-spawn6 terminal handling (BZ #28853)
- Regenerate configure
- Create ChangeLog.old/ChangeLog.24.
- Prepare for glibc 2.35 release.
- Regenerate configure.
- Update install.texi, and regenerate INSTALL.
- Update NEWS bug list.
- Update NEWS.
- Update translations.
- Linux: Use ptrdiff_t for __rseq_offset
- Fix elf/tst-audit25a with default bind now toolchains
- posix: Replace posix_spawnattr_tc{get,set}pgrp_np with posix_spawn_file_actions_addtcsetpgrp_np
- or1k: Define PI_STATIC_AND_HIDDEN
- SET_RELHOOK: merge i386 and x86_64, and move to sysdeps/mach/hurd/x86
- elf: Fix runtime linker auditing on aarch64 (BZ #26643)
- elf: Issue la_symbind for bind-now (BZ #23734)
- elf: Fix initial-exec TLS access on audit modules (BZ #28096)
- elf: Add la_activity during application exit
- localedata: Adjust C.UTF-8 to align with C/POSIX.
- localedef: Fix handling of empty mon_decimal_point (Bug 28847)
- malloc: Fix tst-mallocalign1 macro spacing.
2022-02-03 15:53:04 +01:00
Florian Weimer 53b2ec4663 Auto-sync with upstream branch master
Upstream commit: 3fb18fd80c5900cc82748f3320b30516c57d24da

- elf: Add <dl-r_debug.h>
- Mention _FORTIFY_SOURCE=3 for gcc12 in NEWS
- malloc: Fix -Wuse-after-free warning in tst-mallocalign1 [BZ #26779]
- Update libc.pot for 2.35 release.
- tst-socket-timestamp-compat.c: Check __TIMESIZE [BZ #28837]
- Add prelink removal plan on NEWS
- Linux: Only generate 64 bit timestamps for 64 bit time_t recvmsg/recvmmsg
- linux: Fix ancillary 64-bit time timestamp conversion (BZ #28349, BZ#28350)
- support: Add support_socket_so_timestamp_time64
- Fix elf/loadfail test build dependencies
- Fix glibc 2.34 ABI omission (missing GLIBC_2.34 in dynamic loader)
- x86: Use CHECK_FEATURE_PRESENT to check HLE [BZ #27398]
- Guard tst-valgrind-smoke.out with run-built-tests
- hurd: Add posix_spawnattr_tc{get,set}pgrp_np on libc.abilist
- Avoid -Wuse-after-free in tests [BZ #26779].
- elf: Replace tst-p_alignmod1-editX with a python script
- stdlib: Avoid -Wuse-after-free in __add_to_environ [BZ #26779]
- io: Fix use-after-free in ftw [BZ #26779]
- intl: Avoid -Wuse-after-free [BZ #26779]
- elf: Fix use-after-free in ldconfig [BZ #26779]
- posix: Add terminal control setting support for posix_spawn
2022-02-01 14:48:58 +01:00
Sergey Kolosov cdf31c9c27 adds Regression/bz2007417-glibc-ldd-segfaults-when-inspecting test case 2022-01-26 14:02:40 +00:00
DJ Delorie 1fd4834f59 Auto-sync with upstream branch master
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
2022-01-25 10:25:45 -05:00
Fedora Release Engineering 4cc446aac1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 06:12:00 +00:00
Florian Weimer 514d6266eb Auto-sync with upstream branch master
Upstream commit: 28713c06129f8f64f88c423266e6ff2880216509

- elf: Sort tests and modules-names
- hurd: nuke all unknown ports on exec
- hurd: Fix auth port leak
- Remove stale reference to libanl.a
- elf: Add <dl-debug.h>
- Properly check linker option in LIBC_LINKER_FEATURE [BZ #28738]
- hurd: Implement _S_msg_get_dtable
- Update automatically-generated copyright dates
- Sync move-if-change from Gnulib, updating copyright
- Update copyright dates not handled by scripts/update-copyrights.
- Update copyright dates with scripts/update-copyrights
- hurd: Use __trivfs_server_name instead of trivfs_server_name
- hurd: Bump BRK_START to 0x20000000
- hurd: Avoid overzealous shared objects constraints
- time: Refactor timesize.h for some ABIs
- hurd: Make getrandom a stub inside the random translator
- open64: Force O_LARGEFILE on all architectures
- x86-64: Add vector tan/tanf implementation to libmvec
- x86-64: Add vector erfc/erfcf implementation to libmvec
- resolv: Do not install libanl.so symbolic link
- resolv: Do not build libanl.so for ABIs starting at 2.35
- timezone: test-case for BZ #28707
- timezone: handle truncated timezones from tzcode-2021d and later (BZ #28707)
- x86-64: Add vector asinh/asinhf implementation to libmvec
- x86-64: Add vector tanh/tanhf implementation to libmvec
- x86-64: Add vector erf/erff implementation to libmvec
- x86-64: Add vector acosh/acoshf implementation to libmvec
- x86-64: Add vector atanh/atanhf implementation to libmvec
- x86-64: Add vector log1p/log1pf implementation to libmvec
- x86-64: Add vector log2/log2f implementation to libmvec
- x86-64: Add vector log10/log10f implementation to libmvec
- x86-64: Add vector atan2/atan2f implementation to libmvec
- x86-64: Add vector cbrt/cbrtf implementation to libmvec
- x86-64: Add vector sinh/sinhf implementation to libmvec
- x86-64: Add vector expm1/expm1f implementation to libmvec
- x86-64: Add vector cosh/coshf implementation to libmvec
- x86-64: Add vector exp10/exp10f implementation to libmvec
- x86-64: Add vector exp2/exp2f implementation to libmvec
- x86-64: Add vector hypot/hypotf implementation to libmvec
- x86-64: Add vector asin/asinf implementation to libmvec
- x86-64: Add vector atan/atanf implementation to libmvec
2022-01-04 15:54:08 +01:00
Florian Weimer 8d17a555f4 Auto-sync with upstream branch master
Upstream commit: 5d28a8962dcb6ec056b81d730e3c6fb57185a210

- elf: Add _dl_find_object function
- malloc: Remove memusage.h
- malloc: Use hp-timing on libmemusage
- Remove atomic-machine.h atomic typedefs
- malloc: Remove atomic_* usage
- microblaze: Add missing implementation when !__ASSUME_TIME64_SYSCALLS
- elf: Do not fail for failed dlmopen on audit modules (BZ #28061)
- elf: Issue audit la_objopen for vDSO
- elf: Add audit tests for modules with TLSDESC
- elf: Avoid unnecessary slowdown from profiling with audit (BZ#15533)
- elf: Add _dl_audit_pltexit
- elf: Add _dl_audit_pltenter
- elf: Add _dl_audit_preinit
- elf: Add _dl_audit_symbind_alt and _dl_audit_symbind
- elf: Add _dl_audit_objclose
- elf: Add _dl_audit_objsearch
- elf: Add _dl_audit_activity_map and _dl_audit_activity_nsid
- elf: Add _dl_audit_objopen
- hurd: Fix static-PIE startup
- hurd: let csu initialize tls
- hurd: Fix XFAIL-ing mallocfork2 tests
- hurd: XFAIL more tests that require setpshared support
- malloc: Add missing shared thread library flags
- stdio-common: Fix %m sprintf test output for GNU/Hurd
- x86: Optimize L(less_vec) case in memcmpeq-evex.S
- x86: Optimize L(less_vec) case in memcmp-evex-movbe.S
- elf: Remove AArch64 from comment for AT_MINSIGSTKSZ
- math: Properly cast X_TLOSS to float [BZ #28713]
- Set default __TIMESIZE default to 64
- stdio: Implement %#m for vfprintf and related functions
- elf: Remove unused NEED_DL_BASE_ADDR and _dl_base_addr
- x86-64: Add vector acos/acosf implementation to libmvec
- intl/plural.y: Avoid conflicting declarations of yyerror and yylex
- elf: Remove excessive p_align check on PT_LOAD segments [BZ #28688]
- s_sincosf.h: Change pio4 type to float [BZ #28713]
- Linux: Fix 32-bit vDSO for clock_gettime on powerpc32
- Regenerate ulps on x86_64 with GCC 12
- Add ARPHRD_CAN, ARPHRD_MCTP to net/if_arp.h
- Remove ununsed tcb-offset
- riscv: align stack before calling _dl_init [BZ #28703]
- riscv: align stack in clone [BZ #28702]
- elf: Fix tst-cpu-features-cpuinfo for KVM guests on some AMD systems [BZ #28704]
- powerpc64[le]: Allocate extra stack frame on syscall.S
- Update copyright header in recently merged ab_GE locale
- fortify: Fix spurious warning with realpath
2021-12-29 07:09:16 +01:00
Florian Weimer 3987f952fb armhfp, i686: Revert 64-bit time_t/off_t for internal use (#2034715) 2021-12-28 21:41:25 +01:00
Florian Weimer 2762250016 Auto-sync with upstream branch master
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)
2021-12-17 12:11:27 +01:00
Martin Cermak 5c459b73d2 CI Gating: Avoid installing conflicting headers 2021-12-16 09:42:18 +01:00
Arjun Shankar 201f88a749 Do not use --enable-static-pie configure flag
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.
2021-12-15 15:06:18 +01:00
Florian Weimer 2d913ac06a Auto-sync with upstream branch master
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]
2021-12-15 09:35:03 +01:00
Arjun Shankar 0c78549fbc Auto-sync with upstream branch master
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
2021-12-14 15:20:32 +01:00
Arjun Shankar a7319f3316 Remove nscd (#1905142)
Commit 8cd6c9ec48 deprecated nscd in Fedora 34:
https://fedoraproject.org/wiki/Changes/DeprecateNSCD

This commit removes nscd in preparation for Fedora 36:
https://fedoraproject.org/wiki/Changes/RemoveNSCD

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
2021-12-13 13:41:58 +01:00
Pavel Březina cadee80b13 Do not install /etc/nsswitch.conf
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
2021-12-10 17:06:38 +01:00
Siddhesh Poyarekar 2a12adcea2 Avoid setting annobin flags if !_annotated_build
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.
2021-12-09 06:29:40 +05:30
Martin Cermak 333464235d CI Gating: Disable fedora-ci.koji-build.tier0.functional
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.
2021-12-08 14:07:49 +01:00
Florian Weimer 4dc7322aff Drop glibc-dso-sort-makefile-fail.patch
The build failure was actually due to #2026399.
2021-12-06 19:04:10 +01:00
Florian Weimer ae249dabba Auto-sync with upstream branch master
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
2021-12-04 10:20:21 +01:00
Florian Weimer 11567e7d20 x86_64: Disable additional EVEX string functions (#2026399) 2021-12-04 04:30:47 +01:00
Florian Weimer 3717b5ea10 x86_64: Disable EVEX *cmp* string functions (#2026399) 2021-12-03 18:47:40 +01:00
Florian Weimer ba4df9283b Drop glibc-sdt-headers.patch 2021-12-02 16:48:08 +01:00
Carlos O'Donell 980b253a67 Fix sources file for glibc-2.34.9000-22. 2021-11-30 13:42:01 -05:00
Carlos O'Donell 8b7229bf79 Auto-sync with upstream branch master
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
2021-11-30 09:44:01 -05:00
Sergey Kolosov 3e067f11c3 adds glibc-headers-x86 to exclude 2021-11-18 21:39:10 +01:00
Sergey Kolosov 7a3188c863 exclude glibc-headers-s390 2021-11-18 19:24:52 +01:00
Sergey Kolosov 8d488dc38e introduce Fedora CI 2021-11-18 16:45:23 +01:00
Florian Weimer e4ca95809b Temporary patch glibc-dso-sort-makefile-fail.patch, to fix x86_64 build 2021-11-18 11:20:40 +01:00
Florian Weimer 9633d3541e Temporarily patch glibc-sdt-headers.patch, to fix s390x build failure 2021-11-17 13:43:22 +01:00
Florian Weimer a95e35d1eb Auto-sync with upstream branch master
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)
2021-11-17 13:14:39 +01:00
Arjun Shankar b96753c45b Create /{bin,lib,lib64,sbin} as symbolic links in test-container
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>
2021-11-16 09:53:27 +01:00
Arjun Shankar e879893635 Auto-sync with upstream branch master to fix build failure
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
2021-11-10 14:57:42 +01:00
Arjun Shankar 1f6af19978 Auto-sync with upstream branch master
Upstream commit: db6c4935fae6005d46af413b32aa92f4f6059dce

- Fix memmove call in vfprintf-internal.c:group_number
- locale: Fix localedata/sort-test undefined behavior
- test-memcpy.c: Double TIMEOUT to (8 * 60)
- hurd: Remove unused __libc_close_range
- hurd: Implement close_range and closefrom
- x86: Double size of ERMS rep_movsb_threshold in dl-cacheinfo.h
- x86: Optimize memmove-vec-unaligned-erms.S
- benchtests: Add partial overlap case in bench-memmove-walk.c
- benchtests: Add additional cases to bench-memcpy.c and bench-memmove.c
- string: Make tests birdirectional test-memcpy.c
- Remove the last trace of generate-md5 [BZ #28554]
- Revert "benchtests: Add acosf function to bench-math"
- Configure GCC with --enable-initfini-array [BZ #27945]
- elf: Earlier missing dynamic segment check in _dl_map_object_from_fd
- gconv: Do not emit spurious NUL character in ISO-2022-JP-3 (bug 28524)
- [powerpc] Tighten contraints for asm constant parameters
2021-11-08 22:16:31 +01:00
Patsy Griffin 7badc6b643 Auto-sync with upstream branch master
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
2021-11-03 11:40:29 -04:00
DJ Delorie ea7e5402a9 Auto-sync with upstream branch master
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
2021-10-29 13:37:45 -04:00
Carlos O'Donell 8deb7f51cc Auto-sync with upstream branch master
- 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
2021-10-20 17:35:57 -04:00
Martin Cermak 09d2e07988 Rename downstream side tag rebuild test
OSCI requested a name chenge of the side tag rebuild test
downstream.  Reflecting that change here to make future
syncs easier.
2021-10-18 09:02:15 +02:00
Arjun Shankar 4d06523dc1 Update sources file 2021-10-14 13:59:17 +02:00
Arjun Shankar e7c31c4b27 Auto-sync with upstream branch master
Upstream commit: e59ced238482fd71f3e493717f14f6507346741e

- Adjust glibc-ld-readonly-revert.patch.
- x86: Optimize memset-vec-unaligned-erms.S
- x86: Optimize memcmp-evex-movbe.S for frontend behavior and size
- libio: Update tst-wfile-sync to not depend on stdin
- elf: Update audit tests to not depend on stdout
- elf: Fix elf_get_dynamic_info definition
- Add TEST_COMPARE_STRING_WIDE to support/check.h
- Fix nios2 localplt failure
- elf: Remove Intel MPX support (lazy PLT, ld.so profile, and LD_AUDIT)
- resolv: Avoid GCC 12 false positive warning [BZ #28439].
- benchtests: Add medium cases and increase iters in bench-memset.c
- x86: Modify ENTRY in sysdep.h so that p2align can be specified
- resolv: make res_randomid use random_bits()
- Linux: implement getloadavg(3) using sysinfo(2)
- Remove unreliable parts of rt/tst-cpuclock2
- elf: Avoid nested functions in the loader [BZ #27220]
- Add run-time check for indirect external access
- Initial support for GNU_PROPERTY_1_NEEDED
- io: Fix ftw internal realloc buffer (BZ #28126)
- Fix subscript error with odd TZif file [BZ #28338]
2021-10-14 02:33:34 +02:00
Carlos O'Donell 7c3f6c985e Autosync with upstream branch master
Upstream commit: f2e06656d04a9fcb0603802a4f8ce7aa3a1f055e

- S390: Add PCI_MIO and SIE HWCAPs
- support: Also return fd when it is 0
- ld.so: Don't fill the DT_DEBUG entry in ld.so [BZ #28129]
- S390: update libm test ulps
- powerpc: update libm test ulps
- math: Also xfail the new j0f tests for ibm128-libgcc
- y2038: Use a common definition for stat for sparc32
- Fix stdlib/tst-setcontext.c for GCC 12 -Warray-compare
- aarch64: update libm test ulps
- Fixed inaccuracy of j0f (BZ #28185)
- Fix stdio-common tests for GCC 12 -Waddress
- benchtests: Building benchmarks as static executables
- elf: Avoid deadlock between pthread_create and ctors [BZ #28357]
- time: Ignore interval nanoseconds on tst-itimer
- io: Do not skip timestamps tests for 32-bit time_t
- Update to Unicode 14.0.0 [BZ #28390]
2021-10-07 10:03:24 -04:00
Florian Weimer a463a91457 Auto-sync with upstream branch master,
Upstream commit: eae81d70574e923ce3c59078b8df857ae192efa6:

- nptl: pthread_kill must send signals to a specific thread [BZ #28407]
- support: Add check for TID zero in support_wait_for_thread_exit
- nptl: Add CLOCK_MONOTONIC support for PI mutexes
- support: Add support_mutex_pi_monotonic
- nptl: Use FUTEX_LOCK_PI2 when available
- Linux: Add FUTEX_LOCK_PI2
- Add C2X _PRINTF_NAN_LEN_MAX
- Add exp10 macro to <tgmath.h> (bug 26108)
- elf: Replace nsid with args.nsid [BZ #27609]
- Add missing braces to bsearch inline implementation [BZ #28400]
- Update alpha libm-test-ulps
- Suppress -Wcast-qual warnings in bsearch
- elf: Copy l_addr/l_ld when adding ld.so to a new namespace
- powerpc: Fix unrecognized instruction errors with recent binutils
2021-10-01 18:47:58 +02:00
Florian Weimer be77dd73c8 Auto-sync with upstream branch master
Upstream commit: 9bd9978639c2f75dbea5c25226264b1ac11fdf05

- Do not declare fmax, fmin _FloatN, _FloatNx versions for C2X
- Do not define tgmath.h fmaxmag, fminmag macros for C2X (bug 28397)
- Add fmaximum, fminimum functions
- Linux: Simplify __opensock and fix race condition [BZ #28353]
- pthread/tst-cancel28: Fix barrier re-init race condition
- powerpc: Delete unneeded ELF_MACHINE_BEFORE_RTLD_RELOC
- posix: Remove spawni.c
- Disable symbol hack in libc_nonshared.a
- linux: Revert the use of sched_getaffinity on get_nproc (BZ #28310)
- linux: Simplify get_nprocs
- misc: Add __get_nprocs_sched
- htl: Fix sigset of main thread
- htl: make pthread_sigstate read/write set/oset outside sigstate section
- Avoid warning: overriding recipe for .../tst-ro-dynamic-mod.so
- benchtests: Improve reliability of memcmp benchmarks
- Define __STDC_IEC_60559_BFP__ and __STDC_IEC_60559_COMPLEX__
- build-many-glibcs.py: add powerpc64le glibc variant without multiarch
- Fix sysdeps/x86/fpu/s_ffma.c for 32-bit FMA processor case
- Linux: Avoid closing -1 on failure in __closefrom_fallback
- i386: Port elf_machine_{load_address,dynamic} from x86-64
- aarch64: Disable A64FX memcpy/memmove BTI unconditionally
- xsysconf: Only fail on error results and errno set
- powerpc64le: Avoid conflicting types for f64xfmaf128 when IFUNC is not used
- Fix ffma use of round-to-odd on x86
- vfprintf: Unify argument handling in process_arg
- vfprintf: Handle floating-point cases outside of process_arg macro
2021-09-29 20:32:21 +02:00
Florian Weimer 35da738a8e Fix ppc64le build failure by reverting DL_RO_DYN_SECTION removal 2021-09-23 12:36:39 +02:00
Florian Weimer 9fe7756cf7 Auto-sync with upstream branch master
Upstream commit: 2849e2f53311b66853cb5159b64cba2bddbfb854

- nptl: Avoid setxid deadlock with blocked signals in thread exit [BZ #28361]
- Add narrowing fma functions
- ld.so: Replace DL_RO_DYN_SECTION with dl_relocate_ld [BZ #28340]
- Adjust new narrowing div/mul tests for IBM long double, update powerpc ULPs
- Mention today's regex merge in SHARED-FILES
- Fix f64xdivf128, f64xmulf128 spurious underflows (bug 28358)
- regex: copy back from Gnulib
- nptl: Fix type of pthread_mutexattr_getrobust_np,
  pthread_mutexattr_setrobust_np (bug 28036)
- powerpc: Fix unrecognized instruction errors with recent GCC
- elf: Include <sysdep.h> in elf/dl-debug-symbols.S
- nptl: pthread_kill needs to return ESRCH for old programs (bug 19193)
- Extend struct r_debug to support multiple namespaces [BZ #15971]
- Use $(pie-default) with conformtest
- Run conform/ tests using newly built libc
- posix: Fix attribute access mode on getcwd [BZ #27476]
- Fix build-many-glibcs.py --strip for installed library renaming
- benchtests: Fix validate_benchout.py exceptions
- elf: Remove THREAD_GSCOPE_IN_TCB
- htl: Reimplement GSCOPE
- htl: Move thread table to ld.so
- Redirect fma calls to __fma in libm
- time: Fix compile error in itimer test affecting hurd
2021-09-23 11:00:44 +02:00
Martin Cermak 8132174436 CI Gating: Enable baseos-qe.brew-build.scratch-build.validation
Enable baseos-qe.brew-build.scratch-build.validation in RHEL-9 gating.
2021-09-16 13:47:47 +02:00
Florian Weimer 7d28ddf24c Use system CPU count for sysconf(_SC_NPROCESSORS_*) (#1992702) 2021-09-15 12:09:06 +02:00
Florian Weimer 4476c131c3 Auto-sync with upstream branch master
Upstream commit: 2444ce5421c6036a503842d8dd8d93c27aad59ee

- mach lll_lock/unlock: Explicitly request private locking
- elf: Replace most uses of THREAD_GSCOPE_IN_TCB
- Add MADV_POPULATE_READ and MADV_POPULATE_WRITE from Linux 5.14 to
  bits/mman-linux.h
- Update kernel version to 5.14 in tst-mman-consts.py
- configure: Fix check for INSERT in linker script
- iconvconfig: Fix behaviour with --prefix [BZ #28199]
- nptl: Fix race between pthread_kill and thread exit (bug 12889)
- nptl: pthread_kill, pthread_cancel should not fail after exit (bug 19193)
- benchtests: Remove redundant assert.h
- benchtests: Enable scripts/plot_strings.py to read stdin
- Add narrowing square root functions
- _Static_assert needs two arguments for compatibility with GCC before 9
- testrun.sh: Add support for --tool=rpctrace
2021-09-15 11:23:02 +02:00
Martin Cermak b7fe0018cc CI Gating: Fix the decision_context
Based on the discussion [1], the decision context
in gating.yaml needs to change for glibc.

[1] https://pagure.io/fedora-ci/general/issue/263
2021-09-13 10:29:04 +02:00
Patsy Griffin 891183e565 Auto-sync with upstream branch master
Upstream commit: 89dc0372a9055e7ef86fe19be6201fa0b16b2f0e

- Update syscall lists for Linux 5.14
- Fix failing nss/tst-nss-files-hosts-long with local resolver
- MIPS: Setup errno for {f,l,}xstat
- Use Linux 5.14 in build-many-glibcs.py
- locale: Add missing second argument to _Static_assert in C-collate-seq.c
- Update hppa libm-test-ulps
- Add generic C.UTF-8 locale (Bug 17318)
- Add 'codepoint_collation' support for LC_COLLATE.
- AArch64: Update A64FX memset not to degrade at 16KB
- Revert "AArch64: Update A64FX memset not to degrade at 16KB"
- Remove "Contributed by" lines
- Port shared code information from the wiki
- AArch64: Update A64FX memset not to degrade at 16KB
- posix: remove some iso-8859-encoded characters
- configure: Allow LD to be LLD 13.0.0 or above [BZ #26558]
- hurd msync: Drop bogus test
- hurd: Fix typo in msync
2021-09-10 11:23:26 -04:00
Florian Weimer 80230e6916 Auto-sync with upstream branch master
Upstream commit: 3c8b9879cab6d41787bc5b14c1748f62fd6d0e5f

- x86-64: Use testl to check __x86_string_control
- i686: Don't include multiarch memove in libc.a
- support: Add support_wait_for_thread_exit
- Allow #pragma GCC in headers in conformtest
- nptl: Fix tst-cancel7 and tst-cancelx7 race condition (BZ #14232)
- Use support_open_dev_null_range io/tst-closefrom,
  misc/tst-close_range, and posix/tst-spawn5 (BZ #28260)
- support: Add support_open_dev_null_range
- llio.texi: Wording fixes in description of closefrom()
- Fix error message in memmove test to display correct src pointer
2021-08-31 11:34:53 +02:00
Arjun Shankar 9e3889df74 Auto-sync with upstream branch master
Upstream commit: 9926f6e2eeb374cf729d4bb3f092dd4b36a8f861

- elf: Skip tst-auditlogmod-* if the linker doesn't support --depaudit [BZ #28151]
- powerpc: Use --no-tls-get-addr-optimize in test only if the linker supports it
- x86-64: Remove assembler AVX512DQ check
- x86-64: Remove compiler -mavx512f check
- Use __executable_start as the lowest address for profiling [BZ #28153]
- hurd: Fix errlist error mapping
- hurd: Remove old test-err_np.c file
- Fix iconv build with GCC mainline
- rtld: copy terminating null in tunables_strdup (bug 28256)
- mtrace: Fix output with PIE and ASLR [BZ #22716]
- x86-64: Optimize load of all bits set into ZMM register [BZ #28252]
- Update string/test-memmove.c to cover 16KB copy
- elf: Fix missing colon in LD_SHOW_AUXV output [BZ #28253]
- x86: fix Autoconf caching of instruction support checks [BZ #27991]
- arm: Simplify elf_machine_{load_address,dynamic}
- riscv: Drop reliance on _GLOBAL_OFFSET_TABLE_[0]
- Remove sysdeps/*/tls-macros.h
2021-08-25 22:54:04 +02:00
Siddhesh Poyarekar 94957f0655 Disable dependencies and linking for libc_malloc_debug.so
Do not provide anything from libc_malloc_debug.so and do not allow
linking against it.

Resolves: #1985048
2021-08-24 19:30:06 +05:30
DJ Delorie a5d3c595e7 Auto-sync with upstream branch master
Upstream commit: b37b75d269883a2c553bb7019a813094eb4e2dd1

- x86_64: Simplify elf_machine_{load_address,dynamic}
- elf: Drop elf/tls-macros.h in favor of __thread and tls_model attributes [BZ #28152] [BZ #28205]
- hurd: Drop fmh kludge
- time: Fix overflow itimer tests on 32-bit systems
- mips: increase stack alignment in clone to match the ABI
- mips: align stack in clone [BZ #28223]
2021-08-17 16:41:43 -04:00
Arjun Shankar 420fe1da66 Auto-sync with upstream branch master
Upstream commit: 4cc79c217744743077bf7a0ec5e0a4318f1e6641

- librt: add test (bug 28213)
- mtrace: Use a static buffer for printing [BZ #25947]
- hurd mmap: Reduce the requested max vmprot
- hurd mmap: Factorize MAP_SHARED flag check
- aarch64: Make elf_machine_{load_address,dynamic} robust [BZ #28203]
- elf: Unconditionally use __ehdr_start
- hurd: Add support for AT_NO_AUTOMOUNT
- [5/5] AArch64: Improve A64FX memset medium loops
- [4/5] AArch64: Improve A64FX memset by removing unroll32
- [3/5] AArch64: Improve A64FX memset for remaining bytes
- [2/5] AArch64: Improve A64FX memset for large sizes
- [1/5] AArch64: Improve A64FX memset for small sizes
- Use binutils 2.37 branch in build-many-glibcs.py
- Add PTRACE_GET_RSEQ_CONFIGURATION from Linux 5.13 to sys/ptrace.h
- librt: fix NULL pointer dereference (bug 28213)
- powerpc64: Add checks for Altivec and VSX in ifunc selection
- powerpc64: Check cacheline size before using optimised memset routines
- powerpc64: Replace some PPC_FEATURE_HAS_VSX with PPC_FEATURE_ARCH_2_06
- Linux: Fix fcntl, ioctl, prctl redirects for _TIME_BITS=64 (bug 28182)
- Add INADDR_DUMMY from Linux 5.13 to netinet/in.h
- tst-mxfast: Don't run with mcheck
- rt: Set the correct message queue for tst-mqueue10
- Update sparc libm-test-ulps
- linux: Add sparck brk implementation
- test-dlclose-exit-race: avoid hang on pthread_create error
- gethosts: Remove unused argument _type
- hurd: Avoid spurious warning
- gaiconf_init: Avoid double-free in label and precedence lists
- copy_and_spawn_sgid: Avoid double calls to close()
- iconv_charmap: Close output file when done
- gconv_parseconfdir: Fix memory leak
- ldconfig: avoid leak on empty paths in config file
- Fix build of nptl/tst-thread_local1.cc with GCC 12
- nis: Fix leak on realloc failure in nis_getnames [BZ #28150]
- Remove obsolete comments/name from several benchtest input files.
- Remove obsolete comments/name from acos-inputs, since slow path was removed.
- Open master branch for glibc 2.35 development
2021-08-12 15:29:32 +02:00
Florian Weimer 1ecf8017eb Switch to glibc 2.34 release tarball
- Update ChangeLog.old/ChangeLog.23.
- Prepare for glibc 2.34 release.
- po/nl.po: Update Dutch translation.
- Update install.texi, and regenerate INSTALL.
- Update translations.
- Update NEWS.
- NEWS: Fix typos, grammar, and missing words
- elf: Fix audit regression
2021-08-02 08:08:11 +02:00
Siddhesh Poyarekar ca0613665c Port post scripts for gconv-extra to lua and drop dependency across
architectures for x86 multilib (#1988344).

Resolves: #1988344
2021-07-31 01:04:25 +05:30
Florian Weimer 88d9dfdf11 Auto-sync with upstream branch master
Upstream commit: c37fc3ebf0607ce1953c565ffe56d56555eeb25e

- Update libc.pot for 2.34 release.
- x86-64: Add Avoid_Short_Distance_REP_MOVSB
- Typo: Rename HAVE_CLONE3_WAPPER to HAVE_CLONE3_WRAPPER
- build-many-glibcs.py: Add x86_64-linux-gnu-minimal configuration
- tests: use xmalloc to allocate implementation array
- xmalloc: Fix warnings with gcc analyzer
- __cxa_thread_atexit_impl: Abort on allocation failure [BZ #18524]
- manual: Drop the .so suffix in libc_malloc_debug description
- hurd: _Fork: unlock malloc before calling fork child hooks
2021-07-29 09:43:22 +02:00
Florian Weimer bcce160baa Revert to old C.UTF-8 locale 2021-07-27 18:57:57 +02:00
Siddhesh Poyarekar 51ca5d3334 Weaken dependency on glibc-gconv-extra
Bring back dependency weakening on glibc-gconv-extra and have glibc
conditionally depend on it if redhat-rpm-config is present.
2021-07-26 20:32:19 +05:30
Florian Weimer 8f6143c826 Switch to new version of C.UTF-8 locale 2021-07-26 09:26:07 +02:00
Florian Weimer c4a47573b4 Auto-sync with upstream branch master
Upstream commit: ddcc612ce923038b867083a0c55d6e034951155a

- Exclude static tests for mcheck and malloc-check
- i386: Regenerate ulps
2021-07-26 07:46:13 +02:00
Florian Weimer 95bdbb905d Auto-sync with upstream branch master
Upstream commit: d34ed66f96fa9316654d7adb2afcce4be1d1c4f5

- manual: Document unsupported cases for interposition
- x86: Install <bits/platform/x86.h> [BZ #27958]
- Fix build and tests with --disable-tunables
2021-07-24 17:24:48 +02:00
Florian Weimer 44bdf7a54c Remove both old and new library names in glibc-hwcaps removal (#1983677) 2021-07-24 12:23:35 +02:00
Florian Weimer ac81c2f6e6 Auto-sync with upstream branch master
Upstream commit: 9a7ab0769b295cbf5232140401742a8f34bda3de

- hurd: Fix glob lstat compatibility
- socket: Add time64 alias for setsockopt
- socket: Add time64 alias for getsockopt
- mcheck Fix malloc_usable_size [BZ #22057]
- Remove malloc hooks [BZ #23328]
- Move malloc_{g,s}et_state to libc_malloc_debug
- glibc.malloc.check: Wean away from malloc hooks
- mtrace: Wean away from malloc hooks
- Simplify __malloc_initialized
- mcheck: Wean away from malloc hooks [BZ #23489]
- Move malloc hooks into a compat DSO
- Remove __morecore and __default_morecore
- Remove __after_morecore_hook
- Make mcheck tests conditional on GLIBC_2.23 or earlier
- posix: Add sysconf(_SC_{MIN,}SIGSTKSZ) support
- malloc: Fix tst-mallocfork3-malloc-check link
- ARC: elf: make type safe
- ARC: fp: (micro)optimize FPU_STATUS read by eliding FWE bit clearing
2021-07-23 09:44:00 +02:00
Florian Weimer d299f6bf48 Revert "Add kludge to stop auto-rebuild during the mass rebuild"
This reverts commit 455e25392f.
2021-07-23 09:34:28 +02:00
Fedora Release Engineering d97901cc98 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-22 01:48:30 +00:00
Florian Weimer 455e25392f Add kludge to stop auto-rebuild during the mass rebuild 2021-07-21 22:35:57 +02:00
Florian Weimer 0dd0190421 Auto-sync with upstream branch master
Upstream commit: 77ede5f010f1b144e067ec035e422a13bb57c55d

- socket: Add time64 alias for sendmsg
- socket: Add time64 alias for recvmsg
- socket: Add time64 alias for sendmmsg
- Linux: Add time64 alias for prctl
- io: Add time64 alias for fcntl
- misc: Add time64 alias for ioctl
- RISC-V: Update rv64 ULPs
- resolv: Do not install libnss_dns.a, libnss_dns.so
- hurd: Add support for spawn_do_closefrom
- elf: Fix tst-cpu-features-cpuinfo on some AMD systems (BZ #28090)
- i386: Add the clone3 wrapper
2021-07-21 13:17:45 +02:00
Florian Weimer 42e2f74269 Remove glibc-hwcaps multilibs on upgrade (#1983677) 2021-07-19 15:59:29 +02:00
Florian Weimer 9b46862a3b Auto-sync with upstream branch master
Upstream commit: ee5ed99922ca90bcea4a2f9a48a0c9ae4b534ece

- nss: Directly load nss_dns, without going through dlsym/dlopen
- resolv: Move nss_dns into libc
- resolv: Move res_query functions into libc
- resolv: Move res_mkquery, res_nmkquery into libc
- resolv: Move res_send, res_nsend into libc
- resolv: Move res_hostalias into its own file, along with hostalias
- resolv: Move __res_context_hostalias into its own file and into libc
- resolv: Move res_queriesmatch to its own file and into libc
- resolv: Move res_nameinquery to its own file and into libc
- resolv: Move ns_samename into its own file, and into libc
- resolv: Move ns_makecanon into its own file, and into libc
- resolv: Move res_isourserver to its own file and reformat to GNU style
- resolv: Move __res_get_nsaddr to its own file and into libc
- resolv: Rename res_comp.c to res-name-checking.c and move into libc
- resolv: Move dn_skipname to its own file and into libc
- resolv: Move dn_comp to its own file and into libc
- resolv: Move _getlong, _getshort, __putlong, __putshort to res-putget
- resolv: Move dn_expand to its own file and into libc
- resolv: Move ns_name_compress into its own file and into libc
- resolv: Move ns_name_pack into its own file and into libc
- resolv: Move ns_name_pton into its own file and into libc
- resolv: Move ns_name_uncompress into its own file and into libc
- resolv: Move ns_name_skip to its own file and into libc (bug 28091)
- resolv: Deprecate legacy interfaces in libresolv
- tst-safe-linking: make false positives even more improbable
- htl: Do not expose pthread hidden proto outside libpthread
- elf: Fix a wrong array access on tst-tls20
- elf: Add -Wl,--no-as-needed for tst-tls-manydynamic*mod-dep-bad.so (BZ #28089)
- resolv: Move ns_name_unpack to its own file and into libc
- resolv: Remove unnecessary res_isourserver_p call from send_dg
- resolv: Move ns_name_ntop to its own file and into libc
- nss_dns: Do not use deprecated packet parsing functions
- resolv: Sort Makefile routines and Versions lexicographically
- socket: Add hidden prototype for setsockopt
- elf: Fix DTV gap reuse logic (BZ #27135)
- Fix linknamespace errors and local-plt-usages in nss_files.
- Add static tests for __clone_internal
- x86-64: Add the clone3 wrapper
- Add an internal wrapper for clone, clone2 and clone3
- nss: Fix build error with --disable-nscd
- htl: Fix linking static examples against libpthread
- htl: Let libc call __pthread_mutex_{,try,un}lock
- posix: Ignore non opened files on tst-spawn5
- mcheck: Align struct hdr to MALLOC_ALIGNMENT bytes [BZ #28068]
2021-07-19 10:35:25 +02:00
Siddhesh Poyarekar d543beb3de Fix some gconv packaging nits
- Run postun only if the main gconv-modules configuration file exists.
  Resolves: #1981013.
- Own %{libdir}/gconv/gconv-modules.d
- Rearrange file list command so that gconv-modules.cache is no longer
  marked as %config
2021-07-15 20:28:22 +05:30
Florian Weimer 7d6321464f Fix incorrect references to #1975895 in %changelog 2021-07-13 16:01:01 +02:00
Florian Weimer 6534cdc8bf Perform systemd re-exec even if glibc.i686 is installed 2021-07-13 15:32:56 +02:00
Florian Weimer 1c62f46f16 Re-exec systemd on upgrades 2021-07-13 14:13:46 +02:00
Florian Weimer 0c7c3bcb8d Auto-sync with upstream branch master
Upstream commit: 72e84d1db22203e01a43268de71ea8669eca2863

- Linux: Use 32-bit vDSO for clock_gettime, gettimeofday, time (BZ# 28071)
- Reduce <limits.h> pollution due to dynamic PTHREAD_STACK_MIN
- Fix failing nss/tst-nss-files-hosts-long.
- nis: nis_local_group may read from __nisgroup[-1] (bug 28075)
- hurd _Fork: Drop duplicate malloc_fork_lock calls
- support: Replace _SC_MINSIGSTKSZ with _SC_SIGSTKSZ
- support: Replace MINSIGSTKSZ with sysconf (_SC_MINSIGSTKSZ)
- Define PTHREAD_STACK_MIN to sysconf(_SC_THREAD_STACK_MIN)
- Force building with -fno-common
- Add a generic malloc test for MALLOC_ALIGNMENT
- Properly run tst-spawn5 directly [BZ #28067]
- build-many-glibcs.py: Add glibcs-arm-linux-gnueabihf-thumb
- nptl: Use out-of-line wake function in __libc_lock_unlock slow path
- powerpc64le: Fix typo in configure
- powerpc64: Remove strcspn ifunc from the loader
- x86: Remove wcsnlen-sse4_1 from wcslen ifunc-impl-list [BZ #28064]
- x86-64: Test strlen and wcslen with 0 in the RSI register [BZ #28064]
- x86_64: Remove unneeded static PIE check for undefined weak diagnostic
- Add NT_ARM_PAC_ENABLED_KEYS to elf.h
- posix: Add posix_spawn_file_actions_addclosefrom_np
- io: Add closefrom [BZ #10353]
- linux: Add close_range
- support: Add support_stack_alloc
- _int_realloc is static
- Move mcheck symbol from stdlib to malloc
- nss: Do not install static linker input files for libnss_files
- elf/tests: Make thrlock and noload depend on libm
- Harden tcache double-free check
- nss: Access nss_files through direct references
- nss_files: Move into libc
- nss_files: Add generic code for set*ent, end*ent and file open
- nss_files: Allocate nscd file registration data on the heap
- libio: Replace internal _IO_getdelim symbol with __getdelim
- libio: Add hidden prototype for ungetc
- inet: Add hidden prototype for __inet_network
- Update MIPS libm-test-ulps
- Update powerpc-nofpu libm-test-ulps
- soft-fp: Add __extendhfsf2/__extendhfdf2, __truncsfhf2/__truncdfhf2,
  __eqhf2/__nehf2
- Update kernel version to 5.13 in tst-mman-consts.py
- tests-exclude-mcheck: Fix typo
2021-07-12 23:20:23 +02:00
Florian Weimer f63ef9c9d9 Auto-sync with upstream branch master
Upstream commit: 7a5db2e82fbb6c3a6e3fdae02b7166c5d0e8c7a8

- elf: Clean up GLIBC_PRIVATE exports of internal libdl symbols
- nptl: Reduce the GLIBC_PRIVATE ABI
- nptl: Remove GLIBC_2.34 versions of __pthread_mutex_lock,
  __pthread_mutex_unlock
- nptl: Use internal low-level lock type for !IS_IN (libc)
- glibc.malloc.check: Fix nit in documentation
- Exclude tst-realloc from tests-mcheck
- linux: Fix setsockopt fallback
- linux: Use the expected size for SO_TIMESTAMP{NS} convertion
- linux: Consolidate Linux setsockopt implementation
- linux: Consolidate Linux getsockopt implementation
- manual: fix description for preadv()
2021-07-07 09:38:01 +02:00
Florian Weimer 3d96f5f94f Auto-sync with upstream branch master
Upstream commit: 832f50be6c9c010e46180d14126bbb81f35e808c

- linux: Check for null value msghdr struct before use
- elf: Call free from base namespace on error in dl-libc.c [BZ #27646]
2021-07-06 14:35:13 +02:00
Florian Weimer 8479d6740a Auto-sync with upstream branch master
Upstream commit: 91fb0f17a5779da6e7877eb74119a83dbe8bf167

- hooks.c: Remove incorrect comment
- mtrace: Add attribute nocommon to mallwatch
- Move glibc.malloc.check implementation into its own file
- mtrace: Deprecate mallwatch and tr_break
- Drop source dependencies on hooks.c and arena.c
- malloc: Initiate tcache shutdown even without allocations [BZ #28028]
- Add mcheck tests to malloc
- iconvconfig: Use the public feof_unlocked
- resolv: Move libanl into libc (if libpthread is in libc)
- powerpc: optimize strcpy/stpcpy for POWER9/10
- soft-fp: Add __extendhfxf2 and __truncxfhf2
- x86: Check RTM_ALWAYS_ABORT for RTM [BZ #28033]
- Update syscall lists for Linux 5.13
- s390: Fix MEMCHR_Z900_G5 ifunc-variant if n>=0x80000000 [BZ #28024]
- Fix extra PLT reference in libc.so due to __glob64_time64 if build with gcc 7.5 on 32bit.
- AArch64: Add hp-timing.h
- AArch64: Improve strnlen performance
2021-07-05 06:00:05 +02:00
Florian Weimer b4f030ae95 Auto-sync with upstream branch master
Upstream commit: eb68d7d23cc411acdf68a60f194343a6774d6194

- Linux: Avoid calling malloc indirectly from __get_nprocs (#1975693)
- Use Linux 5.13 in build-many-glibcs.py
2021-06-30 17:51:11 +02:00
Florian Weimer afd298e6eb Auto-sync with upstream branch master
Upstream commit: 734c60ebb607086ad6d67b2544d6b7baba72a652

- login: Move libutil into libc
- login: Rework hidden prototypes for __setutent, __utmpname, __endutent
- login: Hidden prototypes for _getpt, __ptsname_r, grantpt, unlockpt
- nptl_db: Re-use the ELF-to-abilist converter for ABI checking
- Add RFC 8335 Definitions from Linux 5.13
- nss: Fix NSS_DECLARE_MODULE_FUNCTIONS handling of _nss_*_endnetgrent
- s390x: Update math: redirect roundeven function
- posix: Add _Fork [BZ #4737]
2021-06-30 10:05:05 +02:00
Florian Weimer d7e27f5895 Move librt.a to glibc-devel (#1977058) 2021-06-28 22:47:46 +02:00
Florian Weimer 2be319ff45 Upload glibc-2.33.9000-826-gdd45734e32.tar.xz 2021-06-28 19:55:57 +02:00
Florian Weimer 21ebc4cbaa Auto-sync with upstream branch master
Upstream commit: dd45734e322a03287d34d8af9b7da7b35cfddb8e

- nptl: Add glibc.pthread.stack_cache_size tunable
- nptl: Export libthread_db-used symbols under GLIBC_PRIVATE
- nptl: Rename nptl_version to __nptl_version
- nptl_db: Clean up main/rtld variable handling
- arm: align stack in clone [BZ 28020]
- Linux: Cleanups after librt move
- Linux: Move timer_settime, __timer_settime64 from librt to libc
- Linux: Move timer_gettime, __timer_gettime64 from librt to libc
- Linux: Move timer_getoverrun from librt to libc
- Linux: Move timer_create, timer_delete from librt to libc
- Linux: Define TIMER_T_WAS_INT_COMPAT in kernel-posix-timers.h
- Install shared objects under their ABI names
- elf: Generalize name-based DSO recognition in ldconfig
- Makerules: Remove lib-version, $(subdir-version)
- nptl_db: Install libthread_db under a regular implementation name
- iconvconfig: Fix multiple issues
- wordexp: handle overflow in positional parameter number (bug 28011)
- Update math: redirect roundeven function
- Use GCC builtins for roundeven functions if desired.
- x86_64: roundeven with sse4.1 support
- math: redirect roundeven function
2021-06-28 19:45:06 +02:00
Florian Weimer d3fad65ba1 Switch to new version of libthread_db .dynsym patch 2021-06-28 12:33:02 +02:00
Florian Weimer 5b63da3fa5 Further .symtab adjustment: Keep all __GI_* symbols (#1975859) 2021-06-28 09:29:49 +02:00
Florian Weimer 4f2dd301cc Keep most of .symtab in libc.so.6 (#1975859) 2021-06-28 07:49:20 +02:00
Martin Cermak 40177ead73 gating.yaml: Allow smooth 1:1 sync between Fedora and c9s 2021-06-28 06:43:17 +02:00
Florian Weimer 0034c1747f Apply emergency patch to fix iconvconfig corruption 2021-06-27 19:07:54 +02:00
Florian Weimer 8142038783 Adjust glibc.req so that egrep does not cause eu-readelf to fail 2021-06-27 18:17:14 +02:00
Florian Weimer 22321f2b31 Auto-sync with upstream branch master
Upstream commit: 2c16cb88a6e5ace0fb7cedca86860ea7bde522a7

- Linux: Move timer helper routines from librt to libc
- Linux: Move mq_unlink from librt to libc
- Linux: Move mq_send, mq_timedsend, __mq_timedsend_time64 to libc
- Linux: Move mq_receive, mq_timedreceive, __mq_timedreceive_time64 to libc
- Linux: Move mq_open, __mq_open_2 from librt to libc
- Linux: Move mq_notify from librt to libc
- Linux: Move mq_getattr from librt to libc
- Linux: Move mq_setattr from librt to libc
- Linux: Move mq_close from librt to libc
- Linux: Move lio_listio, lio_listio64 from librt to libc
- rt: Rework lio_listio implementation
- Linux: Move aio_write, aio_write64 into libc
- Linux: Move aio_suspend, aio_suspend64, __aio_suspend_time64 to libc
- Linux: Move aio_return, aio_return64 into libc
- Linux: Move aio_read, aio_read64 into libc
- Linux: Move aio_fsync, aio_fsync64 into libc
- Linux: Move aio_error, aio_error64 into libc
- Linux: Move aio_cancel, aio_cancel64 into libc
- Linux: Move aio_init from librt into libc
- support: Fix xclone build failures on ia64 and hppa
- elf: Disable most of TLS modid gaps processing [BZ #27135]
- elf: Fix glibc-hwcaps priorities with cache flags mismatches [BZ #27046]
- * NEWS: Clarify _TIME_BITS change.
- x86: Remove unnecessary overflow check from wcsnlen-sse4_1.S
- String: Add three more overflow tests cases to test-strnlen.c
- Consolidate pthread_atfork
- posix: Do not clobber errno by atfork handlers
- posix: Consolidate fork implementation
- support: Add xclone
- x86: Fix tst-cpu-features-cpuinfo on Ryzen 9 (BZ #27873)
- x86: Copy IBT and SHSTK usable only if CET is enabled
- x86: Fix overflow bug in wcsnlen-sse4_1 and wcsnlen-avx2 [BZ #27974]
- x86: Fix overflow bug with wmemchr-sse2 and wmemchr-avx2 [BZ #27974]
- String: Add overflow tests for strnlen, memchr, and strncat [BZ #27974]
- x86-64: Add wcslen optimize for sse4.1
- x86-64: Move strlen.S to multiarch/strlen-vec.S
- hurd: Fix build after 52a5fe70a2
- nptl: Use SA_RESTART for SIGCANCEL handler
- doc: _TIME_BITS defaults may change
- More mcheck -> malloc-check refactoring
- Add NEWS item for gconv-modules.d change
- Handle DT_UNKNOWN in gconv-modules.d
- iconvconfig: Use common gconv module parsing function
- gconv_conf: Split out configuration file processing
- gconv_conf: Remove unused variables
- iconv: Remove alloca use in gconv-modules configuration parsing
- Remove unsused symbols from nptl/Versions
- linux: Only use 64-bit syscall if required for clock_nanosleep
- linux: Only use 64-bit syscall if required for internal futex
- linux: Only use 64-bit syscall if required for utimensat family
- linux: Only use 64-bit syscall if required for sigtimedwait
- linux: Only use 64-bit syscall if required for mq_timedsend
- linux: Only use 64-bit syscall if required for mq_timedreceive
- linux: Only use 64-bit syscall if required for timerfd_settime
- linux: Only use 64-bit syscall if required for semtimedop
- linux: timerfd_gettime minor cleanup
- linux: Remove time64-support
- linux: Remove supports_time64 () from clock_gettime
- linux: Remove supports_time64 () from clock_getres
- linux: Only use 64-bit syscall if required for select
- linux: Only use 64-bit syscall if required for pselect
- linux: Only use 64-bit syscall if required for ppoll
- support: Add support_create_timer
- Use 64 bit time_t stat internally
- malloc: Drop __malloc_initialized from Versions
- tst-mcheck: Rename to tst-malloc-check
- Add hidden prototypes for fsync, fdatasync
- nptl: Move pthreadP.h into sysdeps directory
- rt: Move generic implementation from sysdeps/pthread to rt
- rt: Move shm_unlink into libc
- rt: Move shm_open into libc
- rt: Replace generic stub of shm_unlink with the posix version
- rt: Replace generic stub of shm_open with the posix version
- Fix librt-routines-var issues for !PTHREAD_IN_LIBC
- rt: Lexicographically sort Versions file; librt-routines in Makefile
- elf: Use _dl_catch_error from base namespace in dl-libc.c [BZ #27646]
- Makeconfig: Fix time64-compat.mk target
2021-06-27 17:36:14 +02:00
Florian Weimer 700394c8ed Add automatic requires if building against glibc development snapshots 2021-06-27 15:11:49 +02:00
Carlos O'Donell 947a02c4ad Fix thread local storage corruption (#1974970) 2021-06-24 11:32:41 -04:00
Siddhesh Poyarekar 063fe63eaf Strengthen dependency on glibc-gconv-extra
Have glibc require glibc-gconv-extra for now until we figure out a way
to do this with minimal external impact.
2021-06-22 19:56:05 +05:30
Florian Weimer c20fde6a69 Make glibc-all-langpacks require glibc-gconv-extra in buildroots (#1973663) 2021-06-18 16:13:03 +02:00
Florian Weimer 52d0948022 Export libthread_db symbols under GLBIC_PRIVATE (#1965374) 2021-06-17 20:31:32 +02:00
Florian Weimer 14d5c92a57 Redo the crafted libc.so.6 symbol table for valgrind (#1965374) 2021-06-17 14:48:39 +02:00
Florian Weimer 654f636b32 Remove .symtab from libc.so.6 again (#1965374)
Apparently, debugedit changes the build ID, so the separated debuginfo
no longer matches the specially crafted copy of libc.so.6 with its
minimal .symtab.
2021-06-17 10:31:26 +02:00
Florian Weimer b5405a57ad Drop glibc-rh697421.patch (#1972520) 2021-06-17 09:31:35 +02:00
Florian Weimer f184f15f91 Update NVR for rebuild against rawhide gcc 2021-06-16 06:59:22 +02:00
Florian Weimer 07558826b7 Auto-sync with upstream branch master
Upstream commit: aa9a7f629632c9180de89632d4f2c1e6039f7781

- nptl: Export _pthread_cleanup_push, _pthread_cleanup_pop again
- s390x: Align child stack while clone. [BZ #27968]
- y2038: Add test coverage
- libsupport: Add 64-bit time_t support for stat functions
- libsupport: Add 64-bit time_t support for time functions
- io: Add ftw64 with 64-bit time_t support
- io: Add fts64 with 64-bit time_t support
- posix: Add glob64 with 64-bit time_t support
- y2038: Add support for 64-bit time on legacy ABIs
- time: Add 64-bit time support for getdate
- y2038: Add __USE_TIME_BITS64 support for socket-constants.h
- y2038: Use a common definition for shmid_ds
- y2038: Use a common definition for semid_ds
- y2038: Use a common definition for msqid_ds
- y2038: Use a common definition for stat
- y2038: linux: Add __USE_TIME_BITS64 support for struct timex
- y2038: Add __USE_TIME_BITS64 support for struct utimbuf
- y2038: Add __USE_TIME_BITS64 support for struct timespec
- y2038: Add __USE_TIME_BITS64 support for struct timeval
- y2038: Add __USE_TIME_BITS64 support for time_t
- linux: Add recvvmsg fallback for 64-bit time_t SO_TIMESTAMP{NS}
- linux: Add fallback for 64-bit time_t SO_TIMESTAMP{NS}
- linux: Add fallback for 64-bit time_t SO_{RCV,SND}TIMEO
- linux: s390: Add libanl.abilist in s390 and s390x
- linux: mips: Split libanl.abilist in n32 and n64
- linux: mips: Split librt.abilist in n32 and n64
- Reinstate gconv-modules as the default configuration file
2021-06-15 22:15:31 +02:00
Florian Weimer 027b24e17f Preserve some symbols in libc.so.6's symtab (#1965374) 2021-06-15 17:09:29 +02:00
Florian Weimer fd5c07ba69 Install shared objects under their ABI names, avoiding symlinks (#1652867)
This adds patches proposed upstream to enable downgrades across
major glibc versions.

File list construction and the find-debuginfo.sh wrapper had
to be adjusted to cope with the changed file name patterns.
2021-06-15 14:26:40 +02:00
Siddhesh Poyarekar 222c141c85 Add a conditional dependency for glibc-gconv-extra.i686 in x86_64 2021-06-14 18:46:16 +05:30
Siddhesh Poyarekar 6758377541 Auto-sync and build new glibc-gconv-extra package
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
2021-06-14 11:15:03 +05:30
Florian Weimer 2f717376f3 Auto-sync with upstream branch master
Upstream commit: 466c1ea15f461edb8e3ffaf5d86d708876343bbf

- dlfcn: Rework static dlopen hooks
- dlfcn: Eliminate GLIBC_PRIVATE dependency from tststatic2
- dlfcn: Cleanups after -ldl is no longer required
- dlfcn: Move dlopen into libc
- dlfcn: Move dlvsym into libc
- dlfcn: Move dlinfo into libc
- dlfcn: Move dladdr1 into libc
- dlfcn: Move dlmopen into libc
- dlfcn: Move dlsym into libc
- dlfcn: Move dladdr into libc
- dlfcn: Move dlclose into libc
- Improve test coverage of strlen function
- fix typo
- dlfcn: Move dlerror into libc
- Add libc ABI extension kludge for baseline-violating libdl symbols
- scripts/versions.awk: Add local: * to all version nodes
- Add missing symbols to Version files
- Fix use of __pthread_attr_copy in mq_notify (bug 27896)
- Use __pthread_attr_copy in mq_notify (bug 27896)
- Update floating-point feature test macro handling for C2X
- stdio-common: Remove _IO_vfwscanf
- aarch64: align stack in clone [BZ #27939]
- powerpc: Optimized memcmp for power10
- x86-64: Align child stack to 16 bytes [BZ #27902]
2021-06-03 11:00:18 +02:00
Florian Weimer d0b9f50b05 Auto-sync with upstream branch master
Upstream commit: 271ec55d0ae795f03d92e3aa61bff69a31a19e3a

- support: Do not build xpthread_attr_setaffinity_np for hurd
- nptl: Add pthread_attr_setaffinity_np failure test
- support: Add xpthread_attr_setaffinity_np wrapper
- nptl: Move createthread to pthread_create
- nptl: Move Linux createthread to nptl
- nptl: Install SIGSETXID handler with SA_ONSTACK [BZ #27914]
- aarch64: Added optimized memset for A64FX
- aarch64: Added optimized memcpy and memmove for A64FX
- benchtests: Fixed bench-memcpy-random: buf1: mprotect failed
- aarch64: Added Vector Length Set test helper script
- aarch64: define BTI_C and BTI_J macros as NOP unless HAVE_AARCH64_BTI
- config: Added HAVE_AARCH64_SVE_ASM for aarch64
- tst-mallinfo2.c: Use correct multiple for total variable
2021-05-31 10:12:30 +02:00
Florian Weimer 65fd804c4a nptl: Install SIGSETXID handler with SA_ONSTACK [BZ #27914] 2021-05-26 08:25:19 +02:00
Florian Weimer 8aee7e3563 Auto-sync with upstream branch master
Upstream commit: ac0353af81a23535f517586a5d04427120a157ac

- This removes libpthread as a separate shared object.  New programs
  will depend on the GLIBC_2.34 symbol version.  Upstream development
  brings in the following noteworthy bug fixes:
- ppc64le: scv ABI error handling fails to check IS_ERR_VALUE (#1962971)
- CVE-2021-27645 glibc: Use-after-free in addgetnetgrentX function in
  netgroupcache.c (#1932590)
- Linking the main program with jemalloc causes sysconf to deadlock in
  audit mode (#1909920)
2021-05-25 17:44:47 +02:00
Florian Weimer f6682c9bac Reenable arch-full glibc-headers package for ELN (#1940686) 2021-05-21 19:45:03 +02:00
Florian Weimer 79751685db wrap-find-debuginfo.sh: Enable separate debugedit program 2021-05-21 16:22:23 +02:00
Florian Weimer 3af4a41203 glibc-2.33.9000-7.fc35 2021-05-21 16:05:18 +02:00
Jeremy Linton b84da5c20e redhat: Enable glic memory tagging for aarch64
Glibc on arm has a memory tagging option that can be enabled
via GLIBC_TUNABLES="glibc.mem.tagging=$SOMETHING" when glibc
is built with memory tagging support and the kernel/HW supports
MTE. This should be side effect free unless the user turns it
on with approprate HW support.

Signed-off-by: Jeremy Linton <jeremy.linton@arm.com>
2021-05-21 14:03:16 +00:00
Florian Weimer 8d4b53ceef Switch to the distribution debuginfo generation mechanism
This needs a wrapper script around find-debuginfo.sh, so that
ld.so is not stripped.

This commit resolves debuginfo file conflicts (#1886295) because
the ldconfig debuginfo file now includes the architecture name.
All debugging information is preserved in ld.so (#1905611).  With
the distribution defaults, we strip all binaries again (#1661510).
2021-05-11 17:30:04 +02:00
Florian Weimer f0cbcb3912 Remove spec file support for power9 multilib
This is not used in Fedora, and downstream removed the multilib
as well.
2021-05-07 12:01:04 +02:00
Florian Weimer caadb46589 Build locales in parallel again
Use the hardlink program (now part of util-linux) to normalize
the localedef output, so that hardlink groups do not change between
builds.
2021-05-06 10:59:59 +02:00
Florian Weimer 82b682a380 Various changes to get glibc building again 2021-05-04 16:07:51 +02:00
Florian Weimer 3b6cc2120e Remove unused template.patch file 2021-05-04 08:44:29 +02:00
Florian Weimer 78c735d31e Inherit additional build flags from redhat-rpm-config (#1947894)
This adds additional coverage for aarch64, ppc64le, x86_64.  At
present, these changes have no effect.
2021-04-09 20:47:11 +02:00
Arjun Shankar 9eea788618 Auto-sync with upstream branch master
Upstream commit: f01a61e13872109b3b233158ab664364bd1879bc

- Drop glibc-rh819430.patch; fixed upstream.
- i386: Regenerate ulps
- x86: Add CPU-specific diagnostics to ld.so --list-diagnostics
- x86: Automate generation of PREFERRED_FEATURE_INDEX_1 bitfield
- ld.so: Implement the --list-diagnostics option
- powerpc: Update libm-test-ulps
- tst: Add test for utimes
- tst: Add test for utime
- tst: Add test for futimens
- nptl: __libc_cleanup_push/__libc_cleanup_pop require -fexceptions
- elf: Build __dl_iterate_phdr with unwinding support [BZ #27498]
- nptl: Use <unwind-link.h> for accessing the libgcc_s unwinder
- Implement _Unwind_Resume in libc on top of <unwind-link.h>
- Move sysdeps/gnu/unwind-resume.c to sysdeps/generic/unwind-resume.c
- __frame_state_for: Use <unwind-link.h> for unwinder access
- sparc: Implement backtrace on top <unwind-link.h>
- m68k: Implement backtrace on top of <unwind-link.h>
- i386: Implement backtrace on top of <unwind-link.h>
- arm: Implement backtrace on top of <unwind-link.h>
- backtrace: Implement on top of <unwind-link.h>
- Implement <unwind-link.h> for dynamically loading the libgcc_s unwinder
- Correct buffer end pointer in IO_wdefault_doallocate (BZ #26874)
- aarch64: update ulps.
- Add inputs that generate larger error bounds
- Reduce the statically linked startup code [BZ #23323]
- posix: Falling back to non wide mode in case of encoding error [BZ #14185]
- nptl: Move elision implementations into libc
- NEWS: Add missing bug closures
- added rt to malloc/Depend [BZ #27132]
- x86: Use x86/nptl/pthreaddef.h
- nptl: Move futex-internal into libc
- nptl: Move lowlevellock into libc [BZ #15648]
- nptl: Move futex-internal.c into main nptl directory
- nptl: Reformat Versions
- nptl: Split libpthread-routines into one routine per line
- x86: Remove unused variables for raw cache sizes from cacheinfo.h
- Use Linux 5.11 in build-many-glibcs.py.
- <bits/platform/x86.h>: Correct x86_cpu_TBM
- x86_64/clone.S: Upate comments
- i386/clone.S: Remove redundant EBX load
- aarch64: Remove the unused __read_tp symbol
- build-many-glibcs.py: Use make -O for more consistent log output
2021-03-03 11:22:56 +01:00
Carlos O'Donell 7ae5ae4a36 Auto-sync with upstream branch master
Upstream commit: e9e7f24543e6d1b0a31641f144697e261df6ccd7

- configure: Replace obsolete AC_TRY_LINK with AC_LINK_IFELSE
- configure: Remove obsolete AC_CHECK_TOOL_PREFIX
- configure: Replace obsoleted AC_HELP_STRING with AS_HELP_STRING
- Update syscall lists for Linux 5.11.
- Correct hppa EFD_NONBLOCK, IN_NONBLOCK, SFD_NONBLOCK and TFD_NONBLOCK defines.
- string: Work around GCC PR 98512 in rawmemchr
- tst: time: Provide Y2038 tests for mktime (tst-mktime4.c)
- tst: Provide test for difftime
- tst: Provide test for ctime
- tst: Provide test for sched_rr_get_interval
- S390: Add new hwcap values.
- aarch64: Fix sys/ptrace.h if linux headers are included
- elf: Do not copy vDSO soname when setting up link map
- x86: Remove the extra space between "# endif"
- hurd: Fix fstatfs build failure
- linux: Remove stat-check.c
- linux: Remove overflow.h
- linux: Consolidate internal_statvfs
- linux: Consolidate statvfs implementations
- linux: Consolidate fstatvfs implementations
- linux: Consolidate statfs implementations
- linux: Consolidate fstatfs implementations
- linux: Set LFS statfs as default
- linux: Set default kernel_stat.h to LFS
- linux: Fix STATFS_IS_STATFS64 definition
2021-02-21 23:11:41 -05:00
Martin Cermak f128368393 Enable CI gating
Set up CI gating for Fedora Rawhide, and RHEL-9.
2021-02-18 13:34:18 +00:00
Florian Weimer cc01ada745 Fix up version in %changelog 2021-02-12 17:52:05 +01:00
Florian Weimer 5924084987 Fixup %changelog 2021-02-12 15:25:31 +01:00
Florian Weimer 027c02731b Auto-sync with upstream branch master
Upstream commit: 228f30ab4724d4087d5f52018873fde22efea6e2

- tunables: Disallow negative values for some tunables
- x86: Use SIZE_MAX instead of (long int)-1 for tunable range value
- tunables: Simplify TUNABLE_SET interface
- setrlimit/getrlimit: Use __nonnull to avoid null pointer
- benchtests: Updated json bench-variant attribute
- regex: stop using alloca
- regexec: remove alloca usage in build_trtable
- regex: remove alloca usage on regex set_regs
- malloc: Sync dynarray with gnulib
- misc: Sync cdefs.h with gnulib
- linux: Fix __sem_check_add_mapping search_sem
- linux: Fix __sem_check_add_mapping name length
- Add more ptrace constants for AArch64 and PowerPC.
- strchr: Add additional benchmarks and tests
- x86-64: Refactor and improve performance of strchr-avx2.S
- pthread: Remove alloca usage from __sem_check_add_mapping
- pthread: Refactor semaphore code
- linux: Require /dev/shm as the shared memory file system
- sunrpc: Fix typo in xdr_string comment
- tst: Provide test for ppoll
- tst: Provide test for timerfd related functions
- x86: Add PTWRITE feature detection [BZ #27346]
- nsswitch: return result when nss database is locked [BZ #27343]
- printf: Add smoke tests for long double
- Add NT_ARM_TAGGED_ADDR_CTRL from Linux 5.10 to elf.h.
- argp: Avoid undefined behaviour when invoking qsort().
- argp: Improve comments.
- argp: Don't pass invalid arguments to isspace, isalnum, isalpha, isdigit.
- argp: Don't rely on undefined behaviour of _tolower().
- argp: fix pointer-subtraction bug
- Use binutils 2.36 branch in build-many-glibcs.py.
- manual: Correct description of ENTRY [BZ #17183]
- nptl: Remove private futex optimization [BZ #27304]
- stdio-common: Add a few double formatting tests [BZ #27245]
-  posix/tst-rfc3484: Fix compile failure linking to local __stat64
- i686: Regenerate ULPs
- tst-rtld-list-tunables.sh: Unset glibc tunables
- linux: Remove shmmax check from tst-sysvshm-linux
- x86: Adding an upper bound for Enhanced REP MOVSB.
- Fix version.h for glibc 2.34 development
- Add MS_NOSYMFOLLOW from Linux 5.10 to <sys/mount.h>.
- Move _SC_MINSIGSTKSZ/_SC_SIGSTKSZ entry in NEWS
- libSegFault: Fix printing signal number [BZ #27249]
- hurd TIOCFLUSH: fix fixing argument
- sysconf: Add _SC_MINSIGSTKSZ/_SC_SIGSTKSZ [BZ #20305]
- hurd TIOCFLUSH: Cope BSD 4.1 semantic
- tst-mallinfo2.c: Remove useless trailing semicolon for macro
- elf: Replace a --defsym trick with an object file to be compatible with LLD
- Open master branch for glibc 2.34 development
- Prepare for glibc 2.33 release
- Update NEWS with bugs
- Update translations
- NEWS: Fix typo in CVE-2021-3326 entry
- elf: Fix tests that rely on ld.so.cache for cross-compiling
- NEWS: Mention CVE-2021-3326 (iconv assertion with ISO-20220-JP-3)
- NEWS: Add entry for glibc-hwcaps and deprecate legacy hwcaps
- x86: Properly set usable CET feature bits [BZ #26625]
- Update translations
- Update libc.pot for 2.33 release
- Update ia64 libm-test-ulps
- sh: Update libm-tests-ulps
- ia64: Fix brk call on statup
- Update sparc libm-test-ulps
- Update alpha libm-test-ulps
- powerpc64: Workaround sigtramp vdso return call
- Fix nss/tst-reload2 for systems without PATH_MAX
- nsswitch: do not reload if "/" changes
- elf: Limit tst-prelink-cmp target archs
- CVE-2021-3326: gconv: Fix assertion failure in ISO-2022-JP-3 module (#1921917)
2021-02-12 15:24:42 +01:00
Arjun Shankar c290b45611 Auto-sync with upstream branch master to fix a build failure
Upstream commit: df359a25ba6f6bda06104229fbfe284c1fb30915

- Revert "Make libc symbols hidden in static PIE" [BZ #27237]

The previous auto-sync failed to build due to the above bug.
2021-01-27 13:50:31 +01:00
Arjun Shankar a3f45b39c5 Auto-sync with upstream branch master
Upstream commit: 3725ee39dbd4d7c17fc276b3ea4248cc16e4b522

- benchtests: Do not build bench-timing-type with MODULE_NAME=libc
- aarch64: Fix the list of tested IFUNC variants [BZ #26818]
- Update INSTALL with package versions that are known to work
- aarch64: Move and update the definition of MTE_ENABLED
- Fix misplaced const
- Update C-SKY libm-test-ulps
- manual: Correct argument order in mount examples [BZ #27207]
- linux: mips: Fix getdents64 fallback on mips64-n32
- x86: Properly match CPU features in /proc/cpuinfo [BZ #27222]
- x86-64: Update tst-glibc-hwcaps-2.c for x86-64 baseline
- powerpc64: Select POWER9 machine for the scv instruction
- x86: Check ifunc resolver with CPU_FEATURE_USABLE [BZ #27072]
- Revert "linux: Move {f}xstat{at} to compat symbols" for static build
- aarch64: revert memcpy optimze for kunpeng to avoid performance degradation
- Make libc symbols hidden in static PIE
- csu: Move static pie self relocation later [BZ #27072]
- Use hidden visibility for early static PIE code
- csu: Avoid weak ref for __ehdr_start in static PIE
- configure: Check for static PIE support
- elf: Avoid RELATIVE relocs in __tunables_init
- elf: Make the tunable struct definition internal only
- <sys/platform/x86.h>: Remove the C preprocessor magic
- posix: Fix fnmatch.c on bootstrap
- stdlib: Add testcase for BZ #26241
- posix: Fix regex_internal.h on bootstrap
- Use <startup.h> in __libc_init_secure
- elf: Avoid RELATIVE relocation for _dl_sysinfo
- libmvec: Add extra-test-objs to test-extras
- Hurd: Add rtld-strncpy-c.c
- Update MIPS libm-test-ulps.
- Update arm libm-test-ulps.
- Update powerpc-nofpu libm-test-ulps.
- Update hppa libm-test-ulps
- ARC: nofpu: Regenerate ulps
- ld.so: Add --list-tunables to print tunable values
- math/test-tgmath2: Fix fabs failure when no long double
- x86: Move x86 processor cache info to cpu_features
- Fix x86 build with --enable-tunable=no
- ifuncmain6pie: Remove the circular IFUNC dependency [BZ #20019]
2021-01-26 19:35:17 +01:00
Fedora Release Engineering 5f79bcafc7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 08:15:43 +00:00
Arjun Shankar 1fa03e97ae Introduce new glibc-doc.noarch subpackage (#1346925)
The info pages of The GNU C Library Reference Manual included in the
devel subpackage, were (slightly) increasing the installed size of
systems that required the devel object files but not the manual.

In addition to this, a number of unnecessary files (READMEs, NEWS,
INSTALL, and an example gai.conf) were included in either the main
package or the common subpackage.

This commit introduces a new glibc-doc.noarch subpackage and moves the
info pages from the devel subpackage and the debugger interface
documentation from the main package into glibc-doc.  It also removes all
the unnecessary documentation-like files mentioned above.
2021-01-23 19:16:05 +01:00
Arjun Shankar 8cd6c9ec48 Deprecate nscd (#1905135)
nscd is planned for a phased removal, with deprecation in Fedora 34:
https://fedoraproject.org/wiki/Changes/DeprecateNSCD

... and removal in Fedora 35:
https://fedoraproject.org/wiki/Changes/RemoveNSCD

systemd-resolved is now enabled by default for DNS caching in Fedora,
and sssd is capable of caching the remaining named services that nscd
handles.  It is therefore time to retire nscd in Fedora and move to more
modern named services caches.
2021-01-14 12:20:15 +01:00
Carlos O'Donell b59b2feff0 Auto-sync with upstream branch master
Upstream commit: cf1290064598def8dfeddec3d86d98495aee1fba

- Use the right argument code in unnormal tests
- ldconfig/x86: Store ISA level in cache and aux cache
- elf: work around a gcc bug in elf_get_dynamic_info
- x86: Set header.feature_1 in TCB for always-on CET [BZ #27177]
- posix: consume less entropy on tempname
- Makerules: Do not require startup files for format.lds probe object
- install: Replace scripts/output-format.sed with objdump -f [BZ #26559]
- math: Add BZ#18980 fix back on dbl-64 cosh
- posix: Sync tempname with gnulib [BZ #26648]
- posix: Fix return value of system if shell can not be executed [BZ #27053]
- support: Add xchmod wrapper
- Update STATX_ATTR_DAX value from Linux 5.10.
- riscv: Initialize $gp before resolving the IRELATIVE relocation
- riscv: support GNU indirect function
- posix: Correct attribute access mode on readlinkat [BZ #27024].
-  Add xfchmod to libsupport
- Add xchdir to libsupport.
- POSIX locale: Fix typo in comment
- ARC: Regenerate ulps
- mntent: Use __putc_unlocked instead of fputc_unlocked
- aarch64: define PI_STATIC_AND_HIDDEN
- Update NEWS for CVE-2019-25013.
- x86: Support GNU_PROPERTY_X86_ISA_1_V[234] marker [BZ #26717]
- Remove dbl-64/wordsize-64 (part 2)
- Remove dbl-64/wordsize-64
- Add SEGV_MTEAERR and SEGV_MTESERR from Linux 5.10.
- support: Add support_small_thread_stack_size
- stdlib: Sync canonicalize with gnulib [BZ #10635] [BZ #26592] [BZ #26341] [BZ #24970]
- malloc: Add scratch_buffer_dupfree
- Import filename.h from gnulib
- Import idx.h from gnulib
- alpha: Provide wait4 for static library [BZ #27150]
- aarch64: push the set of rules before falling into slow path
- nptl: Fix comment typo in pthread_cond_wait.c
- x86: Check IFUNC definition in unrelocated executable [BZ #20019]
- hurd: Fix mmap(!MAP_FIXED) on bogus address
2021-01-13 14:55:34 -05:00
Florian Weimer dfda51ee29 Auto-sync with upstream branch master
Upstream commit: 3ec5d83d2a237d39e7fd6ef7a0bc8ac4c171a4a5

- Drop glibc-fedora-__libc_multiple_libcs.patch.  Replaced by upstream's
  __libc_initial flag.
- Adjust glibc-rh819430.patch to upstream's gnulib merge of fnmatch.
- Disable -Werror again due to GCC PR98512.
- x86-64: Avoid rep movsb with short distance [BZ #27130]
- aarch64: fix stack missing after sp is updated
- nptl: Remove set*id, set*gid files which are not built
- Drop nan-pseudo-number.h usage from tests
- posix: Sync fnmatch with gnulib
- Sync flexmember.h with gnulib
- Sync intprops.h with gnulib
- posix: Sync glob code with gnulib
- posix: Sync regex code with gnulib
- Move generic nan-pseudo-number.h to ldbl-96
- Sync FDL from https://www.gnu.org/licenses/fdl-1.3.texi
- Sync move-if-change from Gnulib
- Update automatically-generated copyright dates
- Update copyright dates not handled by scripts/update-copyrights.
- Update copyright dates with scripts/update-copyrights
- aarch64: use PTR_ARG and SIZE_ARG instead of DELOUSE
- nonstring: Enable __FORTIFY_LEVEL=3
- string: Enable __FORTIFY_LEVEL=3
- Introduce _FORTIFY_SOURCE=3
- Warn on unsupported fortification levels
- powerpc: Use scv instruction on clone when available
- powerpc: Runtime selection between sc and scv for syscalls
- malloc: preserve errno on mcheck hooks [BZ #17924]
- x86 long double: Add tests for pseudo normal numbers
- x86 long double: Consider pseudo numbers as signaling
- io: Remove xmknod{at} implementations
- io: Remove xstat implementations
- free: preserve errno [BZ#17924]
- hurd: Accept including hurd/version.h
- hurd: Add WSTOPPED/WCONTINUED/WEXITED/WNOWAIT support [BZ #23091]
- support: Make support_process_state_wait wait less
- hurd: set sigaction for signal preemptors in arch-independent file
- hurd: Fix spawni SPAWN_XFLAGS_TRY_SHELL with empty argv
- hurd: Try shell in posix_spawn* only in compat mode
- Remove _ISOMAC check from <cpu-features.h>
- x86: Remove the duplicated CPU_FEATURE_CPU_P
- Partially revert 681900d29683722b1cb0a8e565a0585846ec5a61
- x86 long double: Support pseudo numbers in isnanl
- x86 long double: Support pseudo numbers in fpclassifyl
- MTE: Do not pad size in realloc_check
- tests-mcheck: New variable to run tests with MALLOC_CHECK_=3
- elf: Account for glibc-hwcaps/ prefix in _dl_important_hwcaps
- misc: Use __ferror_unlocked instead of ferror
- s390x: Regenerate ulps
- powerpc: Regenerate ulps
- addmntent: Remove unbounded alloca usage from getmntent [BZ#27083]
- <sys/platform/x86.h>: Add Intel LAM support
- i386: Regenerate ulps
- aarch64: update ulps.
- aarch64: Add aarch64-specific files for memory tagging support
- aarch64: Add sysv specific enabling code for memory tagging
- linux: Add compatibility definitions to sys/prctl.h for MTE
- malloc: Basic support for memory tagging in the malloc() family
- elf: Add a tunable to control use of tagged memory
- config: Allow memory tagging to be enabled when configuring glibc
- alpha: Remove anonymous union in struct stat [BZ #27042]
- add inputs to auto-libm-test-in yielding larger errors (binary64, x86_64)
- m68k: fix clobbering a5 in setjmp() [BZ #24202]
- iconv add iconv_close before the function returned with bad value.
- iconv: use iconv_close after iconv_open
- Fix buffer overrun in EUC-KR conversion module (bz #24973)
- hurd: Make trampoline fill siginfo ss_sp from sc_uesp
- Hurd: make sigstates hold a reference on thread ports
- profil-counter: Add missing SIGINFO case
- hurd: implement SA_SIGINFO signal handlers.
- hurd: Fix ELF_MACHINE_USER_ADDRESS_MASK value
- hurd: Note when the vm_map kernel bug was fixed
- hurd: Also turn KERN_INVALID_ADDRESS to EINVAL
- ieee754: Remove unused __sin32 and __cos32
- ieee754: Remove slow paths from asin and acos
- getenv: Move call to strlen to the branch it's used in.
- Update kernel version to 5.10 in tst-mman-consts.py.
- s390x: Require GCC 7.1 or later to build glibc.
- malloc: Use __libc_initial to detect an inner libc
- Replace __libc_multiple_libcs with __libc_initial flag
- {nptl,htl}/semaphoreP.h: clean up
- htl: Get sem_open/sem_close/sem_unlink support [BZ #25524]
- pthread: Move semaphore initialization for open to semaphoreP.h
- Mark __libc_freeres_fn as used [BZ #27002]
- Update syscall lists for Linux 5.10.
- htl: Add pshared semaphore support
- hurd: Add LLL_PRIVATE and LLL_SHARED
- hurd: Add __libc_open and __libc_close
- htl: Add futex-internal.h
- hurd: Add __lll_abstimed_wait_intr
- hurd: make lll_* take a variable instead of a ptr
- hurd: Rename LLL_INITIALIZER to LLL_LOCK_INITIALIZER
- Use Linux 5.10 in build-many-glibcs.py.
2021-01-08 19:24:09 +01:00
DJ Delorie 2410c90637 Fix conditionals for _enable_debug_packages and benchtests [BZ #1902514]
Note: valgrind requires either internal or external symbol tables so
it's skipped if we're disabling debug packages, as ld-linux.so is
normally stripped.
2020-12-16 16:20:12 -05:00
Patsy Griffin d5ff3061a2 Auto-sync with upstream branch master
Upstream commit: 4d0985543f479a6f421d4d8a9e0d1dc71c9c2c53

- elf: Record libc.so link map when it is the main program (bug 20972)
- Use GMP 6.2.1 in build-many-glibcs.py.
- aarch64: remove the strlen_asimd symbol
- aarch64: fix static PIE start code for BTI [BZ #27068]
- elf: Fix failure handling in _dl_map_object_from_fd
- elf: inline lose for error handling
- Remove strtoimax, strtoumax, wcstoimax, wcstoumax inlines
- nsswitch: handle missing actions properly
- x86: Remove the default REP MOVSB threshold tunable value [BZ #27061]
- elf.h: Remove SHF_GNU_BUILD_NOTE.
- elf.h: fix spelling typos in comments
- Fix spelling and grammar in several comments
- malloc: Detect infinite-loop in _int_free when freeing tcache [BZ#27052]
- elf: Fix dl-load.c
- elf: Include libc.so.6 as main program in dependency sort (bug 20972)
- support: Add support_slibdir_prefix variable
- aarch64: Use mmap to add PROT_BTI instead of mprotect [BZ #26831]
- elf: Pass the fd to note processing
- elf: Move note processing after l_phdr is updated
- aarch64: align address for BTI protection [BZ #26988]
- aarch64: Fix missing BTI protection from dependencies [BZ #26926]
- Fix linknamespace errors in nss_database.c if build with -Os.
- treewide: fix incorrect spelling of indices in comments
- linux: Consolidate brk implementation
- elf: Include <sys/param.h> in cache.c
- s390x: Add glibc-hwcaps support
- elf: Fix run-time dependencies of tst-dlopen-fail-2
- Handle out-of-memory case in svc_tcp.c/svc_unix.c:rendezvous_request.
- elf: Fix incorrect comparison in sort_priorities_by_name
- S390: Derive float_t from FLT_EVAL_METHOD
- Fix parsing of /sys/devices/system/cpu/online (bug 25859)
- Make strtoimax, strtoumax, wcstoimax, wcstoumax into aliases
- Fixed typos in "NEWS for version 2.32"
- Add NEWS entry for CVE-2020-29562 (BZ #26923)
- iconv: Fix incorrect UCS4 inner loop bounds (BZ#26923)
- Drop glibc-rh1906066 and glibc-rh741105 patches fixed by sync.
2020-12-15 23:50:02 -05:00
Florian Weimer 525dee4c87 Re-enable -Werror everywhere (#1888246)
This effectively reverts commit d8a810a777.
2020-12-14 10:43:47 +01:00
DJ Delorie ff63fb2e4b nsswitch: handle missing actions properly
Temporary fix for https://bugzilla.redhat.com/show_bug.cgi?id=1906066
2020-12-10 01:29:30 -05:00
Arjun Shankar e7821ea716 Auto-sync with upstream branch master
Upstream commit: 088e9625378f25607acff3daf7a79cbdee497043

- x86: Rename readelflib.c
- nsswitch: use new internal API (callers)
- nsswitch: user new internal API (tests)
- nsswitch: use new internal API (core)
- nss: Implement <nss_database.h>
- <nss_action.h>: New abstraction for combining NSS modules and NSS actions
- nss: Introduce <nss_module.h>
- Add scripts/move-symbol-to-libc.py
2020-12-07 16:24:56 +01:00
Arjun Shankar 35514a8116 Update sources file 2020-12-04 17:49:50 +01:00
Arjun Shankar 8f61d411e6 Auto-sync with upstream branch master
Upstream commit: 4c38c1a229bc3628269ad98bd7e8d31d118d91f6

- Drop glibc-revert-fxstat-compat.patch; applied upstream.
- Drop glibc-revert-mknod-compat.patch; applied upstream.
- powerpc64le: Add glibc-hwcaps support
- x86: Adjust tst-cpu-features-supports.c for GCC 11
- x86: Set RDRAND usable if CPU supports RDRAND
- elf: Add missing <stddef.h> header to elf/dl-hwcaps.h
- lowlevellock-futex: Remove not used macros
- futex: Remove not used futex_reltimed_wait{_cancelable}
- y2038: Convert gai_suspend to support 64 bit time
- symbols: Add defines for libanl's libanl_hidden_{def|proto}
- x86_64: Add glibc-hwcaps support
- elf: Add glibc-hwcaps subdirectory support to ld.so cache processing
- elf: Process glibc-hwcaps subdirectories in ldconfig
- elf: Implement tail merging of strings in ldconfig
- elf: Implement a string table for ldconfig, with tail merging
- elf: Add extension mechanism to ld.so.cache
- elf: Add endianness markup to ld.so.cache (bug 27008)
- elf: Add glibc-hwcaps support for LD_LIBRARY_PATH
- elf: Synchronize <elf.h> section header flags with binutils
- x86: Fix THREAD_SELF definition to avoid ld.so crash (bug 27004)
- htl: Add hidden def for __pthread_create/detach
- manual: Clarify File Access Modes section and add O_PATH
- htl: Add missing symbols
- Revert "linux: Move xmknod{at} to compat symbols"
- Revert "linux: Move {f}xstat{at} to compat symbols"
- elf.h: Fix spelling of EM_TILE64 comment
- nptl: Fix __futex_clocklock64 return error check [BZ #26964]
- powerpc64le: ifunc select *f128 routines in multiarch mode
- y2038: Convert aio_suspend to support 64 bit time
- Fix typo in NEWS file
- nptl: Add EOVERFLOW checks for futex calls
- nptl: Fix PTHREAD_PRIO_PROTECT timed lock
- sh: Add sh4 fpu Implies folder
- io: nftw/ftw: Fix stack overflow with large nopenfd [BZ #26353]
- elf: Introduce enum opt_format in the ldconfig implementation
- support: Add support_copy_file
- NEWS entry for commit b4f020c9b408fb3d1d3d4901c4a71839145f8791
- timezone: Change zdump installation to bin directory
- nptl: Return EINVAL for invalid clock for pthread_clockjoin_np
- nptl: Return EINVAL for pthread_mutex_clocklock/PI with CLOCK_MONOTONIC [BZ #26801]
- nptl: Replace lll_futex_wake with futex-internal.h
- nptl: Replace lll_futex_supported_clockid with futex-internal.h
- nptl: Replace lll_futex_{timed_}wait by futex-internal.h
- nptl: Replace lll_timedwait with __futex_abstimed_wait64
- nptl: Replace __futex_clocklock_wait64 with __futex_abstimed_wait64
- nptl: Remove _futex_clock_wait_bitset64
- nptl: Consolidate __futex_abstimed_wait_{cancelable}64
- nptl: Extend __futex_abstimed_wait_cancelable64 comment
- nptl: Remove clockwait_tid
- nptl: Remove futex_wait_cancelable
- nptl: Remove unused internal futex functions
- Mark mtrace tests UNSUPPORTED if bug-ga2.mtrace or tst-leaks2.mtrace are missing
- elf: Fix uninitialized variable for _dl_write
- powerpc: Make PT_THREAD_POINTER available to assembly code
- Use libnss_files.so for tests posix/bug-ga2 and resolv/tst-leaks2 [BZ #26821]
- hurd report-wait: Fix stpcpy usage
- hurd S_msg_report_wait: Fix detecting fd ports
- hurd S_msg_report_wait: Fix reporting ports
- hurd: Fix strcpy calls
- hurd: Fix _S_msg_get/set_env_variable prototype
- hurd: Enable using ifunc
- Add {,sysdep-}ld-library-path make variable
- nptl: Move stack list variables into _rtld_global
- hurd: let _dl_argv and __libc_stack_end be relro
- hurd: Remove some remnants of cthreads
- nanosleep: Pass NULL when rem == NULL on ports with __TIMESIZE != 64
- y2038: Convert thrd_sleep to support 64 bit time
- y2038: Convert mtx_timedlock to support 64 bit time
- y2038: Convert cnd_timedwait to support 64 bit time
- hurd: Drop CLOCK_MONOTONIC change which slipped in
- hurd: make ptsname fail with ENOTTY on non-master-pty
- mach: Add missing assert.h include
- hurd: break relocation loop between libc.so and lib{mach,hurd}user.so
- Remove obsolete defines for HPUX support from fcntl.h and update O_NONBLOCK.
- Remove tls.h inclusion from internal errno.h
- nptl: Eliminate <smp.h> and __is_smp
- powerpc: Eliminate UP macro conditionals
- x86: Remove UP macro.  Define LOCK_PREFIX unconditionally.
- alpha: Remove UP preprocessor conditionals
- hurd: Make sure signals get started
- hurd: initialize libpthread before starting the signal thread
- hurd: Make _hurd_libc_proc_init idempotent
- powerpc: Add optimized stpncpy for POWER9
- powerpc: Add optimized strncpy for POWER9
- Don't use nested function in test-ffs
- Use __builtin___stpncpy_chk when available
- tests: Remove NULL check for an array
- hurd: Move {,f,l}xstat{,at} and xmknod{at} to compat symbols
- hurd: Notify the proc server later during initialization
- htl: Initialize later
- htl: Keep thread signals blocked during its initialization
- htl: Fix spurious symbols in namespaces
- Use O_CLOEXEC in sysconf [BZ #26791]
- struct _Unwind_Exception alignment should not depend on compiler flags
- hurd: keep only required PLTs in ld.so
- hurd: Add missing startup calls
- riscv: Get cache information through sysconf
- RISC-V: Add _dl_start_user.
2020-12-04 15:16:11 +01:00
Florian Weimer a3f3b637ae s390x: Do not rewrite program interpreter symlink (make install is enough) 2020-11-26 11:18:08 +01:00
Carlos O'Donell c626367cc1 Remove glibc-rhbz1869030-faccessat2-eperm.patch workaround.
With the release of Fedora 33 the host systems affected by the
older systemd-nspawn have been updated and the workaround is no
longer required.

Resolve: #1869030
2020-11-10 11:46:29 -05:00
DJ Delorie 98f35706db Auto-sync with upstream branch master
Upstream commit: 75a193b7611bade31a150dfcc528b973e3d46231

- linux: Allow adjtime with NULL argument [BZ #26833]
- aarch64: Add unwind information to _start (bug 26853)
- bsd unlockpt: unlockpt needs to fail with EINVAL, not ENOTTY
- Rearrange bsd_getpt vs bsd_openpt and implement posix_openpt on BSD
- Remove __warndecl
- Remove __warn_memset_zero_len [BZ #25399]
- iconv: Accept redundant shift sequences in IBM1364 [BZ #26224]
- msg: Remove redundant #include <sys/msg.h> header
- tst-setuid1-static-ENV: Add $(common-objpfx)nss [BZ #26820]
2020-11-09 14:15:31 -05:00
Patsy Griffin 2e63496ba6 Auto-sync with upstream branch master
Upstream commit: e156dabc766d6f6f99ce9402999eae380a3ec1f2

- aarch64: Add variant PCS lazy binding test [BZ #26798]
- aarch64: Fix DT_AARCH64_VARIANT_PCS handling [BZ #26798]
- hurd: Correct 'ethenet' spelling
- Avoid -Wstringop-overflow warning in pthread_cleanup_push macros
- Disable spurious -Warray-bounds for ypclnt.c (bug 26687)
- Do not use array parameter to new_composite_name (bug 26726)
- Disable spurious -Wstringop-overflow for setjmp/longjmp (bug 26647)
- malloc debug: fix compile error when enable macro MALLOC_DEBUG > 1
- tst-tcfree2: adjust coding style.
- elf: In ldconfig, extract the new_sub_entry function from search_dir
- Use MPC 1.2.1 in build-many-glibcs.py.
- Argument Syntax: Use "option", @option, and @command.
- elf: Unify old and new format cache handling code in ld.so
- x86: Restore processing of cache size tunables in init_cacheinfo
- Make elf.h header self contained.
- x86: Optimizing memcpy for AMD Zen architecture.
- Hurd: Fix ftime build
- Add IP_RECVERR_RFC4884 and IPV6_RECVERR_RFC4884 from Linux 5.9.
- misc: Add internal __getauxval2 function
- Remove NEWS entry about ftime removal
- time: Add 64-bit time_t support for ftime
- Reinstate ftime and add deprecate message on ftime usage
- Update kernel version to 5.9 in tst-mman-consts.py.
- Amend grammar and add a description
- Fix typo in NEWS file
- Remove timing related checks of time/tst-cpuclock1
- Update syscall lists for Linux 5.9.
- Use Linux 5.9 in build-many-glibcs.py.
- Reword description of SXID_* tunable properties
- New benchtest: pthread locks
- y2038: nptl: Provide __futex_clock_wait_bitset64 to support 64 bit bitset
- C-SKY: Make dynamic linker's name compitable with the older gcc.
- Revert "C-SKY:Fix dynamic linker's name when mfloat-abi=softfp."
- Move vtimes to a compatibility symbol
- y2038: linux: Provide __time64 implementation
- rt: Fix typos in comments in <aio.h>
- C-SKY:Fix dynamic linker's name when mfloat-abi=softfp.
- Drop the glibc-revert-ftime-compat.patch.
2020-11-04 09:07:44 -05:00
DJ Delorie 836c64ba99 Add BuildRequires for perl (malloc/mtrace) if running the testsuite.
malloc/mtrace.pl is a perl script which is used for testing for
leaks throughout the testsuite (tests ending in "-mem" typically).

The "Requires" entry is correctly autodetected.
2020-10-29 22:04:18 -04:00
Carlos O'Donell dbc894098e Add comments about %post and rpm-ostree.
Suggested-by: Colin Walters <walters@redhat.com>
2020-10-29 16:25:30 -04:00
Siddhesh Poyarekar 90ca20fd02 Also revert xmknod and ftime removal 2020-10-21 15:02:05 +05:30
Siddhesh Poyarekar 5a5cbfec77 Revert __fxstat64 symbol removal
This breaks linking with static libraries that may have been built
with an older glibc.
2020-10-21 14:33:57 +05:30
Florian Weimer 42962ebc3d s390x: Inherit z15 build flags from redhat-rpm-config 2020-10-20 12:25:42 +02:00
Patsy Griffin 8c25df8a1d Auto-sync with upstream branch master
Upstream commit: 0f09154c64005e78b61484ae87b5ea2028051ea0

- x86: Initialize CPU info via IFUNC relocation [BZ 26203]
- Add NEWS entry for ftime compatibility move
- support: Add create_temp_file_in_dir
- linux: Add __readdir_unlocked
- linux: Simplify opendir buffer allocation
- linux: Move posix dir implementations to Linux
- linux: Add 64-bit time_t support for wait3
- Move ftime to a compatibility symbol
- linux: Fix time64 support for futimesat
- linux: Use INTERNAL_SYSCALL on fstatat{64}
- shm tests: Append PID to names passed to shm_open [BZ #26737]
- sysvipc: Fix tst-sysvshm-linux on x32
- x86/CET: Update vfork to prevent child return
- resolv: Serialize processing in resolv/tst-resolv-txnid-collision
- statfs: add missing f_flags assignment
- y2038: Remove not used __fstatat_time64 define
- y2038: nptl: Convert pthread_mutex_{clock|timed}lock to support 64 bit
- sysvipc: Return EINVAL for invalid shmctl commands
- sysvipc: Fix IPC_INFO and SHM_INFO handling [BZ #26636]
- AArch64: Use __memcpy_simd on Neoverse N2/V1
- resolv: Handle transaction ID collisions in parallel queries (bug 26600)
- support: Provide a way to clear the RA bit in DNS server responses
- support: Provide a way to reorder responses within the DNS test server
- Add missing stat/mknod symbol on libc.abilist some ABIs
- manual: correct the spelling of "MALLOC_PERTURB_" [BZ #23015]
- manual: replace an obsolete collation example with a valid one
- rtld: fix typo in comment
- elf: Add missing <dl-procinfo.h> header to elf/dl-usage.c
- hurd: support clock_gettime(CLOCK_PROCESS/THREAD_CPUTIME_ID)
- linux: Move xmknod{at} to compat symbols
- linux: Add {f}stat{at} y2038 support
- linux: Move {f}xstat{at} to compat symbols
- linux: Disentangle fstatat from fxstatat
- linux: Implement {l}fstat{at} in terms of fstatat
- linux: Move the struct stat{64} to struct_stat.h
- Remove mknod wrapper functions, move them to symbols
- Remove stat wrapper functions, move them to exported symbols
- <sys/platform/x86.h>: Add FSRCS/FSRS/FZLRM support
- <sys/platform/x86.h>: Add Intel HRESET support
- <sys/platform/x86.h>: Add AVX-VNNI support
- <sys/platform/x86.h>: Add AVX512_FP16 support
- <sys/platform/x86.h>: Add Intel UINTR support
- elf: Do not pass GLRO(dl_platform), GLRO(dl_platformlen) to _dl_important_hwcaps
- elf: Enhance ld.so --help to print HWCAP subdirectories
- elf: Add library search path information to ld.so --help
- sunrpc: Adjust RPC function declarations to match Sun's (bug 26686]
- Avoid GCC 11 -Warray-parameter warnings [BZ #26686].
- elf: Make __rtld_env_path_list and __rtld_search_dirs global variables
- elf: Print the full name of the dynamic loader in the ld.so help message
- elf: Use the term "program interpreter" in the ld.so help message
- scripts/update-copyrights: Update csu/version.c, elf/dl-usage.c
- elf: Implement ld.so --version
- nptl: Add missing cancellation flags on lockf
- Update mips64 libm-test-ulps
- Update alpha libm-test-ulps
- elf: Implement ld.so --help
- elf: Record whether paths come from LD_LIBRARY_PATH or --library-path
- elf: Move ld.so error/help output to _dl_usage
- elf: Extract command-line/environment variables state from rtld.c
2020-10-18 19:11:55 -04:00
Florian Weimer d8a810a777 Disable -Werror on ELN (#1888246) 2020-10-14 15:29:09 +02:00
Florian Weimer a45fef2f84 Make glibc.spec self-contained for parsing
Store the locales list as a Lua table in the spec file.  Add Lua
code and a new Python script, parse-SUPPORTED.py, to compute
a common representation from it.
2020-10-14 15:19:39 +02:00
Arjun Shankar 1bf34fb3df Update sources file 2020-10-08 15:00:47 +02:00
Arjun Shankar 9a188d169e Auto-sync with upstream branch master
Upstream commit: 72d36ffd7db55ae599f4c77feb0eae25a0f3714e

- Drop glibc-fix-float128-benchtests.patch; applied upstream.
- elf: Implement __rtld_malloc_is_complete
- __vfscanf_internal: fix aliasing violation (bug 26690)
- Revert "Fix missing redirects in testsuite targets"
- nptl: Add missing cancellation flags on futex_internal and pselect32
- elf: Implement _dl_write
- elf: Do not search HWCAP subdirectories in statically linked binaries
- Linux: Require properly configured /dev/pts for PTYs
- Linux: unlockpt needs to fail with EINVAL, not ENOTTY (bug 26053)
- login/tst-grantpt: Convert to support framework, more error checking
- posix: Fix -Warray-bounds instances building timer_create [BZ #26687]
- Replace Minumum/minumum with Minimum/minimum
- Optimize scripts/merge-test-results.sh
- Fix GCC 11 -Warray-parameter warning for __sigsetjmp (bug 26647)
- manual: Fix typo
- y2038: nptl: Convert pthread_rwlock_{clock|timed}{rd|wr}lock to support
  64 bit time
- Y2038: nptl: Provide futex_abstimed_wait64 supporting 64 bit time
- sysvipc: Return EINVAL for invalid msgctl commands
- sysvipc: Fix IPC_INFO and MSG_INFO handling [BZ #26639]
- sysvipc: Return EINVAL for invalid semctl commands
- sysvipc: Fix SEM_STAT_ANY kernel argument pass [BZ #26637]
- aarch64: enforce >=64K guard size [BZ #26691]
- sysvipc: Fix semtimedop for Linux < 5.1 for 64-bit ABI
- nptl: futex: Move __NR_futex_time64 alias to beginning of futex-internal.h
- nptl: Provide proper spelling for 32 bit version of futex_abstimed_wait
- string: Fix strerrorname_np return value [BZ #26555]
- Set tunable value as well as min/max values
- ld.so: add an --argv0 option [BZ #16124]
- Reversing calculation of __x86_shared_non_temporal_threshold
- linux: Add time64 recvmmsg support
- linux: Add time64 support for nanosleep
- linux: Consolidate utimes
- linux: Use 64-bit time_t syscall on clock_getcputclockid
- linux: Add time64 sigtimedwait support
- linux: Add time64 select support
- nptl: Fix __futex_abstimed_wait_cancellable32
- sysvipc: Fix semtimeop for !__ASSUME_DIRECT_SYSVIPC_SYSCALLS
- hurd: add ST_RELATIME
- intl: Handle translation output codesets with suffixes [BZ #26383]
- bench-strcmp.c: Add workloads on page boundary
- bench-strncmp.c: Add workloads on page boundary
- strcmp: Add a testcase for page boundary
- strncmp: Add a testcase for page boundary [BZ #25933]
- Set locale related environment variables in debugglibc.sh
- benchtests: Run _Float128 tests only on architectures that support it
- powerpc: Protect dl_powerpc_cpu_features on INIT_ARCH() [BZ #26615]
- x86: Harden printf against non-normal long double values (bug 26649)
- x86: Use one ldbl2mpn.c file for both i386 and x86_64
- Define __THROW to noexcept for C++11 and later
2020-10-08 12:05:13 +02:00
Arjun Shankar f1c4b3f4bd Auto-sync with upstream branch master
Upstream-commit: cdf645427d176197b82f44308a5e131d69fb53ad

- glibc-rh741105.patch: Adjust after rebase.
- glibc-fix-float128-benchtests.patch: Add to allow building on armv7hl.
- Update mallinfo2 ABI, and test
- Allow memset local PLT reference for RISC-V.
- powerpc: fix ifunc implementation list for POWER9 strlen and stpcpy
- nscd: bump GC cycle during cache pruning (bug 26130)
- x86: Use HAS_CPU_FEATURE with IBT and SHSTK [BZ #26625]
- <sys/platform/x86.h>: Add Intel Key Locker support
- Fix handling of collating symbols in fnmatch (bug 26620)
- pselect.c: Pass a pointer to SYSCALL_CANCEL [BZ #26606]
- y2038: nptl: Convert sem_{clock|timed}wait to support 64 bit time
- hurd: Add __x86_get_cpu_features to ld.abilist
- x86: Install <sys/platform/x86.h> [BZ #26124]
- linux: Add time64 pselect support
- linux: Add time64 semtimedop support
- linux: Add ppoll time64 optimization
- linux: Simplify clock_getres
- Update sparc libm-test-ulps
- Remove internal usage of extensible stat functions
- Linux: Consolidate xmknod
- linux: Consolidate fxstatat{64}
- linux: Consolidate fxstat{64}
- linux: Consolidate lxstat{64}
- linux: Consolidate xstat{64}
- linux: Define STAT64_IS_KERNEL_STAT64
- linux: Always define STAT_IS_KERNEL_STAT
- Update powerpc libm-test-ulps
- benchtests: Add "workload" traces for sinf128
- benchtests: Add "workload" traces for sinf
- benchtests: Add "workload" traces for sin
- benchtests: Add "workload" traces for powf128
- benchtests: Add "workload" traces for pow
- benchtests: Add "workload" traces for expf128
- benchtests: Add "workload" traces for exp
- nptl: futex: Provide correct indentation for part of
  __futex_abstimed_wait_cancelable64
2020-09-21 12:33:35 +02:00
DJ Delorie c070d93d64 Auto-sync with upstream branch master,
Upstream commit: e74b61c09a2a2ab52153e731225ccba5078659b1

- Disable -Wstringop-overread for some string tests
- string: Fix GCC 11 `-Werror=stringop-overread' error
- C11 threads: Fix inaccuracies in testsuite
- elf.h: Add aarch64 bti/pac dynamic tag constants
- x86: Set CPU usable feature bits conservatively [BZ #26552]
2020-09-08 19:12:54 -04:00
Patsy Griffin 6cd5b060cc Auto-sync with upstream branch master
Upstream commit: 86a912c8634f581ea42ec6973553dde7f058cfbf

- Update i686 ulps.
- Use LFS readdir in generic POSIX getcwd [BZ# 22899]
- linux: Remove __ASSUME_ATFCTS
- Sync getcwd with gnulib
- x86-64: Fix FMA4 detection in ifunc [BZ #26534]
- y2038: nptl: Convert pthread_cond_{clock|timed}wait to support 64 bit time
- malloc: Fix mallinfo deprecation declaration
- x32: Add <fixup-asm-unistd.h> and regenerate arch-syscall.h
- Add mallinfo2 function that support sizes >= 4GB.
- Remove obsolete default/nss code
- AArch64: Improve backwards memmove performance
- Add RISC-V 32-bit target to build-many-glibcs.py
- Documentation for the RISC-V 32-bit port
- RISC-V: Build infrastructure for 32-bit port
- RISC-V: Add rv32 path to RTLDLIST in ldd
- riscv32: Specify the arch_minimum_kernel as 5.4
- RISC-V: Fix llrint and llround missing exceptions on RV32
- RISC-V: Add the RV32 libm-test-ulps
- RISC-V: Add 32-bit ABI lists
- RISC-V: Add hard float support for 32-bit CPUs
- RISC-V: Support the 32-bit ABI implementation
- RISC-V: Add arch-syscall.h for RV32
- RISC-V: Add path of library directories for the 32-bit
- RISC-V: Support dynamic loader for the 32-bit
- RISC-V: Add support for 32-bit vDSO calls
- RISC-V: Use 64-bit-time syscall numbers with the 32-bit port
- RISC-V: Cleanup some of the sysdep.h code
- RISC-V: Use 64-bit time_t and off_t for RV32 and RV64
- io/lockf: Include bits/types.h before __OFF_T_MATCHES_OFF64_T check
- elf/tst-libc_dlvsym: Add a TEST_COMPAT around some symbol tests
- hurd: define BSD 4.3 ioctls only under __USE_MISC
- string: test strncasecmp and strncpy near page boundaries
- linux: Simplify utimensat
- linux: Simplify timerfd_settime
- linux: Simplify timer_gettime
- linux: Simplify sched_rr_get_interval
- linux: Simplify ppoll
- linux: Simplify mq_timedsend
- linux: Simplify mq_timedreceive
- linux: Simplify clock_settime
- linux: Simplify clock_nanosleep
- linux: Simplify clock_gettime
- linux: Simplify clock_adjtime
- linux: Add helper function to optimize 64-bit time_t fallback support
- S390: Sync HWCAP names with kernel by adding aliases [BZ #25971]
- [vcstocl] Import ProjectQuirks from its own file
- build-many-glibcs.py: Add a s390x -O3 glibc variant.
- Fix namespace violation in stdio.h and sys/stat.h if build with optimization. [BZ #26376]
- Add C2x BOOL_MAX and BOOL_WIDTH to limits.h.
- Use MPC 1.2.0 in build-many-glibcs.py.
- Add new STATX_* constants from Linux 5.8 to bits/statx-generic.h.
- Correct locking and cancellation cleanup in syslog functions (bug 26100)
2020-09-02 11:36:37 -04:00
Carlos O'Donell b8f476de79 Support building glibc in a mock chroot using older systemd-nspawn (#1869030).
Resolves: #1869030
2020-08-20 18:18:47 -04:00
Carlos O'Donell b1869f947a Suggest installing minimal localization.
In a discussion with Stephen Gallagher <sgallagh@redhat.com> we
identified that it has been 4 years since we transitioned to
language packs and that at this point we could switch the suggestion
from glibc-all-langpacks to glibc-minimal-langpack which would
prevent an installation from ever accidentally having the larger
installation with all language packs.

This does not yet fix bug 1380069 which is about the removal of
glibc language packs and the way in which the virtual provide is
used.
2020-08-20 18:03:11 -04:00
DJ Delorie 7ec72a1eab Auto-sync with upstream branch master
Upstream commit: cb7e7a5ca1d6d25d59bc038bdc09630e507c41e5

- nptl: Handle NULL abstime [BZ #26394]
- Update build-many-glibcs.py for binutils ia64 obsoletion.
- Update kernel version to 5.8 in tst-mman-consts.py.
- y2038: nptl: Convert pthread_{clock|timed}join_np to support 64 bit time
- aarch64: update ulps.
2020-08-17 14:51:02 -04:00
Patsy Griffin 58f285e57f Auto-sync with upstream branch master
Upstream commit: 0be0845b7a674dbfb996f66cd03d675f0f6028dc

- S390: Regenerate ULPs.
- manual: Fix sigdescr_np and sigabbrev_np return type (BZ #26343)
- math: Update x86_64 ulps
- math: Regenerate auto-libm-test-out-j0
- manual: Put the istrerrorname_np and strerrordesc_np return type in braces
- Linux: Use faccessat2 to implement faccessat (bug 18683)
- manual: Fix strerrorname_np and strerrordesc_np return type (BZ #26343)
- math: Fix inaccuracy of j0f for x >= 2^127 when sin(x)+cos(x) is tiny
- Update syscall lists for Linux 5.8.
- Use Linux 5.8 in build-many-glibcs.py.
- htl: Enable tst-cancelx?[45]
- tst-cancel4: Make blocking on write more portable
- hurd: Add missing hidden def
- hurd: Rework sbrk
- hurd: Implement basic sched_get/setscheduler
- x86: Rename Intel CPU feature names
- manual: Fix some @code/@var formatting glitches chapter Date And Time
- Copy regex_internal.h from Gnulib
- Copy regex BITSET_WORD_BITS porting from Gnulib
- Sync regex.h from Gnulib
- Sync mktime.c from Gnulib
- Sync intprops.h from Gnulib
- Open master branch for glibc 2.33 development.
2020-08-13 08:54:55 -04:00
Arjun Shankar 2f73564ad1 Auto-sync with upstream release 2.32
Upstream commit: 3de512be7ea6053255afed6154db9ee31d4e557a

- Prepare for glibc 2.32 release.
- Regenerate configure scripts.
- Update NEWS with bugs.
- Update translations.
- Don't mix linker error messages into edited scripts
- benchtests/README update.
- RISC-V: Update lp64d libm-test-ulps according to HiFive Unleashed
- aarch64: update NEWS about branch protection
- Add NEWS entry for CVE-2016-10228 (bug 19519)
- powerpc: Fix incorrect cache line size load in memset (bug 26332)
- Update Nios II libm-test-ulps file.
2020-08-06 15:13:54 +02:00
Patsy Griffin df5430b755 Auto-sync with upstream branch master
Upstream commit: 7f1a08cff82255cd4252a2c75fd65b80a6a170bf

- Move NEWS entry for CVE-2020-1751 to the 2.31 section
- NEWS: Deprecate weak libpthread symbols for single-threaded checks
- NEWS: Deprecate nss_hesiod
- nptl: Zero-extend arguments to SETXID syscalls [BZ #26248]
- Use binutils 2.35 branch in build-many-glibcs.py.
- aarch64: Use future HWCAP2_MTE in ifunc resolver
- Update x86-64 libm-test-ulps
- aarch64: Respect p_flags when protecting code with PROT_BTI
- Disable warnings due to deprecated libselinux symbols used by nss and nscd
- Regenerate INSTALL for ARC port updates.
- Update libc.pot for 2.32 release.
- powerpc: Fix POWER10 selection
- powerpc64le: guarantee a .gnu.attributes section [BZ #26220]
2020-07-31 11:45:37 -04:00
Florian Weimer 888bec16b0 Inherit -mbranch-protection=standard from redhat-rpm-config (for aarch64) 2020-07-29 10:55:07 +02:00
Fedora Release Engineering 6f63f671cc - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-27 20:13:43 +00:00
Carlos O'Donell 9bc189f105 Use make macros.
See https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
2020-07-23 00:03:10 -04:00
Florian Weimer 299c3c2187 Add reference to rseq bug #1855729 2020-07-21 17:02:37 +02:00
Arjun Shankar 3e8e5d3396 Work around libselinux API deprecations & auto-sync with upstream branch master
- Add glibc-deprecated-selinux-makedb.patch and
  glibc-deprecated-selinux-nscd.patch to work around libselinux API
  deprecations.
- Drop glibc-rseq-disable.patch; rseq support removed upstream.

Upstream commit: ec2f1fddf29053957d061dfe310f106388472a4f

- libio: Remove __libc_readline_unlocked
- shadow: Implement fgetspent_r using __nss_fgetent_r
- pwd: Implement fgetpwent_r using __nss_fgetent_r
- gshadow: Implement fgetsgent_r using __nss_fgetent_r (bug 20338)
- grp: Implement fgetgrent_r using __nss_fgetent_r
- nss: Add __nss_fgetent_r
- libio: Add fseterr_unlocked for internal use
- nss_files: Use generic result pointer in parse_line
- nss_files: Consolidate line parse declarations in <nss_files.h>
- nss_compat: Do not use mmap to read database files (bug 26258)
- nss_files: Consolidate file opening in __nss_files_fopen
- Update powerpc-nofpu libm-test-ulps.
- Use MPFR 4.1.0 in build-many-glibcs.py.
- elf: Change TLS static surplus default back to 1664
- hurd: Fix longjmp check for sigstate
- hurd: Fix longjmp early in initialization
- manual: New signal and errno string functions are AS-safe
- AArch64: Improve strlen_asimd performance (bug 25824)
- Move <rpc/netdb.h> from sunrpc to inet
- en_US: Minimize changes to date_fmt (Bug 25923)
- Linux: Remove rseq support
- manual: Use Unicode instead HTML entities for characters (bug 19737)
- Add NEWS entry for CVE-2020-6096 (bug 25620)
- arm: remove string/tst-memmove-overflow XFAIL
- AArch64: Rename IS_ARES to IS_NEOVERSE_N1
- AArch64: Add optimized Q-register memcpy
- AArch64: Align ENTRY to a cacheline
- Correct timespec implementation [BZ #26232]
- Remove --enable-obsolete-rpc configure flag
- hurd: Fix build-many-glibcs.py
- x86: Support usable check for all CPU features
- string: Make tst-strerror/tst-strsignal unsupported if msgfmt is not installed
- malloc: Deprecate more hook-related functionality
- elf: Support at least 32-byte alignment in static dlopen
- x86: Remove __ASSEMBLER__ check in init-arch.h
- x86: Remove the unused __x86_prefetchw
- Documentation for ARC port
- build-many-glibcs.py: Enable ARC builds
- ARC: Build Infrastructure
- ARC: ABI lists
- ARC: Linux Startup and Dynamic Loading
- ARC: Linux ABI
- ARC: Linux Syscall Interface
- ARC: hardware floating point support
- ARC: math soft float support
- ARC: Atomics and Locking primitives
- ARC: Thread Local Storage support
- ARC: startup and dynamic linking code
- ARC: ABI Implementation
- Fix time/tst-cpuclock1 intermitent failures
- powerpc64: Fix calls when r2 is not used [BZ #26173]
- Add NEWS entry for Update to Unicode 13.0.0 [BZ #25819]
- Update i686 libm-test-ulps
- Fix memory leak in __printf_fp_l (bug 26215).
- Fix double free in __printf_fp_l (bug 26214).
- linux: Fix syscall list generation instructions
- sysv: linux: Add 64-bit time_t variant for shmctl
- sysvipc: Remove the linux shm-pad.h file
- sysvipc: Split out linux struct shmid_ds
- sysv: linux: Add 64-bit time_t variant for msgctl
- sysvipc: Remove the linux msq-pad.h file
- sysvipc: Split out linux struct semid_ds
- sysv: linux: Add 64-bit time_t variant for semctl
2020-07-21 15:09:22 +02:00
Florian Weimer 1554837500 Work around libselinux API deprecations
Due to -Werror, they resulted in build failures.
2020-07-21 14:41:25 +02:00
Florian Weimer b633c425b5 Disable rseq registration by default to help Firefox (#1855729) 2020-07-10 13:13:21 +02:00
Florian Weimer 0aab7eb585 Auto-sync with upstream branch master,
Upstream commit: ffb17e7ba3a5ba9632cee97330b325072fbe41dd

- rtld: Avoid using up static TLS surplus for optimizations [BZ #25051]
- rtld: Account static TLS surplus for audit modules
- rtld: Add rtld.nns tunable for the number of supported namespaces
- Remove --enable-obsolete-nsl configure flag
- Move non-deprecated RPC-related functions from sunrpc to inet
- aarch64: add NEWS entry about branch protection support
- aarch64: redefine RETURN_ADDRESS to strip PAC
- aarch64: fix pac-ret support in _mcount
- aarch64: Add pac-ret support to assembly files
- aarch64: configure check for pac-ret code generation
- aarch64: ensure objects are BTI compatible
- aarch64: enable BTI at runtime
- aarch64: fix RTLD_START for BTI
- aarch64: fix swapcontext for BTI
- aarch64: Add BTI support to assembly files
- aarch64: Rename place holder .S files to .c
- aarch64: configure test for BTI support
- Rewrite abi-note.S in C.
- rtld: Clean up PT_NOTE and add PT_GNU_PROPERTY handling
- string: Move tst-strsignal tst-strerror to tests-container
- string: Fix prototype mismatch in sigabbrev_np, __sigdescr_np
- arm: CVE-2020-6096: Fix multiarch memcpy for negative length (#1820332)
- arm: CVE-2020-6096: fix memcpy and memmove for negative length (#1820332)
- sunrpc: Remove hidden aliases for global data symbols (bug 26210)
- hurd: Fix strerror not setting errno
- tst-strsignal: fix checking for RT signals support
- hurd: Evaluate fd before entering the critical section
- CVE-2016-10228: Rewrite iconv option parsing (#1428292)
- nss: Remove cryptographic key support from nss_files, nss_nis, nss_nisplus
- sunrpc: Do not export getrpcport by default
- sunrpc: Do not export key handling hooks by default
- sunrpc: Turn clnt_sperrno into a libc_hidden_nolink_sunrpc symbol
- string: Add strerrorname_np and strerrordesc_np
- string: Add sigabbrev_np and sigdescr_np
- string: Add strerror_l on test-strerror-errno
- string: Add strerror, strerror_r, and strerror_l test
- string: Add strsignal test
- string: Simplify strerror_r
- string: Use tls-internal on strerror_l
- string: Implement strerror in terms of strerror_l
- string: Remove old TLS usage on strsignal
- linux: Fix __NSIG_WORDS and add __NSIG_BYTES
- signal: Move sys_errlist to a compat symbol
- signal: Move sys_siglist to a compat symbol
- signal: Add signum-{generic,arch}.h
- Remove most vfprintf width/precision-dependent allocations (bug 14231, bug 26211).
- elf: Do not signal LA_ACT_CONSISTENT for an empty namespace [BZ #26076]
- Fix stringop-overflow errors from gcc 10 in iconv.
- x86: Add thresholds for "rep movsb/stosb" to tunables
- Use C2x return value from getpayload of non-NaN (bug 26073).
- x86: Detect Extended Feature Disable (XFD)
- x86: Correct bit_cpu_CLFSH [BZ #26208]
- manual: Document __libc_single_threaded
- Add the __libc_single_threaded variable
- Linux: rseq registration tests
- Linux: Use rseq in sched_getcpu if available
- Linux: Perform rseq registration at C startup and thread creation
- tst-cancel4: deal with ENOSYS errors
- manual: Show copyright information not just in the printed manual
2020-07-10 12:56:47 +02:00
Carlos O'Donell 94cfd27bd1 Auto-sync with upstream branch master
Upstream commit: c6aac3bf3663709cdefde5f5d5e9e875d607be5e

- Fix typo in comment in bug 26137 fix.
- Fix strtod multiple-precision division bug (bug 26137).
- Linux: Fix UTC offset setting in settimeofday for __TIMESIZE != 64
- random: range is not portably RAND_MAX [BZ #7003]
- Update kernel version to 5.7 in tst-mman-consts.py.
- powerpc: Add support for POWER10
- hurd: Simplify usleep timeout computation
- htl: Enable cancel*16 an cancel*20 tests
- hurd: Add remaining cancelation points
- hurd: fix usleep(ULONG_MAX)
- hurd: Make fcntl(F_SETLKW*) cancellation points
- hurd: make wait4 a cancellation point
- hurd: Fix port definition in HURD_PORT_USE_CANCEL
- hurd: make close a cancellation point
- hurd: make open and openat cancellation points
- hurd: clean fd and port on thread cancel
- htl: Move cleanup handling to non-private libc-lock
- htl: Fix includes for lockfile
- htl: avoid cancelling threads inside critical sections
- tst-cancel4-common.c: fix calling socketpair
- x86: Detect Intel Advanced Matrix Extensions
- Set width of JUNGSEONG/JONGSEONG characters from UD7B0 to UD7FB to 0 [BZ #26120]
- S390: Optimize __memset_z196.
- S390: Optimize __memcpy_z196.
- elf: Include <stddef.h> (for size_t), <sys/stat.h> in <ldconfig.h>
- nptl: Don't madvise user provided stack
- S390: Regenerate ULPs.
- htl: Add wrapper header for <semaphore.h> with hidden __sem_post
- elf: Include <stdbool.h> in <dl-tunables.h> because bool is used
- htl: Fix case when sem_*wait is canceled while holding a token
- htl: Make sem_*wait cancellations points
- htl: Simplify non-cancel path of __pthread_cond_timedwait_internal
- htl: Enable tst-cancel25 test
- powerpc: Add new hwcap values
- aarch64: MTE compatible strncmp
- aarch64: MTE compatible strcmp
- aarch64: MTE compatible strrchr
- aarch64: MTE compatible memrchr
- aarch64: MTE compatible memchr
- aarch64: MTE compatible strcpy
- Add MREMAP_DONTUNMAP from Linux 5.7
- x86: Update CPU feature detection [BZ #26149]
2020-07-02 17:45:59 -04:00
DJ Delorie c12a7f03e3 Auto-sync with upstream branch master
Upstream commit: ea04f0213135b13d80f568ca2c4127c2ec112537

- aarch64: Remove fpu Makefile
- m68k: Use sqrt{f} builtin for coldfire
- arm: Use sqrt{f} builtin
- riscv: Use sqrt{f} builtin
- s390: Use sqrt{f} builtin
- sparc: Use sqrt{f} builtin
- mips: Use sqrt{f} builtin
- alpha: Use builtin sqrt{f}
- i386: Use builtin sqrtl
- x86_64: Use builtin sqrt{f,l}
- powerpc: Use sqrt{f} builtin
- s390x: Use fma{f} builtin
- aarch64: Use math-use-builtins for ceil{f}
- math: Decompose math-use-builtins.h
- hurd: Add mremap
- ia64: Use generic exp10f
- New exp10f version without SVID compat wrapper
- i386: Use generic exp10f
- math: Optimized generic exp10f with wrappers
- benchtests: Add exp10f benchmark
2020-06-22 15:43:26 -04:00
Patsy Franklin b2357f7dc4 Auto-sync with upstream branch master
Upstream commit: 27f8864bd41f0f1b61e8e947d9a030b1a0d23df9

- x86: Update F16C detection [BZ #26133]
- Fix avx2 strncmp offset compare condition check [BZ #25933]
- nptl: Remove now-spurious tst-cancelx9 references
- x86_64: Use %xmmN with vpxor to clear a vector register
- x86: Correct bit_cpu_CLFLUSHOPT [BZ #26128]
- powerpc64le: refactor e_sqrtf128.c
- Update syscall-names.list for Linux 5.7.
- ieee754/dbl-64: Reduce the scope of temporary storage variables
- manual: Add pthread_attr_setsigmask_np, pthread_attr_getsigmask_np
- ld.so: Check for new cache format first and enhance corruption check
- hurd: Fix __writev_nocancel_nostatus
- hurd: Make send* cancellation points
- htl: Enable more cancellation tests
- hurd: Make write and pwrite64 cancellation points
- htl: Fix cleanup support for IO locking
- htl: Move cleanup stack to variable shared between libc and pthread
- htl: initialize first and prevent from unloading
- htl: Add noreturn attribute on __pthread_exit forward
- hurd: Make recv* cancellation points
- powerpc: Automatic CPU detection in preconfigure
- Use Linux 5.7 in build-many-glibcs.py.
- htl: Enable more cancel tests
- htl: Fix linking static tests by factorizing the symbols list
- Add "%d" support to _dl_debug_vdprintf
- aarch64: MTE compatible strlen
- aarch64: MTE compatible strchr
- aarch64: MTE compatible strchrnul
- AArch64: Merge Falkor memcpy and memmove implementations
- hurd: document that gcc&gdb look at the trampoline code
- pthread: Move back linking rules to nptl and htl
- htl: Enable more tests
- htl: Fix registration of atfork handlers in modules
- htl: Fix tls initialization for already-created threads
- hurd: Make read and pread64 cancellable
- hurd: Fix unwinding over interruptible RPC
- htl: Enable but XFAIL tst-flock2, tst-signal1, tst-signal2
- hurd: XFAIL more tests that require setpshared support
- hurd: Briefly document in xfails the topics of the bugzilla entries
- htl: Enable more tests
- htl: Add sem_clockwait support
- htl: fix register-atfork ordering
- hurd: Fix hang in _hurd_raise_signal from pthread_kill
- hurd: Reject raising invalid signals
- hurd: fix clearing SS_ONSTACK when longjmp-ing from sighandler
- hurd: Add pointer guard support
- hurd: Add stack guard support
- dl-runtime: reloc_{offset,index} now functions arch overide'able
- powerpc64le: add optimized strlen for P9
- powerpc64le: use common fmaf128 implementation
2020-06-19 12:03:17 -04:00
Patsy Franklin 5b16244fad Auto-sync with upstream branch master
Upstream commit: e52434a2e4d1105272daaef87678da950fbec73f

- benchtests: Restore the clock_gettime option
- Update HP_TIMING_NOW for _ISOMAC in sysdeps/generic/hp-timing.h
- Replace val with __val in TUNABLE_SET_VAL_IF_VALID_RANGE
- support: Fix detecting hole support on >2KB-block filesystems
- powerpc: Fix powerpc64le due a7a3435c9a
- manual/jobs.texi: remove unused var from example code
- powerpc/fpu: use generic fma functions
- aarch/fpu: use generic builtins based math functions
- ieee754: provide gcc builtins based generic fma functions
- ieee754: provide gcc builtins based generic sqrt functions
- Linux: Use __pthread_attr_setsigmask_internal for timer helper thread
- nptl: Add pthread_attr_setsigmask_np, pthread_attr_getsigmask_np
- nptl: Make pthread_attr_t dynamically extensible
- nptl: Destroy the default thread attribute as part of freeres
- nptl: Change type of __default_pthread_attr
- nptl: Use __pthread_attr_setaffinity_np in pthread_getattr_np
- nptl: Use __pthread_getattr_default_np in pthread_create
- nptl: Add internal alias __pthread_getattr_default_np
- htl: Fix gsync_wait symbol exposition
- htl: Make pthread_cond_destroy wait for threads to be woken
- htl: Enable more cond tests
- tst-cond11: Fix build with _SC_MONOTONIC_CLOCK > 0
- mbstowcs: Document, test, and fix null pointer dst semantics (Bug 25219)
- build: Use FAIL_EXIT1 () on failure to exec child [BZ #23990]
- manual: Fix backtraces code example [BZ #10441]
- hurd: Fix fexecve
- i386: Remove unused file sysdeps/unix/i386/sysdep.S
- hurd: fix ptsname error when called on a non-tty
- hurd: Fix fdopendir checking for directory type
- i386: Remove NO_TLS_DIRECT_SEG_REFS handling
- Hurd: Move <hurd/sigpreempt.h> internals into wrapper header
- Hurd: Use __sigmask in favor of deprecated sigmask
- hurd: Fix pselect atomicity
- elf: Remove extra hwcap mechanism from ldconfig
- elf: Do not read hwcaps from the vDSO in ld.so
- linux: Use internal DIR locks when accessing filepos on telldir
- Update i386 libm-test-ulps
- htl: Add clock variants
- signal: Deprecate additional legacy signal handling functions
- elf: Turn _dl_printf, _dl_error_printf, _dl_fatal_printf into functions
- x86: Update Intel Atom processor family optimization
- elf.h: add aarch64 property definitions
- elf.h: Add PT_GNU_PROPERTY
- <libc-symbols.h>: Add libpthread hidden alias support
- nptl: Use __pthread_attr_copy in pthread_setattr_default_np
- nptl: Use __pthread_attr_copy in pthread_getattr_default_np (bug 25999)
- nptl: Add __pthread_attr_copy for copying pthread_attr_t objects
- nptl: Make __pthread_attr_init, __pthread_attr_destroy available internally
- nptl: Move pthread_gettattr_np into libc
- nptl: Move pthread_getaffinity_np into libc
- nptl: Move pthread_attr_setaffinity_np into libc
- nptl: Replace some stubs with the Linux implementation
- Linux: Add missing handling of tai field to __ntp_gettime64
- Mention GCC 10 attribute access.
- y2038: Replace __clock_gettime with __clock_gettime64
- manual: Add missing section and node for clockid_t wait functions
- y2038: linux: Provide __ntp_gettimex64 implementation
- y2038: linux: Provide __ntp_gettime64 implementation
- y2038: Provide conversion helpers for struct __ntptimeval64
- y2038: Introduce struct __ntptimeval64 - new internal glibc type
- y2038: linux: Provide __adjtime64 implementation
- y2038: linux: Provide ___adjtimex64 implementation
- y2038: linux: Provide __clock_adjtime64 implementation
- ldconfig: Default to the new format for ld.so.cache
- nss_compat: internal_end*ent may clobber errno, hiding ERANGE [BZ #25976]
- powerpc: Optimized rawmemchr for POWER9
- x86: Add --enable-cet=permissive
- Remove NO_CTORS_DTORS_SECTIONS macro
- elf: Assert that objects are relocated before their constructors run
- powerpc: Optimized stpcpy for POWER9
- powerpc: Optimized strcpy for POWER9
- x86: Move CET control to _dl_x86_feature_control [BZ #25887]
- sunrpc/tst-udp-*: Fix timeout value
- Linux: Remove remnants of the getcpu cache
- Update timezone code from tzcode 2020a
- aarch64: fix strcpy and strnlen for big-endian [BZ #25824]
- locale: Add transliteration for Geresh, Gershayim (U+05F3, U+05F4)
- string: Fix string/tst-memmove-overflow to compile with GCC 7
- Add arch-syscall.h dependency for generating sysd-syscalls file
- arm: XFAIL string/tst-memmove-overflow due to bug 25620
- elf: Remove redundant add_to_global_resize_failure  call from dl_open_args
- string: Add string/tst-memmove-overflow, a test case for bug 25620
- support: Add support_blob_repeat_allocate_shared
- nptl: wait for pending setxid request also in detached thread (bug 25942)
- aarch64: Accept PLT calls to __getauxval within libc.so
- Use unsigned constants for ICMP6 filters [BZ #22489]
- Linux: Enhance glibcsyscalls.py to support listing system calls
2020-06-05 17:05:33 -04:00
DJ Delorie 0cfa270c68 Auto-sync with upstream branch master
Upstream commit: 978e8ac39f8ba2d694031e521511da1ae803ccfc

- Suppress GCC 10 true positive warnings [BZ #25967]
- POWER: Add context-synchronizing instructions to pkey_write [BZ #25954]
- hurd: Add missing sigstate members initialization
- x86-64: Use RDX_LP on __x86_shared_non_temporal_threshold [BZ #25966]
- linux: Remove assembly umount2 implementation
- signal: Use <sigsetops.h> for sigemptyset, sigfillset
- ckb_IQ, or_IN locales: Add missing reorder-end keywords
- semaphore: consolidate arch headers into a generic one
- Use GCC 10 branch in build-many-glibcs.py.
- Document the internal _ and N_ macros
- y2038: Provide conversion helpers for struct __timex64
- y2038: Introduce struct __timex64 - new internal glibc type
- y2038: include: Move struct __timeval64 definition to a separate file
- y2038: nscd: Modify nscd_helper to use __clock_gettime64
- y2038: inet: Convert inet deadline to support 64 bit time
- y2038: hurd: Provide __clock_gettime64 function
- y2038: Export __clock_gettime64 to be usable in other libraries
- manual: Document the O_NOFOLLOW open flag
- powerpc64le/power9: guard power9 strcmp against rtld usage [BZ# 25905]
- float128: use builtin_signbitf128 always
- improve out-of-bounds checking with GCC 10 attribute access [BZ #25219]
- nios2: delete sysdeps/unix/sysv/linux/nios2/kernel-features.h
- powerpc: Rename argN to _argN in LOADARGS_N [BZ #25902]
- locale/tst-localedef-path-norm: Don't create $(complocaledir)
- support: Set errno before testing it.
- localedef: Add tests-container test for --no-hard-links.
- test-container: Support $(complocaledir) and mkdirp.
- i386: Remove unused variable in sysdeps/x86/cacheinfo.c
- Add a C wrapper for prctl [BZ #25896]
- powerpc64le: Enable support for IEEE long double
- powerpc64le: blacklist broken GCC compilers (e.g GCC 7.5.0)
- powerpc64le: bump binutils version requirement to >= 2.26
- powerpc64le: raise GCC requirement to 7.4 for long double transition
- Rename __LONG_DOUBLE_USES_FLOAT128 to __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI
- ldbl-128ibm-compat: workaround GCC 9 C++ PR90731
- x86: Add the test case of __get_cpu_features support for Zhaoxin processors
- x86: Add cache information support for Zhaoxin processors
- x86: Add CPU Vendor ID detection support for Zhaoxin processors
- Update translations
- Add C wrappers for process_vm_readv/process_vm_writev [BZ #25810]
- generic/typesizes.h: Add support for 32-bit arches with 64-bit types
- semctl: Remove the sem-pad.h file
- bits/sem.h: Split out struct semid_ds
- Mark unsigned long arguments with U in more syscalls [BZ #25810]
- elf: Add initial flag argument to __libc_early_init
- Add SYSCALL_ULONG_ARG_[12] to pass long to syscall [BZ #25810]
- Makeconfig: Use $(error ...) to output error message
- manual: Fix typos in the fexecve description
- misc: Remove sstk from the autogenerated system call list
- Remove unused floating-point configuration from gmp-impl.h.
- support: Implement <support/xthread.h> key create/delete
- nptl/tst-setuid1-static: Improve isolation from system objects
- Increase the timeout of locale/tst-localedef-path-norm
- Use 2020 as copyright year.
- misc: Turn sstk into a compat symbol
- manual: Document the fexecve function
- nptl: Start new threads with all signals blocked [BZ #25098]
- localedef: Add verbose messages for failure paths.
- Remove most gmp-mparam.h headers.
- elf: Implement __libc_early_init
- elf: Introduce <elf_machine_sym_no_match.h>
- Add a syscall test for [BZ #25810]
- elf: Support lld-style link map for librtld.map
- signal: Only handle on NSIG signals on signal functions (BZ #25657)
- linux: Use pthread_sigmask on sigprocmask
- ia64: Remove sigprocmask/sigblock objects from libpthread
- nptl: Move pthread_sigmask implementation to libc
- Bug 25819: Update to Unicode 13.0.0
2020-05-11 14:44:49 -04:00
Florian Weimer a578dc7ae2 nss_db.x86_64 should install nss_db.i686 if glibc.i686 is installed (#1807821) 2020-04-29 13:48:49 +02:00
Florian Weimer 15c23ffc6c Add reference to bug 1828332 2020-04-29 12:22:43 +02:00
Florian Weimer 0fb8a56d62 Remove auxarches macro
This commit does not change the generated RPM SPEC file in a material
way: there are only whitespace and comment changes as a result.
2020-04-28 12:29:21 +02:00
Florian Weimer eb8a860ab4 Replace the glibc-headers package with glibc-headers-x86
And make it noarch.  This avoids compose issues with disappearing
and reappearing glibc-headers.i686 packages.

Also add a glibc-headers-s390 package on s390x, in case someone
still has a private build with the 31-bit libraries.
2020-04-27 17:34:53 +02:00
Florian Weimer 711089dc88 Restrict the glibc-headers package to x86_64, i686 2020-04-27 17:33:51 +02:00
Florian Weimer 7ae647b913 Remove %{power64} conditionals
ppc64le is not a biarch architecture, but is included in %{power64},
so it ended up in %{biarcharches}.
2020-04-27 17:33:51 +02:00
Florian Weimer 7407a5058a Remove historic scriptlet for glibc-headers
Also remove the dependencies which are needed by the scriptlet.
2020-04-27 17:33:51 +02:00
Florian Weimer db303b940e Fix "pacakge" typos 2020-04-27 17:33:51 +02:00
DJ Delorie b4ca0be2b6 Auto-sync with upstream branch master
Upstream commit: 0798b8ecc8da8667362496c1217d18635106c609

- ARC: Update syscall-names.list for ARC specific syscalls
- Revert "x86_64: Add SSE sfp-exceptions"
- provide y2038 safe socket constants for default/asm-generic ABI
- x86_64: Add SSE sfp-exceptions
- Remove __NO_MATH_INLINES
- i686: Add INTERNAL_SYSCALL_NCS 6 argument support
- Reset converter state after second wchar_t output (Bug 25734)
- Fix typo in posix/tst-fnmatch.input (Bug 25790)
2020-04-20 16:56:20 -04:00
Patsy Franklin 157090889d Auto-sync with upstream branch master
Upstream commit: 076f09afbac1aa57756faa7a8feadb7936a724e4

- Linux: Remove <sys/sysctl.h> and the sysctl function
- posix: Add wait4 test case
- linux: wait4: Fix incorrect return value comparison
- hurd: add mach_print function
- x32: Properly pass long to syscall [BZ #25810]
- Add GRND_INSECURE from Linux 5.6 to sys/random.h
- Update kernel version to 5.6 in tst-mman-consts.py.
2020-04-15 14:43:42 -04:00
Florian Weimer 873cc222f9 Update release & changelog for: nsswitch.conf: don't add sss to shadow line 2020-04-15 17:41:04 +02:00
Michael Catanzaro 4e7c22bb36 nsswitch.patch: don't add sss to shadow line
This doesn't hurt anything, but it also doesn't do anything and could confuse the reader.

https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/GECSRBSGRFH4OYVHYVJ56H3WS6FWPKA3/
2020-04-15 15:38:26 +00:00
Carlos O'Donell 89e19f3b9e Auto-sync with upstream branch master
Upstream commit: b1caa144c74678097cada5a54eda2996bb459d8f

- Update mips libm-test-ulps
- Update alpha libm-test-ulps
- Update ia64 libm-test-ulps
- Update sparc libm-test-ulps
- Update arm libm-test-ulps
- Update aarch64 libm-test-ulps
- Updates to the shn_MM locale [BZ #25532]
- powerpc: Update ULPs and xfail more ibm128 outputs
- i386: Remove build support for GCC older than GCC 6
- oc_FR locale: Fix spelling of April (bug 25639)
- Update hppa libm-test-ulps
- y2038: linux: Provide __mq_timedreceive_time64 implementation
- y2038: linux: Provide __mq_timedsend_time64 implementation
- y2038: include: Move struct __timespec64 definition to a separate file
- malloc: ensure set_max_fast never stores zero [BZ #25733]
- powerpc64le: enforce non-specific long double in .gnu.attributes section
- powerpc64le: workaround ieee long double / _Float128 stdc++ bug
- powerpc64le: Enforce -mabi=ibmlongdouble when -mfloat128 used
- powerpc64le/multiarch: don't generate strong aliases for fmaf128-ppc64
- ldbl-128ibm: simplify iscanonical.h
- i386: Disable check_consistency for GCC 5 and above [BZ #25788]
- Add IPPROTO_ETHERNET and IPPROTO_MPTCP from Linux 5.6 to netinet/in.h.
- Update syscall lists for Linux 5.6.
- elf: Implement DT_AUDIT, DT_DEPAUDIT support [BZ #24943]
- elf: Simplify handling of lists of audit strings
- support: Change xgetline to return 0 on EOF
- nptl: Remove x86_64 cancellation assembly implementations [BZ #25765]
- aarch64: update bits/hwcap.h
- Add tests for Safe-Linking
- S390: Regenerate ULPs.
- sysv/alpha: Use generic __timeval32 and helpers
- linux: Use long time_t for wait4/getrusage
- resource: Add a __rusage64 struct
- linux: Use long time_t __getitimer/__setitimer
- sysv: Define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64
- math: Add inputs that yield larger errors for float type (x86_64)
2020-04-08 16:47:40 -04:00
DJ Delorie 1479bc1a28 Auto-sync with upstream branch master
Upstream commit: 49c3c37651e2d2ec4ff8ce21252bbbc08a9d6639

- Fix alignment bug in Safe-Linking
- Typo fixes and CR cleanup in Safe-Linking
- Use Linux 5.6 and GMP 6.2.0 in build-many-glibcs.py.
- Add new file missed in previous hppa commit.
- powerpc: Add support for fmaf128() in hardware
- Fix data race in setting function descriptors during lazy binding on hppa.
- sparc: Move __fenv_{ld,st}fsr to fenv-private.h
- x86: Remove feraiseexcept optimization
- math: Remove fenvinline.h
- hurd: Make O_TRUNC update mtime/ctime
- Add Safe-Linking to fastbins and tcache
- Add benchtests for roundeven and roundevenf.
- time: Add a __itimerval64 struct
- time: Add a timeval with a 32-bit tv_sec and tv_usec
- sysv/linux: Rename alpha functions to be alpha specific
- ARC: add definitions to elf/elf.h
- powerpc64: apply -mabi=ibmlongdouble to special files
- powerpc64le: add -mno-gnu-attribute to *f128 objects and difftime
- Makeconfig: sandwich gnulib-tests between libc/ld linking of tests
- powerpc64le: Ensure correct ldouble compiler flags are used
- Fix tests which expose ldbl -> _Float128 redirects
- ldbl-128ibm-compat: PLT redirects for using ldbl redirects internally
2020-03-31 22:07:50 -04:00
Patsy Franklin e5688486f8 Auto-sync with upstream branch master
Upstream commit: 4eda036f5b897fa8bc20ddd2099b5a6ed4239dc9

- stdlib: Move tst-system to tests-container
- support/shell-container.c: Add builtin kill
- support/shell-container.c: Add builtin exit
- support/shell-container.c: Return 127 if execve fails
- Add NEWS entry for CVE-2020-1751 (bug 25423)
- posix: Fix system error return value [BZ #25715]
- y2038: fix: Add missing libc_hidden_def attribute for some syscall wrappers
- Extended Char Intro: Use getwc in example (Bug 25626)
- stdio: Add tests for printf multibyte convertion leak [BZ#25691]
- stdio: Remove memory leak from multibyte convertion [BZ#25691]
- Add NEWS entry for CVE-2020-1752 (bug 25414)
- math: Remove inline math tests
- Remove __LIBC_INTERNAL_MATH_INLINES
- math: Remove mathinline
- m68k: Remove mathinline.h
- oc_FR locale: Fix spelling of Thursday (bug 25639)
- x86: Remove ARCH_CET_LEGACY_BITMAP [BZ #25397]
- Fix build with GCC 10 when long double = double.
- nscd/cachedumper.c : fix whitespace
- Fix nscd/cachedumper.c compile errors
- manual: Fix inconsistent declaration of wcsrchr [BZ #24655]
- nscd: add cache dumper
2020-03-26 10:49:57 -04:00
Patsy Franklin c0cdff7e6c Auto-sync with upstream branch master
Upstream commit: 2de7fe62534b7a6461c633114f03e9dff394f5f7

- parse_tunables: Fix typo in comment
- ldconfig: trace origin paths with -v
- test-container: print errno when execvp fails
- [AArch64] Improve integer memcpy
- Add NEWS entry for CVE-2020-10029 (bug 25487)
- gcc PR 89877: miscompilation due to missing cc clobber in longlong.h macros
- mips: Fix wrong INTERNAL_SYSCALL_ERROR_P check from bc2eb9321e
- elf: Fix wrong indentation from commit eb447b7b4b
- y2038: linux: Provide __futimesat64 implementation
- y2038: linux: Provide __lutimes64 implementation
- y2038: linux: Provide __futimes64 implementation
- y2038: fix: Add missing libc_hidden_def for __futimens64
- sparc: Move sigreturn stub to assembly
- ldbl-128ibm: Let long double files have specific compiler flags
- ldbl-128ibm-compat: Add tests for IBM long double functions
- powerpc: Fix feraiseexcept and feclearexcept macros
- arm: Fix softp-fp Implies (BZ #25635)
- Remove reference of --without-fp on configure
- linux/sysipc: Include linux/posix_types.h for __kernel_mode_t
- Improve IFUNC check [BZ #25506]
- linux: Clear mode_t padding bits (BZ#25623)
- linux: Remove aarch64 ipc_priv.h
- Linux: Use __fstatat64 in fchmodat implementation
- Linux: Use AT_FDCWD in utime, utimes when calling utimensat
- S390: Remove backchain-based fallback and use generic backtrace.c.
- manual: Fix wrong declaration of wcschr [BZ #24654]
- manual: Fix typo in parse_printf_format example [BZ #24638]
2020-03-15 23:55:22 -04:00
Florian Weimer 2600cf370b Fix broken patch 2020-03-05 13:17:43 +01:00
Florian Weimer 3efb6ef479 Emergency patch for broken utimes/utime functions 2020-03-05 13:09:13 +01:00
Patsy Franklin 301b7b2d9f Auto-sync with upstream branch master
Upstream commit 78c9d0c6efabe2067ef7f93cd36325f54c60adc2

- Update translations
- Convert Python scripts to Python 3
- alpha: Do not build with -fpic
- y2038: linux: Provide __utime64 implementation
- y2038: linux: Provide __utimes64 implementation
- y2038: Introduce struct __utimbuf64 - new internal glibc type
- microblaze: vfork is always available
- m68k: getpagesize syscall number is always available
- Linux: epoll_pwait syscall number is always available
- x86_64: Do not define __NR_semtimedop in <sysdep.h>
- ia64: Do not define __NR_semtimedop in <sysdep.h>
- Linux: open_by_handle_at syscall number is always available
- Linux: set_robust_list syscall number is always available
- Linux: pciconfig_iobase syscall number is always available on alpha
- Linux: getdents64 syscall number is always available on MIPS
- Linux: Clean up preadv2, pwritev2 system call names
- Linux: exit_group syscall number is always available
- Linux: set_tid_address syscall number is always available
- Linux: pkey_mprotect syscall number is always available
- Linux: rt_sigqueueinfo syscall number is always available
- Linux: getrandom syscall number is always available
- Linux: Clean up preadv, pwritev system call names
- Linux: Clean up pread64/pwrite64 system call names
- Linux: sigaltstack syscall number is always available
- Linux: sched_getaffinity syscall number is always available
- Linux: sched_setaffinity syscall number is always available
- Linux: statx syscall number is always available
- Linux: mq_* syscall numbers are always available
- Linux: mlock2 syscall number is always available
- Linux: copy_file_range syscall number is always available
- Linux: renameat2 syscall number is always available
- build-many-glibcs.py: Add list-compilers, list-glibcs commands
- build-many-glibcs.py: Add --shallow option
- Fixed typo in run_command_array() in support/shell-container.c
- Add missing libc_hidden_def for __utimensat64
- elf: Add elf/check-wx-segment, a test for the presence of WX segments
- i386: Use comdat instead of .gnu.linkonce for i386 setup pic register (BZ #20543)
- ldbl-128ibm-compat: link tst-ldbl-efgcvt against loader too
- ldbl-128ibm-compat: enforce ibm128 on compat tests
- ldbl-128ibm-compat: Provide nexttoward functions
- ldbl-128ibm-compat: Provide a significand implementation
- ldbl-128ibm-compat: Redirect complex math functions
- ldbl-128ibm-compat: Redirect long double functions to f128/ieee128 functions
- posix: Remove posix waitid
- posix: Refactor tst-waitid (BZ #14666)
- support: Add support_process_state_wait
- malloc/tst-mallocfork2: Kill lingering process for unexpected failures
2020-03-04 11:00:41 -05:00
Patsy Franklin 505d538386 Auto-sync with upstream branch master
Upstream commit: 758599bc9dcc5764e862bd9e1613c5d1e6efc5d3

- elf: Apply attribute_relro to pointers in elf/dl-minimal.c
- powerpc: Refactor fenvinline.h
- nss_nis: Use NSS_DECLARE_MODULE_FUNCTIONS
- csu: Use ELF constructor instead of _init in libc.so
- ldbl-128ibm: make ieee754.h work with IEEE 128 long double
- ldbl-128ibm-compat: fixup subdir location of several funcs
- ldbl-128ibm-compat: enforce correct abi flags on internal file
- ldbl-128ibm-compat: Provide ieee128 symbols to narrow functions
- Undefine redirections after long double definition on __LDBL_COMPAT [BZ #23294]
- nios2: Fix Linux kABI for syscall return
- Fix use-after-free in glob when expanding ~user (bug 25414)
- nptl: Move pthread_setschedparam implementation into libc
- nptl: Move pthread_getschedparam implementation into libc
- Add hidden prototypes for __sched_getparam, __sched_getscheduler
- nptl: Move pthread_cond_init implementation into libc
- nptl: Move pthread_cond_destroy implementation into libc
- nptl: Move pthread_condattr_init implementation into libc
- nptl: Move pthread_condattr_destroy implementation into libc
- nptl: Move pthread_attr_setscope implementation into libc
- nptl: Move pthread_attr_getscope implementation into libc
- nptl: Move pthread_attr_setschedpolicy implementation into libc
- nptl: Move pthread_attr_getschedpolicy implementation into libc
- nptl: Sort routines list in Makefile alphabetically
- nptl: Use .NOTPARALLEL in Makefile only if actually running tests
- Block all signals on timer_create thread (BZ#10815)
- Fix tst-pkey expectations on pkey_get [BZ #23202]
- y2038: linux: Provide __gettimeofday64 implementation
- Linux: Work around kernel bugs in chmod on /proc/self/fd paths [BZ #14578]
- Introduce <elf-initfini.h> and ELF_INITFINI for all architectures
- mips: Fix bracktrace result for signal frames
- Move implementation of <file_change_detection.h> into a C file
- <fd_to_filename.h>: Add type safety and port to Hurd
- Prepare redirections for IEEE long double on powerpc64le
- conform/conformtest.py: Extend tokenizer to cover character constants
- stdlib: Reduce namespace pollution in <inttypes.h>
- x86: Avoid single-argument _Static_assert in <tls.h>
- x86 tls: Use _Static_assert for TLS access size assertion
- htl: Link internal htl tests against libpthread
- pthread: Fix building tst-robust8 with nptl
- pthread: Move robust mutex tests from nptl to sysdeps/pthread
- htl: Remove stub warning for pthread_mutexattr_setpshared
- htl: Add missing functions and defines for robust mutexes
- htl: Only check pthread_self coherency when DEBUG is set
- hurd: Add THREAD_GET/SETMEM/_NC
- hurd tls: update comment about fields at the end of tcbhead
- ld.so: Do not export free/calloc/malloc/realloc functions [BZ #25486]
- Remove weak declaration of free from <inline-hashtab.h>
- elf: Extract _dl_sym_post, _dl_sym_find_caller_map from elf/dl-sym.c
- elf: Introduce the rtld-stubbed-symbols makefile variable
- arm: fix use of INTERNAL_SYSCALL_CALL
- linux: Remove INTERNAL_SYSCALL_DECL
- nptl: Remove ununsed pthread-errnos.h rule
- linux: Consolidate INLINE_SYSCALL
- s390: Consolidate Linux syscall definition
- riscv: Avoid clobbering register parameters in syscall
- microblaze: Avoid clobbering register parameters in syscall
- nios2: Use Linux kABI for syscall return
- mips: Use Linux kABI for syscall return
- mips64: Consolidate Linux sysdep.h
- ia64: Use Linux kABI for syscall return
- alpha: Refactor syscall and Use Linux kABI for syscall return
- sparc: Avoid clobbering register parameters in syscall
- sparc: Use Linux kABI for syscall return
- powerpc: Use Linux kABI for syscall return
- powerpc: Consolidate Linux syscall definition
- i386: Enable CET support in ucontext functions
- tst-clone3: Use __NR_futex_time64 if we don't have __NR_futex
- powerpc64: Add memory protection key support [BZ #23202]
- ldbl-128ibm-compat: Provide a scalb implementation
- Add a generic scalb implementation
- Adjust thresholds in Bessel function implementations (bug 14469).
- resolv: Fix ABA race in /etc/resolv.conf change detection [BZ #25420]
- resolv: Enhance __resolv_conf_load to capture file change data
- resolv: Fix file handle leak in __resolv_conf_load [BZ #25429]
- resolv: Use <file_change_detection.h> in __resolv_conf_get_current
- Add STATX_ATTR_VERITY from Linux 5.5 to bits/statx-generic.h.
- Use gcc -finput-charset=ascii for check-installed-headers.
- math/test-sinl-pseudo: Use stack protector only if available
- alpha: Fix static gettimeofday symbol
- nss_nisplus: Use NSS_DECLARE_MODULE_FUNCTIONS
- nss_dns: Use NSS_DECLARE_MODULE_FUNCTIONS
- nss_files: Use NSS_DECLARE_MODULE_FUNCTIONS
- nss_db: Use NSS_DECLARE_MODULE_FUNCTIONS
- nss_compat: Use NSS_DECLARE_MODULE_FUNCTIONS
- nss_hesiod: Use NSS_DECLARE_MODULE_FUNCTIONS
- nss: Add function types and NSS_DECLARE_MODULE_FUNCTIONS macro to <nss.h>
- nss_compat: Do not use nss_* names for function pointers
- Avoid ldbl-96 stack corruption from range reduction of pseudo-zero (bug 25487).
- mips: Fix argument passing for inlined syscalls on Linux [BZ #25523]
- mips: Use 'long int' and 'long long int' in linux syscall code
- alpha: Use generic gettimeofday implementation
- sunrpc: Properly clean up if tst-udp-timeout fails
- elf: avoid stack allocation in dl_open_worker
- elf: avoid redundant sort in dlopen
- elf: Allow dlopen of filter object to work [BZ #16272]
- Update translations
- Rename RWF_WRITE_LIFE_NOT_SET to RWH_WRITE_LIFE_NOT_SET following Linux 5.5.
- S390: Fix non-ascii character in fenv.h.
- io: Add io/tst-lchmod covering lchmod and fchmodat
- Linux: Emulate fchmodat with AT_SYMLINK_NOFOLLOW using O_PATH [BZ #14578]
- io: Implement lchmod using fchmodat [BZ #14578]
- Add internal <file_change_detection.h> header file
- elf.h: Add R_RISCV_IRELATIVE
- Fix typo in the name for Wednesday in Kurdish [BZ #9809]
- debug: Add missing locale dependencies of fortify tests
- htl C11 threads: Avoid pthread_ symbols visibility in static library
- hurd: Add __pthread_spin_wait and use it
- ldbl-128ibm-compat: set PRINTF_CHK flag in {,v}sprintf_chk
- Use --disable-gdbserver in build-many-glibcs.py.
- Improve random memcpy benchmark
- nptl: update default pthread-offsets.h
- nptl: add missing pthread-offsets.h
- htl: Avoid a local plt for pthread_self
- pthread: Move some join tests from nptl to sysdeps/pthread
- htl: Make joining self return EDEADLK
- pthread: Move most barrier tests from nptl to sysdeps/pthread
- htl: Fix barrier_wait with one thread
- pthread: Move most sem tests from nptl to sysdeps/pthread
- htl: Make sem_wait/sem_timedwait interruptible
- htl: Make sem_open return ENOSYS
- htl: Add support for semaphore maximum value
- pthread: Move key tests from nptl to sysdeps/pthread
- hurd: Make nanosleep a cancellation point
- htl: Add support for libc cancellation points
- htl: clean __pthread_get_cleanup_stack hidden proto
- htl: XFAIL rwlock tests which need pshared support
- pthread: Move some rwlock tests from nptl to sysdeps/pthread
- pthread: Move most once tests from nptl to sysdeps/pthread
- htl: support cancellation during pthread_once
- pthread: Move most cond tests from nptl to sysdeps/pthread
- htl: make pthread_cond_destroy return EBUSY on waiters
- htl: Report missing mutex lock on pthread_cond_*wait
- htl: Fix linking static testcases
- htl: Move __register_atfork from forward to own file
- pthread: Move some attr tests from nptl to sysdeps/pthread
- htl: Fix default guard size
- pthread: Move most mutex tests from nptl to sysdeps/pthread
- pthread: Move spin tests from nptl to sysdeps/pthread
- htl: make pthread_spin_lock really spin
- htl: Avoid check-installed-headers looking at inlines
- htl: Do not put spin_lock inlines in public headers
- pthread: Move basic tests from nptl to sysdeps/pthread
- htl: Fix calling pthread_exit in the child of a fork
- x86: Remove <bits/select.h> and use the generic version
- C11 threads: Move implementation to sysdeps/pthread
- htl: Add C11 threads types definitions
- C11 threads: make thrd_join more portable
- C11 threads: Fix thrd_t / pthread_t compatibility assertion
- C11 threads: do not require PTHREAD_DESTRUCTOR_ITERATIONS
- nptl: Move nptl-specific types to separate header
- htl: Make __PTHREAD_ONCE_INIT more flexible
- htl: Add support for C11 threads behavior
- htl: Add missing internal functions declarations
- htl: Rename _pthread_mutex_init/destroy to __pthread_mutex_init/destroy
- htl: Move internal mutex/rwlock symbols to GLIBC_PRIVATE
- Linux: Add io/tst-o_path-locks test
- support: Add the xlstat function
- htl: Remove duplicate files
- htl: Remove unused files
- resolv: Fix CNAME chaining in resolv/tst-resolv-ai_idn-common.c
- Remove a comment claiming that sin/cos round correctly.
- y2038: linux: Provide __settimeofday64 implementation
- y2038: Provide conversion helpers for struct __timeval64
- y2038: alpha: Rename valid_timeval64_to_timeval to valid_timeval_to_timeval32
- y2038: alpha: Rename valid_timeval_to_timeval64 to valid_timeval32_to_timeval
- y2038: Introduce struct __timeval64 - new internal glibc type
- y2038: Define __suseconds64_t type to be used with struct __timeval64
- Update kernel version to 5.5 in tst-mman-consts.py.
- Update syscall lists for Linux 5.5.
- NEWS: Set fill-column hint to 72
- y2038: linux: Provide __timespec_get64 implementation
- Use binutils 2.34 branch in build-many-glibcs.py.
- Run nptl/tst-pthread-getattr in a container
- test-container: add exec, cwd
- Use Linux 5.5 in build-many-glibcs.py.
- rt: avoid PLT setup in timer_[sg]ettime
- Update or_IN collation [BZ #22525]
- Fix ckb_IQ [BZ #9809]
- Add new locale: ckb_IQ (Kurdish/Sorani spoken in Iraq) [BZ #9809]
- list-fixed-bugs.py: Wrap at 72 chars
- y2038: linux: Provide __sched_rr_get_interval64 implementation
- y2038: linux: Provide __timerfd_settime64 implementation
- y2038: linux: Provide __timerfd_gettime64 implementation
- i386: Remove _exit.S
- i386: Use ENTRY/END in assembly codes
- i386-mcount.S: Add _CET_ENDBR to _mcount and __fentry__
- i386/sub_n.S: Add a missing _CET_ENDBR to indirect jump target
- i386: Don't unnecessarily save and restore EAX, ECX and EDX [BZ# 25262]
- x86: Don't make 2 calls to dlerror () in a row
- Open master for 2.32 development
2020-02-26 18:53:37 -05:00
DJ Delorie c5ffb3238b Auto-sync with upstream release 2.31
Upstream commit 9ea3686266dca3f004ba874745a4087a89682617

- glibc 2.31 release
- Generate ChangeLog.old/ChangeLog.20 for 2.31
- Add bugs fixed in 2.31 in NEWS
- Update newest tested versions of dependencies in install.texi
- Add more contributors to the manual
- Add note to NEWS about kernel headers dependency on risc-v
- Add Portuguese (Portugal) translation
- Add NEWS entry about 64-bit time_t syscall use on 32-bit targets
- nptl: Avoid using PTHREAD_MUTEX_DEFAULT in macro definition [BZ #25271]
2020-02-03 17:41:16 -05:00
Patsy Franklin 1e5275ce0a Auto-sync with upstream branch master
Upstream commit: 352bb99754ae7c83ff1b974f9c52244e974c9410

- Build raise with -fasynchronous-unwind-tables.
- Fix locale/tst-locale-locpath cross-testing when sshd sets LANG.
- Fix elf/tst-rtld-preload cross-testing.
- Fix cross-testing of tst-ifunc-fault-* tests.
- gitlog-to-changelog: Drop scripts in favour of gnulib version
- Add NEWS entry about the change in handling of PT_GNU_STACK on MIPS
- Fix array overflow in backtrace on PowerPC (bug 25423)
- getaddrinfo: Fix resource leak after strdup failure in gethosts (swbz#25425)
2020-01-30 12:21:39 -05:00
Fedora Release Engineering d18724d2ec - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-28 22:10:23 +00:00
Patsy Franklin d2f233f5b4 Auto-sync with upstream branch master
Upstream commit: 92ce43eef7ac844782d50a8015d977d216fbadec

- Run bench-timing-type with newly built libc.
- Get rid of Werror=maybe-uninitialized in res_send.c.
- translations: Update translations
- translations: Trim po files using msgattrib
- Update translations
- translations: Run msgmerge when downloading translations
- Fix maybe-uninitialized error on powerpc
- powerpc32: Fix syntax error in __GLRO macro
- Remove incorrect alloc_size attribute from pvalloc [BZ #25401]
2020-01-20 14:11:33 -05:00
Florian Weimer c996bd1b30 Auto-sync with upstream branch master
Upstream commit: 70ba28f7ab2923d4e36ffc9d5d2e32357353b25c

- Fix tst-pkey.c pkey_alloc return checks and manual
- powerpc: Move cache line size to rtld_global_ro
- powerpc: Initialize rtld_global_ro for static dlopen (swbz#20802)
- Revert outdated translations
- vcs-to-changelog: Add quirk for __nonnull
- elf: Add elf/tst-dlopenfail-2 (swbz#25396, #1395758)
- Clear GL(dl_initfirst) when freeing its link_map (swbz#25396, #1395758)
- Update Translations
- Fix "elf: Add tst-ldconfig-ld_so_conf-update test" on 32bit.
- elf: Add tst-ldconfig-ld_so_conf-update test
- sl_SI locale: Use "." as the thousands separator (swbz#25233)
2020-01-17 13:49:44 +01:00
Arjun Shankar 258bf984b0 Auto-sync with upstream branch master
Upstream commit: cbce69e70dc4b04fefcc7257e593733b8b03856c

- Multiple locales: Add date_fmt (bug 24054)
- Update libc.pot for 2.31 release
- Add libm_alias_finite for _finite symbols
- Linux: Fix clock_nanosleep time64 check
- linux: Fix vDSO macros build with time64 interfaces
- x86: Make x32 use x86 time implementation
- Remove vDSO support from make-syscall.sh
- linux: Update x86 vDSO symbols
- linux: Update mips vDSO symbols
- linux: Consolidate Linux gettimeofday
- linux: Consolidate time implementation
- elf: Enable relro for static build
- elf: Move vDSO setup to rtld (BZ#24967)
- linux: Add support for clock_gettime64 vDSO
- linux: Optimize fallback 32-bit clock_gettime
- linux: Enable vDSO clock_gettime64 for i386
- linux: Enable vDSO clock_gettime64 for arm
- linux: Enable vDSO clock_gettime64 for mips
- linux: Add support for clock_getres64 vDSO
- linux: Optimize fallback 32-bit clock_getres
- htl: Use dso_handle.h
- htl: Drop common tcbhead_t definition
- htl: Move pthread_atfork to libc_nonshared.a
- htl: Add __errno_location and __h_errno_location
- hurd: Fix message reception for timer_thread
2020-01-06 13:02:15 +01:00
Florian Weimer ee01264a30 Auto-sync with upstream branch master
Upstream commit: cc47d5c5f53f6d845ac54698ae8929af15662c44

- Linux: Use built-in system call tables
- lv_LV locale: Correct the time part of d_t_fmt (swbz#25324)
- km_KH locale: Use "%M" instead of "m" in d_t_fmt (swbz#25323)
- ldbl-128ibm-compat: Do not mix -mabi=*longdouble and -mlong-double-128
- ldbl-128ibm-compat: Compiler flags for stdio functions
- Do not redirect calls to __GI_* symbols, when redirecting to *ieee128
- aarch64: add default memcpy version for kunpeng920
- aarch64: ifunc rename for kunpeng
- aarch64: Modify error-shown comments for strcpy
- linux: Consolidate sigprocmask
- Fix return code for __libc_signal_* functions
- nptl: Remove duplicate internal __SIZEOF_PTHREAD_MUTEX_T (swbz#25241)
2020-01-02 10:42:49 +01:00
Carlos O'Donell 53b7c46841 Auto-sync with upstream branch master
Upstream commit: b8c210bcc74840d24c61d39bde15bea9daf3e271

- mnw_MM, my_MM, and shn_MM locales: Do not use %Op
- Avoid compat symbols for totalorder in powerpc64le IEEE long double
- ldbl-128ibm-compat: Add *cvt functions
- Refactor *cvt functions implementation (2/2)
- Refactor *cvt functions implementation (1/2)
- Add exception-based flags for wait4
- aarch64: Optimized memset for Kunpeng processor.
- aarch64: Optimized strlen for strlen_asimd
- aarch64: Add Huawei Kunpeng to tunable cpu list
- aarch64: Optimized implementation of memrchr
- aarch64: Optimized implementation of strnlen
- aarch64: Optimized implementation of strcpy
- aarch64: Optimized implementation of memcmp
- Consolidate wait3 implementations
- Implement waitpid in terms of wait4
- linux: Use waitid on wait4 if __NR_wait4 is not defined
- Implement wait in terms of waitpid
- nptl: Move waitpid implementation to libc
- nptl: Move wait implementation to libc
- Remove __waitpid_nocancel
- Fix test isolation for elf/tst-ifunc-fault-lazy, elf/tst-ifunc-fault-bindnow
- Fix __libc_signal_block_all on sparc64
- powerpc: Do not run IFUNC resolvers for LD_DEBUG=unused [BZ #24214]
2019-12-26 08:27:48 -05:00
Patsy Franklin 2e168fa077 Auto-sync with upstream branch master
Upstream commit: 3dcad8158f43d71d5b8f6f317f82952ddf3468f3

- hurd: Do not make sigprocmask available in ld.so
- build-many-glibcs.py: Do not build C++ PCHs by default
- hurd: Make getrandom honour GRND_NONBLOCK
- tunables: report sbrk() failure
- build-many-glibcs.py: Add mipsisa64r6el-linux-gnu target
- mips: Do not include hi and lo in __SYSCALL_CLOBBERS for R6
- ldbl-128ibm-compat: Add ISO C99 versions of scanf functions
- ldbl-128ibm-compat: Fix selection of GNU and ISO C99 scanf
- hurd: Fix local PLT
- dlopen: Do not block signals
- dlopen: Rework handling of pending NODELETE status
- dlopen: Fix issues related to NODELETE handling and relocations
- hurd: Fix __close_nocancel_nostatus availability
- hurd: add getrandom and getentropy implementations
- hurd: Implement __close_nocancel_nostatus
- manual: clarify fopen with the x flag
- S390: Use sysdeps/ieee754/dbl-64/wordsize-64 on s390x.
- S390: Implement roundtoint and converttoint and define TOINT_INTRINSICS.
- S390: Implement math-barriers math_opt_barrier and math_force_eval.
- S390: Use libc_fe* macros in fe* functions.
- S390: Implement libc_fe* macros.
- S390: Use convert-to-fixed instruction for llround functions.
- S390: Use convert-to-fixed instruction for lround functions.
- S390: Use convert-to-fixed instruction for llrint functions.
- S390: Use convert-to-fixed instruction for lrint functions.
- S390: Use load-fp-integer instruction for roundeven functions.
- Adjust s_copysignl.c regarding code style.
- Adjust s_ceilf.c and s_ceill.c regarding code style.
- Adjust s_floorf.c and s_floorl.c regarding code style.
- Adjust s_rintf.c and s_rintl.c regarding code style.
- Adjust s_nearbyintf.c and s_nearbyintl.c regarding code style.
- Use GCC builtins for copysign functions if desired.
- Use GCC builtins for round functions if desired.
- Use GCC builtins for trunc functions if desired.
- Use GCC builtins for ceil functions if desired.
- Use GCC builtins for floor functions if desired.
- Use GCC builtins for rint functions if desired.
- Use GCC builtins for nearbyint functions if desired.
- Always use wordsize-64 version of s_round.c.
- Always use wordsize-64 version of s_trunc.c.
- Always use wordsize-64 version of s_ceil.c.
- Always use wordsize-64 version of s_floor.c.
- Always use wordsize-64 version of s_rint.c.
- Always use wordsize-64 version of s_nearbyint.c.
- ldconfig: Do not print a warning for a missing ld.so.conf file
- hurd: Fix using altstack while in an RPC call to be aborted
- Fix failure when CFLAGS contains -DNDEBUG (Bug 25251)
2019-12-19 15:46:31 -05:00
DJ Delorie b672d8b211 Auto-sync with upstream branch master,
Upstream commit: 0487ebed2278b20971af4cabf186fd3681adccf0

- nptl: Add more missing placeholder abi symbol from nanosleep move
- sysdeps/riscv/start.S: rename .Lload_gp to load_gp (bug 24376)
- y2038: linux: Provide __timer_settime64 implementation
- y2038: linux: Provide __timer_gettime64 implementation
- timer: Decouple x86_64 specific timer_settime from generic Linux implementation
- timer: Decouple x86_64 specific timer_gettime from generic Linux implementation
- time: Introduce glibc's internal struct __itimerspec64
- Correct range checking in mallopt/mxfast/tcache [BZ #25194]
- misc/test-errno-linux: Handle EINVAL from quotactl
- <string.h>: Define __CORRECT_ISO_CPP_STRING_H_PROTO for Clang [BZ #25232]
- build-many-glibcs.py: Move sparcv8 to extra_glibcs
2019-12-09 23:28:35 -05:00
Florian Weimer e9451d9caf Upstream patches for fallout from dlopen NODELETE changes (#1778344, #1778366) 2019-12-05 17:38:17 +01:00
Patsy Franklin 134ad59d86 Auto-sync with upstream branch master
Upstream commit: ec138c67cbda8b5826a0a2a7ba456408117996dc

- sysdeps: Add clock_gettime64 vDSO
- Do not use ld.so to open statically linked programs in debugglibc.sh
- Attach to test in container from debugglibc.sh
- Expand $(as-needed) and $(no-as-needed) throughout the build system
- x86: Assume --enable-cet if GCC defaults to CET [BZ #25225]
- ldbl-128ibm-compat: Add tests for strfroml, strtold, and wcstold
- ldbl-128ibm-compat: Add tests for strfmon and strfmon_l
- ldbl-128ibm-compat: Add strfmon_l with IEEE long double format
- ldbl-128ibm-compat: Replace http with https in new files
- elf: Do not run IFUNC resolvers for LD_DEBUG=unused [BZ #24214]
- elf/tst-dlopenfail: Disable --no-as-needed for tst-dlopenfailmod1.so
- hurd: Fix ld.so __access override from libc
- hurd: Fix ld.so __getcwd override from libc
- hurd: Make __sigprocmask GLIBC_PRIVATE
- hurd: Fix renameat2 error
- hurd: make strerror(0) coherent with other ports
- hurd: Fix ld.so link
- Update kernel version to 5.4 in tst-mman-consts.py.
- Update SOMAXCONN value from Linux 5.4.
- Update syscall-names.list for Linux 5.4.
- Fix syntax error in build-many-glibcs.py.
- Define MADV_COLD and MADV_PAGEOUT from Linux 5.4.
2019-12-04 23:09:33 -05:00
Florian Weimer 761a9384b6 dlopen: Remove incorrect assert in activate_nodelete (#1778344) 2019-12-02 10:02:46 +01:00
Florian Weimer 17391589c0 Auto-sync with upstream branch master
Upstream commit: e37c2cf299b61ce18f62852f6c5624c27829b610

- Move _dl_open_check to its original place in dl_open_worker
- Block signals during the initial part of dlopen
- Remove all loaded objects if dlopen fails, ignoring NODELETE (#1395758)
- Avoid late dlopen failure due to scope, TLS slotinfo updates (swbz#25112)
- Avoid late failure in dlopen in global scope update (swbz#25112)
- Lazy binding failures during dlopen/dlclose must be fatal (swbz#24304)
- resolv: Implement trust-ad option for /etc/resolv.conf (#1164339)
- dlsym: Do not determine caller link map if not needed
- libio: Disable vtable validation for pre-2.1 interposed handles (swbz#25203)
- ldbl-128ibm-compat: Add syslog functions
- ldbl-128ibm-compat: Add obstack printing functions
- ldbl-128ibm-compat: Reuse tests for err.h and error.h functions
- ldbl-128ibm-compat: Add error.h functions
- ldbl-128ibm-compat: Add err.h functions
- ldbl-128ibm-compat: Add argp_error and argp_failure
- sparc: Use atomic compiler builtins on sparc
- Remove 32 bit sparc v7 support
2019-11-28 15:58:33 +01:00
Arjun Shankar a9ba88d656 Auto-sync with upstream branch master
Upstream commit: bfdb731438206b0f70fe7afa890681155c30b419

- rtld: Check __libc_enable_secure for LD_PREFER_MAP_32BIT_EXEC (CVE-2019-19126)
- Introduce DL_LOOKUP_FOR_RELOCATE flag for _dl_lookup_symbol_x
- Enable inlining issignalingf within glibc
- Don't use a custom wrapper macro around __has_include (bug 25189).
- Remove duplicate inline implementation of issignalingf
- misc: Set generic pselect as ENOSYS
- Use DEPRECATED_SCANF macro for remaining C99-compliant scanf functions
- ldbl-128ibm-compat: Add regular/wide character printing printing functions
- ldbl-128ibm-compat: Test double values and positional arguments
- ldbl-128ibm-compat: Add regular/wide character scanning functions
- arm: Fix armv7 selection after 'Split BE/LE abilist'
- Use Linux 5.4 in build-many-glibcs.py.
- sysdeps/posix: Simplify if expression in getaddrinfo
- sysdeps/posix/getaddrinfo: Return early on invalid address family
- ru_UA locale: use copy "ru_RU" in LC_TIME (bug 25044)
- locale: Greek -> ASCII transliteration table [BZ #12031]
- nptl: Cleanup mutex internal offset tests
- nptl: Add tests for internal pthread_rwlock_t offsets
- nptl: Remove rwlock elision definitions
- nptl: Add struct_mutex.h and struct_rwlock.h
- nptl: Add default pthreadtypes-arch.h and pthread-offsets.h
- Compile elf/rtld.c with -fno-tree-loop-distribute-patterns.
- nptl: Fix __PTHREAD_MUTEX_INITIALIZER for !__PTHREAD_MUTEX_HAVE_PREV
- S390: Fix handling of needles crossing a page in strstr z15 ifunc [BZ #25226]
2019-11-27 16:23:05 +01:00
Patsy Franklin 967a41b547 Auto-sync with upstream branch master
Upstream commit: 2a764c6ee848dfe92cb2921ed3b14085f15d9e79

- Enhance _dl_catch_exception to allow disabling exception handling
- hurd: Suppress GCC 10 -Warray-bounds warning in init-first.c [BZ #25097]
- linux: Add comment on affinity set sizes to tst-skeleton-affinity.c
- Avoid zero-length array at the end of struct link_map [BZ #25097]
- Introduce link_map_audit_state accessor function
- Properly initialize audit cookie for the dynamic loader [BZ #25157]
- nios2: Work around backend bug triggered by csu/libc-tls.c (GCC PR 92499)
- Redefine _IO_iconv_t to store a single gconv step pointer [BZ #25097]
- Add new script for plotting string benchmark JSON output
- support: Fix support_set_small_thread_stack_size to build on Hurd
- login: Use pread64 in utmp implementation
- Clarify purpose of assert in _dl_lookup_symbol_x
- aarch64: Increase small and medium cases for __memcpy_generic
- login: Introduce matches_last_entry to utmp processing
2019-11-18 19:21:14 -05:00
Arjun Shankar 24846fb24d Trim changelog 2019-11-12 18:46:37 +01:00
Arjun Shankar 9bd4f8ff43 Auto-sync with upstream branch master
Upstream commit: cba932a5a9e91cffd7f4172d7e91f9b2efb1f84b

- nptl: Move nanosleep implementation to libc
- Refactor nanosleep in terms of clock_nanosleep
- nptl: Refactor thrd_sleep in terms of clock_nanosleep
- math: enhance the endloop condition of function handle_input_flag
- hurd: Remove lingering references to the time function
- hurd: Use __clock_gettime in _hurd_select
- login: Remove double-assignment of fl.l_whence in try_file_lock
- nptl: Add missing placeholder abi symbol from nanosleep move
- login: Acquire write lock early in pututline [BZ #24882]
- Remove hppa pthreadP.h
- sysdeps/clock_nanosleep: Use clock_nanosleep_time64 if avaliable
- Fix array bounds violation in regex matcher (bug 25149)
- support: Add support_set_small_thread_stack_size
- linux: Reduce stack size for nptl/tst-thread-affinity-pthread
- y2038: linux: Provide __ppoll64 implementation
- Declare asctime_r, ctime_r, gmtime_r, localtime_r for C2X.
- support: Add xsetlocale function
- libio/tst-fopenloc: Use xsetlocale, xfopen, and xfclose
- Fix clock_nanosleep when interrupted by a signal
- slotinfo in struct dtv_slotinfo_list should be flexible array [BZ #25097]
2019-11-12 18:20:32 +01:00
Patsy Franklin ebf75398f0 Auto-sync with upstream branch master
Upstream commit: 2a0356e1191804d57005e1cfe2a72f019b7a8cce

- posix: Sync regex with gnulib
- Add mnw language code [BZ #25139]
- Add new locale: mnw_MM (Mon language spoken in Myanmar) [BZ #25139]
- S390: Fp comparison are now raising FE_INVALID with gcc 10.
- linux: pselect: Remove CALL_PSELECT6 macro
- Fix run-one-test so that it runs elf tests
- nptl: Fix niggles with pthread_clockjoin_np
- hppa: Align __clone stack argument to 8 bytes (Bug 25066)
- y2038: linux: Provide __futimens64 implementation
- y2038: linux: Provide __utimensat64 implementation
- nptl: Add pthread_timedjoin_np, pthread_clockjoin_np NULL timeout test
- nptl: Add pthread_clockjoin_np
- manual: Add documentation for pthread_tryjoin_np and pthread_timedjoin_np
- nptl: Convert tst-join3 to use libsupport
- Sync time/mktime.c with gnulib
- Sync timespec-{add,sub} with gnulib
- Sync intprops.h with gnulib
- Refactor adjtimex based on clock_adjtime
- Refactor PI mutexes internal definitions
- Remove pause and nanosleep not cancel wrappers
- nptl: Replace non cancellable pause/nanosleep with futex
- Consolidate lowlevellock-futex.h
- Consolidate futex-internal.h
- Base max_fast on alignment, not width, of bins (Bug 24903)
- Revise the documentation of simple calendar time.
- Make second argument of gettimeofday as 'void *'
- Use clock_gettime to implement gettimeofday.
- Use clock_gettime to implement timespec_get.
- Consolidate and deprecate ftime
- Change most internal uses of time to __clock_gettime.
- Use clock_gettime to implement time.
- Use clock_settime to implement settimeofday.
- Use clock_settime to implement stime; withdraw stime.
- Change most internal uses of __gettimeofday to __clock_gettime.
- Linux/Alpha: don't use timeval32 system calls.
- resolv/tst-idna_name_classify: Isolate from system libraries
- hurd: Support for file record locking
- Comment out initgroups from example nsswitch.conf (Bug 25146)
2019-11-06 15:12:38 -05:00
DJ Delorie 0ce23ddfbe Auto-sync with upstream branch master
Upstream commit: 177a3d48a1c74d7b2cd6bfd48901519d25a5ecad

- y2038: linux: Provide __clock_getres64 implementation
- time: Introduce function to check correctness of nanoseconds value
- Add Transliterations for Unicode Misc. Mathematical Symbols-A/B [BZ #23132]
- Install charmaps uncompressed in testroot
- Add wait-for-debugger test harness hooks
- Define __STATFS_MATCHES_STATFS64
- hurd: Fix build after __pread64 usage in the dynamic loader
- sysdeps/stat: Handle 64-bit ino_t types on 32-bit hosts
- S390: Remove not needed stack frame in syscall function.
2019-10-28 14:17:34 -04:00
DJ Delorie 59ddeeccff Add *.mo files to all-langpacks (#1624528)
Installing all-langpacks must have the same functionality as
installing all the separate lang files; but the lang files have
the *.mo files which all-langpacks didn't.
2019-10-25 13:49:25 -04:00
DJ Delorie eb580e4bc6 Add Requires on basesystem for main package (#1757267)
Add Requires on coreutils for glibc-headers (uses rm)
2019-10-24 14:33:25 -04:00
Arjun Shankar 8936dd058a Auto-sync with upstream branch master
Upstream commit: 7db1fe38de21831d53ceab9ae83493d8d1aec601

- Include <kernel-features.h> explicitly in Linux clock_settime.c
- Remove math-finite.h
- Remove finite-math tests
- Remove x64 _finite tests and references
- Fix testroot.pristine creation copying dynamic linker
2019-10-23 12:14:40 +02:00
Patsy Franklin 8e7139fb4c Auto-sync with upstream branch master
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
2019-10-20 15:33:40 -04:00
Arjun Shankar 81c303b235 Auto-sync with upstream branch master
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
2019-10-08 16:38:17 +02:00
Zbigniew Jędrzejewski-Szmek 64db3acbd3 Use full locale names in langpack descriptions (#1651375) 2019-09-30 11:36:45 -04:00
Patsy Franklin 46d12a81bf Auto-sync with upstream branch master
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
2019-09-26 22:30:13 -04:00
Parag Nemade ea59ae7dfe
Change Supplements "langpacks-" to "langpacks-core-" (#1729992)
This change is part of implementation of Fedora 31 Change
https://fedoraproject.org/wiki/Changes/Langpacks-core

Signed-off-by: Parag Nemade <pnemade@fedoraproject.org>
2019-09-26 14:21:05 +05:30
41 changed files with 7728 additions and 3643 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

File diff suppressed because it is too large Load Diff

View File

@ -1,34 +0,0 @@
This package supports working with patch files using quilt.
To regenerate the quilt series file run:
./gen-quilt-series.sh
Setup environment:
export QUILT_PATCHES=$PWD
Setup the source:
./quilt-patch.sh [-f]
Use `-f` if you want to have quilt-patch always remove the existing
source directory before starting. Otherwise you'll be patching on top of
an already patched tree generated perhaps by `*pkg prep`.
Create a new patch:
cd glibc-2.17-c758a686/
quilt new glibc-rh1234622.patch
quilt add ports/sysdeps/unix/sysv/linux/aarch64/nptl/libpthread.abilist
vi ports/sysdeps/unix/sysv/linux/aarch64/nptl/libpthread.abilist
quilt refresh
cd ..
git add glibc-rh1234622.patch
<Then edit the glibc.spec file to build with the new patch>
e.g.
...
PatchXXXX: glibc-rh1234622.patch
...
%patchXXXX -p1
...
git add glibc.spec
git commit
You're done!

494
SUPPORTED
View File

@ -1,494 +0,0 @@
# This file names the currently supported and somewhat tested locales.
# If you have any additions please file a glibc bug report.
SUPPORTED-LOCALES=\
C.UTF-8/UTF-8 \
aa_DJ.UTF-8/UTF-8 \
aa_DJ/ISO-8859-1 \
aa_ER/UTF-8 \
aa_ER@saaho/UTF-8 \
aa_ET/UTF-8 \
af_ZA.UTF-8/UTF-8 \
af_ZA/ISO-8859-1 \
agr_PE/UTF-8 \
ak_GH/UTF-8 \
am_ET/UTF-8 \
an_ES.UTF-8/UTF-8 \
an_ES/ISO-8859-15 \
anp_IN/UTF-8 \
ar_AE.UTF-8/UTF-8 \
ar_AE/ISO-8859-6 \
ar_BH.UTF-8/UTF-8 \
ar_BH/ISO-8859-6 \
ar_DZ.UTF-8/UTF-8 \
ar_DZ/ISO-8859-6 \
ar_EG.UTF-8/UTF-8 \
ar_EG/ISO-8859-6 \
ar_IN/UTF-8 \
ar_IQ.UTF-8/UTF-8 \
ar_IQ/ISO-8859-6 \
ar_JO.UTF-8/UTF-8 \
ar_JO/ISO-8859-6 \
ar_KW.UTF-8/UTF-8 \
ar_KW/ISO-8859-6 \
ar_LB.UTF-8/UTF-8 \
ar_LB/ISO-8859-6 \
ar_LY.UTF-8/UTF-8 \
ar_LY/ISO-8859-6 \
ar_MA.UTF-8/UTF-8 \
ar_MA/ISO-8859-6 \
ar_OM.UTF-8/UTF-8 \
ar_OM/ISO-8859-6 \
ar_QA.UTF-8/UTF-8 \
ar_QA/ISO-8859-6 \
ar_SA.UTF-8/UTF-8 \
ar_SA/ISO-8859-6 \
ar_SD.UTF-8/UTF-8 \
ar_SD/ISO-8859-6 \
ar_SS/UTF-8 \
ar_SY.UTF-8/UTF-8 \
ar_SY/ISO-8859-6 \
ar_TN.UTF-8/UTF-8 \
ar_TN/ISO-8859-6 \
ar_YE.UTF-8/UTF-8 \
ar_YE/ISO-8859-6 \
ayc_PE/UTF-8 \
az_AZ/UTF-8 \
az_IR/UTF-8 \
as_IN/UTF-8 \
ast_ES.UTF-8/UTF-8 \
ast_ES/ISO-8859-15 \
be_BY.UTF-8/UTF-8 \
be_BY/CP1251 \
be_BY@latin/UTF-8 \
bem_ZM/UTF-8 \
ber_DZ/UTF-8 \
ber_MA/UTF-8 \
bg_BG.UTF-8/UTF-8 \
bg_BG/CP1251 \
bhb_IN.UTF-8/UTF-8 \
bho_IN/UTF-8 \
bho_NP/UTF-8 \
bi_VU/UTF-8 \
bn_BD/UTF-8 \
bn_IN/UTF-8 \
bo_CN/UTF-8 \
bo_IN/UTF-8 \
br_FR.UTF-8/UTF-8 \
br_FR/ISO-8859-1 \
br_FR@euro/ISO-8859-15 \
brx_IN/UTF-8 \
bs_BA.UTF-8/UTF-8 \
bs_BA/ISO-8859-2 \
byn_ER/UTF-8 \
ca_AD.UTF-8/UTF-8 \
ca_AD/ISO-8859-15 \
ca_ES.UTF-8/UTF-8 \
ca_ES/ISO-8859-1 \
ca_ES@euro/ISO-8859-15 \
ca_ES@valencia/UTF-8 \
ca_FR.UTF-8/UTF-8 \
ca_FR/ISO-8859-15 \
ca_IT.UTF-8/UTF-8 \
ca_IT/ISO-8859-15 \
ce_RU/UTF-8 \
chr_US/UTF-8 \
cmn_TW/UTF-8 \
crh_UA/UTF-8 \
cs_CZ.UTF-8/UTF-8 \
cs_CZ/ISO-8859-2 \
csb_PL/UTF-8 \
cv_RU/UTF-8 \
cy_GB.UTF-8/UTF-8 \
cy_GB/ISO-8859-14 \
da_DK.UTF-8/UTF-8 \
da_DK/ISO-8859-1 \
da_DK.ISO-8859-15/ISO-8859-15 \
de_AT.UTF-8/UTF-8 \
de_AT/ISO-8859-1 \
de_AT@euro/ISO-8859-15 \
de_BE.UTF-8/UTF-8 \
de_BE/ISO-8859-1 \
de_BE@euro/ISO-8859-15 \
de_CH.UTF-8/UTF-8 \
de_CH/ISO-8859-1 \
de_DE.UTF-8/UTF-8 \
de_DE/ISO-8859-1 \
de_DE@euro/ISO-8859-15 \
de_IT.UTF-8/UTF-8 \
de_IT/ISO-8859-1 \
de_LI.UTF-8/UTF-8 \
de_LU.UTF-8/UTF-8 \
de_LU/ISO-8859-1 \
de_LU@euro/ISO-8859-15 \
doi_IN/UTF-8 \
dsb_DE/UTF-8 \
dv_MV/UTF-8 \
dz_BT/UTF-8 \
el_GR.UTF-8/UTF-8 \
el_GR/ISO-8859-7 \
el_GR@euro/ISO-8859-7 \
el_CY.UTF-8/UTF-8 \
el_CY/ISO-8859-7 \
en_AG/UTF-8 \
en_AU.UTF-8/UTF-8 \
en_AU/ISO-8859-1 \
en_BW.UTF-8/UTF-8 \
en_BW/ISO-8859-1 \
en_CA.UTF-8/UTF-8 \
en_CA/ISO-8859-1 \
en_DK.UTF-8/UTF-8 \
en_DK/ISO-8859-1 \
en_GB.UTF-8/UTF-8 \
en_GB/ISO-8859-1 \
en_GB.ISO-8859-15/ISO-8859-15 \
en_HK.UTF-8/UTF-8 \
en_HK/ISO-8859-1 \
en_IE.UTF-8/UTF-8 \
en_IE/ISO-8859-1 \
en_IE@euro/ISO-8859-15 \
en_IL/UTF-8 \
en_IN/UTF-8 \
en_NG/UTF-8 \
en_NZ.UTF-8/UTF-8 \
en_NZ/ISO-8859-1 \
en_PH.UTF-8/UTF-8 \
en_PH/ISO-8859-1 \
en_SC.UTF-8/UTF-8 \
en_SG.UTF-8/UTF-8 \
en_SG/ISO-8859-1 \
en_US.UTF-8/UTF-8 \
en_US/ISO-8859-1 \
en_US.ISO-8859-15/ISO-8859-15 \
en_ZA.UTF-8/UTF-8 \
en_ZA/ISO-8859-1 \
en_ZM/UTF-8 \
en_ZW.UTF-8/UTF-8 \
en_ZW/ISO-8859-1 \
eo/UTF-8 \
es_AR.UTF-8/UTF-8 \
es_AR/ISO-8859-1 \
es_BO.UTF-8/UTF-8 \
es_BO/ISO-8859-1 \
es_CL.UTF-8/UTF-8 \
es_CL/ISO-8859-1 \
es_CO.UTF-8/UTF-8 \
es_CO/ISO-8859-1 \
es_CR.UTF-8/UTF-8 \
es_CR/ISO-8859-1 \
es_CU/UTF-8 \
es_DO.UTF-8/UTF-8 \
es_DO/ISO-8859-1 \
es_EC.UTF-8/UTF-8 \
es_EC/ISO-8859-1 \
es_ES.UTF-8/UTF-8 \
es_ES/ISO-8859-1 \
es_ES@euro/ISO-8859-15 \
es_GT.UTF-8/UTF-8 \
es_GT/ISO-8859-1 \
es_HN.UTF-8/UTF-8 \
es_HN/ISO-8859-1 \
es_MX.UTF-8/UTF-8 \
es_MX/ISO-8859-1 \
es_NI.UTF-8/UTF-8 \
es_NI/ISO-8859-1 \
es_PA.UTF-8/UTF-8 \
es_PA/ISO-8859-1 \
es_PE.UTF-8/UTF-8 \
es_PE/ISO-8859-1 \
es_PR.UTF-8/UTF-8 \
es_PR/ISO-8859-1 \
es_PY.UTF-8/UTF-8 \
es_PY/ISO-8859-1 \
es_SV.UTF-8/UTF-8 \
es_SV/ISO-8859-1 \
es_US.UTF-8/UTF-8 \
es_US/ISO-8859-1 \
es_UY.UTF-8/UTF-8 \
es_UY/ISO-8859-1 \
es_VE.UTF-8/UTF-8 \
es_VE/ISO-8859-1 \
et_EE.UTF-8/UTF-8 \
et_EE/ISO-8859-1 \
et_EE.ISO-8859-15/ISO-8859-15 \
eu_ES.UTF-8/UTF-8 \
eu_ES/ISO-8859-1 \
eu_ES@euro/ISO-8859-15 \
fa_IR/UTF-8 \
ff_SN/UTF-8 \
fi_FI.UTF-8/UTF-8 \
fi_FI/ISO-8859-1 \
fi_FI@euro/ISO-8859-15 \
fil_PH/UTF-8 \
fo_FO.UTF-8/UTF-8 \
fo_FO/ISO-8859-1 \
fr_BE.UTF-8/UTF-8 \
fr_BE/ISO-8859-1 \
fr_BE@euro/ISO-8859-15 \
fr_CA.UTF-8/UTF-8 \
fr_CA/ISO-8859-1 \
fr_CH.UTF-8/UTF-8 \
fr_CH/ISO-8859-1 \
fr_FR.UTF-8/UTF-8 \
fr_FR/ISO-8859-1 \
fr_FR@euro/ISO-8859-15 \
fr_LU.UTF-8/UTF-8 \
fr_LU/ISO-8859-1 \
fr_LU@euro/ISO-8859-15 \
fur_IT/UTF-8 \
fy_NL/UTF-8 \
fy_DE/UTF-8 \
ga_IE.UTF-8/UTF-8 \
ga_IE/ISO-8859-1 \
ga_IE@euro/ISO-8859-15 \
gd_GB.UTF-8/UTF-8 \
gd_GB/ISO-8859-15 \
gez_ER/UTF-8 \
gez_ER@abegede/UTF-8 \
gez_ET/UTF-8 \
gez_ET@abegede/UTF-8 \
gl_ES.UTF-8/UTF-8 \
gl_ES/ISO-8859-1 \
gl_ES@euro/ISO-8859-15 \
gu_IN/UTF-8 \
gv_GB.UTF-8/UTF-8 \
gv_GB/ISO-8859-1 \
ha_NG/UTF-8 \
hak_TW/UTF-8 \
he_IL.UTF-8/UTF-8 \
he_IL/ISO-8859-8 \
hi_IN/UTF-8 \
hif_FJ/UTF-8 \
hne_IN/UTF-8 \
hr_HR.UTF-8/UTF-8 \
hr_HR/ISO-8859-2 \
hsb_DE/ISO-8859-2 \
hsb_DE.UTF-8/UTF-8 \
ht_HT/UTF-8 \
hu_HU.UTF-8/UTF-8 \
hu_HU/ISO-8859-2 \
hy_AM/UTF-8 \
hy_AM.ARMSCII-8/ARMSCII-8 \
ia_FR/UTF-8 \
id_ID.UTF-8/UTF-8 \
id_ID/ISO-8859-1 \
ig_NG/UTF-8 \
ik_CA/UTF-8 \
is_IS.UTF-8/UTF-8 \
is_IS/ISO-8859-1 \
it_CH.UTF-8/UTF-8 \
it_CH/ISO-8859-1 \
it_IT.UTF-8/UTF-8 \
it_IT/ISO-8859-1 \
it_IT@euro/ISO-8859-15 \
iu_CA/UTF-8 \
ja_JP.EUC-JP/EUC-JP \
ja_JP.UTF-8/UTF-8 \
ka_GE.UTF-8/UTF-8 \
ka_GE/GEORGIAN-PS \
kab_DZ/UTF-8 \
kk_KZ.UTF-8/UTF-8 \
kk_KZ/PT154 \
kl_GL.UTF-8/UTF-8 \
kl_GL/ISO-8859-1 \
km_KH/UTF-8 \
kn_IN/UTF-8 \
ko_KR.EUC-KR/EUC-KR \
ko_KR.UTF-8/UTF-8 \
kok_IN/UTF-8 \
ks_IN/UTF-8 \
ks_IN@devanagari/UTF-8 \
ku_TR.UTF-8/UTF-8 \
ku_TR/ISO-8859-9 \
kw_GB.UTF-8/UTF-8 \
kw_GB/ISO-8859-1 \
ky_KG/UTF-8 \
lb_LU/UTF-8 \
lg_UG.UTF-8/UTF-8 \
lg_UG/ISO-8859-10 \
li_BE/UTF-8 \
li_NL/UTF-8 \
lij_IT/UTF-8 \
ln_CD/UTF-8 \
lo_LA/UTF-8 \
lt_LT.UTF-8/UTF-8 \
lt_LT/ISO-8859-13 \
lv_LV.UTF-8/UTF-8 \
lv_LV/ISO-8859-13 \
lzh_TW/UTF-8 \
mag_IN/UTF-8 \
mai_IN/UTF-8 \
mai_NP/UTF-8 \
mfe_MU/UTF-8 \
mg_MG.UTF-8/UTF-8 \
mg_MG/ISO-8859-15 \
mhr_RU/UTF-8 \
mi_NZ.UTF-8/UTF-8 \
mi_NZ/ISO-8859-13 \
miq_NI/UTF-8 \
mjw_IN/UTF-8 \
mk_MK.UTF-8/UTF-8 \
mk_MK/ISO-8859-5 \
ml_IN/UTF-8 \
mn_MN/UTF-8 \
mni_IN/UTF-8 \
mr_IN/UTF-8 \
ms_MY.UTF-8/UTF-8 \
ms_MY/ISO-8859-1 \
mt_MT.UTF-8/UTF-8 \
mt_MT/ISO-8859-3 \
my_MM/UTF-8 \
nan_TW/UTF-8 \
nan_TW@latin/UTF-8 \
nb_NO.UTF-8/UTF-8 \
nb_NO/ISO-8859-1 \
nds_DE/UTF-8 \
nds_NL/UTF-8 \
ne_NP/UTF-8 \
nhn_MX/UTF-8 \
niu_NU/UTF-8 \
niu_NZ/UTF-8 \
nl_AW/UTF-8 \
nl_BE.UTF-8/UTF-8 \
nl_BE/ISO-8859-1 \
nl_BE@euro/ISO-8859-15 \
nl_NL.UTF-8/UTF-8 \
nl_NL/ISO-8859-1 \
nl_NL@euro/ISO-8859-15 \
nn_NO.UTF-8/UTF-8 \
nn_NO/ISO-8859-1 \
nr_ZA/UTF-8 \
nso_ZA/UTF-8 \
oc_FR.UTF-8/UTF-8 \
oc_FR/ISO-8859-1 \
om_ET/UTF-8 \
om_KE.UTF-8/UTF-8 \
om_KE/ISO-8859-1 \
or_IN/UTF-8 \
os_RU/UTF-8 \
pa_IN/UTF-8 \
pa_PK/UTF-8 \
pap_AW/UTF-8 \
pap_CW/UTF-8 \
pl_PL.UTF-8/UTF-8 \
pl_PL/ISO-8859-2 \
ps_AF/UTF-8 \
pt_BR.UTF-8/UTF-8 \
pt_BR/ISO-8859-1 \
pt_PT.UTF-8/UTF-8 \
pt_PT/ISO-8859-1 \
pt_PT@euro/ISO-8859-15 \
quz_PE/UTF-8 \
raj_IN/UTF-8 \
ro_RO.UTF-8/UTF-8 \
ro_RO/ISO-8859-2 \
ru_RU.KOI8-R/KOI8-R \
ru_RU.UTF-8/UTF-8 \
ru_RU/ISO-8859-5 \
ru_UA.UTF-8/UTF-8 \
ru_UA/KOI8-U \
rw_RW/UTF-8 \
sa_IN/UTF-8 \
sah_RU/UTF-8 \
sat_IN/UTF-8 \
sc_IT/UTF-8 \
sd_IN/UTF-8 \
sd_IN@devanagari/UTF-8 \
se_NO/UTF-8 \
sgs_LT/UTF-8 \
shn_MM/UTF-8 \
shs_CA/UTF-8 \
si_LK/UTF-8 \
sid_ET/UTF-8 \
sk_SK.UTF-8/UTF-8 \
sk_SK/ISO-8859-2 \
sl_SI.UTF-8/UTF-8 \
sl_SI/ISO-8859-2 \
sm_WS/UTF-8 \
so_DJ.UTF-8/UTF-8 \
so_DJ/ISO-8859-1 \
so_ET/UTF-8 \
so_KE.UTF-8/UTF-8 \
so_KE/ISO-8859-1 \
so_SO.UTF-8/UTF-8 \
so_SO/ISO-8859-1 \
sq_AL.UTF-8/UTF-8 \
sq_AL/ISO-8859-1 \
sq_MK/UTF-8 \
sr_ME/UTF-8 \
sr_RS/UTF-8 \
sr_RS@latin/UTF-8 \
ss_ZA/UTF-8 \
st_ZA.UTF-8/UTF-8 \
st_ZA/ISO-8859-1 \
sv_FI.UTF-8/UTF-8 \
sv_FI/ISO-8859-1 \
sv_FI@euro/ISO-8859-15 \
sv_SE.UTF-8/UTF-8 \
sv_SE/ISO-8859-1 \
sv_SE.ISO-8859-15/ISO-8859-15 \
sw_KE/UTF-8 \
sw_TZ/UTF-8 \
szl_PL/UTF-8 \
ta_IN/UTF-8 \
ta_LK/UTF-8 \
tcy_IN.UTF-8/UTF-8 \
te_IN/UTF-8 \
tg_TJ.UTF-8/UTF-8 \
tg_TJ/KOI8-T \
th_TH.UTF-8/UTF-8 \
th_TH/TIS-620 \
the_NP/UTF-8 \
ti_ER/UTF-8 \
ti_ET/UTF-8 \
tig_ER/UTF-8 \
tk_TM/UTF-8 \
tl_PH.UTF-8/UTF-8 \
tl_PH/ISO-8859-1 \
tn_ZA/UTF-8 \
to_TO/UTF-8 \
tpi_PG/UTF-8 \
tr_CY.UTF-8/UTF-8 \
tr_CY/ISO-8859-9 \
tr_TR.UTF-8/UTF-8 \
tr_TR/ISO-8859-9 \
ts_ZA/UTF-8 \
tt_RU/UTF-8 \
tt_RU@iqtelif/UTF-8 \
ug_CN/UTF-8 \
uk_UA.UTF-8/UTF-8 \
uk_UA/KOI8-U \
unm_US/UTF-8 \
ur_IN/UTF-8 \
ur_PK/UTF-8 \
uz_UZ.UTF-8/UTF-8 \
uz_UZ/ISO-8859-1 \
uz_UZ@cyrillic/UTF-8 \
ve_ZA/UTF-8 \
vi_VN/UTF-8 \
wa_BE/ISO-8859-1 \
wa_BE@euro/ISO-8859-15 \
wa_BE.UTF-8/UTF-8 \
wae_CH/UTF-8 \
wal_ET/UTF-8 \
wo_SN/UTF-8 \
xh_ZA.UTF-8/UTF-8 \
xh_ZA/ISO-8859-1 \
yi_US.UTF-8/UTF-8 \
yi_US/CP1255 \
yo_NG/UTF-8 \
yue_HK/UTF-8 \
yuw_PG/UTF-8 \
zh_CN.GB18030/GB18030 \
zh_CN.GBK/GBK \
zh_CN.UTF-8/UTF-8 \
zh_CN/GB2312 \
zh_HK.UTF-8/UTF-8 \
zh_HK/BIG5-HKSCS \
zh_SG.UTF-8/UTF-8 \
zh_SG.GBK/GBK \
zh_SG/GB2312 \
zh_TW.EUC-TW/EUC-TW \
zh_TW.UTF-8/UTF-8 \
zh_TW/BIG5 \
zu_ZA.UTF-8/UTF-8 \
zu_ZA/ISO-8859-1 \

19
gating.yaml Normal file
View File

@ -0,0 +1,19 @@
# recipients: glibc-bugzilla
# yamllint disable rule:line-length
--- !Policy
product_versions:
- fedora-*
decision_contexts:
- bodhi_update_push_stable
- bodhi_update_push_stable_critpath
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
- !PassingTestCaseRule {test_case_name: baseos-qe.koji-build.scratch-build.validation}
--- !Policy
product_versions:
- rhel-9
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional}
- !PassingTestCaseRule {test_case_name: osci.brew-build.rebuild.validation}

View File

@ -1,286 +0,0 @@
Short description: Add C.UTF-8 support.
Author(s): Fedora glibc team <glibc@lists.fedoraproject.org>
Origin: PATCH
Upstream status: not-submitted
This patch needs to upstream as part of Carlos O'Donell
<carlos@redhat.com>'s work on enabling upstream C.UTF-8 support. This
work is currently blocked on cleaning up the test results to prove that
full code-point sorting is working as intended.
Note that this patch does not provide full code-point sorting as
expected.
This patch needs to upstream as soon as possible since it would be nice
to have this in F29 and fixed.
From 2eda7b462b415105f5a05c1323372d4e39d46439 Mon Sep 17 00:00:00 2001
From: Mike FABIAN <mfabian@redhat.com>
Date: Mon, 10 Aug 2015 15:58:12 +0200
Subject: [PATCH] Add a C.UTF-8 locale
---
localedata/SUPPORTED | 1 +
localedata/locales/C | 238 +++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 239 insertions(+)
create mode 100644 localedata/locales/C
diff --git a/localedata/SUPPORTED b/localedata/SUPPORTED
index 8ca023e..2a78391 100644
--- a/localedata/SUPPORTED
+++ b/localedata/SUPPORTED
@@ -1,6 +1,7 @@
# This file names the currently supported and somewhat tested locales.
# If you have any additions please file a glibc bug report.
SUPPORTED-LOCALES=\
+C.UTF-8/UTF-8 \
aa_DJ.UTF-8/UTF-8 \
aa_DJ/ISO-8859-1 \
aa_ER/UTF-8 \
diff --git a/localedata/locales/C b/localedata/locales/C
new file mode 100644
index 0000000..fdf460e
--- /dev/null
+++ b/localedata/locales/C
@@ -0,0 +1,238 @@
+escape_char /
+comment_char %
+% Locale for C locale in UTF-8
+
+LC_IDENTIFICATION
+title "C locale"
+source ""
+address ""
+contact ""
+email "mfabian@redhat.com"
+tel ""
+fax ""
+language "C"
+territory ""
+revision "1.0"
+date "2015-08-10"
+%
+category "i18n:2012";LC_IDENTIFICATION
+category "i18n:2012";LC_CTYPE
+category "i18n:2012";LC_COLLATE
+category "i18n:2012";LC_TIME
+category "i18n:2012";LC_NUMERIC
+category "i18n:2012";LC_MONETARY
+category "i18n:2012";LC_MESSAGES
+category "i18n:2012";LC_PAPER
+category "i18n:2012";LC_NAME
+category "i18n:2012";LC_ADDRESS
+category "i18n:2012";LC_TELEPHONE
+category "i18n:2012";LC_MEASUREMENT
+END LC_IDENTIFICATION
+
+LC_CTYPE
+copy "i18n"
+
+translit_start
+include "translit_combining";""
+translit_end
+
+END LC_CTYPE
+
+LC_COLLATE
+order_start forward
+<U0000>
+..
+<UFFFF>
+<U00010000>
+..
+<U0001FFFF>
+<U00020000>
+..
+<U0002FFFF>
+<U000E0000>
+..
+<U000EFFFF>
+<U000F0000>
+..
+<U000FFFFF>
+<U00100000>
+..
+<U0010FFFF>
+UNDEFINED
+order_end
+END LC_COLLATE
+
+LC_MONETARY
+% This is the 14652 i18n fdcc-set definition for
+% the LC_MONETARY category
+% (except for the int_curr_symbol and currency_symbol, they are empty in
+% the 14652 i18n fdcc-set definition and also empty in
+% glibc/locale/C-monetary.c. But localedef complains in that case).
+%
+% Using "USD" for int_curr_symbol. But maybe "XXX" would be better?
+% XXX is "No currency" (https://en.wikipedia.org/wiki/ISO_4217)
+int_curr_symbol "<U0055><U0053><U0044><U0020>"
+% Using "$" for currency_symbol. But maybe <U00A4> would be better?
+% U+00A4 is the "generic currency symbol"
+% (https://en.wikipedia.org/wiki/Currency_sign_%28typography%29)
+currency_symbol "<U0024>"
+mon_decimal_point "<U002E>"
+mon_thousands_sep ""
+mon_grouping -1
+positive_sign ""
+negative_sign "<U002D>"
+int_frac_digits -1
+frac_digits -1
+p_cs_precedes -1
+int_p_sep_by_space -1
+p_sep_by_space -1
+n_cs_precedes -1
+int_n_sep_by_space -1
+n_sep_by_space -1
+p_sign_posn -1
+n_sign_posn -1
+%
+END LC_MONETARY
+
+LC_NUMERIC
+% This is the POSIX Locale definition for
+% the LC_NUMERIC category.
+%
+decimal_point "<U002E>"
+thousands_sep ""
+grouping -1
+END LC_NUMERIC
+
+LC_TIME
+% This is the POSIX Locale definition for
+% the LC_TIME category.
+%
+% Abbreviated weekday names (%a)
+abday "<U0053><U0075><U006E>";"<U004D><U006F><U006E>";/
+ "<U0054><U0075><U0065>";"<U0057><U0065><U0064>";/
+ "<U0054><U0068><U0075>";"<U0046><U0072><U0069>";/
+ "<U0053><U0061><U0074>"
+
+% Full weekday names (%A)
+day "<U0053><U0075><U006E><U0064><U0061><U0079>";/
+ "<U004D><U006F><U006E><U0064><U0061><U0079>";/
+ "<U0054><U0075><U0065><U0073><U0064><U0061><U0079>";/
+ "<U0057><U0065><U0064><U006E><U0065><U0073><U0064><U0061><U0079>";/
+ "<U0054><U0068><U0075><U0072><U0073><U0064><U0061><U0079>";/
+ "<U0046><U0072><U0069><U0064><U0061><U0079>";/
+ "<U0053><U0061><U0074><U0075><U0072><U0064><U0061><U0079>"
+
+% Abbreviated month names (%b)
+abmon "<U004A><U0061><U006E>";"<U0046><U0065><U0062>";/
+ "<U004D><U0061><U0072>";"<U0041><U0070><U0072>";/
+ "<U004D><U0061><U0079>";"<U004A><U0075><U006E>";/
+ "<U004A><U0075><U006C>";"<U0041><U0075><U0067>";/
+ "<U0053><U0065><U0070>";"<U004F><U0063><U0074>";/
+ "<U004E><U006F><U0076>";"<U0044><U0065><U0063>"
+
+% Full month names (%B)
+mon "<U004A><U0061><U006E><U0075><U0061><U0072><U0079>";/
+ "<U0046><U0065><U0062><U0072><U0075><U0061><U0072><U0079>";/
+ "<U004D><U0061><U0072><U0063><U0068>";/
+ "<U0041><U0070><U0072><U0069><U006C>";/
+ "<U004D><U0061><U0079>";/
+ "<U004A><U0075><U006E><U0065>";/
+ "<U004A><U0075><U006C><U0079>";/
+ "<U0041><U0075><U0067><U0075><U0073><U0074>";/
+ "<U0053><U0065><U0070><U0074><U0065><U006D><U0062><U0065><U0072>";/
+ "<U004F><U0063><U0074><U006F><U0062><U0065><U0072>";/
+ "<U004E><U006F><U0076><U0065><U006D><U0062><U0065><U0072>";/
+ "<U0044><U0065><U0063><U0065><U006D><U0062><U0065><U0072>"
+
+% Week description, consists of three fields:
+% 1. Number of days in a week.
+% 2. Gregorian date that is a first weekday (19971130 for Sunday, 19971201 for Monday).
+% 3. The weekday number to be contained in the first week of the year.
+%
+% ISO 8601 conforming applications should use the values 7, 19971201 (a
+% Monday), and 4 (Thursday), respectively.
+week 7;19971201;4
+first_weekday 1
+first_workday 1
+
+% Appropriate date and time representation (%c)
+% "%a %b %e %H:%M:%S %Y"
+d_t_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065><U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0059>"
+
+% Appropriate date representation (%x)
+% "%m/%d/%y"
+d_fmt "<U0025><U006D><U002F><U0025><U0064><U002F><U0025><U0079>"
+
+% Appropriate time representation (%X)
+% "%H:%M:%S"
+t_fmt "<U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053>"
+
+% Appropriate AM/PM time representation (%r)
+% "%I:%M:%S %p"
+t_fmt_ampm "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0070>"
+
+% Equivalent of AM/PM (%p) "AM"/"PM"
+%
+am_pm "<U0041><U004D>";"<U0050><U004D>"
+
+% Appropriate date representation (date(1)) "%a %b %e %H:%M:%S %Z %Y"
+date_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065><U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U005A><U0020><U0025><U0059>"
+END LC_TIME
+
+LC_MESSAGES
+% This is the POSIX Locale definition for
+% the LC_NUMERIC category.
+%
+yesexpr "<U005E><U005B><U0079><U0059><U005D>"
+noexpr "<U005E><U005B><U006E><U004E><U005D>"
+yesstr "<U0059><U0065><U0073>"
+nostr "<U004E><U006F>"
+END LC_MESSAGES
+
+LC_PAPER
+% This is the ISO/IEC 14652 "i18n" definition for
+% the LC_PAPER category.
+% (A4 paper, this is also used in the built in C/POSIX
+% locale in glibc/locale/C-paper.c)
+height 297
+width 210
+END LC_PAPER
+
+LC_NAME
+% This is the ISO/IEC 14652 "i18n" definition for
+% the LC_NAME category.
+% "%p%t%g%t%m%t%f"
+% (also used in the built in C/POSIX locale in glibc/locale/C-name.c)
+name_fmt "<U0025><U0070><U0025><U0074><U0025><U0067><U0025><U0074>/
+<U0025><U006D><U0025><U0074><U0025><U0066>"
+END LC_NAME
+
+LC_ADDRESS
+% This is the ISO/IEC 14652 "i18n" definition for
+% the LC_ADDRESS category.
+% "%a%N%f%N%d%N%b%N%s %h %e %r%N%C-%z %T%N%c%N"
+% (also used in the built in C/POSIX locale in glibc/locale/C-address.c)
+postal_fmt "<U0025><U0061><U0025><U004E><U0025><U0066><U0025><U004E>/
+<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/
+<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/
+<U004E><U0025><U0043><U002D><U0025><U007A><U0020><U0025><U0054><U0025>/
+<U004E><U0025><U0063><U0025><U004E>"
+END LC_ADDRESS
+
+LC_TELEPHONE
+% This is the ISO/IEC 14652 "i18n" definition for
+% the LC_TELEPHONE category.
+% "+%c %a %l"
+tel_int_fmt "<U002B><U0025><U0063><U0020><U0025><U0061><U0020><U0025>/
+<U006C>"
+% (also used in the built in C/POSIX locale in glibc/locale/C-telephone.c)
+END LC_TELEPHONE
+
+LC_MEASUREMENT
+% This is the ISO/IEC 14652 "i18n" definition for
+% the LC_MEASUREMENT category.
+% (same as in the built in C/POSIX locale in glibc/locale/C-measurement.c)
+%metric
+measurement 1
+END LC_MEASUREMENT
+
--
2.4.3

View File

@ -1,15 +1,44 @@
Short description: Adjust CS_PATH return value.
Short description: Adjust CS_PATH and the test container layout.
Author(s): Fedora glibc team <glibc@lists.fedoraproject.org>
Origin: PATCH
Upstream status: not-needed
In Fedora we should return only /usr/bin because /bin is just a symlink
to /usr/bin after MoveToUsr transition (which glibc has not really
completed).
In Fedora we should return only /usr/bin as CS_PATH because /bin is just
a symlink to /usr/bin after MoveToUsr transition (which glibc has not
really completed).
diff -pruN a/sysdeps/unix/confstr.h b/sysdeps/unix/confstr.h
--- a/sysdeps/unix/confstr.h 2012-12-25 08:32:13.000000000 +0530
+++ b/sysdeps/unix/confstr.h 2014-09-05 20:02:55.698275219 +0530
We also create /{bin,lib,lib64,sbin} in the test container as symbolic
links. 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.
diff --git a/Makefile b/Makefile
index a49870d3d1e636a9..feb2599203b10098 100644
--- a/Makefile
+++ b/Makefile
@@ -598,9 +598,13 @@ $(tests-container) $(addsuffix /tests,$(subdirs)) : \
$(objpfx)testroot.pristine/install.stamp :
test -d $(objpfx)testroot.pristine || \
mkdir $(objpfx)testroot.pristine
- # We need a working /bin/sh for some of the tests.
- test -d $(objpfx)testroot.pristine/bin || \
- mkdir $(objpfx)testroot.pristine/bin
+ # Set up symlinks to directories whose contents got moved to /usr
+ for moved in bin lib lib64 sbin; do \
+ test -d $(objpfx)testroot.pristine/usr/$$moved || \
+ mkdir -p $(objpfx)testroot.pristine/usr/$$moved ;\
+ test -e $(objpfx)testroot.pristine/$$moved || \
+ ln -s usr/$$moved $(objpfx)testroot.pristine/$$moved ;\
+ done
# We need the compiled locale dir for localedef tests.
test -d $(objpfx)testroot.pristine/$(complocaledir) || \
mkdir -p $(objpfx)testroot.pristine/$(complocaledir)
diff --git a/sysdeps/unix/confstr.h b/sysdeps/unix/confstr.h
index 15859c3b2759878e..9b63b7f8069866fd 100644
--- a/sysdeps/unix/confstr.h
+++ b/sysdeps/unix/confstr.h
@@ -1 +1 @@
-#define CS_PATH "/bin:/usr/bin"
+#define CS_PATH "/usr/bin"

View File

@ -0,0 +1,20 @@
This is necessary to get things building again after libselinux changes.
A proper fix is under discussion upstream:
<https://sourceware.org/pipermail/libc-alpha/2020-July/116504.html>
diff --git a/nss/makedb.c b/nss/makedb.c
index 8e389a1683747cf1..9d81aed57d384a22 100644
--- a/nss/makedb.c
+++ b/nss/makedb.c
@@ -17,6 +17,10 @@
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
+/* This file uses deprecated declarations from libselinux. */
+#include <libc-diag.h>
+DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wdeprecated-declarations");
+
#include <argp.h>
#include <assert.h>
#include <ctype.h>

View File

@ -1,91 +0,0 @@
Short description: Cleanup use of _dl_starting_up.
Author(s): Fedora glibc team <glibc@lists.fedoraproject.org>
Origin: PATCH
Upstream status: https://sourceware.org/ml/libc-alpha/2014-02/msg00589.html
Upstream discussions:
https://sourceware.org/ml/libc-alpha/2014-02/msg00580.html
Based on the following commit:
~~~
From 16552c01a66633c9e412984d9d92616bd4e5303c Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab@redhat.com>
Date: Fri, 11 Jun 2010 11:04:11 +0200
Subject: [PATCH] Properly set __libc_multiple_libcs
* elf/rtld.c (_dl_starting_up): Always define.
(dl_main): Always set _dl_starting_up.
* elf/dl-support.c (_dl_starting_up): Always define.
* elf/dl-init.c (_dl_init): Always clear _dl_starting_up.
---
ChangeLog | 7 +++++++
elf/dl-init.c | 4 ----
elf/dl-support.c | 2 --
elf/rtld.c | 4 ----
4 files changed, 7 insertions(+), 10 deletions(-)
~~~
This patch needs to go upstream to get cleaned up, but has always involed
analysis of the GNU/Hurd parts of the change and that stalled out, but
perhaps with build-many-glibcs we can now test these changes more easily.
Index: b/elf/dl-init.c
===================================================================
--- a/elf/dl-init.c
+++ b/elf/dl-init.c
@@ -119,8 +119,6 @@ _dl_init (struct link_map *main_map, int
while (i-- > 0)
call_init (main_map->l_initfini[i], argc, argv, env);
-#ifndef HAVE_INLINED_SYSCALLS
/* Finished starting up. */
_dl_starting_up = 0;
-#endif
}
Index: b/elf/dl-support.c
===================================================================
--- a/elf/dl-support.c
+++ b/elf/dl-support.c
@@ -117,10 +117,8 @@ struct r_scope_elem _dl_initial_searchli
.r_nlist = 1,
};
-#ifndef HAVE_INLINED_SYSCALLS
/* Nonzero during startup. */
int _dl_starting_up = 1;
-#endif
/* Random data provided by the kernel. */
void *_dl_random;
Index: b/elf/rtld.c
===================================================================
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -214,7 +214,6 @@ audit_list_iter_next (struct audit_list_
return iter->previous->name;
}
-#ifndef HAVE_INLINED_SYSCALLS
/* Set nonzero during loading and initialization of executable and
libraries, cleared before the executable's entry point runs. This
must not be initialized to nonzero, because the unused dynamic
@@ -224,7 +223,6 @@ audit_list_iter_next (struct audit_list_
never be called. */
int _dl_starting_up = 0;
rtld_hidden_def (_dl_starting_up)
-#endif
/* This is the structure which defines all variables global to ld.so
(except those which cannot be added for some reason). */
@@ -898,10 +896,8 @@ dl_main (const ElfW(Phdr) *phdr,
/* Process the environment variable which control the behaviour. */
process_envvars (&mode);
-#ifndef HAVE_INLINED_SYSCALLS
/* Set up a flag which tells we are just starting. */
_dl_starting_up = 1;
-#endif
if (*user_entry == (ElfW(Addr)) ENTRY_POINT)
{

View File

@ -1,21 +0,0 @@
Short description: Fedora-specific glibc install locale changes.
Author(s): Fedora glibc team <glibc@lists.fedoraproject.org>
Origin: PATCH
Upstream status: not-needed
The Fedora glibc build and install does not need the normal install
behaviour which updates the locale archive. The Fedora install phase
in the spec file of the rpm will handle this manually.
diff --git a/localedata/Makefile b/localedata/Makefile
index 0eea396ad86da956..54caabda33728207 100644
--- a/localedata/Makefile
+++ b/localedata/Makefile
@@ -413,6 +413,7 @@ define build-one-locale
echo -n '...'; \
input=`echo $$locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; \
$(LOCALEDEF) $$flags --alias-file=../intl/locale.alias \
+ --no-archive \
-i locales/$$input -f charmaps/$$charset \
$(addprefix --prefix=,$(install_root)) $$locale \
&& echo ' done';

View File

@ -1,31 +0,0 @@
Short description: Fedora-specific enabling batch read in NSS.
Author(s): Fedora glibc team <glibc@lists.fedoraproject.org>
Origin: PATCH
Bug-RHEL: #188246
Upstream status: not-submitted
Enable batch read in NSS. It's not clear if this is always a win or
just a win for NIS+, this needs to be analyzed and sent upstream or
removed.
From baba5d9461d4e8a581ac26fe4412ad783ffc73e7 Mon Sep 17 00:00:00 2001
From: Jakub Jelinek <jakub@redhat.com>
Date: Mon, 1 May 2006 08:02:53 +0000
Subject: [PATCH] Enable SETENT_BATCH_READ nis/nss option by default
* Mon May 1 2006 Jakub Jelinek <jakub@redhat.com> 2.4.90-4
- SETENT_BATCH_READ /etc/default/nss option for speeding up
some usages of NIS+ (#188246)
diff --git a/nis/nss b/nis/nss
--- a/nis/nss
+++ b/nis/nss
@@ -25,7 +25,7 @@
# memory with every getXXent() call. Otherwise each getXXent() call
# might result into a network communication with the server to get
# the next entry.
-#SETENT_BATCH_READ=TRUE
+SETENT_BATCH_READ=TRUE
#
# ADJUNCT_AS_SHADOW
# If set to TRUE, the passwd routines in the NIS NSS module will not

View File

@ -1,20 +0,0 @@
Short description: NSCD must use nscd user.
Author(s): Fedora glibc team <glibc@lists.fedoraproject.org>
Origin: PATCH
Upstream status: not-needed
Fedora-specific configuration adjustment to introduce the nscd user.
(Upstream does not assume this user exists.)
diff -Nrup a/nscd/nscd.conf b/nscd/nscd.conf
--- a/nscd/nscd.conf 2012-06-05 07:42:49.000000000 -0600
+++ b/nscd/nscd.conf 2012-06-07 12:15:21.818318670 -0600
@@ -33,7 +33,7 @@
# logfile /var/log/nscd.log
# threads 4
# max-threads 32
-# server-user nobody
+ server-user nscd
# stat-user somebody
debug-level 0
# reload-count 5

View File

@ -1,45 +0,0 @@
The Fedora /etc/nsswitch.conf is based largely on the upstream
version with minor downstream distribution modifications for
use with SSSD and systemd.
diff --git a/nss/nsswitch.conf b/nss/nsswitch.conf
index f55358811495c9f1..14c3cde8080a848c 100644
--- a/nss/nsswitch.conf
+++ b/nss/nsswitch.conf
@@ -1,7 +1,7 @@
#
# /etc/nsswitch.conf
#
-# An example Name Service Switch config file. This file should be
+# Name Service Switch config file. This file should be
# sorted with the most-used services at the beginning.
#
# Valid databases are: aliases, ethers, group, gshadow, hosts,
@@ -52,18 +52,20 @@
# shadow: db files
# group: db files
-# In alphabetical order. Re-order as required to optimize peformance.
+# In order of likelihood of use to accelerate lookup.
+passwd: sss files
+shadow: files sss
+group: sss files
+hosts: files dns myhostname
+services: files sss
+netgroup: sss
+automount: files sss
+
aliases: files
ethers: files
-group: files
gshadow: files
-hosts: files dns
initgroups: files
-netgroup: files
networks: files dns
-passwd: files
protocols: files
publickey: files
rpc: files
-shadow: files
-services: files

View File

@ -1,21 +0,0 @@
Short description: Provide options to nscd startup.
Author(s): Fedora glibc team <glibc@lists.fedoraproject.org>
Origin: PATCH
Upstream status: not-needed
Fedora-specific nscd startup configuration file.
diff --git a/nscd/nscd.service b/nscd/nscd.service
index b7428a3..19ba185 100644
--- a/nscd/nscd.service
+++ b/nscd/nscd.service
@@ -5,7 +5,8 @@ Description=Name Service Cache Daemon
[Service]
Type=forking
-ExecStart=/usr/sbin/nscd
+EnvironmentFile=-/etc/sysconfig/nscd
+ExecStart=/usr/sbin/nscd $NSCD_OPTIONS
ExecStop=/usr/sbin/nscd --shutdown
ExecReload=/usr/sbin/nscd -i passwd
ExecReload=/usr/sbin/nscd -i group

View File

@ -8,33 +8,24 @@ python3 during a transitional phase.
Author: Carlos O'Donell <carlos@redhat.com>
diff --git a/benchtests/scripts/compare_bench.py b/benchtests/scripts/compare_bench.py
index c1c438a1c9f0eae6..b7d3d7bcee87969d 100755
index a85ca3a38be1fdeb..9f1ea9d85f4b833a 100755
--- a/benchtests/scripts/compare_bench.py
+++ b/benchtests/scripts/compare_bench.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
# Copyright (C) 2015-2019 Free Software Foundation, Inc.
# Copyright (C) 2015-2022 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
#
diff --git a/benchtests/scripts/import_bench.py b/benchtests/scripts/import_bench.py
index 7a55d19f038e64d4..72e6034243a8c9b6 100644
index d8bdde7753885a4d..698c4ff81b13f697 100644
--- a/benchtests/scripts/import_bench.py
+++ b/benchtests/scripts/import_bench.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
# Copyright (C) 2015-2019 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
#
diff --git a/benchtests/scripts/validate_benchout.py b/benchtests/scripts/validate_benchout.py
index 55d07c6bce5b5184..04129f9c26c2874c 100755
--- a/benchtests/scripts/validate_benchout.py
+++ b/benchtests/scripts/validate_benchout.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
# Copyright (C) 2014-2019 Free Software Foundation, Inc.
# Copyright (C) 2015-2022 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
#

View File

@ -1,22 +0,0 @@
Please see the following bug for a complete summary:
https://bugzilla.redhat.com/show_bug.cgi?id=1615608
Index: glibc-2.28/manual/startup.texi
===================================================================
--- glibc-2.28.orig/manual/startup.texi
+++ glibc-2.28/manual/startup.texi
@@ -1005,14 +1005,6 @@ This function actually terminates the pr
intercept this signal; see @ref{Signal Handling}.
@end deftypefun
-@c Put in by rms. Don't remove.
-@cartouche
-@strong{Future Change Warning:} Proposed Federal censorship regulations
-may prohibit us from giving you information about the possibility of
-calling this function. We would be required to say that this is not an
-acceptable way of terminating a program.
-@end cartouche
-
@node Termination Internals
@subsection Termination Internals

67
glibc-rh2096191-1.patch Normal file
View File

@ -0,0 +1,67 @@
commit 62a321b12d0e397af88fa422db65079332f971dc
Author: Florian Weimer <fweimer@redhat.com>
Date: Fri Jun 24 18:16:41 2022 +0200
support: Change non-address output format of support_format_dns_packet
It makes sense to include the owner name (LHS) and record type in the
output, so that they can be checked for correctness.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
diff --git a/support/support_format_dns_packet.c b/support/support_format_dns_packet.c
index 8ed234603eacf8e6..5b52b307b0f5d9f9 100644
--- a/support/support_format_dns_packet.c
+++ b/support/support_format_dns_packet.c
@@ -101,6 +101,17 @@ extract_name (struct in_buffer full, struct in_buffer *in, struct dname *value)
return true;
}
+static void
+extract_name_data (struct in_buffer full, struct in_buffer *rdata,
+ const struct dname *owner, const char *typename, FILE *out)
+{
+ struct dname name;
+ if (extract_name (full, rdata, &name))
+ fprintf (out, "data: %s %s %s\n", owner->name, typename, name.name);
+ else
+ fprintf (out, "error: malformed CNAME/PTR record\n");
+}
+
char *
support_format_dns_packet (const unsigned char *buffer, size_t length)
{
@@ -206,14 +217,11 @@ support_format_dns_packet (const unsigned char *buffer, size_t length)
}
break;
case T_CNAME:
+ extract_name_data (full, &rdata, &rname, "CNAME", mem.out);
+ break;
case T_PTR:
- {
- struct dname name;
- if (extract_name (full, &rdata, &name))
- fprintf (mem.out, "name: %s\n", name.name);
- else
- fprintf (mem.out, "error: malformed CNAME/PTR record\n");
- }
+ extract_name_data (full, &rdata, &rname, "PTR", mem.out);
+ break;
}
}
diff --git a/support/tst-support_format_dns_packet.c b/support/tst-support_format_dns_packet.c
index cb7ff53b874641a2..9839aa767e9b57d9 100644
--- a/support/tst-support_format_dns_packet.c
+++ b/support/tst-support_format_dns_packet.c
@@ -85,8 +85,8 @@ test_multiple_cnames (void)
"\xc0\x00\x02\x01";
check_packet (packet, sizeof (packet) - 1, __func__,
"name: www.example\n"
- "name: www1.example\n"
- "name: www2.example\n"
+ "data: www.example CNAME www1.example\n"
+ "data: www1.example CNAME www2.example\n"
"address: 192.0.2.1\n");
}

960
glibc-rh2096191-2.patch Normal file
View File

@ -0,0 +1,960 @@
commit f282cdbe7f436c75864e5640a409a10485e9abb2
Author: Florian Weimer <fweimer@redhat.com>
Date: Fri Jun 24 18:16:41 2022 +0200
resolv: Implement no-aaaa stub resolver option
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
(conflict in resolv/nss_dns/dns-host.c due to 649213ae27e4:
"nss_dns: Rewrite _nss_dns_gethostbyname4_r using current interfaces")
diff --git a/NEWS b/NEWS
index 54d3907f7c901976..557a58a8c3a836ec 100644
--- a/NEWS
+++ b/NEWS
@@ -9,6 +9,18 @@ Version 2.35.1
Major new features:
+* The “no-aaaa” DNS stub resolver option has been added. System
+ administrators can use it to suppress AAAA queries made by the stub
+ resolver, including AAAA lookups triggered by NSS-based interfaces
+ such as getaddrinfo. Only DNS lookups are affected: IPv6 data in
+ /etc/hosts is still used, getaddrinfo with AI_PASSIVE will still
+ produce IPv6 addresses, and configured IPv6 name servers are still
+ used. To produce correct Name Error (NXDOMAIN) results, AAAA queries
+ are translated to A queries. The new resolver option is intended
+ primarily for diagnostic purposes, to rule out that AAAA DNS queries
+ have adverse impact. It is incompatible with EDNS0 usage and DNSSEC
+ validation by applications.
+
* The getent tool now supports the --no-addrconfig option. The output of
getent with --no-addrconfig may contain addresses of families not
configured on the current host i.e. as-if you had not passed
diff --git a/resolv/Makefile b/resolv/Makefile
index 16943e7d9e05971b..f8a92c6cff9776dc 100644
--- a/resolv/Makefile
+++ b/resolv/Makefile
@@ -55,6 +55,7 @@ routines := \
nss_dns_functions \
res-close \
res-name-checking \
+ res-noaaaa \
res-state \
res_context_hostalias \
res_enable_icmp \
@@ -99,6 +100,7 @@ tests += \
tst-resolv-edns \
tst-resolv-invalid-cname \
tst-resolv-network \
+ tst-resolv-noaaaa \
tst-resolv-nondecimal \
tst-resolv-res_init-multi \
tst-resolv-search \
@@ -288,6 +290,7 @@ $(objpfx)tst-resolv-res_init-thread: $(objpfx)libresolv.so \
$(shared-thread-library)
$(objpfx)tst-resolv-invalid-cname: $(objpfx)libresolv.so \
$(shared-thread-library)
+$(objpfx)tst-resolv-noaaaa: $(objpfx)libresolv.so $(shared-thread-library)
$(objpfx)tst-resolv-nondecimal: $(objpfx)libresolv.so $(shared-thread-library)
$(objpfx)tst-resolv-qtypes: $(objpfx)libresolv.so $(shared-thread-library)
$(objpfx)tst-resolv-rotate: $(objpfx)libresolv.so $(shared-thread-library)
diff --git a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.c
index 5b8e408135cdd711..9fa81f23c853ba9e 100644
--- a/resolv/nss_dns/dns-host.c
+++ b/resolv/nss_dns/dns-host.c
@@ -126,6 +126,13 @@ static enum nss_status gaih_getanswer (unsigned char *packet1,
struct gaih_addrtuple **pat,
int *errnop, int *h_errnop,
int32_t *ttlp);
+static enum nss_status gaih_getanswer_noaaaa (unsigned char *packet,
+ size_t packetlen,
+ struct alloc_buffer *abuf,
+ struct gaih_addrtuple **pat,
+ int *errnop, int *h_errnop,
+ int32_t *ttlp);
+
static enum nss_status gethostbyname3_context (struct resolv_context *ctx,
const char *name, int af,
@@ -402,17 +409,30 @@ _nss_dns_gethostbyname4_r (const char *name, struct gaih_addrtuple **pat,
int ans2p_malloced = 0;
struct alloc_buffer abuf = alloc_buffer_create (buffer, buflen);
+
int olderr = errno;
- int n = __res_context_search (ctx, name, C_IN, T_QUERY_A_AND_AAAA,
+ int n;
+
+ if ((ctx->resp->options & RES_NOAAAA) == 0)
+ {
+ n = __res_context_search (ctx, name, C_IN, T_QUERY_A_AND_AAAA,
dns_packet_buffer, sizeof (dns_packet_buffer),
&alt_dns_packet_buffer, &ans2p, &nans2p,
&resplen2, &ans2p_malloced);
- if (n >= 0)
- {
- status = gaih_getanswer (alt_dns_packet_buffer, n, ans2p, resplen2,
- &abuf, pat, errnop, herrnop, ttlp);
+ if (n >= 0)
+ status = gaih_getanswer (alt_dns_packet_buffer, n, ans2p, resplen2,
+ &abuf, pat, errnop, herrnop, ttlp);
}
else
+ {
+ n = __res_context_search (ctx, name, C_IN, T_A,
+ dns_packet_buffer, sizeof (dns_packet_buffer),
+ NULL, NULL, NULL, NULL, NULL);
+ if (n >= 0)
+ status = gaih_getanswer_noaaaa (alt_dns_packet_buffer, n,
+ &abuf, pat, errnop, herrnop, ttlp);
+ }
+ if (n < 0)
{
switch (errno)
{
@@ -1136,3 +1156,16 @@ gaih_getanswer (unsigned char *packet1, size_t packet1len,
return status;
}
+
+/* Variant of gaih_getanswer without a second (AAAA) response. */
+static enum nss_status
+gaih_getanswer_noaaaa (unsigned char *packet, size_t packetlen,
+ struct alloc_buffer *abuf, struct gaih_addrtuple **pat,
+ int *errnop, int *h_errnop, int32_t *ttlp)
+{
+ enum nss_status status = NSS_STATUS_NOTFOUND;
+ if (packetlen > 0)
+ status = gaih_getanswer_slice (packet, packetlen,
+ abuf, &pat, errnop, h_errnop, ttlp, true);
+ return status;
+}
diff --git a/resolv/res-noaaaa.c b/resolv/res-noaaaa.c
new file mode 100644
index 0000000000000000..4ba197664a86aed7
--- /dev/null
+++ b/resolv/res-noaaaa.c
@@ -0,0 +1,143 @@
+/* Implement suppression of AAAA queries.
+ Copyright (C) 2022 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <resolv.h>
+#include <string.h>
+#include <resolv-internal.h>
+#include <resolv_context.h>
+#include <arpa/nameser.h>
+
+/* Returns true if the question type at P matches EXPECTED, and the
+ class is IN. */
+static bool
+qtype_matches (const unsigned char *p, int expected)
+{
+ /* This assumes that T_A/C_IN constants are less than 256, which
+ they are. */
+ return p[0] == 0 && p[1] == expected && p[2] == 0 && p[3] == C_IN;
+}
+
+/* Handle RES_NOAAAA translation of AAAA queries. To produce a Name
+ Error (NXDOMAIN) repsonse for domain names that do not exist, it is
+ still necessary to send a query. Using question type A is a
+ conservative choice. In the returned answer, it is necessary to
+ switch back the question type to AAAA. */
+bool
+__res_handle_no_aaaa (struct resolv_context *ctx,
+ const unsigned char *buf, int buflen,
+ unsigned char *ans, int anssiz, int *result)
+{
+ /* AAAA mode is not active, or the query looks invalid (will not be
+ able to be parsed). */
+ if ((ctx->resp->options & RES_NOAAAA) == 0
+ || buflen <= sizeof (HEADER))
+ return false;
+
+ /* The replacement A query is produced here. */
+ struct
+ {
+ HEADER header;
+ unsigned char question[NS_MAXCDNAME + 4];
+ } replacement;
+ memcpy (&replacement.header, buf, sizeof (replacement.header));
+
+ if (replacement.header.qr
+ || replacement.header.opcode != 0
+ || replacement.header.rcode != 0
+ || ntohs (replacement.header.qdcount) != 1
+ || ntohs (replacement.header.ancount) != 0
+ || ntohs (replacement.header.nscount) != 0)
+ /* Not a well-formed question. Let the core resolver code produce
+ the proper error. */
+ return false;
+
+ /* Disable EDNS0. */
+ replacement.header.arcount = htons (0);
+
+ /* Extract the QNAME. */
+ int ret = __ns_name_unpack (buf, buf + buflen, buf + sizeof (HEADER),
+ replacement.question, NS_MAXCDNAME);
+ if (ret < 0)
+ /* Format error. */
+ return false;
+
+ /* Compute the end of the question name. */
+ const unsigned char *after_question = buf + sizeof (HEADER) + ret;
+
+ /* Check that we are dealing with an AAAA query. */
+ if (buf + buflen - after_question < 4
+ || !qtype_matches (after_question, T_AAAA))
+ return false;
+
+ /* Find the place to store the type/class data in the replacement
+ query. */
+ after_question = replacement.question;
+ /* This cannot fail because __ns_name_unpack above produced a valid
+ domain name. */
+ (void) __ns_name_skip (&after_question, &replacement.question[NS_MAXCDNAME]);
+ unsigned char *start_of_query = (unsigned char *) &replacement;
+ const unsigned char *end_of_query = after_question + 4;
+
+ /* Produce an A/IN query. */
+ {
+ unsigned char *p = (unsigned char *) after_question;
+ p[0] = 0;
+ p[1] = T_A;
+ p[2] = 0;
+ p[3] = C_IN;
+ }
+
+ /* Clear the output buffer, to avoid reading undefined data when
+ rewriting the result from A to AAAA. */
+ memset (ans, 0, anssiz);
+
+ /* Always perform the message translation, independent of the error
+ code. */
+ ret = __res_context_send (ctx,
+ start_of_query, end_of_query - start_of_query,
+ NULL, 0, ans, anssiz,
+ NULL, NULL, NULL, NULL, NULL);
+
+ /* Patch in the AAAA question type if there is room and the A query
+ type was received. */
+ after_question = ans + sizeof (HEADER);
+ if (__ns_name_skip (&after_question, ans + anssiz) == 0
+ && ans + anssiz - after_question >= 4
+ && qtype_matches (after_question, T_A))
+ {
+ ((unsigned char *) after_question)[1] = T_AAAA;
+
+ /* Create an aligned copy of the header. Hide all data except
+ the question from the response. Put back the header. There is
+ no need to change the response code. The zero answer count turns
+ a positive response with data into a no-data response. */
+ memcpy (&replacement.header, ans, sizeof (replacement.header));
+ replacement.header.ancount = htons (0);
+ replacement.header.nscount = htons (0);
+ replacement.header.arcount = htons (0);
+ memcpy (ans, &replacement.header, sizeof (replacement.header));
+
+ /* Truncate the reply. */
+ if (ret <= 0)
+ *result = ret;
+ else
+ *result = after_question - ans + 4;
+ }
+
+ return true;
+}
diff --git a/resolv/res_debug.c b/resolv/res_debug.c
index 030df0aa90c9f34f..b0fe69b1aa5186a0 100644
--- a/resolv/res_debug.c
+++ b/resolv/res_debug.c
@@ -613,6 +613,7 @@ p_option(u_long option) {
case RES_NOTLDQUERY: return "no-tld-query";
case RES_NORELOAD: return "no-reload";
case RES_TRUSTAD: return "trust-ad";
+ case RES_NOAAAA: return "no-aaaa";
/* XXX nonreentrant */
default: sprintf(nbuf, "?0x%lx?", (u_long)option);
return (nbuf);
diff --git a/resolv/res_init.c b/resolv/res_init.c
index cbc16ba021bd1fb3..2c0bea658e774ae7 100644
--- a/resolv/res_init.c
+++ b/resolv/res_init.c
@@ -695,6 +695,7 @@ res_setoptions (struct resolv_conf_parser *parser, const char *options)
{ STRnLEN ("no-reload"), 0, RES_NORELOAD },
{ STRnLEN ("use-vc"), 0, RES_USEVC },
{ STRnLEN ("trust-ad"), 0, RES_TRUSTAD },
+ { STRnLEN ("no-aaaa"), 0, RES_NOAAAA },
};
#define noptions (sizeof (options) / sizeof (options[0]))
for (int i = 0; i < noptions; ++i)
diff --git a/resolv/res_query.c b/resolv/res_query.c
index 5d0a68dc81fdd8c7..1d2c81737bc889c9 100644
--- a/resolv/res_query.c
+++ b/resolv/res_query.c
@@ -204,10 +204,26 @@ __res_context_query (struct resolv_context *ctx, const char *name,
free (buf);
return (n);
}
- assert (answerp == NULL || (void *) *answerp == (void *) answer);
- n = __res_context_send (ctx, query1, nquery1, query2, nquery2, answer,
- anslen, answerp, answerp2, nanswerp2, resplen2,
- answerp2_malloced);
+
+ /* Suppress AAAA lookups if required. __res_handle_no_aaaa
+ checks RES_NOAAAA first, so avoids parsing the
+ just-generated query packet in most cases. nss_dns avoids
+ using T_QUERY_A_AND_AAAA in RES_NOAAAA mode, so there is no
+ need to handle it here. */
+ if (type == T_AAAA && __res_handle_no_aaaa (ctx, query1, nquery1,
+ answer, anslen, &n))
+ /* There must be no second query for AAAA queries. The code
+ below is still needed to translate NODATA responses. */
+ assert (query2 == NULL);
+ else
+ {
+ assert (answerp == NULL || (void *) *answerp == (void *) answer);
+ n = __res_context_send (ctx, query1, nquery1, query2, nquery2,
+ answer, anslen,
+ answerp, answerp2, nanswerp2, resplen2,
+ answerp2_malloced);
+ }
+
if (use_malloc)
free (buf);
if (n < 0) {
diff --git a/resolv/res_send.c b/resolv/res_send.c
index 5d6be4b82d383dc0..0568800b056349aa 100644
--- a/resolv/res_send.c
+++ b/resolv/res_send.c
@@ -438,8 +438,13 @@ context_send_common (struct resolv_context *ctx,
RES_SET_H_ERRNO (&_res, NETDB_INTERNAL);
return -1;
}
- int result = __res_context_send (ctx, buf, buflen, NULL, 0, ans, anssiz,
- NULL, NULL, NULL, NULL, NULL);
+
+ int result;
+ if (__res_handle_no_aaaa (ctx, buf, buflen, ans, anssiz, &result))
+ return result;
+
+ result = __res_context_send (ctx, buf, buflen, NULL, 0, ans, anssiz,
+ NULL, NULL, NULL, NULL, NULL);
__resolv_context_put (ctx);
return result;
}
diff --git a/resolv/resolv-internal.h b/resolv/resolv-internal.h
index 2fa57d394f70bcad..b3554f305db3d60c 100644
--- a/resolv/resolv-internal.h
+++ b/resolv/resolv-internal.h
@@ -78,6 +78,14 @@ int __res_context_send (struct resolv_context *, const unsigned char *, int,
int *, int *, int *);
libc_hidden_proto (__res_context_send)
+/* Return true if the query has been handled in RES_NOAAAA mode. For
+ that, RES_NOAAAA must be active, and the question type must be AAAA.
+ The caller is expected to return *RESULT as the return value. */
+bool __res_handle_no_aaaa (struct resolv_context *ctx,
+ const unsigned char *buf, int buflen,
+ unsigned char *ans, int anssiz, int *result)
+ attribute_hidden;
+
/* Internal function similar to res_hostalias. */
const char *__res_context_hostalias (struct resolv_context *,
const char *, char *, size_t);
diff --git a/resolv/resolv.h b/resolv/resolv.h
index e7c8d44645912ddf..3a79ffea57a6916f 100644
--- a/resolv/resolv.h
+++ b/resolv/resolv.h
@@ -132,6 +132,7 @@ struct res_sym {
as a TLD. */
#define RES_NORELOAD 0x02000000 /* No automatic configuration reload. */
#define RES_TRUSTAD 0x04000000 /* Request AD bit, keep it in responses. */
+#define RES_NOAAAA 0x08000000 /* Suppress AAAA queries. */
#define RES_DEFAULT (RES_RECURSE|RES_DEFNAMES|RES_DNSRCH)
diff --git a/resolv/tst-resolv-noaaaa.c b/resolv/tst-resolv-noaaaa.c
new file mode 100644
index 0000000000000000..56b25f88a58ad286
--- /dev/null
+++ b/resolv/tst-resolv-noaaaa.c
@@ -0,0 +1,533 @@
+/* Test the RES_NOAAAA resolver option.
+ Copyright (C) 2022 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <errno.h>
+#include <netdb.h>
+#include <resolv.h>
+#include <stdlib.h>
+#include <support/check.h>
+#include <support/check_nss.h>
+#include <support/resolv_test.h>
+#include <support/support.h>
+
+/* Used to keep track of the number of queries. */
+static volatile unsigned int queries;
+
+static void
+response (const struct resolv_response_context *ctx,
+ struct resolv_response_builder *b,
+ const char *qname, uint16_t qclass, uint16_t qtype)
+{
+ /* Each test should only send one query. */
+ ++queries;
+ TEST_COMPARE (queries, 1);
+
+ /* AAAA queries are supposed to be disabled. */
+ TEST_VERIFY (qtype != T_AAAA);
+ TEST_COMPARE (qclass, C_IN);
+
+ /* The only other query type besides A is PTR. */
+ if (qtype != T_A)
+ TEST_COMPARE (qtype, T_PTR);
+
+ int an, ns, ar;
+ char *tail;
+ if (sscanf (qname, "an%d.ns%d.ar%d.%ms", &an, &ns, &ar, &tail) != 4)
+ FAIL_EXIT1 ("invalid QNAME: %s\n", qname);
+ TEST_COMPARE_STRING (tail, "example");
+ free (tail);
+
+ if (an < 0 || ns < 0 || ar < 0)
+ {
+ struct resolv_response_flags flags = { .rcode = NXDOMAIN, };
+ resolv_response_init (b, flags);
+ resolv_response_add_question (b, qname, qclass, qtype);
+ return;
+ }
+
+ struct resolv_response_flags flags = {};
+ resolv_response_init (b, flags);
+ resolv_response_add_question (b, qname, qclass, qtype);
+
+ resolv_response_section (b, ns_s_an);
+ for (int i = 0; i < an; ++i)
+ {
+ resolv_response_open_record (b, qname, qclass, qtype, 60);
+ switch (qtype)
+ {
+ case T_A:
+ char ipv4[4] = {192, 0, 2, i + 1};
+ resolv_response_add_data (b, &ipv4, sizeof (ipv4));
+ break;
+
+ case T_PTR:
+ char *name = xasprintf ("ptr-%d", i);
+ resolv_response_add_name (b, name);
+ free (name);
+ break;
+ }
+ resolv_response_close_record (b);
+ }
+
+ resolv_response_section (b, ns_s_ns);
+ for (int i = 0; i < ns; ++i)
+ {
+ resolv_response_open_record (b, qname, qclass, T_NS, 60);
+ char *name = xasprintf ("ns%d.example.net", i);
+ resolv_response_add_name (b, name);
+ free (name);
+ resolv_response_close_record (b);
+ }
+
+ resolv_response_section (b, ns_s_ar);
+ int addr = 1;
+ for (int i = 0; i < ns; ++i)
+ {
+ char *name = xasprintf ("ns%d.example.net", i);
+ for (int j = 0; j < ar; ++j)
+ {
+ resolv_response_open_record (b, name, qclass, T_A, 60);
+ char ipv4[4] = {192, 0, 2, addr};
+ resolv_response_add_data (b, &ipv4, sizeof (ipv4));
+ resolv_response_close_record (b);
+
+ resolv_response_open_record (b, name, qclass, T_AAAA, 60);
+ char ipv6[16]
+ = {0x20, 0x01, 0xd, 0xb8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, addr};
+ resolv_response_add_data (b, &ipv6, sizeof (ipv6));
+ resolv_response_close_record (b);
+
+ ++addr;
+ }
+ free (name);
+ }
+}
+
+/* Number of modes. Lowest bit encodes *n* function vs implicit _res
+ argument. The mode numbers themselves are arbitrary. */
+enum { mode_count = 8 };
+
+/* res_send-like modes do not perform error translation. */
+enum { first_send_mode = 6 };
+
+static int
+libresolv_query (unsigned int mode, const char *qname, uint16_t qtype,
+ unsigned char *buf, size_t buflen)
+{
+ int saved_errno = errno;
+
+ TEST_VERIFY_EXIT (mode < mode_count);
+
+ switch (mode)
+ {
+ case 0:
+ return res_query (qname, C_IN, qtype, buf, buflen);
+ case 1:
+ return res_nquery (&_res, qname, C_IN, qtype, buf, buflen);
+ case 2:
+ return res_search (qname, C_IN, qtype, buf, buflen);
+ case 3:
+ return res_nsearch (&_res, qname, C_IN, qtype, buf, buflen);
+ case 4:
+ return res_querydomain (qname, "", C_IN, qtype, buf, buflen);
+ case 5:
+ return res_nquerydomain (&_res, qname, "", C_IN, qtype, buf, buflen);
+ case 6:
+ {
+ unsigned char querybuf[512];
+ int ret = res_mkquery (QUERY, qname, C_IN, qtype,
+ NULL, 0, NULL, querybuf, sizeof (querybuf));
+ TEST_VERIFY_EXIT (ret > 0);
+ errno = saved_errno;
+ return res_send (querybuf, ret, buf, buflen);
+ }
+ case 7:
+ {
+ unsigned char querybuf[512];
+ int ret = res_nmkquery (&_res, QUERY, qname, C_IN, qtype,
+ NULL, 0, NULL, querybuf, sizeof (querybuf));
+ TEST_VERIFY_EXIT (ret > 0);
+ errno = saved_errno;
+ return res_nsend (&_res, querybuf, ret, buf, buflen);
+ }
+ }
+ __builtin_unreachable ();
+}
+
+static int
+do_test (void)
+{
+ struct resolv_test *obj = resolv_test_start
+ ((struct resolv_redirect_config)
+ {
+ .response_callback = response
+ });
+
+ _res.options |= RES_NOAAAA;
+
+ check_hostent ("an1.ns2.ar1.example",
+ gethostbyname ("an1.ns2.ar1.example"),
+ "name: an1.ns2.ar1.example\n"
+ "address: 192.0.2.1\n");
+ queries = 0;
+ check_hostent ("an0.ns2.ar1.example",
+ gethostbyname ("an0.ns2.ar1.example"),
+ "error: NO_ADDRESS\n");
+ queries = 0;
+ check_hostent ("an-1.ns2.ar1.example",
+ gethostbyname ("an-1.ns2.ar1.example"),
+ "error: HOST_NOT_FOUND\n");
+ queries = 0;
+
+ check_hostent ("an1.ns2.ar1.example AF_INET",
+ gethostbyname2 ("an1.ns2.ar1.example", AF_INET),
+ "name: an1.ns2.ar1.example\n"
+ "address: 192.0.2.1\n");
+ queries = 0;
+ check_hostent ("an0.ns2.ar1.example AF_INET",
+ gethostbyname2 ("an0.ns2.ar1.example", AF_INET),
+ "error: NO_ADDRESS\n");
+ queries = 0;
+ check_hostent ("an-1.ns2.ar1.example AF_INET",
+ gethostbyname2 ("an-1.ns2.ar1.example", AF_INET),
+ "error: HOST_NOT_FOUND\n");
+ queries = 0;
+
+ check_hostent ("an1.ns2.ar1.example AF_INET6",
+ gethostbyname2 ("an1.ns2.ar1.example", AF_INET6),
+ "error: NO_ADDRESS\n");
+ queries = 0;
+ check_hostent ("an0.ns2.ar1.example AF_INET6",
+ gethostbyname2 ("an0.ns2.ar1.example", AF_INET6),
+ "error: NO_ADDRESS\n");
+ queries = 0;
+ check_hostent ("an-1.ns2.ar1.example AF_INET6",
+ gethostbyname2 ("an-1.ns2.ar1.example", AF_INET6),
+ "error: HOST_NOT_FOUND\n");
+ queries = 0;
+
+ /* Multiple addresses. */
+ check_hostent ("an2.ns0.ar0.example",
+ gethostbyname ("an2.ns0.ar0.example"),
+ "name: an2.ns0.ar0.example\n"
+ "address: 192.0.2.1\n"
+ "address: 192.0.2.2\n");
+ queries = 0;
+ check_hostent ("an2.ns0.ar0.example AF_INET6",
+ gethostbyname2 ("an2.ns0.ar0.example", AF_INET6),
+ "error: NO_ADDRESS\n");
+ queries = 0;
+
+ /* getaddrinfo checks with one address. */
+ struct addrinfo *ai;
+ int ret;
+ ret = getaddrinfo ("an1.ns2.ar1.example", "80",
+ &(struct addrinfo)
+ {
+ .ai_family = AF_INET,
+ .ai_socktype = SOCK_STREAM,
+ }, &ai);
+ check_addrinfo ("an1.ns2.ar1.example (AF_INET)", ai, ret,
+ "address: STREAM/TCP 192.0.2.1 80\n");
+ freeaddrinfo (ai);
+ queries = 0;
+ ret = getaddrinfo ("an1.ns2.ar1.example", "80",
+ &(struct addrinfo)
+ {
+ .ai_family = AF_INET6,
+ .ai_socktype = SOCK_STREAM,
+ }, &ai);
+ check_addrinfo ("an1.ns2.ar1.example (AF_INET6)", ai, ret,
+ "error: No address associated with hostname\n");
+ queries = 0;
+ ret = getaddrinfo ("an1.ns2.ar1.example", "80",
+ &(struct addrinfo)
+ {
+ .ai_family = AF_UNSPEC,
+ .ai_socktype = SOCK_STREAM,
+ }, &ai);
+ check_addrinfo ("an1.ns2.ar1.example (AF_UNSPEC)", ai, ret,
+ "address: STREAM/TCP 192.0.2.1 80\n");
+ freeaddrinfo (ai);
+ queries = 0;
+
+ /* getaddrinfo checks with three addresses. */
+ ret = getaddrinfo ("an3.ns2.ar1.example", "80",
+ &(struct addrinfo)
+ {
+ .ai_family = AF_INET,
+ .ai_socktype = SOCK_STREAM,
+ }, &ai);
+ check_addrinfo ("an3.ns2.ar1.example (AF_INET)", ai, ret,
+ "address: STREAM/TCP 192.0.2.1 80\n"
+ "address: STREAM/TCP 192.0.2.2 80\n"
+ "address: STREAM/TCP 192.0.2.3 80\n");
+ freeaddrinfo (ai);
+ queries = 0;
+ ret = getaddrinfo ("an3.ns2.ar1.example", "80",
+ &(struct addrinfo)
+ {
+ .ai_family = AF_INET6,
+ .ai_socktype = SOCK_STREAM,
+ }, &ai);
+ check_addrinfo ("an3.ns2.ar1.example (AF_INET6)", ai, ret,
+ "error: No address associated with hostname\n");
+ queries = 0;
+ ret = getaddrinfo ("an3.ns2.ar1.example", "80",
+ &(struct addrinfo)
+ {
+ .ai_family = AF_UNSPEC,
+ .ai_socktype = SOCK_STREAM,
+ }, &ai);
+ check_addrinfo ("an3.ns2.ar1.example (AF_UNSPEC)", ai, ret,
+ "address: STREAM/TCP 192.0.2.1 80\n"
+ "address: STREAM/TCP 192.0.2.2 80\n"
+ "address: STREAM/TCP 192.0.2.3 80\n");
+ freeaddrinfo (ai);
+ queries = 0;
+
+ /* getaddrinfo checks with no address. */
+ ret = getaddrinfo ("an0.ns2.ar1.example", "80",
+ &(struct addrinfo)
+ {
+ .ai_family = AF_INET,
+ .ai_socktype = SOCK_STREAM,
+ }, &ai);
+ check_addrinfo ("an0.ns2.ar1.example (AF_INET)", ai, ret,
+ "error: No address associated with hostname\n");
+ queries = 0;
+ ret = getaddrinfo ("an0.ns2.ar1.example", "80",
+ &(struct addrinfo)
+ {
+ .ai_family = AF_INET6,
+ .ai_socktype = SOCK_STREAM,
+ }, &ai);
+ check_addrinfo ("an0.ns2.ar1.example (AF_INET6)", ai, ret,
+ "error: No address associated with hostname\n");
+ queries = 0;
+ ret = getaddrinfo ("an0.ns2.ar1.example", "80",
+ &(struct addrinfo)
+ {
+ .ai_family = AF_UNSPEC,
+ .ai_socktype = SOCK_STREAM,
+ }, &ai);
+ check_addrinfo ("an-1.ns2.ar1.example (AF_UNSPEC)", ai, ret,
+ "error: No address associated with hostname\n");
+ queries = 0;
+
+ /* getaddrinfo checks with NXDOMAIN. */
+ ret = getaddrinfo ("an-1.ns2.ar1.example", "80",
+ &(struct addrinfo)
+ {
+ .ai_family = AF_INET,
+ .ai_socktype = SOCK_STREAM,
+ }, &ai);
+ check_addrinfo ("an-1.ns2.ar1.example (AF_INET)", ai, ret,
+ "error: Name or service not known\n");
+ queries = 0;
+ ret = getaddrinfo ("an-1.ns2.ar1.example", "80",
+ &(struct addrinfo)
+ {
+ .ai_family = AF_INET6,
+ .ai_socktype = SOCK_STREAM,
+ }, &ai);
+ check_addrinfo ("an-1.ns2.ar1.example (AF_INET6)", ai, ret,
+ "error: Name or service not known\n");
+ queries = 0;
+ ret = getaddrinfo ("an-1.ns2.ar1.example", "80",
+ &(struct addrinfo)
+ {
+ .ai_family = AF_UNSPEC,
+ .ai_socktype = SOCK_STREAM,
+ }, &ai);
+ check_addrinfo ("an-1.ns2.ar1.example (AF_UNSPEC)", ai, ret,
+ "error: Name or service not known\n");
+ queries = 0;
+
+ for (unsigned int mode = 0; mode < mode_count; ++mode)
+ {
+ unsigned char *buf;
+ int ret;
+
+ /* Response for A. */
+ buf = malloc (512);
+ ret = libresolv_query (mode, "an1.ns2.ar1.example", T_A, buf, 512);
+ TEST_VERIFY_EXIT (ret > 0);
+ check_dns_packet ("an1.ns2.ar1.example A", buf, ret,
+ "name: an1.ns2.ar1.example\n"
+ "address: 192.0.2.1\n");
+ free (buf);
+ queries = 0;
+
+ /* NODATA response for A. */
+ buf = malloc (512);
+ errno = 0;
+ ret = libresolv_query (mode, "an0.ns2.ar1.example", T_A, buf, 512);
+ if (mode < first_send_mode)
+ {
+ TEST_COMPARE (ret, -1);
+ TEST_COMPARE (errno, 0);
+ TEST_COMPARE (h_errno, NO_ADDRESS);
+ }
+ else
+ {
+ TEST_VERIFY_EXIT (ret > 0);
+ TEST_COMPARE (((HEADER *)buf)->rcode, 0);
+ check_dns_packet ("an1.ns2.ar1.example A", buf, ret,
+ "name: an0.ns2.ar1.example\n");
+ }
+ free (buf);
+ queries = 0;
+
+ /* NXDOMAIN response for A. */
+ buf = malloc (512);
+ errno = 0;
+ ret = libresolv_query (mode, "an-1.ns2.ar1.example", T_A, buf, 512);
+ if (mode < first_send_mode)
+ {
+ TEST_COMPARE (ret, -1);
+ TEST_COMPARE (errno, 0);
+ TEST_COMPARE (h_errno, HOST_NOT_FOUND);
+ }
+ else
+ {
+ TEST_VERIFY_EXIT (ret > 0);
+ TEST_COMPARE (((HEADER *)buf)->rcode, NXDOMAIN);
+ check_dns_packet ("an1.ns2.ar1.example A", buf, ret,
+ "name: an-1.ns2.ar1.example\n");
+ }
+ free (buf);
+ queries = 0;
+
+ /* Response for PTR. */
+ buf = malloc (512);
+ ret = libresolv_query (mode, "an1.ns2.ar1.example", T_PTR, buf, 512);
+ TEST_VERIFY_EXIT (ret > 0);
+ check_dns_packet ("an1.ns2.ar1.example PTR", buf, ret,
+ "name: an1.ns2.ar1.example\n"
+ "data: an1.ns2.ar1.example PTR ptr-0\n");
+ free (buf);
+ queries = 0;
+
+ /* NODATA response for PTR. */
+ buf = malloc (512);
+ errno = 0;
+ ret = libresolv_query (mode, "an0.ns2.ar1.example", T_PTR, buf, 512);
+ if (mode < first_send_mode)
+ {
+ TEST_COMPARE (ret, -1);
+ TEST_COMPARE (errno, 0);
+ TEST_COMPARE (h_errno, NO_ADDRESS);
+ }
+ else
+ {
+ TEST_VERIFY_EXIT (ret > 0);
+ TEST_COMPARE (((HEADER *)buf)->rcode, 0);
+ check_dns_packet ("an1.ns2.ar1.example PTR", buf, ret,
+ "name: an0.ns2.ar1.example\n");
+ }
+ free (buf);
+ queries = 0;
+
+ /* NXDOMAIN response for PTR. */
+ buf = malloc (512);
+ errno = 0;
+ ret = libresolv_query (mode, "an-1.ns2.ar1.example", T_PTR, buf, 512);
+ if (mode < first_send_mode)
+ {
+ TEST_COMPARE (ret, -1);
+ TEST_COMPARE (errno, 0);
+ TEST_COMPARE (h_errno, HOST_NOT_FOUND);
+ }
+ else
+ {
+ TEST_VERIFY_EXIT (ret > 0);
+ TEST_COMPARE (((HEADER *)buf)->rcode, NXDOMAIN);
+ check_dns_packet ("an1.ns2.ar1.example PTR", buf, ret,
+ "name: an-1.ns2.ar1.example\n");
+ }
+ free (buf);
+ queries = 0;
+
+ /* NODATA response for AAAA. */
+ buf = malloc (512);
+ errno = 0;
+ ret = libresolv_query (mode, "an1.ns2.ar1.example", T_AAAA, buf, 512);
+ if (mode < first_send_mode)
+ {
+ TEST_COMPARE (ret, -1);
+ TEST_COMPARE (errno, 0);
+ TEST_COMPARE (h_errno, NO_ADDRESS);
+ }
+ else
+ {
+ TEST_VERIFY_EXIT (ret > 0);
+ TEST_COMPARE (((HEADER *)buf)->rcode, 0);
+ check_dns_packet ("an1.ns2.ar1.example A", buf, ret,
+ "name: an1.ns2.ar1.example\n");
+ }
+ free (buf);
+ queries = 0;
+
+ /* NODATA response for AAAA (original is already NODATA). */
+ buf = malloc (512);
+ errno = 0;
+ ret = libresolv_query (mode, "an0.ns2.ar1.example", T_AAAA, buf, 512);
+ if (mode < first_send_mode)
+ {
+ TEST_COMPARE (ret, -1);
+ TEST_COMPARE (errno, 0);
+ TEST_COMPARE (h_errno, NO_ADDRESS);
+ }
+ else
+ {
+ TEST_VERIFY_EXIT (ret > 0);
+ TEST_COMPARE (((HEADER *)buf)->rcode, 0);
+ check_dns_packet ("an0.ns2.ar1.example A", buf, ret,
+ "name: an0.ns2.ar1.example\n");
+ }
+ free (buf);
+ queries = 0;
+
+ /* NXDOMAIN response. */
+ buf = malloc (512);
+ errno = 0;
+ ret = libresolv_query (mode, "an-1.ns2.ar1.example", T_AAAA, buf, 512);
+ if (mode < first_send_mode)
+ {
+ TEST_COMPARE (ret, -1);
+ TEST_COMPARE (errno, 0);
+ TEST_COMPARE (h_errno, HOST_NOT_FOUND);
+ }
+ else
+ {
+ TEST_VERIFY_EXIT (ret > 0);
+ TEST_COMPARE (((HEADER *)buf)->rcode, NXDOMAIN);
+ check_dns_packet ("an-1.ns2.ar1.example A", buf, ret,
+ "name: an-1.ns2.ar1.example\n");
+ }
+ free (buf);
+ queries = 0;
+ }
+
+ resolv_test_end (obj);
+
+ return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/resolv/tst-resolv-res_init-skeleton.c b/resolv/tst-resolv-res_init-skeleton.c
index cf81d1d162317e92..b5749452ef817a0b 100644
--- a/resolv/tst-resolv-res_init-skeleton.c
+++ b/resolv/tst-resolv-res_init-skeleton.c
@@ -128,6 +128,7 @@ print_resp (FILE *fp, res_state resp)
print_option_flag (fp, &options, RES_NOTLDQUERY, "no-tld-query");
print_option_flag (fp, &options, RES_NORELOAD, "no-reload");
print_option_flag (fp, &options, RES_TRUSTAD, "trust-ad");
+ print_option_flag (fp, &options, RES_NOAAAA, "no-aaaa");
fputc ('\n', fp);
if (options != 0)
fprintf (fp, "; error: unresolved option bits: 0x%x\n", options);
@@ -721,6 +722,15 @@ struct test_case test_cases[] =
"nameserver 192.0.2.1\n"
"; nameserver[0]: [192.0.2.1]:53\n"
},
+ {.name = "no-aaaa flag",
+ .conf = "options no-aaaa\n"
+ "nameserver 192.0.2.1\n",
+ .expected = "options no-aaaa\n"
+ "search example.com\n"
+ "; search[0]: example.com\n"
+ "nameserver 192.0.2.1\n"
+ "; nameserver[0]: [192.0.2.1]:53\n"
+ },
{ NULL }
};

View File

@ -1,21 +0,0 @@
Short description: Add UCS-2 aliases.
Author(s): Fedora glibc team <glibc@lists.fedoraproject.org>
Origin: PATCH
Bug-RHEL: #697421
Upstream status: https://sourceware.org/ml/libc-alpha/2012-12/msg00103.html
This is a Fedora-specific change to include new aliases for UCS-2
data for gconv used by a certain class of users. This should be
revisited at some point to determine if those users are just using
UTF-8 at this point.
diff -rup a/iconvdata/gconv-modules b/iconvdata/gconv-modules
--- a/iconvdata/gconv-modules 2010-05-04 05:27:23.000000000 -0600
+++ b/iconvdata/gconv-modules 2012-01-26 10:58:24.181895489 -0700
@@ -1954,3 +1954,6 @@ alias HPGREEK8// HP-GREEK8//
alias OSF10010004// HP-GREEK8//
module HP-GREEK8// INTERNAL HP-GREEK8 1
module INTERNAL HP-GREEK8// HP-GREEK8 1
+
+alias ISO-10646-UCS-2// UNICODE//
+alias ISO-10646-UCS-2// ISO-10646/UTF8/

View File

@ -1,84 +0,0 @@
Short description: Work ld.so --verify crash on debuginfo files.
Author(s): Fedora glibc team <glibc@lists.fedoraproject.org>
Origin: PATCH
Bug-RHEL: #741105, #767146
Upstream status: not-needed
This change is designed to work around running ld.so on a debuginfo
file. This is the wrong fix for this problem and should be dropped.
The correct solution is to mark debuginfo files as new types of
ELF files.
Index: glibc-2.22-386-g95e8397/elf/dl-load.c
===================================================================
--- glibc-2.22-386-g95e8397.orig/elf/dl-load.c
+++ glibc-2.22-386-g95e8397/elf/dl-load.c
@@ -881,7 +881,8 @@ _dl_map_object_from_fd (const char *name
/* Get file information. */
struct r_file_id id;
- if (__glibc_unlikely (!_dl_get_file_id (fd, &id)))
+ struct stat64 st;
+ if (__glibc_unlikely (!_dl_get_file_id (fd, &id, &st)))
{
errstring = N_("cannot stat shared object");
call_lose_errno:
@@ -1076,6 +1077,16 @@ _dl_map_object_from_fd (const char *name
= N_("ELF load command address/offset not properly aligned");
goto call_lose;
}
+ if (__glibc_unlikely (ph->p_offset + ph->p_filesz > st.st_size))
+ {
+ /* If the segment requires zeroing of part of its last
+ page, we'll crash when accessing the unmapped page.
+ There's still a possibility of a race, if the shared
+ object is truncated between the fxstat above and the
+ memset below. */
+ errstring = N_("ELF load command past end of file");
+ goto call_lose;
+ }
struct loadcmd *c = &loadcmds[nloadcmds++];
c->mapstart = ALIGN_DOWN (ph->p_vaddr, GLRO(dl_pagesize));
Index: glibc-2.22-386-g95e8397/sysdeps/generic/dl-fileid.h
===================================================================
--- glibc-2.22-386-g95e8397.orig/sysdeps/generic/dl-fileid.h
+++ glibc-2.22-386-g95e8397/sysdeps/generic/dl-fileid.h
@@ -29,7 +29,8 @@ struct r_file_id
On error, returns false, with errno set. */
static inline bool
_dl_get_file_id (int fd __attribute__ ((unused)),
- struct r_file_id *id __attribute__ ((unused)))
+ struct r_file_id *id __attribute__ ((unused)),
+ struct stat64_t *st __attribute__((unused)))
{
return true;
}
Index: glibc-2.22-386-g95e8397/sysdeps/posix/dl-fileid.h
===================================================================
--- glibc-2.22-386-g95e8397.orig/sysdeps/posix/dl-fileid.h
+++ glibc-2.22-386-g95e8397/sysdeps/posix/dl-fileid.h
@@ -27,18 +27,16 @@ struct r_file_id
ino64_t ino;
};
-/* Sample FD to fill in *ID. Returns true on success.
+/* Sample FD to fill in *ID and *ST. Returns true on success.
On error, returns false, with errno set. */
static inline bool
-_dl_get_file_id (int fd, struct r_file_id *id)
+_dl_get_file_id (int fd, struct r_file_id *id, struct stat64 *st)
{
- struct stat64 st;
-
- if (__glibc_unlikely (__fxstat64 (_STAT_VER, fd, &st) < 0))
+ if (__glibc_unlikely (__fxstat64 (_STAT_VER, fd, st) < 0))
return false;
- id->dev = st.st_dev;
- id->ino = st.st_ino;
+ id->dev = st->st_dev;
+ id->ino = st->st_ino;
return true;
}

View File

@ -1,91 +0,0 @@
Short description: fnmatch() fails with MBCS.
Author(s): Fedora glibc team <glibc@lists.fedoraproject.org>
Origin: PATCH
Bug-RHEL: #819430, #826149, #826151
Bug-Upstream: #14185
Upstream status: not-submitted
fnmatch() fails when '*' wildcard is applied on the file name
containing multi-byte character(s)
This needs to be reviewed thoroughly and go upstream with a
new test case.
diff -Nrup a/posix/fnmatch.c b/posix/fnmatch.c
--- a/posix/fnmatch.c 2012-01-01 07:16:32.000000000 -0500
+++ b/posix/fnmatch.c 2012-05-23 14:14:29.099461189 -0400
@@ -333,6 +333,7 @@ fnmatch (pattern, string, flags)
# if HANDLE_MULTIBYTE
if (__builtin_expect (MB_CUR_MAX, 1) != 1)
{
+ const char *orig_pattern = pattern;
mbstate_t ps;
size_t n;
const char *p;
@@ -356,10 +357,8 @@ fnmatch (pattern, string, flags)
alloca_used);
n = mbsrtowcs (wpattern, &p, n + 1, &ps);
if (__glibc_unlikely (n == (size_t) -1))
- /* Something wrong.
- XXX Do we have to set `errno' to something which mbsrtows hasn't
- already done? */
- return -1;
+ /* Something wrong: Fall back to single byte matching. */
+ goto try_singlebyte;
if (p)
{
memset (&ps, '\0', sizeof (ps));
@@ -371,10 +370,8 @@ fnmatch (pattern, string, flags)
prepare_wpattern:
n = mbsrtowcs (NULL, &pattern, 0, &ps);
if (__glibc_unlikely (n == (size_t) -1))
- /* Something wrong.
- XXX Do we have to set `errno' to something which mbsrtows hasn't
- already done? */
- return -1;
+ /*Something wrong: Fall back to single byte matching. */
+ goto try_singlebyte;
if (__glibc_unlikely (n >= (size_t) -1 / sizeof (wchar_t)))
{
__set_errno (ENOMEM);
@@ -401,14 +398,8 @@ fnmatch (pattern, string, flags)
alloca_used);
n = mbsrtowcs (wstring, &p, n + 1, &ps);
if (__glibc_unlikely (n == (size_t) -1))
- {
- /* Something wrong.
- XXX Do we have to set `errno' to something which
- mbsrtows hasn't already done? */
- free_return:
- free (wpattern_malloc);
- return -1;
- }
+ /* Something wrong: Fall back to single byte matching. */
+ goto free_and_try_singlebyte;
if (p)
{
memset (&ps, '\0', sizeof (ps));
@@ -420,10 +411,8 @@ fnmatch (pattern, string, flags)
prepare_wstring:
n = mbsrtowcs (NULL, &string, 0, &ps);
if (__glibc_unlikely (n == (size_t) -1))
- /* Something wrong.
- XXX Do we have to set `errno' to something which mbsrtows hasn't
- already done? */
- goto free_return;
+ /* Something wrong: Fall back to singlebyte matching. */
+ goto free_and_try_singlebyte;
if (__glibc_unlikely (n >= (size_t) -1 / sizeof (wchar_t)))
{
free (wpattern_malloc);
@@ -450,6 +439,10 @@ fnmatch (pattern, string, flags)
free (wpattern_malloc);
return res;
+ free_and_try_singlebyte:
+ free(wpattern_malloc);
+ try_singlebyte:
+ pattern = orig_pattern;
}
# endif /* mbstate_t and mbsrtowcs or _LIBC. */

3
glibc.attr Normal file
View File

@ -0,0 +1,3 @@
%__glibc_requires %{_rpmconfigdir}/glibc.req
%__glibc_magic ELF
%__glibc_flags exeonly

42
glibc.req.in Normal file
View File

@ -0,0 +1,42 @@
#!/bin/bash
# Auto-generating dependencies for glibc development snapshots.
#
# A glibc development snapshot (say version 2.33.9000) may define
# symbols in its under-development symbol version (GLIBC_2.34). RPM
# automatically derives RPM dependencies such as
# libc.so.6(GLIBC_2.34)(64bit) from that. While the GLIBC_2.34
# version is under development, these dependencies may be inaccurate
# and could be satisfied by glibc RPM package versions that lack the
# symbols because they were created from an earlier development
# snapshot that had some other GLIBC_2.34 symbols. Therefore, if the
# latest, under-development ELF symbol version is detected, this
# dependency generator adds an explicit RPM dependencies on the glibc
# packaging version against which an RPM package is built.
#
# This script runs for the glibc build itself. In this case, it may
# produce a >= dependency on the build-time glibc, but there will also
# be an (potentially indirect) = dependency, which takes precedence.
set -e
set -o pipefail
searching=true
# Pre-filter using eu-elfclassify, to skip kernel modules.
eu-elfclassify --loadable --file --stdin --print | while read path; do
# Assume that all dynamically linked objects depend on glibc in
# some way.
if $searching; then
# Undefined symbols within latest, under-development
# (changing) symbol versions trigger the versioned RPM
# dependency. Do not use "egrep -q" to keep reading from the
# pipe, avoiding a spurious EPIPE error in eu-readelf.
if eu-readelf -s "$path" \
| egrep '\sUNDEF\s.*@''@SYMVER@(\s|$)' >/dev/null
then
echo 'glibc >= @VERSION@-@RELEASE@'
# Stop searching after the first match, but keep reading from
# the pipe.
searching=false
fi
fi
done

3887
glibc.spec

File diff suppressed because it is too large Load Diff

View File

@ -1 +0,0 @@
d /run/nscd 0755 root root

40
parse-SUPPORTED.py Normal file
View File

@ -0,0 +1,40 @@
#!/usr/bin/python3
#
# This script turns localedata/SUPPORTED (whose path is passed as the
# first argument) into a normalized list of LANGUAGE "_" REGION pairs.
# (If there is no REGION defined, only LANGUAGE is used.) The list
# is written to standard output, with one element per line.
import sys
supported, = sys.argv[1:]
# Pairs seen so far. Used to suppress duplicates.
seen = set()
with open(supported) as inp:
for line in inp:
if line.startswith("#") or line == "SUPPORTED-LOCALES=\\\n":
# Comment or prefix.
continue
if not line.endswith(" \\\n"):
raise IOError("line without continuation: " + repr(line))
try:
slash = line.index("/")
except ValueError:
raise IOError("line without slash: " + repr(line))
spec = line[:slash]
for separator in ".@":
try:
# Strip charset, variant specifiers.
spec = spec[:spec.index(separator)]
except ValueError:
pass
seen.add(spec)
# The C locale does not correspond to a language.
seen.remove("C")
# The glibc source file is not sorted.
for spec in sorted(seen):
print(spec)
print() # The Lua generator produces a trailing newline.

10
plans/ci.fmf Normal file
View File

@ -0,0 +1,10 @@
summary: CI Gating Plan
discover:
how: fmf
directory: tests
prepare:
how: install
exclude:
- glibc-headers-s390
execute:
how: beakerlib

View File

@ -1,273 +0,0 @@
/* Emulate power6 mf[tf]gpr and fri[zpmn] instructions.
Copyright (C) 2006 Red Hat, Inc.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2006.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
It is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
#include <signal.h>
#include <stdio.h>
extern double frip (double), friz (double), frin (double), frim (double);
asm (".globl frip, friz, frin, frim\n.hidden frip, friz, frin, frim\n\t"
#ifdef __powerpc64__
".section \".toc\",\"aw\"\n"
"8:" ".tc FD_43300000_0[TC],0x4330000000000000\n"
"9:" ".tc FD_3fe00000_0[TC],0x3fe0000000000000\n\t"
".previous\n\t"
#else
".rodata\n\t"
".align 2\n"
"8:" ".long 0x59800000\n"
"9:" ".long 0x3f000000\n\t"
".previous\n\t"
#endif
"# frip == ceil\n"
"frip:" "mffs 11\n\t"
#ifdef __powerpc64__
"lfd 13,8b@toc(2)\n\t"
#else
"mflr 11\n\t"
"bcl 20,31,1f\n"
"1:" "mflr 9\n\t"
"addis 9,9,8b-1b@ha\n\t"
"lfs 13,8b-1b@l(9)\n\t"
"mtlr 11\n\t"
#endif
"fabs 0,1\n\t"
"fsub 12,13,13\n\t"
"fcmpu 7,0,13\n\t"
"fcmpu 6,1,12\n\t"
"bnllr- 7\n\t"
"mtfsfi 7,2\n\t"
"ble- 6,2f\n\t"
"fadd 1,1,13\n\t"
"fsub 1,1,13\n\t"
"fabs 1,1\n\t"
"mtfsf 0x01,11\n\t"
"blr\n"
"2:" "bge- 6,3f\n\t"
"fsub 1,1,13\n\t"
"fadd 1,1,13\n\t"
"fnabs 1,1\n"
"3:" "mtfsf 0x01,11\n\t"
"blr\n\t"
"# friz == trunc\n"
"friz:" "mffs 11\n\t"
#ifdef __powerpc64__
"lfd 13,8b@toc(2)\n\t"
#else
"mflr 11\n\t"
"bcl 20,31,1f\n"
"1:" "mflr 9\n\t"
"addis 9,9,8b-1b@ha\n\t"
"lfs 13,8b-1b@l(9)\n\t"
"mtlr 11\n\t"
#endif
"fabs 0,1\n\t"
"fsub 12,13,13\n\t"
"fcmpu 7,0,13\n\t"
"fcmpu 6,1,12\n\t"
"bnllr- 7\n\t"
"mtfsfi 7,1\n\t"
"ble- 6,2f\n\t"
"fadd 1,1,13\n\t"
"fsub 1,1,13\n\t"
"fabs 1,1\n\t"
"mtfsf 0x01,11\n\t"
"blr\n"
"2:" "bge- 6,3f\n\t"
"fsub 1,1,13\n\t"
"fadd 1,1,13\n\t"
"fnabs 1,1\n"
"3:" "mtfsf 0x01,11\n\t"
"blr\n\t"
"# frin == round\n"
"frin:" "mffs 11\n\t"
#ifdef __powerpc64__
"lfd 13,8b@toc(2)\n\t"
#else
"mflr 11\n\t"
"bcl 20,31,1f\n"
"1:" "mflr 9\n\t"
"addis 9,9,8b-1b@ha\n\t"
"addi 9,9,8b-1b@l\n\t"
"mtlr 11\n\t"
"lfs 13,0(9)\n\t"
#endif
"fabs 0,1\n\t"
"fsub 12,13,13\n\t"
"fcmpu 7,0,13\n\t"
"fcmpu 6,1,12\n\t"
"bnllr- 7\n\t"
"mtfsfi 7,1\n\t"
#ifdef __powerpc64__
"lfd 10,9b@toc(2)\n\t"
#else
"lfs 10,9b-8b(9)\n\t"
#endif
"ble- 6,2f\n\t"
"fadd 1,1,10\n\t"
"fadd 1,1,13\n\t"
"fsub 1,1,13\n\t"
"fabs 1,1\n\t"
"mtfsf 0x01,11\n\t"
"blr\n"
"2:" "fsub 9,1,10\n\t"
"bge- 6,3f\n\t"
"fsub 1,9,13\n\t"
"fadd 1,1,13\n\t"
"fnabs 1,1\n"
"3:" "mtfsf 0x01,11\n\t"
"blr\n\t"
"# frim == floor\n"
"frim:" "mffs 11\n\t"
#ifdef __powerpc64__
"lfd 13,8b@toc(2)\n\t"
#else
"mflr 11\n\t"
"bcl 20,31,1f\n"
"1:" "mflr 9\n\t"
"addis 9,9,8b-1b@ha\n\t"
"lfs 13,8b-1b@l(9)\n\t"
"mtlr 11\n\t"
#endif
"fabs 0,1\n\t"
"fsub 12,13,13\n\t"
"fcmpu 7,0,13\n\t"
"fcmpu 6,1,12\n\t"
"bnllr- 7\n\t"
"mtfsfi 7,3\n\t"
"ble- 6,2f\n\t"
"fadd 1,1,13\n\t"
"fsub 1,1,13\n\t"
"fabs 1,1\n\t"
"mtfsf 0x01,11\n\t"
"blr\n"
"2:" "bge- 6,3f\n\t"
"fsub 1,1,13\n\t"
"fadd 1,1,13\n\t"
"fnabs 1,1\n"
"3:" "mtfsf 0x01,11\n\t"
"blr\n");
#ifdef __powerpc64__
#define m1 0x5555555555555555L
#define m2 0x3333333333333333L
#define m3 0x0f0f0f0f0f0f0f0fL
#else
#define m1 0x55555555
#define m2 0x33333333
#define m3 0x0f0f0f0f
#endif
static inline unsigned long
popcntb (unsigned long n)
{
n -= (n >> 1) & m1;
n = (n & m2) + ((n >> 2) & m2);
n = (n + (n >> 4)) & m3;
return n;
}
static void
catch_sigill (int signal, struct sigcontext *ctx)
{
unsigned int insn = *(unsigned int *) (ctx->regs->nip);
#ifdef __powerpc64__
if ((insn & 0xfc1f07ff) == 0x7c0005be) /* mftgpr */
{
unsigned long *regs = (unsigned long *) ctx->regs;
unsigned fpr = (insn >> 11) & 0x1f;
unsigned gpr = (insn >> 21) & 0x1f;
regs[gpr] = regs[fpr + 0x30];
ctx->regs->nip += 4;
return;
}
if ((insn & 0xfc1f07ff) == 0x7c0004be) /*mffgpr */
{
unsigned long *regs = (unsigned long *) ctx->regs;
unsigned fpr = (insn >> 21) & 0x1f;
unsigned gpr = (insn >> 11) & 0x1f;
regs[fpr + 0x30] = regs[gpr];
ctx->regs->nip += 4;
return;
}
#endif
if ((insn & 0xfc1f073f) == 0xfc000310) /* fri[pznm] */
{
#ifdef __powerpc64__
double *regs = (double *) (((char *) ctx->regs) + 0x30 * 8);
unsigned int *fpscr = (unsigned int *) (((char *) ctx->regs) + 0x50 * 8 + 4);
#else
double *regs = (double *) (((char *) ctx->regs) + 0x30 * 4);
unsigned int *fpscr = (unsigned int *) (((char *) ctx->regs) + 0x30 * 4 + 0x20 * 8 + 4);
#endif
unsigned dest = (insn >> 21) & 0x1f;
unsigned src = (insn >> 11) & 0x1f;
switch (insn & 0xc0)
{
case 0:
regs[dest] = frin (regs[src]);
break;
case 0x40:
regs[dest] = friz (regs[src]);
break;
case 0x80:
regs[dest] = frip (regs[src]);
break;
case 0xc0:
regs[dest] = frim (regs[src]);
break;
}
/* Update raised exceptions. */
union { unsigned int i[2]; double d; } u;
asm volatile ("mffs %0" : "=f" (u.d));
u.i[1] &= 0xfffe0000; /* Is this correct? */
*fpscr |= u.i[1];
ctx->regs->nip += 4;
return;
}
if ((insn & 0xfc00ffff) == 0x7c0000f4) /* popcntb */
{
unsigned long *regs = (unsigned long *) ctx->regs;
unsigned dest = (insn >> 16) & 0x1f;
unsigned src = (insn >> 21) & 0x1f;
unsigned long res = 0;
int i;
regs[dest] = popcntb (regs[src]);
ctx->regs->nip += 4;
return;
}
struct sigaction sa;
sa.sa_handler = SIG_DFL;
sigemptyset (&sa.sa_mask);
sa.sa_flags = 0;
sigaction (signal, &sa, NULL);
raise (signal);
}
static void
__attribute__ ((constructor))
install_handler (void)
{
struct sigaction sa;
sa.sa_handler = (void *) catch_sigill;
sigemptyset (&sa.sa_mask);
sa.sa_flags = SA_RESTART;
sigaction (SIGILL, &sa, NULL);
}

View File

@ -1,22 +0,0 @@
#!/bin/bash
# Patches are in the current directory.
export QUILT_PATCHES=$PWD
# Extract source file name from sources file,
# and assume it's the same name as the directory.
source=`awk -F '[() ]+' '/^[A-Z0-9]+ /{print $2}; /^[0-9a-f]+ /{print $2}' sources`
srcdir=${source%.tar.xz}
if [ "$1" == "-f" ] && [ -d "$srcdir" ]; then
echo Cleaning up $srcdir
rm -rf $srcdir
fi
if [ -d "$srcdir" ]; then
# Don't overwrite existing source directory.
echo "ERROR: Source directory $srcdir already exists. Use -f to force cleanup step."
exit 1
fi
tar Jxvf $source
echo "Entering $srcdir"
pushd $srcdir
# Apply all patches.
quilt push -a
popd

View File

@ -1 +1 @@
SHA512 (glibc-2.30.9000-100-g1a6566094d.tar.xz) = e6054a8f1367fde262f023c76f7eaf5ce588613c4894b8d577c7e1c3159a2dfcefb7c60e301340b823cd8e6d2f8d264d7da83e61034b9180836d392d5db4c5ba
SHA512 (glibc-2.35-229-g82663d3c03.tar.xz) = e23df3c5f4520b87097dd47ef210c1ae006e33459f7bac67c18f268cbcf67f08f048748f970272c4a16a73121912de21faab141ffdf5faa1d3680263ec6998d8

View File

@ -1,11 +0,0 @@
Short description: <Short description>
Author(s): <Who wrote them. Comma separated.>
Origin: <Source repo(s) where it came from or keyword "PATCH" if this is simply a patch>
# Likely git://sourceware.org/git/glibc.git
Bug-RHEL: <Rhel bug #'s, comma separated e.g. #XXX, #YYY, #ZZZ>
Bug-Fedora: <Fedora bug #'s, comma separated e.g. #XXX, #YYY, #ZZZ>
Bug-Upstream: <Upstream bug#'s, comma separated e.g. #XXX, #YYY, #ZZZ>
Upstream status: <[Patchwork URL|libc-alpha URL|not-needed|not-submitted|committed] for each commit>
# <Additional descriptive text follows 'Upstream status:' line>
<If upstream status == committed then a copy of the upstream commit log follows>
<Patch>

View File

@ -0,0 +1,64 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/glibc/Regression/bz1882466-RHEL8-2-LD-PRELOAD-of-some-lib-that-has
# Description: Test for BZ#1882466 (RHEL8.2 - LD_PRELOAD of <some lib that has)
# Author: Sergey Kolosov <skolosov@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2021 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/tools/glibc/Regression/bz1882466-RHEL8-2-LD-PRELOAD-of-some-lib-that-has
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE testlib.cc
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Sergey Kolosov <skolosov@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: Test for BZ#1882466 (RHEL8.2 - LD_PRELOAD of <some lib that has)" >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 20m" >> $(METADATA)
@echo "RunFor: glibc" >> $(METADATA)
@echo "Requires: gcc-c++ glibc glibc-devel libstdc++ glibc.i686 glibc-devel.i686 libstdc++.i686 libgcc.i686" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Bug: 1882466" >> $(METADATA)
@echo "Releases: RHEL8 RHEL9" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,5 @@
PURPOSE of /tools/glibc/Regression/bz1882466-RHEL8-2-LD-PRELOAD-of-some-lib-that-has
Description: Test for BZ#1882466 (RHEL8.2 - LD_PRELOAD of <some lib that has)
Author: Sergey Kolosov <skolosov@redhat.com>
Bug summary: RHEL8.2 - LD_PRELOAD of <some lib that has libstdc++ and libgnu_s linked in> /lib64/libc.so.6 will segfault (glibc)
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1882466

View File

@ -0,0 +1,22 @@
summary: Test for BZ#1882466 (RHEL8.2 - LD_PRELOAD of <some lib that has)
description: |
Bug summary: RHEL8.2 - LD_PRELOAD of <some lib that has libstdc++ and libgnu_s linked in> /lib64/libc.so.6 will segfault (glibc)
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1882466
contact:
- Sergey Kolosov <skolosov@redhat.com>
component:
- glibc
test: ./runtest.sh
framework: beakerlib
recommend:
- gcc-c++
- glibc
- glibc-devel
- libstdc++
- glibc.i686
- glibc-devel.i686
- libstdc++.i686
- libgcc.i686
duration: 20m
extra-summary: /tools/glibc/Regression/bz1882466-RHEL8-2-LD-PRELOAD-of-some-lib-that-has
extra-task: /tools/glibc/Regression/bz1882466-RHEL8-2-LD-PRELOAD-of-some-lib-that-has

View File

@ -0,0 +1,67 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/glibc/Regression/bz1882466-RHEL8-2-LD-PRELOAD-of-some-lib-that-has
# Description: Test for BZ#1882466 (RHEL8.2 - LD_PRELOAD of <some lib that has)
# Author: Sergey Kolosov <skolosov@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2021 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/share/beakerlib/beakerlib.sh || exit 1
PACKAGE="glibc"
TESTPROG="testlib"
TESTPRELOADLIBS="libpthread.so.0 libstdc++.so.6 libresolv.so.2"
rlJournalStart
rlPhaseStartSetup
rlAssertRpm $PACKAGE
PACKNVR=$(rpm -q ${PACKAGE}.`arch`)
rlRun "TESTTMPDIR=$(mktemp -d)"
rlRun "cp ${TESTPROG}.cc $TESTTMPDIR"
rlRun "pushd $TESTTMPDIR"
rlPhaseEnd
rlPhaseStartTest "basic"
rlRun -c "g++ -c -Wall -pedantic -fPIC -fno-exceptions -fno-rtti -fno-builtin ${TESTPROG}.cc -o ${TESTPROG}.o"
rlRun -c "g++ -shared -dynamiclib ${TESTPROG}.o -o lib${TESTPROG}.so.1.0"
rlAssertExists "lib${TESTPROG}.so.1.0"
rlRun -c "LD_PRELOAD=${TESTTMPDIR}/lib${TESTPROG}.so.1.0 /lib64/libc.so.6"
rlPhaseEnd
rlPhaseStartTest "additional libs"
rlRun -c "LD_PRELOAD=${TESTTMPDIR}/lib${TESTPROG}.so.1.0 /lib64/libc.so.6"
for L in $TESTPRELOADLIBS
do
rlRun -c "LD_PRELOAD=/usr/lib64/$L /lib64/libc.so.6"
[[ $(rlGetArch) == "x86_64" ]] && rlRun -c "LD_PRELOAD=/usr/lib/$L /usr/lib/libc.so.6"
done
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TESTTMPDIR"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -0,0 +1,17 @@
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
static int* internal_lock = NULL;
static void cuda_hook_init ()
{
printf("%s:%d\n",__func__,__LINE__);
if(internal_lock == NULL)
{
printf("%s:%d\n",__func__,__LINE__);
}
}

View File

@ -0,0 +1,64 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/glibc/Regression/bz2007417-glibc-ldd-segfaults-when-inspecting
# Description: Test for BZ#2007417 (glibc ldd segfaults when inspecting vdso/vdso64.so)
# Author: Sergey Kolosov <skolosov@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2021 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/tools/glibc/Regression/bz2007417-glibc-ldd-segfaults-when-inspecting
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE relevancy.json
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Sergey Kolosov <skolosov@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: Test for BZ#2007417 (glibc ldd segfaults when inspecting vdso/vdso64.so)" >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 20m" >> $(METADATA)
@echo "RunFor: glibc" >> $(METADATA)
@echo "Requires: glibc glibc-gconv-extra glibc-langpack-en" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Bug: 2007417" >> $(METADATA)
@echo "Releases: RHEL9" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,5 @@
PURPOSE of /tools/glibc/Regression/bz2007417-glibc-ldd-segfaults-when-inspecting
Description: Test for BZ#2007417 (glibc ldd segfaults when inspecting vdso/vdso64.so)
Author: Sergey Kolosov <skolosov@redhat.com>
Bug summary: glibc: ldd segfaults when inspecting vdso/vdso64.so
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=2007417

View File

@ -0,0 +1,18 @@
summary: Test for BZ#2007417 (glibc ldd segfaults when inspecting vdso/vdso64.so)
description: |
Bug summary: glibc: ldd segfaults when inspecting vdso/vdso64.so
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=2007417
contact: Sergey Kolosov <skolosov@redhat.com>
component:
- glibc
test: ./runtest.sh
framework: beakerlib
recommend:
- glibc
- glibc-gconv-extra
- glibc-langpack-en
duration: 20m
link:
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=2007417
extra-summary: /tools/glibc/Regression/bz2007417-glibc-ldd-segfaults-when-inspecting
extra-task: /tools/glibc/Regression/bz2007417-glibc-ldd-segfaults-when-inspecting

View File

@ -0,0 +1,51 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/glibc/Regression/bz2007417-glibc-ldd-segfaults-when-inspecting
# Description: Test for BZ#2007417 (glibc ldd segfaults when inspecting vdso/vdso64.so)
# Author: Sergey Kolosov <skolosov@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2021 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/share/beakerlib/beakerlib.sh || exit 1
PACKAGE="glibc"
rlJournalStart
rlPhaseStartSetup
rlAssertRpm $PACKAGE
rlRun "TESTTMPDIR=$(mktemp -d)"
rlRun "pushd $TESTTMPDIR"
rlRun -c "dmesg -c >& /dev/null"
rlPhaseEnd
rlPhaseStartTest
rlRun -l "ldd `find /usr -name vdso64.so`"
rlRun -l "dmesg"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TESTTMPDIR"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

145
wrap-find-debuginfo.sh Normal file
View File

@ -0,0 +1,145 @@
#!/bin/bash
# Wrapper script for find-debuginfo.sh
#
# Usage:
# wrap-find-debuginfo.sh SYSROOT-PATH SCRIPT-PATH SCRIPT-ARGS...
#
# The wrapper saves the original version of ld.so found in SYSROOT-PATH,
# invokes SCRIPT-PATH with SCRIPT-ARGS, and then restores the
# LDSO-PATH file, followed by note merging and DWZ compression.
# As a result, ld.so has (mostly) unchanged debuginfo even
# after debuginfo extraction.
#
# For libc.so.6, a set of strategic symbols is preserved in .symtab
# that are frequently used in valgrind suppressions and elsewhere.
set -ex
workdir="$(mktemp -d -t find_debuginfo.XXXXXX)"
ldso_tmp="$workdir/ld.so"
libc_tmp="$workdir/libc.so"
# Prefer a separately installed debugedit over the RPM-integrated one.
if command -v debugedit >/dev/null ; then
debugedit=debugedit
else
debugedit=/usr/lib/rpm/debugedit
fi
cleanup () {
rm -rf "$workdir"
}
trap cleanup 0
sysroot_path="$1"
shift
script_path="$1"
shift
# See ldso_path setting in glibc.spec.
ldso_path=
for ldso_candidate in `find "$sysroot_path" -regextype posix-extended \
-regex '.*/ld(-.*|64|)\.so\.[0-9]+$' -type f` ; do
if test -z "$ldso_path" ; then
ldso_path="$ldso_candidate"
else
echo "error: multiple ld.so candidates: $ldso_path, $ldso_candidate"
exit 1
fi
done
# libc.so.6 always uses this name, so it is simpler to locate.
libc_path=
for libc_candidate in `find "$sysroot_path" -name libc.so.6`; do
if test -z "$libc_path" ; then
libc_path="$libc_candidate"
else
echo "error: multiple libc.so.6 candidates: $libc_path, $libc_candidate"
exit 1
fi
done
# Preserve the original files.
cp "$ldso_path" "$ldso_tmp"
cp "$libc_path" "$libc_tmp"
# Run the debuginfo extraction.
"$script_path" "$@"
# libc.so.6: Extract the .gnu_debuglink section
objcopy -j.gnu_debuglink --set-section-flags .gnu_debuglink=alloc \
-O binary "$libc_path" "$libc_tmp.debuglink"
# Restore the original files.
cp "$ldso_tmp" "$ldso_path"
cp "$libc_tmp" "$libc_path"
# Reduce the size of notes. Primarily for annobin.
objcopy --merge-notes "$ldso_path"
objcopy --merge-notes "$libc_path"
# libc.so.6: Restore the .gnu_debuglink section
objcopy --add-section .gnu_debuglink="$libc_tmp.debuglink" "$libc_path"
# ld.so does not have separated debuginfo and so the debuginfo file
# generated by find-debuginfo is redundant. Therefore, remove it.
ldso_debug=
for ldso_debug_candidate in `find "$sysroot_path" -regextype posix-extended \
-regex '.*/ld(-.*|64|)\.so\.[0-9]+.*debug$' -type f` ; do
if test -z "$ldso_debug" ; then
ldso_debug="$ldso_debug_candidate"
else
echo "error: multiple ld.so debug candidates: $ldso_debug, $ldso_debug_candidate"
exit 1
fi
done
rm -f "$ldso_debug"
# libc.so.6: Reduce to valuable symbols. Eliminate file symbols,
# annobin symbols, and symbols used by the glibc build to implement
# hidden aliases (__EI_*). We would also like to remove __GI_*
# symbols, but even listing them explicitly (as in -K __GI_strlen)
# still causes strip to remove them, so there is no filtering of
# __GI_* here. (Debuginfo is gone after this, so no need to optimize
# it.)
strip -w \
-K '*' \
-K '!*.c' \
-K '!*.os' \
-K '!.annobin_*' \
-K '!__EI_*' \
-K '!__PRETTY_FUNCTION__*' \
"$libc_path"
# ld.so: Rewrite the source file paths to match the extracted
# locations. First compute the arguments for invoking debugedit.
# See find-debuginfo.sh.
debug_dest_name="/usr/src/debug"
last_arg=
while true ; do
arg="$1"
shift || break
case "$arg" in
(--unique-debug-src-base)
debug_dest_name="/usr/src/debug/$1"
shift
;;
(-*)
;;
(*)
last_arg="$arg"
;;
esac
done
debug_base_name=${last_arg:-$RPM_BUILD_ROOT}
$debugedit -b "$debug_base_name" -d "$debug_dest_name" -n $ldso_path
# Remove the .annobin* symbols (and only them).
if nm --format=just-symbols "$ldso_path" \
| grep '^\.annobin' > "$ldso_tmp.annobin-symbols"; then
objcopy --strip-symbols="$ldso_tmp.annobin-symbols" "$ldso_path"
fi
# Apply single-file DWARF optimization.
dwz $ldso_path