Compare commits

...

74 Commits
master ... f33

Author SHA1 Message Date
Florian Weimer 45153f81f3 Fix incorrect references to #1975895 in %changelog 2021-07-13 16:01:56 +02:00
Florian Weimer e7c0b54e48 Preserve .symtab in libc.so.6 and the main shared objects (#1975859)
(cherry picked from commit b5165edc42d665c7770bea0e4378a526b0b24793)
2021-07-13 13:18:37 +02:00
Patsy Griffin 2fb6ee14f2 Auto-sync with upstream branch release/2.32/master
Upstream commit: 27e892f6608e9d0da71884bb1422a735f6062850

- wordexp: handle overflow in positional parameter number (bug 28011)
2021-07-07 21:03:49 -04:00
Florian Weimer 7cebdb2407 Add valgrind support symbols to libc.so.6's symtab (#1965374)
This switches to the version of wrap-find-debuginfo.sh in
rawhide commit 14d5c92a57
("Redo the crafted libc.so.6 symbol table for valgrind (#1965374)"),
adjusted for the versioned installation names.
2021-06-21 11:10:44 +02:00
Arjun Shankar d862f60fd7 Auto-sync with upstream branch release/2.32/master
Upstream commit: 16949aeaa078b5994a333980d7a6cd5705d5e1f7

- Fix use of __pthread_attr_copy in mq_notify (bug 27896)
- Use __pthread_attr_copy in mq_notify (bug 27896)
2021-06-11 10:50:45 +02:00
Florian Weimer a7cfd045b7 wrap-find-debuginfo.sh: Enable separate debugedit program
(cherry picked from commit 79751685db)
2021-05-21 16:51:04 +02:00
Arjun Shankar 31898b377b 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).

(cherry picked from commit fe601617f6a62d23cec4213d5585f30d0e380144
with adjustments to the spec file for f33)
2021-05-20 00:10:10 +02:00
Arjun Shankar 5c59847135 Auto-sync with upstream branch release/2.32/master
Upstream commit: 1799ac8eabe87acd7b1ef7c3a483171489563482

- support: Typo and formatting fixes
- support: Pass environ to child process
- Fix SXID_ERASE behavior in setuid programs (BZ #27471)
- Enhance setuid-tunables test
- tst-env-setuid: Use support_capture_subprogram_self_sgid
- support: Add capability to fork an sgid child
- S390: Also check vector support in memmove ifunc-selector [BZ #27511]
- powerpc64: Workaround sigtramp vdso return call
- nscd: Fix double free in netgroupcache [BZ #27462]
2021-05-18 16:34:29 +02:00
Patsy Griffin 41e27ed6cd Auto-sync with upstream branch release/2.32/master
Upstream commit: 760e1d287825fa91d4d5a0cc921340c740d803e2

- gconv: Fix assertion failure in ISO-2022-JP-3 module (bug 27256)
- aarch64: fix static PIE start code for BTI [BZ #27068]
- __vfscanf_internal: fix aliasing violation (bug 26690)
- 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]
2021-02-02 22:39:42 -05:00
Patsy Griffin e8021ff4a4 Auto-sync with upstream branch release/2.32/master
Upstream commit: 4c619b3eed558172198790f842740abb9af1989d

- x86: Check IFUNC definition in unrelocated executable [BZ #20019]
- x86: Set header.feature_1 in TCB for always-on CET [BZ #27177]
- Update for [BZ #27130] fix
- x86-64: Avoid rep movsb with short distance [BZ #27130]
- Fix for CVE-2019-25013 buffer overrun in EUC-KR conversion module (bz #24973)
- tests-mcheck: New variable to run tests with MALLOC_CHECK_=3
- iconv: Accept redundant shift sequences in IBM1364 [BZ #26224]
- sh: Add sh4 fpu Implies folder
- struct _Unwind_Exception alignment should not depend on compiler flags
2021-01-15 16:10:05 -05:00
Patsy Griffin 5a8ec54a24 Auto-sync with upstream branch release/2.32/master
Upstream commit: 5c36293f067d2af16e4eb9f9465be36f346ea6d0

- resolv: Serialize processing in resolv/tst-resolv-txnid-collision
- 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
- Remove __warndecl
- Remove __warn_memset_zero_len [BZ #25399]
- aarch64: Add unwind information to _start (bug 26853)
- aarch64: Fix DT_AARCH64_VARIANT_PCS handling [BZ #26798]
- x86: Optimizing memcpy for AMD Zen architecture.
- Reversing calculation of __x86_shared_non_temporal_threshold
- sysvipc: Fix IPC_INFO and SHM_INFO handling [BZ #26636]
- sysvipc: Fix IPC_INFO and MSG_INFO handling [BZ #26639]
- sysvipc: Fix SEM_STAT_ANY kernel argument pass [BZ #26637]
- AArch64: Use __memcpy_simd on Neoverse N2/V1
- AArch64: Improve backwards memmove performance
- Set version.h RELEASE to "stable" (Bug 26700)
- string: Fix strerrorname_np return value [BZ #26555]
- intl: Handle translation output codesets with suffixes [BZ #26383]
- NEWS: Update for [BZ #26534] fix
- x86-64: Fix FMA4 detection in ifunc [BZ #26534]
2020-11-10 13:13:06 -05: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
16 changed files with 3175 additions and 2016 deletions

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!

View File

@ -92,6 +92,7 @@ ca_IT.UTF-8/UTF-8 \
ca_IT/ISO-8859-15 \
ce_RU/UTF-8 \
chr_US/UTF-8 \
ckb_IQ/UTF-8 \
cmn_TW/UTF-8 \
crh_UA/UTF-8 \
cs_CZ.UTF-8/UTF-8 \
@ -331,6 +332,7 @@ mk_MK/ISO-8859-5 \
ml_IN/UTF-8 \
mn_MN/UTF-8 \
mni_IN/UTF-8 \
mnw_MM/UTF-8 \
mr_IN/UTF-8 \
ms_MY.UTF-8/UTF-8 \
ms_MY/ISO-8859-1 \

18
convnames.py Executable file
View File

@ -0,0 +1,18 @@
#!/usr/bin/python3
# This code is called by glibc.spec via lua to generate the mapping
# from language code to language name. The code uses langtable to
# do the mapping. The information in langtable is a harmonization
# of CLDR and glibc lang_name data.
import sys
try:
import langtable
except ImportError:
# if the import fails, don't translate anything
langtable = None
for lang in sys.argv[1:]:
if langtable:
name = langtable.language_name(languageId=lang, languageIdQuery='en')
print(name or lang)
else:
print(lang)

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

@ -0,0 +1,17 @@
This patch works around deprecated libselinux features used by nscd.
diff --git a/nscd/selinux.c b/nscd/selinux.c
index a4ea8008e201b939..0acca4639202a75a 100644
--- a/nscd/selinux.c
+++ b/nscd/selinux.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 "config.h"
#include <error.h>
#include <errno.h>

View File

@ -30,11 +30,11 @@ 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
===================================================================
diff --git a/elf/dl-init.c b/elf/dl-init.c
index 518824e8a5826314..66c395474a57c1fd 100644
--- a/elf/dl-init.c
+++ b/elf/dl-init.c
@@ -119,8 +119,6 @@ _dl_init (struct link_map *main_map, int
@@ -120,8 +120,6 @@ _dl_init (struct link_map *main_map, int argc, char **argv, char **env)
while (i-- > 0)
call_init (main_map->l_initfini[i], argc, argv, env);
@ -43,11 +43,11 @@ Index: b/elf/dl-init.c
_dl_starting_up = 0;
-#endif
}
Index: b/elf/dl-support.c
===================================================================
diff --git a/elf/dl-support.c b/elf/dl-support.c
index 7704c101c5a543a1..ffa235c78df8481f 100644
--- a/elf/dl-support.c
+++ b/elf/dl-support.c
@@ -117,10 +117,8 @@ struct r_scope_elem _dl_initial_searchli
@@ -120,10 +120,8 @@ struct r_scope_elem _dl_initial_searchlist =
.r_nlist = 1,
};
@ -58,19 +58,19 @@ Index: b/elf/dl-support.c
/* Random data provided by the kernel. */
void *_dl_random;
Index: b/elf/rtld.c
===================================================================
diff --git a/elf/rtld.c b/elf/rtld.c
index 5b882163fae5ea8a..f93adf017c9d2110 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -214,7 +214,6 @@ audit_list_iter_next (struct audit_list_
return iter->previous->name;
@@ -316,7 +316,6 @@ audit_list_count (struct audit_list *list)
return naudit;
}
-#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_
@@ -326,7 +325,6 @@ audit_list_count (struct audit_list *list)
never be called. */
int _dl_starting_up = 0;
rtld_hidden_def (_dl_starting_up)
@ -78,9 +78,9 @@ Index: b/elf/rtld.c
/* 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,
@@ -1178,10 +1176,8 @@ dl_main (const ElfW(Phdr) *phdr,
/* Process the environment variable which control the behaviour. */
process_envvars (&mode);
process_envvars (&mode, &audit_list);
-#ifndef HAVE_INLINED_SYSCALLS
/* Set up a flag which tells we are just starting. */

View File

@ -3,7 +3,7 @@ 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
index 4a6bcb1f7bc0b1f4..980a68e32e6a04b8 100644
--- a/nss/nsswitch.conf
+++ b/nss/nsswitch.conf
@@ -1,7 +1,7 @@
@ -15,14 +15,14 @@ index f55358811495c9f1..14c3cde8080a848c 100644
# sorted with the most-used services at the beginning.
#
# Valid databases are: aliases, ethers, group, gshadow, hosts,
@@ -52,18 +52,20 @@
@@ -52,19 +52,21 @@
# 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
+shadow: files
+group: sss files
+hosts: files dns myhostname
+services: files sss
@ -34,7 +34,8 @@ index f55358811495c9f1..14c3cde8080a848c 100644
-group: files
gshadow: files
-hosts: files dns
initgroups: files
# Allow initgroups to default to the setting for group.
# initgroups: files
-netgroup: files
networks: files dns
-passwd: files

View File

@ -9,32 +9,22 @@ 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 a215ebc9bd92ba73..f174161ed3147e03 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-2020 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 08681aafdc200f64..2264da00370f9f02 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-2020 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

View File

@ -9,21 +9,47 @@ 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. */
diff --git a/elf/dl-load.c b/elf/dl-load.c
index 24e2819345995bd9..007121144e71d9cf 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -880,6 +880,18 @@ _dl_map_object_from_fd (const char *name, const char *origname, int fd,
in this information for the executable in case of an explicit
loader invocation. */
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:
+ errval = errno;
+ call_lose:
+ lose (errval, fd, name, realname, l, errstring,
+ make_consistent ? r : NULL, nsid);
+ }
+
if (mode & __RTLD_OPENEXEC)
{
errstring = N_("cannot stat shared object");
call_lose_errno:
@@ -1076,6 +1077,16 @@ _dl_map_object_from_fd (const char *name
assert (nsid == LM_ID_BASE);
@@ -887,16 +899,6 @@ _dl_map_object_from_fd (const char *name, const char *origname, int fd,
}
else
{
- if (__glibc_unlikely (!_dl_get_file_id (fd, &id)))
- {
- errstring = N_("cannot stat shared object");
- call_lose_errno:
- errval = errno;
- call_lose:
- lose (errval, fd, name, realname, l, errstring,
- make_consistent ? r : NULL, nsid);
- }
-
/* Look again to see if the real name matched another already loaded. */
for (l = GL(dl_ns)[nsid]._ns_loaded; l != NULL; l = l->l_next)
if (!l->l_removed && _dl_file_id_match_p (&l->l_file_id, &id))
@@ -1074,6 +1076,16 @@ _dl_map_object_from_fd (const char *name, const char *origname, int fd,
= N_("ELF load command address/offset not properly aligned");
goto call_lose;
}
@ -40,10 +66,10 @@ Index: glibc-2.22-386-g95e8397/elf/dl-load.c
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
diff --git a/sysdeps/generic/dl-fileid.h b/sysdeps/generic/dl-fileid.h
index 6310d46c2a6efc60..209580b6c0b8524b 100644
--- a/sysdeps/generic/dl-fileid.h
+++ b/sysdeps/generic/dl-fileid.h
@@ -29,7 +29,8 @@ struct r_file_id
On error, returns false, with errno set. */
static inline bool
@ -54,10 +80,10 @@ Index: glibc-2.22-386-g95e8397/sysdeps/generic/dl-fileid.h
{
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
diff --git a/sysdeps/posix/dl-fileid.h b/sysdeps/posix/dl-fileid.h
index ae88a350788a5999..baa17b90a292a4d9 100644
--- a/sysdeps/posix/dl-fileid.h
+++ b/sysdeps/posix/dl-fileid.h
@@ -27,18 +27,16 @@ struct r_file_id
ino64_t ino;
};

3187
glibc.spec

File diff suppressed because it is too large Load Diff

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.32-49-g27e892f660.tar.xz) = 836f7c7e2a2a5dcd2d21d770e7af1aabb759a604357d49ac74f8d02dd7d27304ba4778f316d09642f45fe2249c84ad433aef8600b93dba664fca237150654bf1

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

@ -0,0 +1,159 @@
#!/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 and other shared objects, a set of strategic symbols
# is preserved in .symtab that are frequently used in valgrind
# suppressions and elsewhere.
set -ex
ldso_tmp="$(mktemp)"
libc_tmp="$(mktemp)"
libdl_tmp="$(mktemp)"
libpthread_tmp="$(mktemp)"
librt_tmp="$(mktemp)"
# 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 -f "$ldso_tmp" "$libc_tmp" "$libdl_tmp" "$libpthread_tmp" "$librt_tmp"
}
trap cleanup 0
sysroot_path="$1"
shift
script_path="$1"
shift
# See run_ldso setting in glibc.spec.
ldso_path=
for ldso_candidate in `find "$sysroot_path" -name 'ld-*.so' -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_path=
for libc_candidate in `find "$sysroot_path" -name 'libc-*.so' -type f` ; 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
libdl_path=
for libdl_candidate in `find "$sysroot_path" -name 'libdl-*.so' -type f` ; do
if test -z "$libdl_path" ; then
libdl_path="$libdl_candidate"
else
echo "error: multiple libdl.so.6 candidates: $libdl_path, $libdl_candidate"
exit 1
fi
done
libpthread_path=
for libpthread_candidate in `find "$sysroot_path" -name 'libpthread-*.so' -type f` ; do
if test -z "$libpthread_path" ; then
libpthread_path="$libpthread_candidate"
else
echo "error: multiple libpthread.so.6 candidates: $libpthread_path, $libpthread_candidate"
exit 1
fi
done
librt_path=
for librt_candidate in `find "$sysroot_path" -name 'librt-*.so' -type f` ; do
if test -z "$librt_path" ; then
librt_path="$librt_candidate"
else
echo "error: multiple librt.so.6 candidates: $librt_path, $librt_candidate"
exit 1
fi
done
# Preserve the original files.
cp "$ldso_path" "$ldso_tmp"
cp "$libc_path" "$libc_tmp"
cp "$libdl_path" "$libdl_tmp"
cp "$libpthread_path" "$libpthread_tmp"
cp "$librt_path" "$librt_tmp"
# Run the debuginfo extraction.
"$script_path" "$@"
# Restore the original files.
cp "$ldso_tmp" "$ldso_path"
cp "$libc_tmp" "$libc_path"
cp "$libdl_tmp" "$libdl_path"
cp "$libpthread_tmp" "$libpthread_path"
cp "$librt_tmp" "$librt_path"
# Reduce the size of notes. Primarily for annobin.
objcopy --merge-notes "$ldso_path"
objcopy --merge-notes "$libc_path"
objcopy --merge-notes "$libdl_path"
objcopy --merge-notes "$libpthread_path"
objcopy --merge-notes "$librt_path"
# libc.so.6 and other shared objects: 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.)
for p in "$libc_path" "$libdl_path" "$libpthread_path" "$librt_path"; do
strip -w \
-K '*' \
-K '!*.c' \
-K '!*.os' \
-K '!.annobin_*' \
-K '!__EI_*' \
-K '!__PRETTY_FUNCTION__*' \
"$p"
done
# 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
# Apply single-file DWARF optimization.
dwz $ldso_path