Compare commits

..

895 Commits
f16 ... master

Author SHA1 Message Date
DJ Delorie
61f15e90bc Auto-sync with upstream branch master
Upstream commit: 1a6566094d3097f4a3037ab5555cddc6cb11c3a3

- alpha: force old OSF1 syscalls for getegid, geteuid and getppid [BZ #24986]
- Fix http: URL in 'configure'
- Regenerate charmap-kw.h, locfile-kw.h
- Fix three GNU license URLs, along with trailing-newline issues.
- Prefer https to http for gnu.org and fsf.org URLs
2019-09-16 14:47:26 -04:00
Patsy Franklin
6129ad64d4 Auto-sync with upstream branch master
Upstream commit: 1b7f04070bd94f259e2ed24d6fb76309d64fb164.

- locale: Avoid zero-length array in _nl_category_names [BZ #24962]
- math: Replace const attribute with pure in totalorder* functions
- y2038: Introduce the __ASSUME_TIME64_SYSCALLS define
- Finish move of clock_* functions to libc. [BZ #24959]
- Update Alpha libm-test-ulps
- localedef: Use initializer for flexible array member [BZ #24950]
- Add misc/tst-mntent-autofs, testing autofs "ignore" filtering
- Use autofs "ignore" mount hint in getmntent_r/getmntent
- hurd: Fix build
- Use generic memset/memcpy/memmove in benchtests
- nptl: Move pthread_attr_getinheritsched implementation into libc
- hurd: Fix SS_ONSTACK support
- hurd: Remove optimizing anonymous maps as __vm_allocate.
- hurd: Fix poll and select POSIX compliancy details about errors
- hurd: Fix timeout handling in _hurd_select
- hurd getcwd: Allow unknown root directory
- hurd: Fix implementation of setitimer.
- hurd: Fix _hurd_select for single fd sets
- MIPS support for GNU hash
- sh: Split BE/LE abilist
- microblaze: Split BE/LE abilist
- arm: Split BE/LE abilist
- Correct the spelling of more contributors
- Fix posix/tst-regex by using UTF-8 and own test input
- [powerpc] fegetenv_status: simplify instruction generation
- [powerpc] fesetenv: optimize FPSCR access
- [powerpc] SET_RESTORE_ROUND improvements
- [powerpc] fe{en,dis}ableexcept, fesetmode: optimize FPSCR accesses
- [powerpc] fe{en,dis}ableexcept optimize bit translations
- misc: Use allocate_once in getmntent
- nptl: Move pthread_attr_setdetachstate implementation into libc
- login: pututxline could fail to overwrite existing entries [BZ #24902]
- Fix posix/tst-regex by using a dedicated input-file.
2019-09-06 07:38:07 -04:00
DJ Delorie
1fa217076e Move makedb from glibc-common to nss_db (#1704334)
The makedb program is only used to make databases for the nss_db
module, so it makes sense to only install them together.
2019-08-27 15:07:36 -04:00
DJ Delorie
5846004b81 Auto-sync with upstream branch master
Upstream commit: 1bced8cadc82077f0201801239e89eb24b68e9aa

- Don't put non-ASCII into installed headers
- Fix spellings of contributor names in comments and doc
- [MIPS] Raise highest supported EI_ABIVERSION value [SWBZ #24916]
- mips: Force RWX stack for hard-float builds that can run on pre-4.8 kernels
- linux: Make profil_counter a compat_symbol (SWBZ#17726)
- Refactor sigcontextinfo.h
- Add RTLD_SINGLE_THREAD_P on generic single-thread.h
- Chinese locales: Set first_weekday to 2 (swbug 24682).
- powerpc: Fix typos and field name in comments
- Mark IDN tests unsupported with libidn2 before 2.0.5.
- Document strftime %Ob and %OB as C2X features.
- Remove dead regex code
- Fix bad pointer / leak in regex code
- Don't use the argument to time.
- Add tgmath.h macros for narrowing functions.
- Update i386 libm-test-ulps
2019-08-26 14:24:15 -04:00
Carlos O'Donell
7e6e06c36d Auto-sync with upstream branch master
Upstream commit: d34d4c80226b3f5a1b51a8e5b005a52fba07d7ba

- Merge upstream nsswitch.conf and nscd.conf updates.
- Do not print backtraces on fatal glibc errors.
- elf: Self-dlopen failure with explict loader invocation (swbz#24900)
- login: Add nonstring attributes to struct utmp, struct utmpx (swbz#24899)
- login: Use struct flock64 in utmp (swbz#24880)
- login: Disarm timer after utmp lock acquisition (swbz#24879)
2019-08-20 17:03:01 -04:00
Carlos O'Donell
72195d4485 locale: Fix C.UTF-8 ranges.
The ellipsis range support only allows <Uxxxx> or <Uxxxxxxxx> as
valid unicode code points, otherwise it treats it as a symbol and
since we don't define the symbol the entire range is unused.
2019-08-16 10:07:58 -04:00
Florian Weimer
77335ae30e Source upload 2019-08-15 10:41:39 +02:00
Florian Weimer
76ac51ab78 Auto-sync with upstream branch master
Upstream commit: 341da5b4b6253de9a7581a066f33f89cacb44dec
2019-08-15 10:37:59 +02:00
Florian Weimer
293db26d85 Fix changelog version 2019-08-02 14:24:18 +02:00
Florian Weimer
525a40ce11 Lower the release number to 1 2019-08-02 14:23:17 +02:00
Florian Weimer
1ff5b17afe Auto-sync with upstream branch release/2.30/master
Upstream commit: be9a328c93834648e0bec106a1f86357d1a8c7e1

- malloc: Remove unwanted leading whitespace in malloc_info (swbz#24867)
- glibc 2.30 release
- iconv: Revert steps array reference counting changes (#1734680)
- Restore r31 setting in powerpc32 swapcontext
2019-08-02 14:16:34 +02:00
Florian Weimer
a4d24cbe45 Fix memory leak in iconv_open (#1734680) 2019-07-31 11:53:38 +02:00
Florian Weimer
b3c6eb0e4c Auto-sync with upstream branch master
Upstream commit: 8a814e20d443adc460a1030fa1a66aa9ae817483

- Drop glibc-rh1732406.patch, fix for the regression applied upstream.
- nptl: Use uintptr_t for address diagnostic in nptl/tst-pthread-getattr
- Linux: Move getdents64 to <dirent.h>
- test-container: Install with $(sorted-subdirs) (swbz#24794)
- gconv: Check reference count in __gconv_release_cache (#1732406)
- x86-64: Compile branred.c with -mprefer-vector-width=128 (swbz#24603)
- build-many-glibcs.py: Use Linux 5.2 by default
- Linux: Use in-tree copy of SO_ constants for !__USE_MISC (swbz#24532)
- test-container: Avoid copying unintended system libraries
2019-07-30 11:05:22 +02:00
Fedora Release Engineering
6144405435 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-25 03:41:31 +00:00
Florian Weimer
c96359dd1c Revert libio change that causes crashes (#1732406) 2019-07-23 12:14:15 +02:00
DJ Delorie
8797f87802 Auto-sync with upstream branch master
Upstream commit: dcf36bcad3f283f77893d3b157ef7bb2c99419f2

- Add NEWS entry about the new AArch64 IFUNC resolver call ABI
- locale/C-translit.h.in: Cyrillic -> ASCII transliteration [BZ #2872]
- Linux: Update syscall-names.list to Linux 5.2
2019-07-22 14:06:01 -04:00
DJ Delorie
5f0fe918a5 Auto-sync with upstream branch master
Upstream commit: 3556658c5b8765480711b265abc901c67d5fc060

- Regenerate po/libc.pot for 2.30 release.
- nptl: Add POSIX-proposed _clock functions to hppa pthread.h
- nptl: Remove unnecessary forwarding of pthread_cond_clockwait from libc
- Afar locales: Months and days updated from CLDR (bug 21897).
- nl_BE locale: Use "copy "nl_NL"" in LC_NAME (bug 23996).
- nl_BE and nl_NL locales: Dutch salutations (bug 23996).
- ga_IE and en_IE locales: Revert first_weekday removal (bug 24200).
- nptl: Remove futex_supports_exact_relative_timeouts
- Update NEWS for new _clockwait and _clocklock functions
- nptl: Add POSIX-proposed pthread_mutex_clocklock
- nptl: Rename lll_timedlock to lll_clocklock and add clockid parameter
- nptl: Add POSIX-proposed pthread_rwlock_clockrdlock & pthread_rwlock_clockwrlock
- nptl: pthread_rwlock: Move timeout validation into _full functions
- nptl: Add POSIX-proposed pthread_cond_clockwait
- nptl: Add POSIX-proposed sem_clockwait
- nptl: Add clockid parameter to futex timed wait calls
- posix: Fix large mmap64 offset for mips64n32 (BZ#24699)
- nss_db: fix endent wrt NULL mappings [BZ #24695] [BZ #24696]
2019-07-18 15:15:24 -04:00
Carlos O'Donell
c098079671 Auto-sync with upstream branch master
Upstream commit: 30ba0375464f34e4bf8129f3d3dc14d0c09add17

- Don't declare __malloc_check_init in <malloc.h> (bug 23352)
- nftw: fill in stat buf for dangling links [BZ #23501]
- dl-vdso: Add LINUX_4 HASH CODE to support nds32 vdso mechanism
- riscv: restore ABI compatibility (bug 24484)
- aarch64: new ifunc resolver ABI
- nptl: Remove vfork IFUNC-based forwarder from libpthread [BZ #20188]
- malloc: Add nptl, htl dependency for the subdirectory [BZ #24757]
- Call _dl_open_check after relocation [BZ #24259]
- Linux: Use mmap instead of malloc in dirent/tst-getdents64
- ld.so: Support moving versioned symbols between sonames [BZ #24741]
- io: Remove copy_file_range emulation [BZ #24744]
- Linux: Adjust gedents64 buffer size to int range [BZ #24740]
- powerpc: Use generic e_expf
- Linux: Add nds32 specific syscalls to syscall-names.list
- szl_PL locale: Fix a typo in the previous commit (bug 24652).
2019-07-10 12:49:03 -04:00
DJ Delorie
4a003b4922 Auto-sync with upstream branch master
Upstream commit: 2bd81b60d6ffdf7e0d22006d69f4b812b1c80513.

- szl_PL locale: Spelling corrections (swbz 24652).
- nl_{AW,NL}: Correct the thousands separator and grouping (swbz 23831).
- Add missing VDSO_{NAME,HASH}_* macros and use them for PREPARE_VERSION_KNOWN
- nptl: Convert various tests to use libsupport
- support: Invent verbose_printf macro
- support: Add xclock_now helper function.
2019-06-24 15:59:37 -04:00
Carlos O'Donell
ca11f82b69 Revert glibc-fedora-memalign.patch addition.
The patch has been removed and will be added back once F31 branches.
No official build happened so we can just remove the NEVRA usage.
2019-06-24 10:59:03 -04:00
Carlos O'Donell
b21f47f287 Reduce external fragmentation in memalign (swbz#14581). 2019-06-21 08:13:12 -04:00
Florian Weimer
d53844dd72 Auto-sync with upstream branch master
Upstream commit: 21cc130b78a4db9113fb6695e2b951e697662440

- During exit, skip wide buffer handling for legacy stdio handles (#1722216)
- powerpc: add 'volatile' to asm
- powerpc: Fix static-linked version of __ppc_get_timebase_freq (swbz#24640)
- nl_AW locale: Correct the negative monetary format (swb#z24614)
- Fix gcc 9 build errors for make xcheck. (swbz#24556)
- dlfcn: Avoid one-element flexible array in Dl_serinfo (swbz#24166)
- elf: Refuse to dlopen PIE objects (swbz#24323)
- nl_NL locale: Correct the negative monetary format (swbz#24614)
- powerpc: Refactor powerpc64 lround/lroundf/llround/llroundf
- powerpc: refactor powerpc64 lrint/lrintf/llrint/llrintf
2019-06-21 09:40:58 +02:00
Florian Weimer
134a36d7f8 Remove comments on %endif, required by newer RPM 2019-06-17 15:45:58 +02:00
Florian Weimer
a464847a25 Auto-sync with upstream branch master
Upstream commit: 48c3c1238925410b4e777dc94e2fde4cc9132d44

- Linux: Fix __glibc_has_include use for <sys/stat.h> and statx (#1721129)
- <sys/cdefs.h>: Inhibit macro expansion for __glibc_has_include
- Add IPV6_ROUTER_ALERT_ISOLATE from Linux 5.1 to bits/in.h
- aarch64: handle STO_AARCH64_VARIANT_PCS
- aarch64: add STO_AARCH64_VARIANT_PCS and DT_AARCH64_VARIANT_PCS
- powerpc: Remove optimized finite
- math: Use wordsize-64 version for finite
- powerpc: Remove optimized isinf
- math: Use wordsize-64 version for isinf
- powerpc: Remove optimized isnan
- math: Use wordsize-64 version for isnan
- benchtests: Add isnan/isinf/isfinite benchmark
- powerpc: copysign cleanup
- powerpc: consolidate rint
- libio: freopen of default streams crashes in old programs (swbz#24632)
- Linux: Deprecate <sys/sysctl.h> and sysctl
- <sys/stat.h>: Use Linux UAPI header for statx if available and useful
  (#1721129)
- <sys/cdefs.h>: Add __glibc_has_include macro
- Improve performance of memmem
- Improve performance of strstr
- Benchmark strstr hard needles
- Fix malloc tests build with GCC 10
2019-06-17 14:36:16 +02:00
Patsy Franklin
9c5a4265d8 Auto-sync with upstream branch master
Upstream commit: 51ea67d54882318c4fa5394c386f4816ddc22408

- powerpc: get_rounding_mode: utilize faster method to get rounding mode
- riscv: Do not use __has_include__
- powerpc: fegetexcept: utilize function instead of duplicating code
- iconv: Use __twalk_r in __gconv_release_shlib
- Fix iconv buffer handling with IGNORE error handler (swbz#18830)
2019-06-10 13:01:36 -04:00
Florian Weimer
bd8d2430b4 Restore /usr/lib/locale/locale-archive under its original name (#1716710) 2019-06-05 12:20:08 +02:00
Florian Weimer
819bb4065c Add glibc version to locale-archive name (#1716710) 2019-06-04 16:02:20 +02:00
Carlos O'Donell
3aed6a961c Auto-sync with upstream branch master
Upstream commit: dc91a19e6f71e1523f4ac179191a29b2131d74bb

- Linux: Add oddly-named arm syscalls to syscall-names.list.
- arm: Remove ioperm/iopl/inb/inw/inl/outb/outw/outl support.
- Add INADDR_ALLSNOOPERS_GROUP from Linux 5.1 to netinet/in.h.
2019-06-03 16:07:16 -04:00
Carlos O'Donell
34927af202 Convert glibc_post_upgrade to lua. 2019-06-01 20:23:38 -04:00
Florian Weimer
fcb4083893 Auto-sync with upstream branch master
Upstream commit: 9250e6610fdb0f3a6f238d2813e319a41fb7a810

- powerpc: Fix build failures with current GCC
- Remove unused get_clockfreq files
- powerpc: generic nearbyint/nearbyintf
- tt_RU: Add lang_name (swbz#24370)
- tt_RU: Fix orthographic mistakes in mon and abmon sections (swbz#24369)
- Add IGMP_MRDISC_ADV from Linux 5.1 to netinet/igmp.h.
2019-06-01 13:41:32 +02:00
Florian Weimer
50bcae98df Remove support for filtering glibc-all-langpacks (#1715891)
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
2019-06-01 13:13:40 +02:00
Arjun Shankar
74725dd94e Auto-sync with upstream branch master
Upstream commit: 85188d8211698d1a255f0aec6529546db5c56de3

- Remove support for PowerPC SPE extension
- elf: Add tst-ldconfig-bad-aux-cache test
- Add F_SEAL_FUTURE_WRITE from Linux 5.1 to bits/fcntl-linux.h
- nss_dns: Check for proper A/AAAA address alignment
2019-05-27 14:46:58 +02:00
DJ Delorie
9701fdade7 Auto-sync with upstream branch master,
Upstream commit 46ae07324b1cd50fbf8f37a076d6babcfca7c510

- Improve string benchtest timing
- sysvipc: Add missing bit of semtimedop s390 consolidation
- wcsmbs: Fix data race in __wcsmbs_clone_conv [swbz #24584]
- libio: Fix gconv-related memory leak [swbz #24583]
- libio: Remove codecvt vtable [swbz #24588]
- support: Expose sbindir as support_sbindir_prefix
- support: Add missing EOL terminators on timespec
- support: Correct confusing comment
- sysvipc: Consolidate semtimedop s390
- sysvipc: Fix compat msgctl (swbz#24570)
- Add NT_ARM_PACA_KEYS and NT_ARM_PACG_KEYS from Linux 5.1 to elf.h.
- Small tcache improvements
- manual: Document O_DIRECTORY
- Update kernel-features.h files for Linux 5.1.
- nss_nis, nss_nisplus: Remove RES_USE_INET6 handling
- nss_files: Remove RES_USE_INET6 from hosts processing
- support: Report NULL blobs explicitly in TEST_COMPARE
- dlfcn: Guard __dlerror_main_freeres with __libc_once_get (once) [swbz# 24476]
- Add missing Changelog entry
2019-05-21 14:21:21 -04:00
Florian Weimer
6666c40188 Auto-sync with upstream branch master
Upstream commit: 32ff397533715988c19cbf3675dcbd727ec13e18

- Fix crash in _IO_wfile_sync (#1710460)
- nss: Turn __nss_database_lookup into a compatibility symbol
- support: Add support_install_rootsbindir
- iconv: Remove public declaration of __gconv_transliterate
- Linux: Add the tgkill function
- manual: Adjust twalk_r documentation.
- elf: Fix tst-pldd for non-default --prefix and/or --bindir (swbz#24544)
- support: Export bindir path on support_path
- configure: Make --bindir effective
- x86: Remove arch-specific low level lock implementation
- nptl: Assume LLL_LOCK_INITIALIZER is 0
- nptl: Small optimization for lowlevellock
- Add single-thread.h header
- locale: Update to Unicode 12.1.0 (swbz#24535)
- malloc: Fix tcache count maximum (swbz#24531)
- sem_close: Use __twalk_r
- support: Fix timespec printf
- nptl/tst-abstime: Use libsupport
- nptl: Convert some rwlock tests to use libsupport
- nptl: Use recent additions to libsupport in tst-sem5
- nptl: Convert tst-cond11.c to use libsupport
- support: Add timespec.h
- Move nptl/tst-eintr1 to xtests (swbz#24537)
- powerpc: trunc/truncf refactor
- powerpc: round/roundf refactor
- powerpc: floor/floorf refactor
- support: Add xclock_gettime
- malloc/tst-mallocfork2: Use process-shared barriers
- Update syscall-names.list for Linux 5.1
- Use GCC 9 in build-many-glibcs.py
- aarch64: thunderx2 memmove performance improvements
- misc/tst-tsearch: Additional explicit error checking
- elf: Fix elf/tst-pldd with --enable-hardcoded-path-in-tests (swbz#24506)
- misc: Add twalk_r function
2019-05-15 17:55:39 +02:00
Arjun Shankar
4124e42f39 Auto-sync with upstream branch master
Upstream commit: 20aa5819586ac7ad11f711bab64feda307965191

- semaphore.h: Add nonnull attributes
- powerpc: Remove power4 mpa optimization
- powerpc: Refactor ceil/ceilf
- Fix -O1 compilation errors with `__ddivl' and `__fdivl' [BZ #19444]
- Make mktime etc. compatible with __time64_t
2019-05-02 13:03:35 +02:00
Florian Weimer
d9394d9d7e Auto-sync with upstream branch master
Upstream commit: c57afec0a9b318bb691e0f5fa4e9681cf30df7a4

- Increase BIND_NOW coverage (#1702671)
- Fix pldd hang (#1361689)
- riscv: remove DL_RO_DYN_SECTION (swbz#24484)
- locale: Add LOCPATH diagnostics to the locale program
- benchtests: Enable BIND_NOW if configured with --enable-bind-now
2019-04-26 13:51:28 +02:00
DJ Delorie
47192f413e Auto-sync with upstream branch master
Upstream commit: 25f7a3c96116a9102df8bf7b04ef160faa32416d

- malloc: make malloc fail with requests larger than PTRDIFF_MAX (BZ#23741)
- powerpc: Fix format issue from 3a16dd780eeba602
- powerpc: fma using builtins
- powerpc: Use generic fabs{f} implementations
- mips: Remove rt_sigreturn usage on context function
- powerpc: Remove rt_sigreturn usage on context function
- support: Add support_capture_subprogram
- stdlib/tst-secure-getenv: handle >64 groups
2019-04-22 15:33:30 -04:00
Florian Weimer
448365c7f7 Auto-sync with upstream branch master
Upstream commit: e3f454bac0f968216699ca405c127c858f0657c7

- nss_dns: Do not replace root domain with empty string
- alloc_buffer: Return unqualified pointer type in alloc_buffer_next
- malloc: Set and reset all hooks for tracing (swbz#16573)
2019-04-15 15:05:30 +02:00
Florian Weimer
a54853472d Run valgrind smoke test against the install tree 2019-04-11 21:53:43 +02:00
Florian Weimer
dcaaa78467 Do not use --g-libs with find-debuginfo.sh; it breaks valgrind (#1698824) 2019-04-11 12:18:48 +02:00
Florian Weimer
7b77f1b10f Strip debugging information from installed programs again (#1661510) 2019-04-10 10:26:43 +02:00
Carlos O'Donell
b797613532 Auto-sync with upstream branch master
Upstream commit: 648279f4af423c4783ec1dfa63cb7b46a7640217

- Drop glibc-warning-fix.patch. Microbenchmark code fixed upstream.

- powerpc: Use generic wcscpy optimization
- powerpc: Use generic wcschr optimization
- powerpc: Use generic wcsrchr optimization
- aarch64: thunderx2 memcpy implementation cleanup and streamlining
- resolv: Remove support for RES_USE_INET6 and the inet6 option
- resolv: Remove RES_INSECURE1, RES_INSECURE2
2019-04-09 11:11:06 -04:00
Arjun Shankar
e4dacdad3d Auto-sync with upstream branch master
Upstream commit: 8260f23616c1a2a4e609f989a195fba7690a42ca

- Fix strptime era handling, add more strftime tests [BZ #24394]
- time/tst-strftime2.c: Make the file easier to maintain
- time: Add tests for Minguo calendar [BZ #24293]
- ja_JP locale: Add entry for the new Japanese era [BZ #22964]
- Add Reiwa era tests to time/tst-strftime3.c
2019-04-04 03:07:08 +02:00
Arjun Shankar
539fe8abbd Update sources file 2019-04-01 18:33:52 +02:00
Arjun Shankar
7b2061df55 Auto-sync with upstream branch master
Upstream commit: 993e3107af67edefcfc79a62ae55f7b98aa5151e

- Add AArch64 HWCAPs from Linux 5.0
- tt_RU: Fix orthographic mistakes in day and abday sections [BZ #24296]
- iconv, localedef: avoid floating point rounding differences [BZ #24372]
- Fix parentheses error in iconvconfig.c and ld-collate.c [BZ #24372]
- S390: New configure check and hwcap values for new CPU architecture arch13
- S390: Add memmove, strstr, and memmem ifunc variants for arch13
- nptl: Remove pthread_clock_gettime pthread_clock_settime
- linux: Assume clock_getres CLOCK_{PROCESS,THREAD}_CPUTIME_ID
- Remove __get_clockfreq
- Do not use HP_TIMING_NOW for random bits
- hp-timing: Refactor rtld usage, add generic support
- Add NT_ARM_PAC_MASK and NT_MIPS_MSA from Linux 5.0 to elf.h
- Add UDP_GRO from Linux 5.0 to netinet/udp.h
- nptl: Convert tst-sem5 & tst-sem13 to use libsupport
- nptl/tst-rwlock14: Test pthread_rwlock_timedwrlock correctly
- nss/tst-nss-files-alias-leak: add missing opening quote in printf
- math: Enable some math builtins for clang
- powerpc: Use __builtin_{mffs,mtfsf}
- RISC-V: Fix `test' operand error with soft-float ABI being configured
2019-04-01 16:45:15 +02:00
Carlos O'Donell
bfa3999fdd Fix %changelog date. 2019-03-20 22:41:20 -04:00
Carlos O'Donell
82a97343d6 Add warnings and notes to /etc/nsswitch.conf and /etc/nscd.conf. 2019-03-20 22:36:49 -04:00
DJ Delorie
a84cd6b530 Auto-sync with upstream branch master
Upstream commit: 78919d3886c9543279ec755a701e279c62b44164

78919d3886 time/mktime.c: Update obsolete URL in comment.
b626c5aa5d Record CVE-2019-9169 in NEWS and ChangeLog [BZ #24114]
066ae81ec9 hurd: Fix comment style
e87d8ada29 hurd: Document how EINTR should be handled in critical sections
477e739b32 Update syscall-names.list for Linux 5.0.
238d60a1fb localedata: Add Minguo calendar support to Taiwanese locales [BZ #24293]
5b06f538c5 malloc: Check for large bin list corruption when inserting unsorted chunk
a0a0dc8317 Remove obsolete, never-implemented XSI STREAMS declarations
2019-03-18 13:23:22 -04:00
Florian Weimer
fdf2115d36 Auto-sync with upstream branch master
Upstream commit: a0a0dc83173ce11ff45105fd32e5d14356cdfb9c

- Drop glibc-fedora-streams-rh436349.patch.  STREAMS was removed upstream.

- Remove obsolete, never-implemented XSI STREAMS declarations
- nss: Fix tst-nss-files-alias-truncated for default --as-needed linking
- scripts/check-obsolete-constructs.py: Process all headers as UTF-8.
- Use Linux 5.0 in build-many-glibcs.py.
- hurd: Add no-op version of __res_enable_icmp [BZ #24047]
- Move inttypes.h and stdint.h to stdlib.
- Use a proper C tokenizer to implement the obsolete typedefs test.
- Fix output of LD_SHOW_AUXV=1.
2019-03-14 16:18:47 +01:00
Florian Weimer
4d79a1a6dd Update sources 2019-03-13 17:44:44 +01:00
Florian Weimer
70ec0cd8b9 Auto-sync with upstream branch master
Upstream commit: 38b52865d4ccfee3647f27e969e539a4396a73b1

- Drop glibc-rh1670028.patch, applied upstream

- elf: Add DF_1_KMOD, DF_1_WEAKFILTER, DF_1_NOCOMMON to <elf.h>
- resolv: Enable full ICMP errors for UDP DNS sockets [BZ #24047]
- C-SKY: add elf header definition for elfutils
- C-SKY: mark lr as undefined to stop unwinding
- C-SKY: remove user_regs definition
- C-SKY: fix sigcontext miss match
- Bug 24307: Update to Unicode 12.0.0
- Break lines before not after operators, batch 4.
- check-wrapper-headers test: Adjust Fortran include file directory
- Fix location where math-vector-fortran.h is installed.
2019-03-13 13:33:01 +01:00
Jeroen van Meeuwen (Kolab Systems)
97506ad65a It's there now... 2019-03-08 13:24:23 +01:00
Jeroen van Meeuwen (Kolab Systems)
5b4007bb56 Fix bootstrapping glibc
Bootstrapping glibc will disable benchtests, but the if/endif clauses
excluded essentials from the bootstrapped build. Also, mtrace isn't built
when bootstrapping.
2019-03-08 13:24:23 +01:00
DJ Delorie
9f81c9aa6e Auto-sync with upstream branch master
Upstream commit: 0ddb7ea842abf63516b74d4b057c052afc6ba863.

- nptl: Assume __ASSUME_FUTEX_CLOCK_REALTIME support
- powerpc: Fix build of wcscpy with --disable-multi-arch
- elf: Remove remnants of MAP_ANON emulation
- S390: Increase function alignment to 16 bytes.
- ja_JP: Change the offset for Taisho gan-nen from 2 to 1 [BZ #24162]
- ldbl-opt: Reuse test cases from misc/ that check long double
- ldbl-opt: Add error and error_at_line (bug 23984)
- ldbl-opt: Add err, errx, verr, verrx, warn, warnx, vwarn, and vwarnx (bug 23984)
- ldbl-opt: Reuse argp tests that print long double
- ldbl-opt: Add argp_error and argp_failure (bug 23983)
- elf/tst-big-note: Improve accuracy of test [BZ #20419]
- S390: Fix introduction of __wcscpy and weak wcscpy symbols.
- __netlink_assert_response: Add more __libc_fatal newlines [BZ #20271]
- Add more spaces before '('.
- elf: Add tests with a local IFUNC resolver [BZ #23937]
- elf/Makefile: Run IFUNC tests if binutils supports IFUNC
- powerpc: Fix linknamespace introduced by 4d8015639a75
- hurd: Add renameat2 support for RENAME_NOREPLACE
- Fix -Wempty-body warnings in Hurd-specific code.
- Add some spaces before '('.
- wcsmbs: optimize wcsnlen
- wcsmbs: optimize wcsncpy
- wcsmbs: optimize wcsncat
- wcsmbs: optimize wcscpy
- wcsmbs: optimize wcscat
- wcsmbs: optimize wcpncpy
- wcsmbs: optimize wcpcpy
- Break further lines before not after operators.
- Add and move fall-through comments in system-specific code.
2019-03-06 15:56:00 -05:00
DJ Delorie
2300402532 Add .gdb_index to debug information
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1680765
by adding -i to find-debuginfo.sh flags.
2019-03-01 14:45:22 -05:00
Carlos O'Donell
8a209c638d Work around compiler warning in microbenchmarks.
Raised upstream:
https://www.sourceware.org/ml/libc-alpha/2019-02/msg00656.html
2019-02-28 02:09:46 -05:00
Carlos O'Donell
047399b0d0 Auto-sync with upstream branch master,
Upstream commit: e0cb7b6131ee5f2dca2938069b8b9590304e6f6b

- nss_files: Fix /etc/aliases null pointer dereference (swbz#24059)
- regex: fix read overrun (swbz#24114)
- libio: use stdout in puts and putchar, etc (swbz#24051)
- aarch64: Add AmpereComputing emag to tunable cpu list
- aarch64: Optimized memset specific to AmpereComputing emag
- aarch64: Optimized memchr specific to AmpereComputing emag
- Require GCC 6.2 or later to build glibc
- manual: Document lack of conformance of sched_* functions (swbz#14829)
- libio: Use stdin consistently for input functions (swbz#24153)
- x86-64 memcmp: Use unsigned Jcc instructions on size (swbz#24155)
- Fix handling of collating elements in fnmatch (swbz#17396,swbz#16976)
- arm: Use "nr" constraint for Systemtap probes (swbz#24164)
- Fix alignment of TLS variables for tls variant TLS_TCB_AT_TP (swbz#23403)
- Add compiler barriers for pthread_mutex_trylock (swbz#24180)
- rt: Turn forwards from librt to libc into compat symbols (swbz#24194)
- Linux: Add gettid system call wrapper (swbz#6399)
- nptl: Avoid fork handler lock for async-signal-safe fork (swbz#24161)
- elf: Ignore LD_AUDIT interfaces if la_version returns 0 (swbz#24122)
- nptl: Reinstate pthread_timedjoin_np as a cancellation point (swbz#24215)
- nptl: Fix invalid Systemtap probe in pthread_join (swbz#24211)
2019-02-26 09:31:34 -05:00
Florian Weimer
1c5b89063f Auto-sync with upstream branch release/2.29/master
Upstream commit: 067fc32968b601493f4b247a3ac00caeea3f3d61

- Drop glibc-rh1674280.patch.  Different fix applied upstream.  (#1674280)
- nptl: Fix invalid Systemtap probe in pthread_join (#1674280)
2019-02-19 08:33:22 +01:00
Florian Weimer
b82e3b3f85 Hotfix for invalid Systemtap probe in pthread_join (#1674280) 2019-02-11 21:42:14 +01:00
Florian Weimer
8e6306e004 Remove LRA bug on POWER workaround, fixed in gcc-9.0.1-0.4.fc30 (#1673018) 2019-02-11 09:53:45 +01:00
Florian Weimer
5fff012634 Auto-sync with upstream branch release/2.29/master
Upstream commit: c096b008d2671028c21ac8cf01f18a2083e73c44

- nptl: Avoid fork handler lock for async-signal-safe fork (swbz#24161)
- nptl: Add compiler barriers in pthread_mutex_trylock (swbz#24180)
2019-02-11 09:51:14 +01:00
Florian Weimer
123aebc7d4 Work around LRA hang on ppc64le (#1673018) 2019-02-07 10:49:48 +01:00
Florian Weimer
109c797f85 Auto-sync with upstream branch release/2.29/master
Upstream commit: 2de15ac95713a238dc258eb8977ecdfca811fc19

- arm: Use "nr" constraint for Systemtap probes (#1196181)
2019-02-06 09:10:05 +01:00
Florian Weimer
0ba614c06d Eliminate %%glibcrelease macro
As a result, future mass rebuilds will increment the Release: field as
expected.
2019-02-01 13:38:20 +01:00
Carlos O'Donell
de5b416635 Auto-sync with upstream branch release/2.29/master
Upstream commit: 86013ef5cea322b8f4b9c22f230c22cce369e947

- nptl: Fix pthread_rwlock_try*lock stalls (swbz#23844)
2019-01-31 22:15:26 -05:00
Fedora Release Engineering
b4e36d719d - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-01-31 22:40:19 +00:00
DJ Delorie
e7b9f886b0 Auto-sync with upstream branch master,
Upstream commit: e1e47c912a8e557508362715f7468091def3ec4f

- Update translations.
2019-01-28 16:12:03 -05:00
Florian Weimer
5d5d75dce2 Fix broken patch 2019-01-28 14:38:03 +01:00
Florian Weimer
88850a88bb resolv: Enable full ICMP error reporting in stub resolver (#1670028) 2019-01-28 14:28:25 +01:00
Florian Weimer
657df54449 Remove obsolete scriptlets (release bump) 2019-01-28 14:09:37 +01:00
Igor Gnatenko
1ebcbd5e46
Remove obsolete scriptlets
References: https://fedoraproject.org/wiki/Changes/RemoveObsoleteScriptlets
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2019-01-27 18:58:44 +01:00
Florian Weimer
70a46f30e1 Auto-sync with upstream branch master
Upstream commit: 83e6b59625f45db1eee93e5684091f740c52a083

- elf: Revert LD_AUDIT fix for modules with invalid version (swbz#24122)
- strftime: Pass the additional flags from %EY to %Ey (swbz#24096)
- strftime: Set the default width of %Ey to 2 (swbz#23758)
2019-01-25 11:55:20 +01:00
Florian Weimer
7c5e863b5b Auto-sync with upstream branch master
Upstream commit: 3367acdb344a1d7fcf8f53748d301d652c8911dd

- elf: Fix LD_AUDIT for modules with invalid version (swbz#24122)
- CVE-2016-10739: getaddrinfo: Fully parse IPv4 address strings (#1331390)
- resolv: Do not send queries for non-host-names in nss_dns (swbz#24112)
- malloc: Revert fastbins to old-style atomics
2019-01-24 13:01:30 +01:00
Florian Weimer
133c946b2f Use assembler to produce annobin notes for nonshared libraries (#1668822) 2019-01-23 17:22:30 +01:00
Carlos O'Donell
ec674e19b8 Auto-sync with upstream branch master
Upstream commit: 008b598e2a495024f9777006716cfd8668f3db33

- x86-64: Optimize strcat/strncat, strcpy/strncpy and stpcpy/stpncpy with AVX2
- powerpc: Fix VSCR position in ucontext (swbz#24088)
- AArch64: Add ifunc support for Ares
- soft-fp: Properly check _FP_W_TYPE_SIZE (swbz#24066)
2019-01-16 11:51:15 -05:00
Florian Weimer
4265b0b8f6 Inherit -march=haswell flag from redhat-rpm-config 2019-01-10 12:29:48 +01:00
Arjun Shankar
062fb704db Update sources file 2019-01-07 19:07:19 +01:00
Arjun Shankar
1aba59b258 Auto-sync with upstream branch master
commit 2ef427168818ce04b03cecb7b739f9db0156e3e4

- Require GCC 5 or later to build glibc (swbz#23993)
- Only build libm with -fno-math-errno (swbz#24024)
- sysdeps/ieee754: prevent maybe-uninitialized errors with -O (swbz#19444)
- Multiple locales: Use the correct 12-hour time formats (swbz#10496)
- sq_AL: Use the correct date and time formats (swbz#10496, swbz#23724)
- en_US: define date_fmt (swbz#24046)
- Remove executable bit from localedata/locales/bi_VU (swbz#23995)
- malloc: Always call memcpy in _int_realloc (swbz#24027)
- ARM: fix kernel assisted atomics with GCC 8 (swbz#24034)
- S390: Unify 31/64bit mem{set,cmp,cpy,pcpy}, bzero with ifunc handling
- S390: Refactor ifunc handling for several str* and wc* functions
- posix: Clear close-on-exec for posix_spawn adddup2 (swbz#23640)
- termios: Define TIOCSER_TEMT with __USE_MISC (swbz#17783)
- termios: Consolidate Baud Rate Selection definitions (swbz#23783)
- Y2038: add __{localtime64,gmttime64,ctime64}[_r] functions
- Y2038: make __difftime compatible with 64-bit time
2019-01-07 17:22:11 +01:00
DJ Delorie
650d554f72 Auto-sync with upstream branch master,
commit 6bbfc5c09fc5b5e3d4a0cddbbd4e2e457767dae7.

- Add statx conditionals for wordsize-32 *xstat.c
- regex: fix storage-exhaustion error (swbz#18040)
- regex: fix heap-use-after-free error (swbz#18040)
- manual: Document thread/task IDs for Linux
2018-12-17 14:16:58 -05:00
Carlos O'Donell
60935671c3 Auto-sync with upstream branch master
Upstream commit: ade8b817fead73b302d08c88cd44ea2ea56793d4

- powerpc: missing CFI register information in __mpn_* functions (swbz#23614)
- rdlock stalls indefinitely on an unlocked pthread rwlock (swbz#23861)
2018-12-13 12:14:55 -05:00
Carlos O'Donell
7a4d7ca184 Auto-sync with upstream branch master
Upstream commit: 505b5b292293a5d6bd4046a6bc7f8c2381a33da4

- Fix powf overflow handling in non-nearest rounding mode (swbz#23961)
- test-container: move postclean outside of namespace changes (swbz#23948)
- Enable VDSO for static linking on mips (swbz#19767)
2018-12-11 12:33:20 -05:00
Florian Weimer
1d88b65b1d Auto-sync with upstream branch master
Upstream commit: 7b36d26b22d147ffc347f427f9fd584700578a94

- compat getdents64: Use correct offset for retry (swbz#23972)
- x86: Fix static analysis warning in tst-cet-property-2 (swbz#23490)
- malloc: Add another test for tcache double free check (swbz#23907)
- getcpu: New system call wrapper
- posix_spawn_file_actions_addfchdir_np: New function (swbz#17405)
- Preparations for the IBM long double transition
- Preparations for 64-bit time_t on 32-bit architectures
- Enable VDSO for static linking on arm (swbz#19767)
2018-12-10 16:51:13 +01:00
Florian Weimer
b8873c0d8b Auto-sync with upstream branch master
Upstream commit: 7b36d26b22d147ffc347f427f9fd584700578a94

- CVE-2018-19591: if_nametoindex: Fix descriptor for overlong name (#1654000)
- Mutex: Add pthread mutex tunables
- stdlib: assert on NULL function pointer in atexit etc. (swbz#20544)
- Enable VDSO on i386 statically linked programs
- posix: Use posix_spawn on system
- posix: Use posix_spawn on popen (swbz#17490, swbz#22834)
- Fix _dl_profile_fixup data-dependency issue (swbz#23690)
- Enable VDSO for static linking on aarch64
2018-12-03 14:58:02 +01:00
Carlos O'Donell
afea822158 Resolves: #1352973
- Move requirement on libgcc from glibc-devel to glibc (#1352973)
2018-11-29 16:40:16 -05:00
Carlos O'Donell
173c24248d Resolves: #1651260
- Add requires on explicit glibc version for glibc-nss-devel (#1651260)
2018-11-27 15:07:47 -05:00
Arjun Shankar
5ce3b68016 Auto-sync with upstream branch master
Upstream commit: ce035c6e909ad20ef2fe13c92eab4e69f6495b61

- Drop glibc-rh1652495.patch.  Applied upstream.
2018-11-27 12:20:28 +01:00
Florian Weimer
fdcac6f8f4 Do not use parallel make for building locales (#1652228) 2018-11-26 14:58:44 +01:00
Florian Weimer
2f22666a8b malloc: Revert tcache double-free check (#1652495) 2018-11-22 11:05:13 +01:00
DJ Delorie
16caa0b760 Auto-sync with upstream branch master
Upstream commit: bcdaad21d4635931d1bd3b54a7894276925d081d

- malloc: tcache double free check
- [AArch64] Adjust writeback in non-zero memset
- Update config.guess and config.sub to current versions.
- support: Print timestamps in timeout handler
- Use STRFMON_LDBL_IS_DBL instead of __ldbl_is_dbl.
2018-11-20 14:38:52 -05:00
Florian Weimer
81ee17d92e Auto-sync with upstream branch master
Upstream commit: 346ef23f197a0c8ba807c344bd39101b711050ee
2018-11-16 11:20:25 +01:00
Florian Weimer
36c64b8ffa Auto-sync with upstream branch master
Upstream commit: 43257c335ad6b9e05fb882975e1776ff763164ee

- Disable CET for binaries created by older link editors (#1648297)
2018-11-09 12:00:27 +01:00
Florian Weimer
5ca0400677 Auto-sync with upstream branch master
Upstream commit: 00c86a37d1b63044e3169d1f2ebec23447c73f79
2018-11-07 14:47:43 +01:00
Florian Weimer
4232176d25 Auto-sync with upstream branch master
Upstream commit: 1df872fd74f730bcae3df201a229195445d2e18a

- libanl: Fix crash if first helper thread creation failed (#1646381)
2018-11-07 13:58:23 +01:00
Mike FABIAN
c42d98baca Include Esperanto (eo) in glibc-all-langpacks (#1643756) 2018-11-01 11:55:20 +01:00
DJ Delorie
383945e966 Auto-sync with upstream branch master:
Upstream commit: c6982f7efc1c70fe2d6160a87ee44d871ac85ab0
2018-10-29 14:39:25 -04:00
Arjun Shankar
a5ad6ecfc9 Auto-sync with upstream branch master:
Upstream commit: fe61f17cfc18f17befca3280e828bb40e8c772b0
2018-10-26 14:29:50 +02:00
Florian Weimer
6287bab02b Auto-sync with upstream branch master:
Upstream commit: a27a4f4721837a5fb36ace833764b06a64c5af1c
2018-10-24 11:46:30 +02:00
Florian Weimer
8e5fc280df Auto-sync with upstream branch master
Upstream commit: 72771e53753647111d31c5c4bf43d8901e6baf7e
2018-10-18 10:22:53 +02:00
Florian Weimer
3b14ffff2a Auto-sync with upstream branch master
Upstream commit: f841c97e515a1673485a2b12b3c280073d737890

- stdlib/tst-setcontext9 test suite failure on ppc64le (#1623519)
2018-09-27 12:52:00 +02:00
Florian Weimer
447d75c71c - Auto-sync with upstream branch master
Upstream commit: db9a8ad4ff3fc58e3773a9a4d0cabe3c1bc9c94c

- gethostid: Missing NULL check for gethostbyname_r result (#1631338)
- stdlib/tst-setcontext9 test suite failure (#1623519)
2018-09-20 13:27:33 +02:00
Florian Weimer
a63c0b6456 Add python3-devel build dependency for downstream benefit 2018-09-05 11:35:41 +02:00
Florian Weimer
c63972c3a9 Fix version in changelog 2018-09-05 11:35:10 +02:00
Carlos O'Donell
9588eec39f Resolves: #1625507
- Provide compatibility support for linking against libpthread_nonshared.a
  (#1625507)
2018-09-05 03:26:05 -04:00
Florian Weimer
723de53164 Remove workaround for valgrind bug (#1600034) 2018-08-29 13:06:17 +02:00
Florian Weimer
fde5e92317 Auto-sync with upstream branch master
Upstream commit: ff6b24501f70da7d6375d6f5929262b9509db39e
2018-08-29 09:01:13 +02:00
Florian Weimer
02e1d4ee3e Auto-sync with upstream branch master
Upstream commit: 99ea93ca31795469d2a1f1570f17a5c39c2eb7e2

- nptl: Fix waiters-after-spinning case in pthread_cond_broadcast (#1622669)
- regex: Fix memory corruption when pattern and input contain NUL (#1622674)
2018-08-27 20:19:22 +02:00
Carlos O'Donell
60efd153e5 Auto-sync with upstream branch master
Upstream commit: aa42b3dbcb0326badf377fec2c7fb2f34fdabecd
2018-08-24 22:29:27 -04:00
Carlos O'Donell
bebdebbdc3 Resolves: #1615608
- Remove abort() warning in manual (#1615608)
2018-08-13 22:43:08 -04:00
Florian Weimer
08e1b1ab33 Fix regression in readdir64@GLIBC_2.1 compat symbol (#1614705) 2018-08-10 11:24:59 +02:00
Florian Weimer
fa1678e1c0 Log /proc/sysinfo if available (on s390x) 2018-08-02 18:20:05 +02:00
Florian Weimer
b0deb573ed Honor %{valgrind_arches} 2018-08-02 16:24:00 +02:00
Florian Weimer
fb1f848c19 Update to glibc 2.28 release tarball
- Translation updates
- x86/CET: Fix property note parser (swbz#23467)
- x86: Add tst-get-cpu-features-static to $(tests) (swbz#23458)
2018-08-01 10:54:45 +02:00
Florian Weimer
304fcdff50 Add release-independent .gitignore file 2018-08-01 10:54:37 +02:00
Florian Weimer
56a02fe6e3 Auto-sync with upstream branch master
Upstream commit: af86087f02a5522d8801a11d8381e04f95e33162

- x86/CET: Don't parse beyond the note end
- Fix Linux fcntl OFD locks tests on unsupported kernels
- x86: Populate COMMON_CPUID_INDEX_80000001 for Intel CPUs (swbz#23459)
- x86: Correct index_cpu_LZCNT (swbz#23456)
- Fix string/tst-xbzero-opt if build with gcc head
2018-07-31 08:25:51 +02:00
Florian Weimer
a4a5659439 Auto-sync with upstream branch master
Upstream commit: cfba5dbb10cc3abde632b46c60c10b2843917035

- Keep expected behaviour for [a-z] and [A-z] (#1607286)
- Additional ucontext tests
- Intel CET enhancements
- ISO C11 threads support
- Fix out-of-bounds access in IBM-1390 converter (swbz#23448)
- New locale Yakut (Sakha) for Russia (sah_RU) (swbz#22241)
- os_RU: Add alternative month names (swbz#23140)
- powerpc64: Always restore TOC on longjmp (swbz#21895)
- dsb_DE locale: Fix syntax error and add tests (swbz#23208)
- Improve performance of the generic strstr implementation
- regcomp: Fix off-by-one bug in build_equiv_class (swbz#23396)
- Fix out of bounds access in findidxwc (swbz#23442)
2018-07-26 11:59:33 +02:00
Florian Weimer
ad93166294 Add Provides: bundled(gnulib) 2018-07-23 14:23:36 +02:00
Carlos O'Donell
092cf93daa Resolves: #1601011
- Fix file list for glibc RPM packaging (#1601011).
2018-07-13 16:10:09 -04:00
Carlos O'Donell
6f4d10f912 Restructure package and subpackage file list generation.
The file list geneation for the main package and subpackages was
unorganized and poorly structured. With this commit we change this
in three siginifcant ways:

* All file lists are built independent of each other from a master
  list of files e.g. rpm.list. This is the important cleanup.

* All files are installed into %{glibc_sysroot}, which defaults
  to $RPM_BUILD_ROOT. This supports future experimentation with
  alternate glibc installs via this new variable.

* Redundant code is removed which is no longer required, like the
  debuginfo list de-duplication; simplifying the install process.

The changes were tested by carrying out a file-by-file comparison
to ensure no file changed packages or installed location after
the patch.
2018-07-12 14:36:33 -04:00
Carlos O'Donell
e4aafbc505 Reorganize %install phase.
The %install phase is reorganized into 3 distinct phases, the
first phase where files are modified, a second phase where file
lists are generated, and a final phase where files are only
removed based on list information.

This cleanup makes it very clear when we are done installing
files, and therefore creates a place where we can put ABI
instrumentation to compare the resulting ABI before stripping
and debuginfo generation.

No ABI instrumentation is added by this patch, and before-and-after
testing verifies the %install phase remains functionally the same.
2018-07-12 14:35:19 -04:00
Florian Weimer
559f435759 Fix typo in comment 2018-07-11 21:32:56 +02:00
Florian Weimer
3bef91d75e Add POWER9 multilib (downstream only) 2018-07-11 15:54:24 +02:00
Florian Weimer
e75713e5c1 Fix typo in LDFLAGS-rtld setting (#1600034) 2018-07-11 13:21:42 +02:00
Florian Weimer
6404b25896 Auto-sync with upstream branch master
Upstream commit: 93304f5f7a32f73b551266c5a181db51d97a71e4

- Install <bits/statx.h> header
- Put the correct Unicode version number 11.0.0 into the generated files
2018-07-11 11:50:51 +02:00
Florian Weimer
6a43999c13 Work around valgrind issue on i686 (#1600034) 2018-07-11 11:50:02 +02:00
Florian Weimer
28cb5d31fc Auto-sync with upstream branch master
Upstream commit: fd70af45528d59a00eb3190ef6706cb299488fcd

- Add the statx function
- regexec: Fix off-by-one bug in weight comparison (#1582229)
- nss_files: Fix re-reading of long lines (swbz#18991)
- aarch64: add HWCAP_ATOMICS to HWCAP_IMPORTANT
- aarch64: Remove HWCAP_CPUID from HWCAP_IMPORTANT
- conform/conformtest.pl: Escape literal braces in regular expressions
- x86: Use AVX_Fast_Unaligned_Load from Zen onwards.
2018-07-10 17:18:22 +02:00
Florian Weimer
126ab296ea Remove ppc64 multilibs 2018-07-06 11:43:53 +02:00
Florian Weimer
589518d1c8 Auto-sync with upstream branch master
Upstream commit: 3a885c1f51b18852869a91cf59a1b39da1595c7a
2018-07-06 10:53:36 +02:00
Florian Weimer
04e38e02b7 Enable build flags inheritance for nonshared flags 2018-07-05 12:45:22 +02:00
Florian Weimer
8a71833984 Add annobin annotations to assembler code (#1548438) 2018-07-04 16:35:00 +02:00
Florian Weimer
43a21403fe Update License tag 2018-07-04 13:02:15 +02:00
Florian Weimer
a50cd9a587 Enable -D_FORTIFY_SOURCE=2 for nonshared code 2018-07-04 11:56:29 +02:00
Florian Weimer
2074a352da Add changelog reference to bug #1566464 2018-07-04 11:50:24 +02:00
Florian Weimer
4adfefae5a Inherit additional build flags 2018-07-04 10:48:07 +02:00
Florian Weimer
145da19e2e Auto-sync with upstream branch master
Upstream commit: b7b88cea4151d85eafd7ababc2e4b7ae1daeedf5
2018-07-02 22:56:52 +02:00
Florian Weimer
58f5912619 Auto-sync with upstream branch master
Upstream commit: e69d994a63afc2d367f286a2a7df28cbf710f0fe
2018-07-02 22:56:52 +02:00
Florian Weimer
c8098b86f8 Auto-sync with upstream branch master
Upstream commit: c49e18222e4c40f21586dabced8a49732d946917
2018-06-28 10:28:29 +02:00
Florian Weimer
a6144b701a Compatibility fix for <sys/stat.h> and <linux/time.h> 2018-06-21 08:25:16 +02:00
Florian Weimer
4343a2408a Auto-sync with upstream branch master
Upstream commit: f496b28e61d0342f579bf794c71b80e9c7d0b1b5
2018-06-21 08:23:20 +02:00
Florian Weimer
2b743b9fd1 Auto-sync with upstream branch master
Upstream commit: f2857da7cdb65bfad75ee30981f5b2fde5bbb1dc
2018-06-18 21:25:46 +02:00
Florian Weimer
9007def666 Add CVE-2018-11236 reference 2018-06-18 14:58:14 +02:00
Florian Weimer
4283de10b6 Auto-sync with upstream branch master
Upstream commit: 14beef7575099f6373f9a45b4656f1e3675f7372

- iconv: Make IBM273 equivalent to ISO-8859-1 (#1592270)
2018-06-18 13:02:53 +02:00
Florian Weimer
84981f566e Inherit the -msse2 build flag as well (#1592212) 2018-06-18 11:51:52 +02:00
Carlos O'Donell
e4a1cf14e0 Update gen-quilt-series.sh for new %autosetup. 2018-06-04 22:30:43 -04:00
Florian Weimer
94a7268e0b Auto-sync with upstream branch master
Upstream commit:104502102c6fa322515ba0bb3c95c05c3185da7a
2018-06-01 14:07:34 +02:00
Florian Weimer
9f8b04ee49 Adjust build flags inheritence from redhat-rpm-config 2018-06-01 12:10:16 +02:00
Florian Weimer
a747c093bb Modernise nsswitch.conf defaults (#1581809) 2018-06-01 12:05:26 +02:00
Florian Weimer
f21f7f7c7f Auto-sync with upstream branch master
Upstream commit: c1dc1e1b34873db79dfbfa8f2f0a2abbe28c0514
2018-05-25 11:40:12 +02:00
Florian Weimer
13e87ddfb5 Add CVE-2018-11237 reference 2018-05-23 21:38:06 +02:00
Florian Weimer
bfa9f404d2 Auto-sync with upstream branch master
Upstream commit: 7f9f1ecb710eac4d65bb02785ddf288cac098323

- Drop glibc-rh1452750-allocate_once.patch,
  glibc-rh1452750-libidn2.patch.  Applied upstream.
2018-05-23 15:37:05 +02:00
Florian Weimer
7e87eb005e Auto-sync with upstream branch master
Upstream commit: 8f145c77123a565b816f918969e0e35ee5b89153
2018-05-23 09:21:21 +02:00
Florian Weimer
57b8f5c277 Add CVE-2017-18269 reference 2018-05-23 09:15:03 +02:00
Carlos O'Donell
c9ce3549e4 Add notes about nss_db and past F16 transition. 2018-05-22 12:30:32 -04:00
Florian Weimer
0e59699b4c Auto-sync with upstream branch master
Upstream commit: 632a6cbe44cdd41dba7242887992cdca7b42922a
2018-05-17 10:35:47 +02:00
Florian Weimer
8ed5487f77 Do not run telinit u on upgrades (#1579225) 2018-05-17 10:31:38 +02:00
Florian Weimer
189f35b396 Remove sshd restart from glibc_post_upgrade
/etc/rc.d/init.d/sshd no longer exists in Fedora, so the code never
runs.
2018-05-16 14:55:29 +02:00
Florian Weimer
890019ecf2 Inherit compiler flags in the original order 2018-05-11 16:12:33 +02:00
Florian Weimer
2fcfa6890c Inherit the -mstackrealign flag if it is set 2018-05-11 16:04:30 +02:00
Florian Weimer
d591927700 Auto-sync with upstream branch master
Upstream commit: 89aacb513eb77549a29df2638913a0f8178cf3f5

- Avoid exporting some Sun RPC symbols with default versions (#1577210)
2018-05-11 16:02:06 +02:00
Florian Weimer
71cb283b66 Use /usr/bin/python3 for benchmarks scripts (#1577223) 2018-05-11 15:56:01 +02:00
Florian Weimer
c491e21bc7 Revert "Add annobin annotations to assembler code (#1548438)"
CFLAGS is not generally used when calling assembler, and this eventually
exposes a design issue in the annobin notes handling; see bug 1576362.

This reverts commit 7c1047805b.
2018-05-09 11:26:57 +02:00
Florian Weimer
7c1047805b Add annobin annotations to assembler code (#1548438) 2018-05-04 14:23:09 +02:00
Florian Weimer
098d568ec0 Auto-sync with upstream branch master
Upstream commit: 0085be1415a38b40a5a1a12e49368498f1687380
2018-04-19 13:53:29 +02:00
Florian Weimer
5603627552 Switch to %autosetup 2018-04-19 13:49:39 +02:00
Carlos O'Donell
0e17ea22c1 glibc.spec: Apply patches in logical order.
The following commit removes the requirement for patches to be
placed in 1000, 2000, or 3000 ID blocks depending on their
upstream status. Instead upstream status is documented in the
header of the patch with some semi-standard notation as described
in template.patch. The patches are re-numbered and defined and
applied in the same order. Verified that before and after the
patch that the source tree does not change. The patch definition
is resorted to match the patch application order.
2018-04-17 15:00:23 -05:00
Florian Weimer
7e28f1b6ad Auto-sync with upstream branch master
Upstream commit: 583a27d525ae189bdfaa6784021b92a9a1dae12e
2018-04-09 12:01:14 +02:00
Florian Weimer
ec52db3a46 Auto-sync with upstream branch master
Upstream commit: d39c0a459ef32a41daac4840859bf304d931adab
2018-03-29 11:44:12 +02:00
Florian Weimer
52fc655c6c Auto-sync with upstream branch master
Upstream commit: fbce6f7260c3847f14dfa38f60c9111978fb33a5
2018-03-19 20:37:00 +01:00
Florian Weimer
e0b0cbbd50 Auto-sync with upstream branch master
Upstream commit: 700593fdd7aef1e36cfa8bad969faab76a6facda
2018-03-16 12:33:09 +01:00
Florian Weimer
cee352f95d Auto-sync with upstream branch master
Upstream commit: 7108f1f944792ac68332967015d5e6418c5ccc88
2018-03-14 11:02:55 +01:00
Florian Weimer
a928b2e6c1 Auto-sync with upstream branch master
Upstream commit: da6d4404ecfd7eacba8c096b0761a5758a59da4b
2018-03-12 11:44:45 +01:00
Florian Weimer
9be86f04b3 Enable annobin annotations (#1548438) 2018-03-06 14:37:32 +01:00
Florian Weimer
90b56a7d0c Add reference to #1550914 2018-03-02 10:39:29 +01:00
Florian Weimer
af386eee0d Auto-sync with upstream branch master
Upstream commit: 1a2f44a848663036c8a14671fe0faa3fed0b2a25

- Remove spurios reference to libpthread_nonshared.a
2018-03-01 12:57:19 +01:00
Florian Weimer
1bbd25fcbf Update sources file 2018-03-01 09:10:04 +01:00
Florian Weimer
890cc4ed1d Auto-sync with upstream branch master
Upstream commit: bd60ce86520b781ca24b99b2555e2ad389bbfeaa
2018-03-01 08:34:12 +01:00
Florian Weimer
0e84fd763d Drop glibc-fedora-nptl-linklibc.patch
We do not reference any compatibility symbols from libpthread, so
this patch appears unnecessary.
2018-03-01 08:27:57 +01:00
Florian Weimer
d92633e7a9 Update release and changelog 2018-02-28 12:40:44 +01:00
Florian Weimer
081ef32d63 Inherit as many flags as possible from redhat-rpm-config 2018-02-28 12:40:17 +01:00
Richard W.M. Jones
ee109af432 riscv64: Disable valgrind smoke test on this architecture. 2018-02-19 19:47:31 +00:00
Richard W.M. Jones
16398fcbfd riscv64: Add symlink from /usr/lib64/lp64d -> /usr/lib64 for ABI compat. 2018-02-19 19:47:30 +00:00
Florian Weimer
4c06a879a9 Update changelog 2018-02-14 17:07:46 +01:00
Florian Weimer
29d10047e2 Include ChangeLog.old in the source RPM 2018-02-14 17:07:14 +01:00
Florian Weimer
5a04553bf2 Remove stale reference to the language_list macro 2018-02-14 17:07:14 +01:00
Florian Weimer
7f4ea1188a Trim changelog 2018-02-14 17:02:48 +01:00
Florian Weimer
1dbdd9fef3 Remove %defattr(-,root,root) 2018-02-14 16:58:24 +01:00
Igor Gnatenko
c57221cc4f
fix typo in spec
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-11 10:13:47 +01:00
Igor Gnatenko
28e47feb91 use shell to run ldconfig %transfiletrigger
glibc-common already depends on /bin/sh, so it would be installed at a
time when trigger runs.

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-07 17:05:29 +01:00
Igor Gnatenko
c09c66271e move %transfiletrigger* in common subpackage
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-07 17:04:59 +01:00
Florian Weimer
55adfecd0c Linux: use reserved name __key in pkey_get (#1542643)
Auto-sync with upstream branch release/2.27/master,
commit 56170e064e2b21ce204f0817733e92f1730541ea.
2018-02-07 14:09:49 +01:00
Florian Weimer
eff52e3518 Fix typo in comment 2018-02-07 14:03:08 +01:00
Fedora Release Engineering
cefed5d027 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-07 12:49:46 +00:00
Carlos O'Donell
587bed9b2f glibc-2.27-1
Auto-sync with upstream masger.

Upstream commit: 23158b08a0908f381459f273a984c6fd328363cb.
2018-02-05 07:32:08 -08:00
Richard W.M. Jones
72c4f88cc6 Fix cut and paste error in %changelog message of previous commit. 2018-01-30 19:33:56 +00:00
Richard W.M. Jones
f80578dc89 Disable -fstack-clash-protection on riscv64:
not supported even by GCC 7.3.1 on this architecture.

Apparently it requires architecture-specific support.  In any case it
does not work with GCC 7.3.1 on riscv64:

stage3:/# gcc --version
gcc (GCC) 7.3.1 20180129
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
stage3:/# gcc -fstack-clash-protection
gcc: error: unrecognized command line option '-fstack-clash-protection'; did you mean '-fstack-protector'?
gcc: fatal error: no input files
compilation terminated.
2018-01-30 18:31:15 +00:00
Florian Weimer
6ff958f2aa Explicitly run ldconfig in the buildroot 2018-01-29 20:42:52 +01:00
Florian Weimer
48a71633e6 Auto-sync with upstream branch master
Upstream commit: cdd14619a713ab41e26ba700add4880604324dbb

- libnsl: Turn remaining symbols into compat symbols (swbz#22701)
- be_BY, be_BY@latin, lt_LT, el_CY, el_GR, ru_RU, ru_UA, uk_UA:
  Add alternative month names (swbz#10871)
- x86: Revert Intel CET changes to __jmp_buf_tag (swbz#22743)
- aarch64: Revert the change of the __reserved member of mcontext_t
2018-01-29 18:06:23 +01:00
Igor Gnatenko
1f24fb0da2
Add file triggers to do ldconfig calls automatically
Since time immemorial, Red Hat/Fedora packagers have been required
to add a stanza to spec files for packages containing libraries to
update the ldconfig cache.

```
%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig
```

To say this is annoying is to put it mildly. However, there was no
standard mechanism to make this boilerplate go away. Now with RPM 4.13+,
we should change this to file triggers and make all of that go away.

In the case of the transaction file triggers that run on the regular
link library paths, the performance benefit is minimal, and being greedy
does not hurt in this case. It's still an improvement over running
ldconfig every time anyway.

With the introduction of these triggers, we can start removing the
ldconfig boilerplate from Fedora package specs, and new packages will
not need to add it.

Pirority (-P) is not strictly needed, but we want to run our ldconfig
"first" before rest of scriptlets so it would speed up them (we would
build ldconfig cache beforehand).

References: https://bugzilla.redhat.com/1380878
Originally-proposed-by: Neal Gompa <ngompa13@gmail.com>
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-01-29 17:52:15 +01:00
Florian Weimer
6777c3ed80 Auto-sync with upstream branch master
Upstream commit: 21c0696cdef617517de6e25711958c40455c554f

- locale: Implement alternative month names (swbz#10871)
- locale: Change month names for pl_PL (swbz#10871)
2018-01-22 16:19:24 +01:00
Florian Weimer
a4166cd2cf aarch64 static PIE is still broken, disable again
Also apply minor related changelog fixes.
2018-01-22 16:15:37 +01:00
Florian Weimer
58e6c2560b Fix BuildRequires: binutils 2018-01-22 15:36:05 +01:00
Florian Weimer
92867018b5 Update changelog for glibc-2.26.9000-47.fc28 2018-01-22 15:33:29 +01:00
Florian Weimer
cd5e5a1117 Reenable static PIE on aarch64 after binutils fix (#1247050) 2018-01-22 15:33:29 +01:00
Florian Weimer
6815071d4a Unconditionally build without libcrypt 2018-01-22 15:33:25 +01:00
Florian Weimer
b8b7388beb Fix release number in changelog entry 2018-01-22 11:09:06 +01:00
Florian Weimer
c758358a31 glibc-deprecate_libcrypt.patch: Do not patch NEWS, fix attribution 2018-01-22 11:00:27 +01:00
Björn Esser
2687b3c78b
Remove deprecated libcrypt, gets replaced by libxcrypt
Add applicable Requires on libxcrypt

Back in June, Björn Esser proposed to add OpenBSD-compatible bcrypt
support to our implementation of crypt(3), and Zack Weinberg replied
that it might actually make more sense to _remove_ libcrypt from
glibc, freeing up libcrypt.so.1 and crypt.h to be provided by a
separate project that could move faster.  (For instance, libxcrypt:
https://github.com/besser82/libxcrypt)

This commit is the glibc part of:
https://fedoraproject.org/wiki/Changes/Replace_glibc_libcrypt_with_libxcrypt
2018-01-19 23:49:50 +01:00
Florian Weimer
6a5972a529 Remove the glibc-rpcgen subpackage
An rpcgen subpackage is now built by rpcsvc-proto.
2018-01-19 18:32:12 +01:00
Florian Weimer
36e8658036 Drop static PIE support on aarch64
It leads to crashes at run time.  Probably needs binutils fixes not
yet in rawhide.
2018-01-19 18:04:40 +01:00
Florian Weimer
fac98a7443 Auto-sync with upstream branch master
Upstream commit: 4612268a0ad8e3409d8ce2314dd2dd8ee0af5269

- Correct the list of static PIE architectures
- glibc_post_upgrade: Remove process restart logic
- glibc_post_upgrade: Integrate into the build process
- glibc_post_upgrade: Do not clean up tls subdirectories
- glibc_post_upgrade: Drop ia64 support
- Remove architecture-specific symbolic link for iconvconfig
- powerpc: Fix syscalls during early process initialization (swbz#22685)
2018-01-19 17:02:46 +01:00
Florian Weimer
a071c6801c glibc_post_upgrade: Remove process restart logic
The sshd restart looks potentially useful, but it has not run for a
long time because the file /etc/rc.d/init.d/sshd does not exit
anymore, so it appears unnecessary after all.
2018-01-19 17:02:46 +01:00
Florian Weimer
cc5db6cdfd Correct the list of static PIE architectures
x86_64 was missing before.
2018-01-19 17:02:40 +01:00
Florian Weimer
737f7e8513 glibc_post_upgrade: Integrate into the build process
This gives us access to the relevant definitions and also enables
us to perform a static PIE build without replicate the entire
compiler invocation.

Due to the move into the glibc build process, the program had to
be cleaned up to compile without warnings.
2018-01-19 16:32:18 +01:00
Florian Weimer
34f077631c Move glibc-fedora-nscd.patch comment into file 2018-01-19 16:05:04 +01:00
Florian Weimer
707a1e8f87 Remove architecture-specific symbolic link for iconvconfig
Its purpose is not entirely clear.  glibc_post_upgrade invokes
iconvconfig with explicit paths, so it does not matter for which
multilib variant the binary was built.
2018-01-19 15:30:50 +01:00
Florian Weimer
e33b0e3197 glibc_post_upgrade: Move LD_SO_CONF definition into source file 2018-01-19 15:11:38 +01:00
Florian Weimer
365663e72b glibc_post_upgrade: Do not clean up tls subdirectories
These were removed a long time ago.
2018-01-19 15:07:33 +01:00
Florian Weimer
91ed2dbf62 glibc_post_upgrade: Drop ia64 support 2018-01-19 15:03:57 +01:00
Florian Weimer
0f4d3ed14d Auto-sync with upstream branch master
Upstream commit: 64f63cb4583ecc1ba16c7253aacc192b6d088511

- Enable static PIE support
- Remove add-on support (already gone upstream)
- Rework test suite status reporting
- malloc: Fix integer overflows in memalign and malloc functions (swbz#22343)
- x86-64: Properly align La_x86_64_retval to VEC_SIZE (swbz#22715)
- aarch64: Update bits/hwcap.h for Linux 4.15
- Add NT_ARM_SVE to elf.h
2018-01-19 12:58:39 +01:00
Florian Weimer
5c2fe5cfb3 Rework test suite status reporting
Remove the timeout and the parallel tail call.  Always output to
standard error, for synchronization with the rest of the reporting.
2018-01-19 12:02:32 +01:00
Florian Weimer
5163dbee45 Enable static PIE on aarch64, i686, x86-64 2018-01-19 08:36:02 +01:00
Florian Weimer
dc905411d5 Remove add-on support (already gone upstream) 2018-01-19 08:35:09 +01:00
Florian Weimer
90612b2709 Use libidn2 for IDNA support (#1452750) 2018-01-17 18:42:37 +01:00
Florian Weimer
d7ce5d4634 Auto-sync with upstream branch master
Upstream commit: 860b0240a5645edd6490161de3f8d1d1f2786025

- CVE-2018-1000001: Make getcwd fail if it cannot obtain an absolute path
  (#1533837)
- elf: Synchronize DF_1_* flags with binutils (#1439328)
- aarch64: fix static pie enabled libc when main is in a shared library
- malloc: Ensure that the consolidated fast chunk has a sane size
2018-01-15 18:02:57 +01:00
Florian Weimer
d84b03df97 Auto-sync with upstream branch master
Upstream commit: 9a08a366a7e7ddffe62113a9ffe5e50605ea0924

- libnsl: Do not install libnsl.so, libnsl.a (#1531540)
- Use unversioned Supplements: for langpacks (#1490725)
- hu_HU locale: Avoid double space (swbz#22657)
- math: Make default libc_feholdsetround_noex_ctx use __feholdexcept
  (swbz#22702)
2018-01-12 11:43:05 +01:00
Florian Weimer
684ac6eb78 Use unversioned Supplements: for langpacks (#1490725) 2018-01-12 11:13:18 +01:00
Florian Weimer
538e3ea7c8 Auto-sync with upstream branch master
Upstream commit: 08c6e95234c60a5c2f37532d1111acf084f39345

- nptl: Open libgcc.so with RTLD_NOW during pthread_cancel (#1527887)
- Introduce libnsl subpackage and remove NIS headers (#1531540)
- Use versioned Obsoletes: for libcrypt-nss.
- nptl: Add tst-minstack-cancel, tst-minstack-exit (swbz#22636)
- math: ldbl-128ibm log1pl (-qNaN) spurious "invalid" exception (swbz#22693)
2018-01-11 14:30:08 +01:00
Florian Weimer
b8bc11a834 Put libnsl into a subpackage and do not install NIS headers 2018-01-11 13:21:53 +01:00
Florian Weimer
6e8a4e351b Use versioned Obsoletes: for libcrypt-nss 2018-01-11 11:57:20 +01:00
Carlos O'Donell
8544d3ab89 Update comments on python3 selection. 2018-01-10 11:13:08 -08:00
Florian Weimer
9e28c4292e Auto-sync with upstream branch master
Upstream commit: 09085ede12fb9650f286bdcd805609ae69f80618

- nptl: Fix stack guard size accounting (#1527887)
- Remove invalid Obsoletes: on glibc-header provides
- Require python3 instead of python during builds
- math: ldbl-128ibm lrintl/lroundl missing "invalid" exceptions (swbz#22690)
- x86-64: Add sincosf with vector FMA
2018-01-10 08:59:17 +01:00
Florian Weimer
e15a68193c Use python3 instead of python during builds 2018-01-10 08:09:01 +01:00
Florian Weimer
cad9c65e11 Remove Obsoletes: on capabilities which are not package names 2018-01-09 15:14:20 +01:00
Florian Weimer
a281128660 Add glibc-rpcgen subpackage, until the replacement is packaged (#1531540) 2018-01-08 16:46:16 +01:00
Florian Weimer
1042b5d52a Auto-sync with upstream branch master
Upstream commit: 579396ee082565ab5f42ff166a264891223b7b82

- nptl: Add test for callee-saved register restore in pthread_exit
- getrlimit64: fix for 32-bit configurations with default version >= 2.2
- elf: Add linux-4.15 VDSO hash for RISC-V
- elf: Add RISC-V dynamic relocations to elf.h
- powerpc: Fix error message during relocation overflow
- prlimit: Replace old_rlimit RLIM64_INFINITY with RLIM_INFINITY (swbz#22678)
2018-01-08 15:15:05 +01:00
Florian Weimer
cf072ec21a Auto-sync with upstream branch master
Upstream commit: f1a844ac6389ea4e111afc019323ca982b5b027d

- CVE-2017-16997: elf: Check for empty tokens before DST expansion (#1526866)
- Remove sln (#1531546)
- Remove Sun RPC interfaces (#1531540)
- Rebuild with newer GCC to fix pthread_exit stack unwinding issue (#1529549)
- i386: In makecontext, align the stack before calling exit (swbz#22667)
- x86, armhfp: sync sys/ptrace.h with Linux 4.15 (swbz#22433)
- elf: check for rpath emptiness before making a copy of it
- elf: remove redundant is_path argument
- elf: remove redundant code from is_dst
- elf: remove redundant code from _dl_dst_substitute
- scandir: fix wrong assumption about errno (swbz#17804)
- Deprecate external use of libio.h and _G_config.h
2018-01-05 14:36:28 +01:00
Florian Weimer
bf6952b9c9 Drop glibc-fedora-elf-ORIGIN.patch
Fixed upstream in a different way (our patch was buggy, see CVE-2017-16997).
2018-01-05 14:23:04 +01:00
Florian Weimer
23177e46b4 Remove sln-in-ldconfig patch
Obsoleted by commit d8e1573f9c (Stop
shipping /usr/sbin/sln).
2018-01-05 14:19:56 +01:00
Florian Weimer
d62730de90 Disable Sun RPC interfaces (#1531540) 2018-01-05 14:07:05 +01:00
Florian Weimer
95cc2e8d4c glibc_post_upgrade: Explain why removing platform directories is needed 2018-01-04 10:45:03 +01:00
Colin Walters
d8e1573f9c Stop shipping /usr/sbin/sln
A whole lot has changed since `sln` was introduced into glibc upstream with
this comment:

```
    1998-07-21 07:10  H.J. Lu  <hjl@gnu.org>

            * elf/sln.c: New file.
```
Upstream glibc commit 9d141cae00c957096045d08fe504b4a2be66ab75
```
 Author:     Ulrich Drepper <drepper@redhat.com>
 AuthorDate: Thu Aug 13 19:44:05 1998 +0000
```

Among other things for example, dynamic linking has been in use for the nearly
20 years that have passed and is now quite reliable. Further, many Fedora
systems now use an initramfs (dracut) which is basically a large filesystem of
utilities as a single blob; while it would require rebooting, one can easily
make hardlinks there.

Futher of course there's the increasing use of ostree in Fedora which which
consistently captures *all* of userspace and supports rollback, and additionaly
its presents a "read only" nature to admin tools and other processes that adds
significantly to system resilience.

The failure scenarios that could be recovered via `sln` seem to me to be very
small.

Applying this patch allows dropping a downstream Fedora patch to hardlink `sln` to `ldconfig`,
which was the source of a tricky bug:
https://github.com/projectatomic/rpm-ostree/pull/1173#issuecomment-355014583
that also impacts rpm-ostree.  In practice today SELinux policy is fixed
in updates, but given there's no real reason for this binary to exist
anymore, let's drop it.
2018-01-03 16:30:03 -05:00
Florian Weimer
39b4cfbcf1 Auto-sync with upstream branch master
Upstream commit bad7a0c81f501fbbcc79af9eaa4b8254441c4a1f

- copy_file_range: New function to copy file data
- nptl: Consolidate pthread_{timed,try}join{_np}
- nptl: Implement pthread_self in libc.so (swbz#22635)
- math: Provide a C++ version of iseqsig (swbz#22377)
- elf: remove redundant __libc_enable_secure check from fillin_rpath
- math: Avoid signed shift overflow in pow (swbz#21309)
- x86: Add feature_1 to tcbhead_t (swbz#22563)
- x86: Update cancel_jmp_buf to match __jmp_buf_tag (swbz#22563)
- ld.so: Examine GLRO to detect inactive loader (swbz#20204)
- nscd: Fix nscd readlink argument aliasing (swbz#22446)
- elf: do not substitute dst in $LD_LIBRARY_PATH twice (swbz#22627)
- ldconfig: set LC_COLLATE to C (swbz#22505)
- math: New generic sincosf
- powerpc: st{r,p}cpy optimization for aligned strings
- CVE-2017-1000409: Count in expanded path in _dl_init_path (#1524867)
- CVE-2017-1000408: Compute correct array size in _dl_init_paths (#1524867)
- x86-64: Remove sysdeps/x86_64/fpu/s_cosf.S
- aarch64: Improve strcmp unaligned performance
2017-12-22 16:13:39 +01:00
Florian Weimer
a5a7506242 Remove power6 platform directory (#1522675) 2017-12-13 16:26:51 +01:00
Florian Weimer
08930d16b5 Obsolete the libcrypt-nss subpackage (#1525396) 2017-12-13 12:49:24 +01:00
Florian Weimer
29bd4db4f5 armhfp: Disable -fstack-clash-protection due to GCC bug (#1522678) 2017-12-13 12:03:19 +01:00
Florian Weimer
ac67247def ppc64: Disable power6 multilib due to GCC bug (#1522675) 2017-12-13 12:00:28 +01:00
Florian Weimer
94e38e4e87 Auto-sync with upstream branch master
Upstream commit: 243b63337c2c02f30ec3a988ecc44bc0f6ffa0ad

- libio: Free backup area when it not required (swbz#22415)
- math: Fix nextafter and nexttoward declaration (swbz#22593)
- math: New generic cosf
- powerpc: POWER8 memcpy optimization for cached memory
- x86-64: Add sinf with FMA
- x86-64: Remove sysdeps/x86_64/fpu/s_sinf.S
- math: Fix ctanh (0 + i NaN), ctanh (0 + i Inf) (swbz#22568)
- lt_LT locale: Base collation on copy "iso14651_t1" (swbz#22524)
- math: Add _Float32 function aliases
- math: Make cacosh (0 + iNaN) return NaN + i pi/2 (swbz#22561)
- hsb_DE locale: Base collation on copy "iso14651_t1" (swbz#22515)
2017-12-13 11:58:20 +01:00
Florian Weimer
9d8de720dd Add reference to #1383986 2017-12-06 11:16:02 +01:00
Florian Weimer
3c78a51385 Auto-sync with upstream branch master
Upstream commit: 37ac8e635a29810318f6d79902102e2e96b2b5bf

- Add elision tunables.  Drop related configure flag.
- Linux: Implement interfaces for memory protection keys
- math: Add _Float64, _Float32x function aliases
- math: Use sign as double for reduced case in sinf
- math: fix sinf(NAN)
- math: s_sinf.c: Replace floor with simple casts
- et_EE locale: Base collation on iso14651_t1 (swbz#22517)
- tr_TR locale: Base collation on iso14651_t1 (swbz#22527)
- hr_HR locale: Avoid single code points for digraphs in LC_TIME (swbz#10580)
- S390: Fix backtrace in vdso functions
2017-12-06 07:55:19 +01:00
Florian Weimer
d19bd27c2f Add reference to CVE-2017-17426 2017-12-06 07:49:51 +01:00
Florian Weimer
bb83f920be Auto-sync with upstream branch master
Upstream commit: 7863a7118112fe502e8020a0db0fa74fef281f29

- math: New generic sinf (swbz#5997)
- is_IS locale: Base collation on iso14651_t1 (swbz#22519)
- intl: Improve reproducibility by using bison (swbz#22432)
- sr_RS, bs_BA locales: make collation rules the same as for hr_HR (wbz#22534)
- hr_HR locale: various updates (swbz#10580)
- x86: Make a space in jmpbuf for shadow stack pointer
- malloc: Fix integer overflow when tcache is enabled (swbz#22375)
- locale: make forward accent sorting the default in collating (swbz#17750)
2017-12-04 13:59:23 +01:00
Florian Weimer
00b734f530 Enable -fstack-clash-protection (#1512531) 2017-11-29 12:59:25 +01:00
Florian Weimer
db77ecebac Upload new sources 2017-11-29 12:54:21 +01:00
Florian Weimer
776ca08599 Auto-sync with upstream branch master
Upstream commit: a55430cb0e261834ce7a4e118dd9e0f2b7fb14bc

- elf: Properly compute offsets of note descriptor and next note (swbz#22370)
- cs_CZ locale: Base collation on iso14651_t1 (swbz#22336)
- Implement the mlock2 function
- Add _Float64x function aliases
- elf: Consolidate link map sorting
- pl_PL locale: Base collation on iso14651_t1 (swbz#22469)
- nss: Export nscd hash function as __nss_hash (swbz#22459)
2017-11-29 11:58:53 +01:00
Andreas Krebbel
71d4a02e14 Typo fixes and improved s390 (31-bit) build support 2017-11-28 18:40:52 +01:00
Florian Weimer
10c1baf354 Auto-sync with upstream branch master
Upstream commit: cccb6d4e87053ed63c74aee063fa84eb63ebf7b8

- sigwait can fail with EINTR (#1516394)
- Add memfd_create function
- resolv: Fix p_secstodate overflow handling (swbz#22463)
- resolv: Obsolete p_secstodate
- Avoid use of strlen in getlogin_r (swbz#22447)
- lv_LV locale: fix collation (swbz#15537)
- S390: Add cfi information for start routines in order to stop unwinding
- aarch64: Optimized memset for falkor
2017-11-23 11:28:28 +01:00
Florian Weimer
df547679fd Auto-sync with upstream branch master
Upstream commit: f6e965ee94b37289f64ecd3253021541f7c214c3

- powerpc: AT_HWCAP2 bit PPC_FEATURE2_HTM_NO_SUSPEND
- aarch64: Add HWCAP_DCPOP bit
- ttyname, ttyname_r: Don't bail prematurely (swbz#22145)
- signal: Optimize sigrelse implementation
- inet: Check length of ifname in if_nametoindex (swbz#22442)
- malloc: Account for all heaps in an arena in malloc_info (swbz#22439)
- malloc: Add missing arena lock in malloc_info (swbz#22408)
- malloc: Use __builtin_tgmath in tgmath.h with GCC 8 (swbz#21660)
- locale: Replaced unicode sequences in the ASCII printable range
- resolv: More precise checks in res_hnok, res_dnok (swbz#22409, swbz#22412)
- resolv: ns_name_pton should report trailing \ as error (swbz#22413)
- locale: mfe_MU, miq_NI, an_ES, kab_DZ, om_ET: Escape / in d_fmt (swbz#22403)
2017-11-19 10:56:29 +01:00
Florian Weimer
35726c325a Link build-locale-archive against record-status.o 2017-11-07 12:21:16 +01:00
Florian Weimer
0980ba190b Auto-sync with upstream branch origin/master
Upstream commit: 6b86036452b9ac47b4ee7789a50f2f37df7ecc4f

- CVE-2017-15804: glob: Fix buffer overflow during GLOB_TILDE unescaping
- powerpc: Use latest string function optimization for internal function calls
- math: No _Float128 support for ppc64le -mlong-double-64 (swbz#22402)
- tpi_PG locale: Fix wrong d_fmt
- aarch64: Disable lazy symbol binding of TLSDESC
- tpi_PG locale: fix syntax error (swbz#22382)
- i586: Use conditional branches in strcpy.S (swbz#22353)
- ffsl, ffsll: Declare under __USE_MISC, not just __USE_GNU
- csb_PL locale: Fix abmon/mon for March (swbz#19485)
- locale: Various yesstr/nostr/yesexpr/noexpr fixes (swbz#15260, swbz#15261)
- localedef: Add --no-warnings/--warnings option
- powerpc: Replace lxvd2x/stxvd2x with lvx/stvx in P7's memcpy/memmove
- locale: Use ASCII as much as possible in LC_MESSAGES
- Add new locale yuw_PG (swbz#20952)
- malloc: Add single-threaded path to malloc/realloc/calloc/memalloc
- i386: Replace assembly versions of e_powf with generic e_powf.c
- i386: Replace assembly versions of e_log2f with generic e_log2f.c
- x86-64: Add powf with FMA
- x86-64: Add logf with FMA
- i386: Replace assembly versions of e_logf with generic e_logf.c
- i386: Replace assembly versions of e_exp2f with generic e_exp2f.c
- x86-64: Add exp2f with FMA
- i386: Replace assembly versions of e_expf with generic e_expf.c
2017-11-07 12:05:14 +01:00
Florian Weimer
e74f2b3bdb Auto-sync with upstream branch master
Upstream commit: 797ba44ba27521261f94cc521f1c2ca74f650147

- CVE-2017-15670: glob: Fix one-byte overflow (#1504807)
- math: Add bits/floatn.h defines for more _FloatN / _FloatNx types
- posix: Fix improper assert in Linux posix_spawn (swbz#22273)
- x86-64: Use fxsave/xsave/xsavec in _dl_runtime_resolve (swbz#21265)
- malloc: Add single-threaded path to _int_free
- locale: Add new locale kab_DZ (swbz#18812)
- locale: Add new locale shn_MM (swbz#13605)
2017-10-21 14:17:32 +02:00
Florian Weimer
5188e8569e Auto-sync with upstream branch master
Upstream commit: 63b4baa44e8d22501c433c4093aa3310f91b6aa2

- Use make -O to serialize make output
- sysconf: Fix missing definition of UIO_MAXIOV on Linux (#1504165)
- Install correct bits/long-double.h for MIPS64 (swbz#22322)
- malloc: Fix deadlock in _int_free consistency check
- x86-64: Don't set GLRO(dl_platform) to NULL (swbz#22299)
- math: Add _Float128 function aliases
- locale: Add new locale mjw_IN (swbz#13994)
- aarch64: Rewrite elf_machine_load_address using _DYNAMIC symbol
- powerpc: fix check-before-set in SET_RESTORE_ROUND
- locale: Use U+202F as thousands separators in pl_PL locale (swbz#16777)
- math: Use __f128 to define FLT128_* constants in include/float.h for old GCC
- malloc: Improve malloc initialization sequence (swbz#22159)
- malloc: Use relaxed atomics for malloc have_fastchunks
- locale: New locale ca_ES@valencia (swbz#2522)
- math: Let signbit use the builtin in C++ mode with gcc < 6.x (swbz#22296)
- locale: Place monetary symbol in el_GR, el_CY after the amount (swbz#22019)
2017-10-20 04:33:52 +02:00
Florian Weimer
e098446236 Use the -O flag to serialize make output 2017-10-17 13:52:43 +02:00
Florian Weimer
277dd05ebd Fix _smp_mflags reference in the libcrypt build 2017-10-17 13:50:23 +02:00
Florian Weimer
7bdfe15464 Remove silentrules macro 2017-10-17 13:47:32 +02:00
Florian Weimer
adefe4d265 Compile s390, s390x with -Werror
This is now supported upstream.
2017-10-17 13:43:47 +02:00
Florian Weimer
3bd5cf3d29 Define glibc_release_url based on glibcsrcdir, not glibcversion
The former is more reliable because glibcsrcdir changes in case of a
release off the release/*/master branch (which does not have a
tarball), but glibcversion remains the same.
2017-10-17 12:55:38 +02:00
Florian Weimer
d4b46d7258 Switch to .9000 version numbers during development (this time for real) 2017-10-17 12:47:02 +02:00
Florian Weimer
7fbb58cf62 Auto-sync with upstream branch master
Upstream commit: c38a4bfd596db2be2b9c1f96715bdc833eab760a

- Switch to .9000 version numbers during development
- malloc: Use compat_symbol_reference in libmcheck (swbz#22050)
2017-10-17 12:12:39 +02:00
Florian Weimer
6c2a58dc61 Auto-sync with upstream branch master
Upstream commit: 596f70134a8f11967c65c1d55a94a3a2718c731d

- Silence -O3 -Wall warning in malloc/hooks.c with GCC 7 (swbz#22052)
- locale: No warning for non-symbolic character (swbz#22295)
- locale: Allow "" int_curr_Symbol (swbz#22294)
- locale: Fix localedef exit code (swbz#22292)
- nptl: Preserve error in setxid thread broadcast in coredumps (swbz#22153)
- powerpc: Avoid putting floating point values in memory (swbz#22189)
- powerpc: Fix the carry bit on mpn_[add|sub]_n on POWER7 (swbz#22142)
- Support profiling PIE (swbz#22284)
2017-10-16 19:27:17 +02:00
Florian Weimer
b1ee1018fc Auto-sync with upstream branch master
Upstream commit: d8425e116cdd954fea0c04c0f406179b5daebbb3
2017-10-11 07:19:54 +02:00
Florian Weimer
d3da0e913a Move /var/db/Makefile to nss_db (#1498900) 2017-10-09 12:24:43 +02:00
Florian Weimer
988ba6d3d1 Auto-sync with upstream branch master
Upstream commit: 645ac9aaf89e3311949828546df6334322f48933
2017-10-09 12:07:51 +02:00
Florian Weimer
746617ce7d Rewrite langpack generation Lua
The existing shell-based approach required super-linear processing
time for the SUPPORTED file.
2017-10-07 12:40:46 +02:00
Carlos O'Donell
b586203c24 Auto-sync with upstream master
Upstream commit: 1e26d35193efbb29239c710a4c46a64708643320

- malloc: Fix tcache leak after thread destruction (swbz#22111)
- powerpc:  Fix IFUNC for memrchr.
- aarch64: Optimized implementation of memmove for Qualcomm Falkor
- Always do locking when iterating over list of streams (swbz#15142)
- abort: Do not flush stdio streams (swbz#15436)
2017-10-06 15:55:09 -07:00
Florian Weimer
2235ae530d Move nss_compat to the main glibc package (#1400538) 2017-10-04 18:53:59 +02:00
Florian Weimer
67108a5592 Auto-sync with upstream master
Upstream commit: 11c4f5010c58029e73e656d5df4f8f42c9b8e877

- crypt: Use NSPR header files in addition to NSS header files (#1489339)
- math: Fix yn(n,0) without SVID wrapper (swbz#22244)
- math: Fix log2(0) and log(10) in downward rounding (swbz#22243)
- math: Add C++ versions of iscanonical for ldbl-96, ldbl-128ibm (swbz#22235)
- powerpc: Optimize memrchr for power8
- Hide various internal functions (swbz#18822)
2017-10-04 16:01:19 +02:00
Florian Weimer
edbe539deb Rotate RPM changelog 2017-10-01 17:52:54 +02:00
Florian Weimer
f7f03039dd Fix typo in changelog 2017-10-01 17:52:10 +02:00
Florian Weimer
d61c107a04 Auto-sync with upstream master
Upstream commit: 1e2bffd05c36a9be30d7092d6593a9e9aa009ada

- Add IBM858 charset (#1416405)
- Update kernel version in syscall-names.list to 4.13
- Add Linux 4.13 constants to bits/fcntl-linux.h
- Add fcntl sealing interfaces from Linux 3.17 to bits/fcntl-linux.h
- math: New generic powf, log2f, logf
- Fix nearbyint arithmetic moved before feholdexcept (swbz#22225)
- Mark __dso_handle as hidden (swbz#18822)
- Skip PT_DYNAMIC segment with p_filesz == 0 (swbz#22101)
- glob now matches dangling symbolic links (swbz#866, swbz#22183)
- nscd: Release read lock after resetting timeout (swbz#22161)
- Avoid __MATH_TG in C++ mode with -Os for pfcl (swbz#22146)
- Fix dlclose/exit race (swbz#22180)
- x86: Add SSE4.1 trunc, truncf (swbz#20142)
- Fix atexit/exit race (swbz#14333)
- Use execveat syscall in fexecve (swbz#22134)
- Enable unwind info in libc-start.c and backtrace.c
- powerpc: Avoid misaligned stores in memset
- powerpc: build some IFUNC math functions for libc and libm (swbz#21745)
- Removed redundant data (LC_TIME and LC_MESSAGES) for niu_NZ (swbz#22023)
- Fix LC_TELEPHONE for az_AZ (swbz#22112)
- x86: Add MathVec_Prefer_No_AVX512 to cpu-features (swbz#21967)
- x86: Add x86_64 to x86-64 HWCAP (swbz#22093)
- Finish change from “Bengali” to “Bangla” (swbz#14925)
- posix: fix glob bugs with long login names (swbz#1062)
- posix: Fix getpwnam_r usage (swbz#1062)
- posix: accept inode 0 is a valid inode number (swbz#19971)
- Remove redundant LC_TIME data in om_KE (swbz#22100)
- Remove remaining _HAVE_STRING_ARCH_* definitions (swbz#18858)
- resolv: Fix memory leak with OOM during resolv.conf parsing (swbz#22095)
- Add miq_NI locale for Miskito (swbz#20498)
- Fix bits/math-finite.h exp10 condition (swbz#22082)
2017-09-30 09:04:21 +02:00
Florian Weimer
253d1d9c66 Fix accidentially inserted typo 2017-09-14 17:41:57 +02:00
Florian Weimer
8ca6f66f20 Upstream removed BUGS and CONFORMANCE files 2017-09-04 20:53:35 +02:00
Florian Weimer
0e45e4de58 Auto-sync with upstream master
Upstream commit: b38042f51430974642616a60afbbf96fd0b98659

- Implement tmpfile with O_TMPFILE (swbz#21530)
- Obsolete pow10 functions
- math.h: Warn about an already-defined log macro
2017-09-04 19:49:35 +02:00
Florian Weimer
e79ddddf67 Do not patch ChangeLog in glibc-fedora-locarchive.patch 2017-09-04 19:49:35 +02:00
Florian Weimer
21cf167acc Build glibc with -O2 2017-09-01 14:07:30 +02:00
Florian Weimer
284746122d Auto-sync with upstream master
Upstream commit: f4a6be2582b8dfe8adfa68da3dd8decf566b3983

- malloc: Abort on heap corruption, without a backtrace (swbz#21754)
- getaddrinfo: Return EAI_NODATA for gethostbyname2_r with NO_DATA (swbz#21922)
- getaddrinfo: Fix error handling in gethosts (swbz#21915) (swbz#21922)
- Place $(elf-objpfx)sofini.os last (swbz#22051)
- Various locale fixes (swbz#15332, swbz#22044)
2017-09-01 10:30:18 +02:00
Florian Weimer
b45bb05263 Auto-sync with upstream master
Upstream commit: 5f9409b787c5758fc277f8d1baf7478b752b775d

- Drop glibc-rh952799.patch, applied upstream (#952799, swbz#22025)
- Various locale fixes (swbz#22022, swbz#22038, swbz#21951, swbz#13805,
  swbz#21971, swbz#21959)
- MIPS/o32: Fix internal_syscall5/6/7 (swbz#21956)
- AArch64: Fix procfs.h not to expose stdint.h types
- iconv_open: Fix heap corruption on gconv_init failure (swbz#22026)
- iconv: Mangle __btowc_fct even without __init_fct (swbz#22025)
- Fix bits/math-finite.h _MSUF_ expansion namespace (swbz#22028)
- Provide a C++ version of iszero that does not use __MATH_TG (swbz#21930)
2017-08-30 14:12:45 +02:00
Mark Wielaard
05146e37a4 Run valgrind check with --error-exitcode=1. Fix valgrind BuildRequires. 2017-08-30 14:02:18 +02:00
Florian Weimer
76dd91f117 Drop glibc-rh1009145.patch
It has since been obsoleted by multiple mass rebuilds.
2017-08-29 12:48:36 +02:00
Florian Weimer
7df3e02388 Include misc/tst-syscall-list.out in the build log 2017-08-28 13:15:27 +02:00
Florian Weimer
d0c57f678a Auto-sync with upstream master
Upstream commit: 2dba5ce7b8115d6a2789bf279892263621088e74
2017-08-28 12:12:15 +02:00
Florian Weimer
a6b9bec157 Drop glibc-rh1470060.patch
Addressed by this upstream commit in a different way:

commit eac43cbb8d808a40004aa0a4a286f5c5155beccb
Author: Florian Weimer <fweimer@redhat.com>
Date:   Thu Aug 10 15:58:28 2017 +0200

    malloc: Avoid optimizer warning with GCC 7 and -O3
2017-08-28 12:07:38 +02:00
Florian Weimer
beff5c2326 Drop glibc-rh1484729.patch, glibc-rh1484729-syscall-names.patch
Applied upstream.
2017-08-28 12:05:33 +02:00
Florian Weimer
238627a99e Drop glibc-rh825061.patch
The Perl Info generator in Texinfo 5.0 uses the input basename in the
output file, so the multi-arch conflict no longer happens, and the
Makefile tweak is not needed anymore.
2017-08-28 12:05:08 +02:00
Florian Weimer
6a6f54375a Auto-sync with upstream master
Upstream commit: 3d7b66f66cb223e899a7ebc0f4c20f13e711c9e0

- string/stratcliff.c: Replace int with size_t (swbz#21982)
- Fix tgmath.h handling of complex integers (swbz#21684)
2017-08-25 11:39:53 +02:00
Florian Weimer
a60d22cda6 Drop glibc-gcc-strict-overflow.patch
This is no longer necessary because we do not build with -O3 anymore.
Upstream has a proper fix now, too.
2017-08-25 11:36:23 +02:00
Florian Weimer
0ab5fbb2e4 Update system call list to Linux 4.12 (#1484729) 2017-08-25 11:28:44 +02:00
Florian Weimer
2f246edc9d Drop glibc-fedora-include-bits-ldbl.patch (#1482105) 2017-08-24 16:51:08 +02:00
Florian Weimer
5bc208c4f5 Use an architecture-independent system call list (#1484729) 2017-08-24 16:49:18 +02:00
Florian Weimer
a4f378196e Rework handling of asynchronous unwind tables compiler flag
This commit drops an overridden -fasynchronous-unwind-tables flag, which
had no effect.

We compile all of glibc with -fno-asynchronous-unwind-tables, so we can
drop glibc-fedora-ppc-unwind.patch.
2017-08-24 11:17:17 +02:00
Florian Weimer
eb3d3880c8 Auto-sync with upstream master
Upstream commit: 80f91666fed71fa3dd5eb5618739147cc731bc89
2017-08-22 08:19:09 +02:00
Florian Weimer
c6d0720817 Auto-sync with upstream master
Upstream commit: a8410a5fc9305c316633a5a3033f3927b759be35

- Obsolete matherr, _LIB_VERSION, libieee.a.
2017-08-21 22:31:26 +02:00
Florian Weimer
976a6ca3e4 Auto-sync with upstream master
Upstream commit: 4504783c0f65b7074204c6126c6255ed89d6594e
2017-08-21 19:54:40 +02:00
Florian Weimer
8c898cdc11 Auto-sync with upstream master
Upstream commit: 2585d7b839559e665d5723734862fbe62264b25d

- assert: Support types without operator== (int) (#1483005)
2017-08-21 16:44:07 +02:00
Florian Weimer
051a34bb83 Auto-sync with upstream master
Upstream commit: 2585d7b839559e665d5723734862fbe62264b25d

- Do not use generic selection in C++ mode
- Do not use __builtin_types_compatible_p in C++ mode (#1481205)
- x86-64: Check FMA_Usable in ifunc-mathvec-avx2.h (swbz#21966)
- Various locale fixes (swbz#21750, swbz#21960, swbz#21959, swbz#19852)
- Fix sigval namespace (swbz#21944)
- x86-64: Optimize e_expf with FMA (swbz#21912)
- Adjust glibc-rh827510.patch.
2017-08-21 14:17:58 +02:00
Carlos O'Donell
08d81d7330 Fix glibc.spec file comment with %%install. 2017-08-17 14:17:47 -04:00
Tomasz Kłoczko
c6e992763d Resolves: #1476939
- Remove 'Buildroot' tag, 'Group' tag, and '%clean' section, and don't
  remove the buildroot in %install, all per Fedora Packaging Guidelines
  (#1476839)
2017-08-17 14:16:03 -04:00
Florian Weimer
66a1c9c9cb Auto-sync with upstream master
Upstream commit: 403143e1df85dadd374f304bd891be0cd7573e3b

- x86-64: Align L(SP_RANGE)/L(SP_INF_0) to 8 bytes (swbz#21955)
- powerpc: Add values from Linux 4.8 to <elf.h>
- S390: Add new s390 platform z14.
- Various locale fixes (swbz#14925, swbz#20008, swbz#20482, swbz#12349
  swbz#19982, swbz#20756, swbz#20756, swbz#21836, swbz#17563, swbz#16905,
  swbz#21920, swbz#21854)
- NSS: Replace exported NSS lookup functions with stubs (swbz#21962)
- i386: Do not set internal_function
- assert: Suppress pedantic warning caused by statement expression (swbz#21242)
- powerpc: Restrict xssqrtqp operands to Vector Registers (swbz#21941)
- sys/ptrace.h: remove obsolete PTRACE_SEIZE_DEVEL constant (swbz#21928)
- Remove __qaddr_t, __long_double_t
- Fix uc_* namespace (swbz#21457)
- nss: Call __resolv_context_put before early return in get*_r (swbz#21932)
- aarch64: Optimized memcpy for Qualcomm Falkor processor
- manual: Document getcontext uc_stack value on Linux (swbz#759)
- i386: Add <startup.h> (swbz#21913)
- Don't use IFUNC resolver for longjmp or system in libpthread (swbz#21041)
- Fix XPG4.2 bits/sigaction.h namespace (swbz#21899)
- x86-64: Add FMA multiarch functions to libm
- i386: Support static PIE in start.S
- Compile tst-prelink.c without PIE (swbz#21815)
- x86-64: Use _dl_runtime_resolve_opt only with AVX512F (swbz#21871)
- x86: Remove __memset_zero_constant_len_parameter (swbz#21790)
2017-08-16 17:18:35 +02:00
Florian Weimer
27727bd4a9 Drop glibc-arm-hardfloat-3.patch and associated hack 2017-08-16 16:12:31 +02:00
Florian Weimer
5ca19238f5 Drop glibc-fedora-ldd.patch (applied to upstream master) 2017-08-16 16:01:49 +02:00
Florian Weimer
6cb5e06b89 Drop glibc-fedora-i386-tls-direct-seg-refs.patch 2017-08-16 15:50:45 +02:00
Florian Weimer
2620469c94 glibc-2.26-2.fc28: Packaging adjustments 2017-08-16 13:45:31 +02:00
Florian Weimer
fce95492bd Change invocation style for find-debuginfo.sh
Using eval affects command line parsing in the shell script.  Call the
script directly, but do not quote $find_debuginfo_args, to splice its
contents into the argument list.
2017-08-16 13:30:01 +02:00
Florian Weimer
9df65054b7 Replace create_lang_packages macro with its Lua code
This works around an RPM change in the processing of macro argument lists.
Newer RPM versions split the argument list, so that %1 contains just eo,
and not the whole language list.

Instead, use %language_list directly.  This is compatible with earlier
RPM versions, too.
2017-08-16 13:17:21 +02:00
Florian Weimer
d8b4ab633b Remove unused require_langpacks macro 2017-08-16 12:57:22 +02:00
Florian Weimer
6e6bd41f5e Remove nosegneg 32-bit Xen PV support libraries (#1482027) 2017-08-16 12:03:03 +02:00
Florian Weimer
ad9d2e17df Disable multi-arch (IFUNC string functions) on i686 (#1471427) 2017-08-16 11:14:53 +02:00
Florian Weimer
fdd439f8b7 Use upstream default for multi-arch support
Drop binutils run-time conflict.  If we still want those, they should
be on glibc-devel, not the main package.
2017-08-16 11:12:36 +02:00
Carlos O'Donell
8742b0f949 glibc-2.26-1
Auto-sync with upstream release/2.26/master

Upstream commit: 2aad4b04ad7b17a2e6b0e66d2cb4bc559376617b

- Update to released 2.26 branch.
- getaddrinfo: Release resolver context on error in gethosts (swbz#21885)
2017-08-03 09:47:24 -04:00
Fedora Release Engineering
4786e3be95 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild 2017-08-02 21:45:53 +00:00
Florian Weimer
8b0d66e92b Auto-sync with upstream master
Upstream commit: 5920a4a624b1f4db310d1c44997b640e2a4653e5
2017-07-29 08:18:06 +02:00
Florian Weimer
7e4694d522 Auto-sync with upstream master
Upstream commit: d95fcb2df478efbf4f8537ba898374043ac4561f
2017-07-28 21:00:29 +02:00
Carlos O'Donell
d04b9b7840 Fix NEVRA changes caused by mass rebuild scripts. 2017-07-27 12:41:04 -04:00
Carlos O'Donell
887799236c Resolves: #1475009
- Adjust to new rpm debuginfo generation (#1475009).
2017-07-27 12:35:22 -04:00
Fedora Release Engineering
f271045ada - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-26 10:20:27 +00:00
Florian Weimer
37c3363a24 Auto-sync with upstream master
Upstream commit: 00d7a3777369bac3d8d44152dde2bb7381984ef6

- aarch64: Fix out of bound array access in _dl_hwcap_string
2017-07-19 09:05:38 +02:00
Florian Weimer
e0954fe0fe Revert "Rebuild with new NVR"
This reverts commit c5379cd829.
2017-07-19 09:01:48 +02:00
Florian Weimer
c5379cd829 Rebuild with new NVR 2017-07-18 08:22:30 +02:00
Florian Weimer
6702ca3c64 Auto-sync with upstream master
Upstream commit: 91ac3a7d8474480685632cd25f844d3154c69fdf

- Drop glibc-rh1467518.patch in favor of upstream patch (#1467518)
- Fix pointer alignment in NSS group merge result construction (#1471985)
- Various locale fixes
2017-07-17 23:07:00 +02:00
Carlos O'Donell
705ca30d3e Auto-sync with upstream master
Upstream commit: de895ddcd7fc45caeeeb0ae312311b8bd31d82c5:

- Added Fiji Hindi language locale for Fiji (swbz#21694).
- Added yesstr/nostr for nds_DE and nds_NL (swbz#21756).
- Added yesstr and nostr for Tigrinya (swbz#21759).
- Fix LC_MESSAGES and LC_ADDRESS for anp_IN (swbz#21760).
- Added yesstr/nostr and fix yesexpr for pap_AW and pap_CW (swbz#21757).
- Added Tongan language locale for Tonga (swbz#21728).
- [ARM] Fix ld.so crash when built using Binutils 2.29.
- Added yesstr and nostr for aa_ET (swbz#21768).
- New locale for bi_VU (swbz#21767).
- Disable single thread optimization for open_memstream

Dropped patches:

- armv7hl: Drop 32-bit ARM build fix, already in upstream master.
- s390x: Apply glibc fix again, removing PTRACE_GETREGS etc. (#1469536).
2017-07-14 21:36:54 -04:00
Carlos O'Donell
44f4cf77e9 Fix 32-bit ARM builds in presence of new binutils. 2017-07-12 19:51:11 -04:00
Carlos O'Donell
32049f182f Add temporary workaround for Bug 1467518.
Fix IFUNC crash in early startup for ppc64le static binaries (#1467518).
Enable building with BIND_NOW on ppc64le (#1467518).
2017-07-12 19:40:05 -04:00
Florian Weimer
4e3d1d3a47 malloc: Tell GCC optimizers about MAX_FAST_SIZE in _int_malloc (#1470060) 2017-07-12 14:00:58 +02:00
Florian Weimer
419878ed02 Auto-sync with upstream master
Upstream commit: 30200427a99e5ddac9bad08599418d44d54aa9aa

- Add per-thread cache to malloc
- Add Samoan language locale for Samoa
- Add Awajún / Aguaruna locale for Peru
- CVE-2010-3192: Avoid backtrace from __stack_chk_fail (swbz#12189)
- Add preadv2, writev2 RWF_NOWAIT flag (swbz#21738)
- Fix abday strings for ar_JO/ar_LB/ar_SY locales (swbz#21749)
- Fix abday strings for ar_SA locale (swbz#21748, swbz#19066)
- Set data_fmt for da_DK locale (swbz#17297)
- Add yesstr and nostr for the zh_HK locale (swbz#21733)
- Fix abday strings for the ksIN@devanagari locale (swbz#21743)
- Do not include _dl_resolv_conflicts in libc.a (swbz#21742)
- Test __memmove_chk, __memset_chk only in libc.so (swbz#21741)
- Add iI and eE to  yesexpr and noexpr respectively for ts_ZA locale
- Add yesstr/nostr for kw_GB locale (swbz#21734)
- Add yesstr and nostr for the ts_ZA locale (swbz#21727)
- Fix LC_NAME for hi_IN locale (swbz#21729)
- Add yesstr and nostr for the xh_ZA locale (swbz#21724)
- Add yesstr and nostr for the zh_CN locale (swbz#21723)
- Fix full weekday names for the ks_IN@devanagari locale (swbz#21721)
- Various fixes to Arabic locales after CLDR import
2017-07-12 14:00:32 +02:00
Florian Weimer
4caf18bfe4 Do not remove test case sources in glibc-rh1469536.patch
Removing it from the Makefile is sufficient.  This avoids conflicts.
2017-07-12 10:15:41 +02:00
Florian Weimer
d40c9fdc13 s390x: Restore PTRACE_GETREGS etc. to get GCC to build (#1469536) 2017-07-11 15:03:54 +02:00
Florian Weimer
d538c7cc53 Reinstantiate stack_t cleanup (#1468904) 2017-07-11 14:52:35 +02:00
Florian Weimer
4597e723d0 Back out stack_t cleanup (#1468904) 2017-07-09 19:03:50 +02:00
Florian Weimer
667333c331 Auto-sync with upstream master
Upstream commit: 031e519c95c069abe4e4c7c59e2b4b67efccdee5

- x86-64: Align the stack in __tls_get_addr (#1440287)
- Add Tok-Pisin (tpi_PG) locale.
- Add missing yesstr/nostr for Pashto locale (swbz#21711)
- Add missing yesstr/nostr for Breton locale (swbz#21706)
- Single threaded stdio optimization
- sysconf: Use conservative default for _SC_NPROCESSORS_ONLN (swbz#21542)
2017-07-06 14:29:12 +02:00
Florian Weimer
84baf402f0 Auto-sync with upstream master
Upstream commit: 4446a885f3aeb3a33b95c72bae1f115bed77f0cb
2017-07-04 15:31:23 +02:00
Florian Weimer
44e7da869e Auto-sync with upstream master
Upstream commit: 89f6307c5d270ed4f11cee373031fa9f2222f2b9
2017-07-04 11:36:06 +02:00
Florian Weimer
8ed8731099 Disable building with BIND_NOW on ppc64le (#1467518) 2017-07-04 08:23:12 +02:00
Florian Weimer
dcf3eeb5c0 Auto-sync with upstream master
Upstream commit: e237357a5a0559dee92261f1914d1fa2cd43a1a8

- Support an arbitrary number of search domains in the stub resolver (#168253)
- Detect and apply /etc/resolv.conf changes in libresolv (#1374239)
- Increase malloc alignment on i386 to 16 (swbz#21120)
- Make RES_ROTATE start with a random name server (swbz#19570)
- Fix tgmath.h totalorder, totalordermag return type (swbz#21687)
- Miscellaneous sys/ucontext.h namespace fixes (swbz#21457)
- Rename struct ucontext tag (swbz#21457)
- Call exit system call directly in clone (swbz#21512)
- powerpc64le: Enable float128
- getaddrinfo: Merge IPv6 addresses and IPv4 addresses (swbz#21295)
- Avoid .symver on common symbols (swbz#21666)
- inet_pton: Reject IPv6 addresses with many leading zeros (swbz#16637)
2017-07-03 21:49:42 +02:00
Florian Weimer
093184feca Auto-sync with upstream master
Upstream commit: 3ec7c02cc3e922b9364dc8cfd1d4546671b91003
2017-06-23 17:43:54 +02:00
Florian Weimer
9a4cee58e4 Auto-sync with upstream master
Upstream commit: 12f50337ae80672c393c2317d471d097ad92c492
2017-06-23 13:25:59 +02:00
Florian Weimer
2660abb9bb Reenable valgrind on aarch64 2017-06-23 13:10:13 +02:00
Florian Weimer
9d8ea8c478 Log auxiliary vector during build 2017-06-22 14:48:21 +02:00
Florian Weimer
aae7c7249a Auto-sync with upstream master
Upstream commit: 0a47d031e44f15236bcef8aeba80e737bd013c6f
2017-06-22 13:34:40 +02:00
Florian Weimer
10e4623a27 Disable valgrind on aarch64 2017-06-22 13:28:12 +02:00
Florian Weimer
6e985d0a59 Drop workaround for GCC PR69537 2017-06-21 20:50:35 +02:00
Florian Weimer
8a569a02e8 Auto-sync with upstream master
Upstream commit: 9649350d2ee47fae00794d57e2526aa5d67d900e
2017-06-21 20:49:15 +02:00
Florian Weimer
6a3a1d1575 Drop historic aarch64 TLS patches 2017-06-21 20:38:36 +02:00
Florian Weimer
fda3e070a7 Auto-sync with upstream master
Upstream commit: 43e0ac24c836eed627a75ca932eb7e64698407c6
2017-06-21 11:08:15 +02:00
Florian Weimer
87bc7c9489 Resolves: #1462820
- Drop glibc-Disable-buf-NULL-in-login-tst-ptsname.c, applied upstream.
- Auto-sync with upstream master,
  commit 37e9dc814636915afb88d0779e5e897e90e7b8c0, fixing:
- CVE-2017-1000366: Avoid large allocas in the dynamic linker (#1462820)
- wait3 namespace (swbz#21625)
- S390: Sync ptrace.h with kernel (swbz#21539)
- Another x86 sys/ucontext.h namespace issue (swbz#21457)
- siginterrupt namespace (swbz#21597)
- Signal stack namespace (swbz#21584)
- Define struct rusage in sys/wait.h when required (swbz#21575)
- S390: Fix build with gcc configured with --enable-default-pie (swbz#21537)
- Update timezone code from tzcode 2017b
- nptl: Invert the mmap/mprotect logic on allocated stacks (swbz#18988)
- PowerPC64 ELFv2 PPC64_OPT_LOCALENTRY
- Make copy of <bits/std_abs.h> from GCC (swbz#21573)
- localedata: ce_RU: update weekdays from CLDR (swbz#21207)
- localedata: Remove trailing spaces (swbz#20275)
- XPG4 bsd_signal namespace (swbz#21552)
- Correct collation rules for Malayalam (swbz#19922, swbz#19919)
- waitid namespace (swbz#21561)
- Condition signal.h inclusion in sys/wait.h (swbz#21560)
- ld.so: Consolidate 2 strtouls into _dl_strtoul (swbz#21528)
- tst-timezone race (swbz#14096)
- Define SIG_HOLD for XPG4 (swbz#21538)
- struct sigaltstack namespace (swbz#21517)
- sigevent namespace (swbz#21543)
- Add shim header for bits/syscall.h (swbz#21514)
- namespace issues in sys/ucontext.h (swbz#21457)
- posix: Implement preadv2 and pwritev2
- Various float128 and tunables improvements
2017-06-20 00:18:02 +02:00
Stephen Gallagher
f35d7503ab Reduce libcrypt-nss dependency to 'Suggests:' 2017-06-06 14:42:47 +02:00
Arjun Shankar
7f4621301d Auto-sync with upstream master
Upstream commit: cfa9bb61cd09c40def96f042a3123ec0093c4ad0
2017-05-31 16:22:21 +02:00
Arjun Shankar
c769a3ef7a Disable the NULL buffer test in login/tst-ptsname.c.
It leads to a build failure during 'make check'.
2017-05-31 14:37:21 +02:00
Arjun Shankar
4014d6f877 Auto-sync with upstream master
Upstream commit: 231a59ce2c5719d2d77752c21092960e28837b4a
2017-05-23 14:37:59 +02:00
Carlos O'Donell
c2f6995570 Fix build with --enable-obsolete-nsl. 2017-05-02 13:45:38 -04:00
Carlos O'Donell
056f48952a Auto-sync with upstream master
Upstream commit: 25e39b4229fb365a605dc4c8f5d6426a77bc08a6
2017-05-01 13:23:28 -04:00
Florian Weimer
2999128764 Automatically set glibc_release_url based on glibcrelease 2017-03-08 10:09:29 +01:00
Florian Weimer
04b4101e8f Auto-sync with upstream master
Upstream commit: a10e9c4e53fc652b79abf838f7f837589d2c84db
2017-03-02 20:09:14 +01:00
Jakub Hrozek
305fa9fb57 Resolves: #1427646
Reverse the order of sss and files modules for passwd and group maps
2017-03-01 14:03:09 +01:00
Florian Weimer
5bc3170c40 Auto-sync with upstream release/2.25/master
Upstream commit: 93cf93e06ce123439e41d3d62790601c313134cb
2017-02-28 17:43:41 +01:00
Carlos O'Donell
aa4db12ee0 glibc-2.25-1
- Update to final released glibc 2.25.

The glibc rawhide builds must stay on 2.25 branch until
F26 branches from rawhide. This assures that we have ABI/API
guarantees provided by upstream. Please do not rebase rawhide
against glibc master.
2017-02-08 21:22:46 -05:00
Carlos O'Donell
ad7685d113 glibc-2.24.90-31
- Fix builds with GCC 7.0.
2017-02-08 16:17:57 -05:00
Carlos O'Donell
7061f72715 glibc-2.24.90-30
- Optimize IBM z System builds for zEC12.
2017-02-02 09:53:07 -05:00
Florian Weimer
7463f6a220 Use vpath in crypt-glibc/Makefile to obtain the test input file
Reported by Stefan Liebler.
2017-01-25 16:46:01 +01:00
Florian Weimer
574cbae985 Auto-sync with upstream master
Upstream commit: 5653ab12b4ae15b32d41de7c56b2a4626cd0437a
2017-01-25 16:39:15 +01:00
Carlos O'Donell
edb6156880 Auto-sync with upstream master
Upstream commit: 468e525c81a4af10f2e613289b6ff7c950773a9e
2017-01-12 22:17:58 -05:00
Florian Weimer
41c1b49335 quilt-patch.sh: Support new "sources" file format 2017-01-02 13:32:40 +01:00
Florian Weimer
c659285752 Auto-sync with upstream master
Upstream commit: 73dfd088936b9237599e4ab737c7ae2ea7d710e1
2017-01-02 13:32:25 +01:00
Florian Weimer
e9dcd51d77 Remove patches which were workarounds for GCC 5 bugs 2017-01-02 12:26:05 +01:00
Florian Weimer
4570c40835 Auto-sync with upstream master
Upstream commit: cecbc7967f0bcac718b6f8f8942b58403c0e917c
2016-12-26 11:22:24 +01:00
Carlos O'Donell
a681b7b4e2 Auto-sync with upstream master
Upstream commit: 81e0662e5f2c342ffa413826b7b100d56677b613
2016-12-23 18:31:06 -05:00
Florian Weimer
ace066ccd1 Auto-sync with upstream master
Upstream commit: e077349ce589466eecd47213db4fae6b80ec18c4
2016-12-18 15:43:05 +01:00
Florian Weimer
5617e2c469 Auto-sync with upstream master
Upstream commit: 92dcaa3e2f7bf0f7f1c04cd2fb6a317df1a4e225
2016-12-12 19:26:23 +01:00
Florian Weimer
8076ad58d9 Auto-sync with upstream master
Upstream commit: 0abbe7cd700951082b314182a0958d65238297ef

GDB pretty-printers for NPTL types are temporarily disabled
due to bug 1403329.
2016-12-09 18:38:16 +01:00
Florian Weimer
b766add297 Auto-sync with upstream master
Upstream commit: 01b23a30b42a90b1ebd882a0d81110a1542e504a
2016-12-02 17:13:31 +01:00
Florian Weimer
fbd985bf72 Do not install the PROJECTS file
It was removed upstream.
2016-11-30 17:18:55 +01:00
Florian Weimer
eaa5674199 Auto-sync with upstream master
Upstream commit: 9e78f6f6e7134a5f299cc8de77370218f8019237
2016-11-30 16:12:57 +01:00
Florian Weimer
93ddbf99ee Auto-sync with upstream master
Upstream commit: 7a5e3d9d633c828d84a9535f26b202a6179978e7
2016-11-23 13:38:43 +01:00
Florian Weimer
434cf9e2e2 Auto-sync with upstream master
Upstream commit: 5ee1a4443a3eb0868cef1fe506ae6fb6af33d4ad
2016-11-22 11:10:50 +01:00
Carlos O'Donell
b587bccfe7 glibc-2.24.90-17
* Add new scalable implementation of POSIX read-write locks.
2016-11-17 12:46:05 -05:00
Florian Weimer
c9a1e5c935 Do not try to link libcrypt statically during tests 2016-11-16 15:25:20 +01:00
Florian Weimer
835049c53c Auto-sync with upstream master
Upstream commit: 530862a63e0929128dc98fbbd463b120934434fb
2016-11-16 14:43:20 +01:00
Florian Weimer
573bcacc8f Auto-sync with upstream master
Upstream commit: 9032070deaa03431921315f973c548c2c403fecc
2016-11-02 12:06:16 +01:00
Florian Weimer
55bd1b5cdd Resolves: #1333945
Drop revert of upstream fix.
2016-11-02 11:49:29 +01:00
Florian Weimer
762e747b11 Auto-sync with upstream master
Upstream commit: e37208ce86916af9510ffb9ce7b3c187986f07de
2016-10-22 17:42:34 +02:00
Florian Weimer
9d7b7a7a04 Auto-sync with upstream master
Upstream commit: b3918c44db615637b26d919ce599cd86592316b3
2016-10-21 18:38:39 +02:00
Carlos O'Donell
83e5c415da glibc-2.24.90-11
- Add prototype support for detecting invalid IFUNC calls (swbz#20019).
- New POSIX thread condition variable implementation (swbz#13165).
2016-10-17 22:19:05 -04:00
Florian Weimer
4f53fe474e Auto-sync with upstream master
Upstream commit: 5140d036f9c16585448b5908c3a219bd96842161
2016-10-07 17:54:03 +02:00
Florian Weimer
0b05408588 Auto-sync with upstream master
Upstream commit: ff88ee7edfaa439e23c42fccaf3a36cd5f041894
2016-10-04 19:29:14 +02:00
Florian Weimer
0adb9076a4 Auto-sync with upstream master
Upstream commit: 17af5da98cd2c9ec958421ae2108f877e0945451
2016-09-22 13:31:39 +02:00
Florian Weimer
66afdc6140 Resolves: #1377795
Add MIPS support.  Based on a patch from Michal Toman
<michal.toman@gmail.com>.
2016-09-22 13:20:25 +02:00
Carlos O'Donell
36702a1359 Auto-sync with upstream master.
Upstream commit: e299076fefd9649f78f853865d4745043e50813c
2016-09-20 23:29:23 -04:00
Florian Weimer
77d2ac8e00 Auto-sync with upstream master
Upstream commit: 4d728087ef8cc826b05bd21d0c74d4eca9b1a27d
2016-09-01 16:11:33 +02:00
Florian Weimer
c097c5b5f7 Auto-sync with upstream master
Upstream commit: 7e625f7e85b4e88f10dbde35a0641742af581806
2016-08-26 19:45:02 +02:00
Florian Weimer
82db94894e Auto-sync with upstream master
Upstream commit: 66abf9bfbe24ac1e7207d26ccad725ed938dc52c
2016-08-21 16:49:12 +02:00
Florian Weimer
90f786e56b Auto-sync with upstream master.
Upstream commit: ID d9067fca40b8aac156d73cfa44d6875813555a6c
2016-08-17 15:23:48 +02:00
Florian Weimer
548cf89fd5 Fix upstream commit hash 2016-08-17 15:19:14 +02:00
Florian Weimer
f6288a0045 Auto-sync with upstream master.
Upstream commit ID is f79211792127f38d5954419bb3784c8eb7f5e4e5.
2016-08-11 13:42:52 +02:00
Carlos O'Donell
5344dc60e9 Bump NEVRA to 2.24.90-1. 2016-08-08 10:03:42 -04:00
Carlos O'Donell
4c8a26717a Auto-sync with upstream master. 2016-08-08 09:58:02 -04:00
Florian Weimer
b8b6a436e9 Related: #1324623
Add missing definitions to the crypt-glibc/Makefile, so that
the cryptographic tests can be built.
2016-07-22 21:37:29 +02:00
Florian Weimer
2c005c98da Do not try to install mtrace when bootstrapping 2016-07-22 17:54:35 +02:00
Florian Weimer
7ad97baa4f Resolves: #1324623
Provide libcrypt and libcrypt-nss subpackages.

glibc has a Recommends: to prefer the NSS-based implementation.
glibc-devel requires that one of the two packages is installed.
2016-07-22 17:06:37 +02:00
Florian Weimer
87b6ed77db Drop Requires(pre) on libgcc
Our scriptlets do not use pthread_cancel, and such requires are not
transitive.
2016-07-22 15:47:20 +02:00
Florian Weimer
9d1bb0abc3 Resolves: #1289356
glibc-devel depends on libgcc%{_isa}
2016-07-22 15:46:44 +02:00
Florian Weimer
d1929c8ddb Resolves: #1344830
Drop sendmsg/recvmsg compatibility patch
2016-07-21 16:16:25 +02:00
Florian Weimer
d5e9ea2361 Resolves: #1338889
Move NSS modules to subpackages

Add new file lists for the NSS modules and update the glibc and
glibc-devel file lists.  Introduce a glibc-nss-devel package
for direct linking against NSS modules (which is rare and usually
unintended).  Drop the obsoletes clause for nss_db.
2016-07-20 17:09:24 +02:00
Florian Weimer
1ca5ccee9c Resolves: #1315476
Make ldconfig and sln the same binary
2016-07-13 19:37:12 +02:00
Florian Weimer
8d10e61144 Auto-sync with upstream master
Up to commit f531f93056b34800383c5154280e7ba5112563c7.
2016-07-13 14:23:26 +02:00
Mike FABIAN
5c031d86de Resolves: #1351108
- Unicode 9.0.0 updates (ctype, charmap, transliteration)
2016-07-09 07:35:43 +02:00
Florian Weimer
0f28e7559e Resolves: #1294574
nscd breaks initgroups with nis (initgroups are empty)

Update changelog and adjust extend_alloca removal patch.
2016-07-05 19:06:22 +02:00
Florian Weimer
9a78be1808 Resolves: #1351737
glibc: strcasecmp failure on ppc64le
2016-07-05 18:40:25 +02:00
Carlos O'Donell
0ce3b29d56 Resolves: #1349906
- Properly handle more invalid --install-langs arguments (#1349906).
2016-06-24 13:51:56 -04:00
Florian Weimer
22e8257c2d Related: #1344480
Fix RPM changelog.
2016-06-21 21:52:48 +02:00
Florian Weimer
d21f299cb3 Resolves: #1348620, #1344480, #1346070
Sync with upstream master, commit a3b473373ee43a292f5ec68a7fda6b9cfb26a9b0
2016-06-21 21:50:42 +02:00
Carlos O'Donell
1bbad64354 Use scriptlet expansion.
We prefer scriptlet expansion (-e) over the use of rpm.expand in Lua.
The goal is to have a fully expanded Lua program with as little
dynamic processing as possible to simplify the operations carried
out in Lua.

The use of rpm.expand was only needed until COPR migrated from EL6
to Fedora, and with this complete we can remove the use of rpm.expand
in favour of scriptlet expansion.

Tested on Fedora Rawhide by verifying global setting of %_install_langs
macro changes installed locale-archive locales correctly.
2016-06-18 17:20:10 -04:00
Florian Weimer
c27c24530c Related: #1344830
Drop sendmmsg/recvmmsg compat symbols on 32-bit architectures.  For
some reason, these architectures only have compat symbols for
sendmsg and recvmsg.
2016-06-13 06:30:30 +02:00
Florian Weimer
cb62ee1f81 Related: #579086
Revert fix for “Preloading a replacement uname is causing environment
to be cleaned if libpthread is loaded”.  UTS namespaces should now
offer a cleaner way yo do this.
2016-06-13 06:26:14 +02:00
Florian Weimer
34a28994be Related: #1344830
First phase of sendmsg/recvmsg/sendmmsg/recvmmsg ABI revert:
GLIBC_2.24 compatibility symbols.

This should allow us to run old binaries (with the GLIBC_2.24 symbols)
while rebuild packages to use the old ABI again.
2016-06-12 22:42:00 +02:00
Florian Weimer
c8064eb721 Auto-sync with upstream master
Resolves: #1344480
  (Crash in the nss_db NSS service module during iteration.)
Add the eo locale as a first-class citizen.
2016-06-12 22:41:55 +02:00
Florian Weimer
1aca2e1ec1 Related: #1342976
Retroactively update changelog to record fixed bug.
2016-06-11 13:39:48 +02:00
Florian Weimer
d3f78ebc81 Auto-sync with upstream master. 2016-06-09 12:22:07 +02:00
Florian Weimer
d4be8589c3 Log df output as part of system information 2016-06-01 08:44:30 +02:00
Florian Weimer
5872287fa1 Resolves: #1338887
Do not disable assertions in release builds
2016-06-01 08:31:31 +02:00
Florian Weimer
db9848cdc3 Sync with upstream master branch
Resolves #1326903, #1337140.
2016-06-01 08:30:29 +02:00
Carlos O'Donell
15922d5c07 glibc-2.23.90-18
- Move support for building GCC 2.96 into compat-gcc-296.
2016-05-11 16:21:02 -04:00
Florian Weimer
6a2d7264b4 Resolves: #1335011
Revert dlsym (RTLD_NEXT)/dlerror change, to unbreak ASAN
2016-05-11 16:10:58 +02:00
Florian Weimer
a92e3b7488 Expand comments about the separate SUPPORTED file 2016-05-09 20:43:58 +02:00
Florian Weimer
48c31c2f62 Drop broken attempt at fix for #1326903 2016-05-09 17:18:54 +02:00
Florian Weimer
3585735339 Resolves: #1326903
Experimental fix for NULL fork/vfork symbols in libpthread
2016-05-09 14:23:15 +02:00
Florian Weimer
f3507c9c60 Remove unapplied patches 2016-05-09 14:19:32 +02:00
Florian Weimer
43e96b9dec Use diff instead of cmp for the SUPPORTED file check 2016-05-09 13:48:03 +02:00
Florian Weimer
ddd7733205 Auto-sync with upstream master
Drop glibc-nsswitch-Add-group-merging-support.patch, applied upstream.
Drop glibc-rh1252570.patch, alternative fixes applied upstream.
Adjust glibc-rh1315108.patch to minor upstream change.
Update SUPPORTED file.
2016-05-09 13:47:51 +02:00
Carlos O'Donell
4f51555190 glibc-2.23.90-14
- Require libselinux for nscd in non-bootstrap configuration.
2016-05-03 15:51:17 -04:00
Carlos O'Donell
790a04974b Update gen-quilt-series script. 2016-04-29 23:11:30 -04:00
Carlos O'Donell
fe4ad2a06e Auto-sync with upstream master. 2016-04-29 23:08:42 -04:00
Carlos O'Donell
cfdb093a22 Remove quilt series file. 2016-04-29 21:25:52 -04:00
Carlos O'Donell
256beb3f45 glibc-2.23.90-12
- Move spec file system information logging to the build stage.
2016-04-28 15:59:56 -04:00
Florian Weimer
4ac7c7b403 Auto-sync with upstream master 2016-04-14 22:49:32 +02:00
Florian Weimer
85759f3e8d Auto-sync with upstream master 2016-04-14 12:59:40 +02:00
Florian Weimer
34d510b5de Auto-sync with upstream master
This removes the type union wait from the installed headers.
Update the SUPPORTED file with upstream changes
2016-04-14 10:00:03 +02:00
Florian Weimer
ec0dd75135 Auto-sync with upstream master 2016-04-08 16:21:37 +02:00
Florian Weimer
887080ee79 Auto-sync with upstream master 2016-03-29 13:04:25 +02:00
Carlos O'Donell
1ffb3d6c4c glibc-2.23.90-6
- Use 'an' as language abbreviation for an_ES.
2016-03-16 02:38:44 -04:00
Carlos O'Donell
e5c3314947 Update sync-upstream.sh.
- Add support for production vs. development.
- Add support for descriptive branch names.
- Fix error message to be more accurate if you ctrl^c out of build.
2016-03-07 12:07:04 -05:00
Carlos O'Donell
99a6d4df1b Auto-sync with upstream master. 2016-03-07 11:47:23 -05:00
Florian Weimer
9fce0748c4 Resolves: #1315108
Remove extend_alloca.
2016-03-07 06:52:27 +01:00
Carlos O'Donell
f2d40207ea glibc-2.23.90-3
- Enhance support for upgrading from a non-language-pack system.
2016-03-01 02:59:24 -05:00
Carlos O'Donell
9edc2b688b Create new language packages for all supported languages.
Locales, translations, and locale sources are split into
distinct sub-packages. A meta-package is created for users
to install all languages. Transparent installation support
is provided via dnf langpacks.
2016-02-26 01:06:35 -08:00
Carlos O'Donell
b359bd04bb Upstream development version is now 2.23.90. 2016-02-26 00:36:28 -05:00
Carlos O'Donell
dd72bee11f Sync with upstream master after 2.23 branch.
- Drop glibc-CVE-2015-7547.patch, glibc-isinf-cxx11.patch
  and glibc-rh1114591.patch since they are all upstream.
2016-02-25 15:48:36 -05:00
Florian Weimer
ba7912605b Resolves: #1114591
Remove stray newline from Serbian locales.
2016-02-19 21:46:21 +01:00
Carlos O'Donell
3d382a2e9c Resolves: #1308943
- Fix CVE-2015-7547: getaddrinfo() stack-based buffer overflow (#1308943).
2016-02-16 09:31:14 -05:00
Florian Weimer
29b39d6e56 Resolves: #1252570
Revert upstream commit 2212c1420c92a33b0e0bd9a34938c9814a56c0f7.
2016-02-15 12:22:50 +01:00
Florian Weimer
432964b3d9 Revert "Resolves: #1306511"
This reverts commit 49a15d1f64.
2016-02-15 12:12:34 +01:00
Florian Weimer
49a15d1f64 Resolves: #1306511
Support aliasing with struct sockaddr pointers.
2016-02-13 13:34:31 +01:00
Florian Weimer
7dc8bfc342 Auto-sync with upstream master. 2016-02-13 13:27:45 +01:00
Carlos O'Donell
b60f74076c Resolves: #1227361
- Use --with-cpu=power8 for ppc64le default runtime (#1227361).
2016-02-09 03:48:54 -05:00
Florian Weimer
363323a3b9 Apply glibc-isinf-cxx11.patch to improve C++11 compatibility 2016-02-02 12:28:36 +01:00
Florian Weimer
b2bf60e825 Auto-sync with upstream master. 2016-02-02 12:19:16 +01:00
Florian Weimer
2b8a8117dc Add workaround for GCC PR69537 2016-01-28 14:24:44 +01:00
Florian Weimer
05ffab72b4 Auto-sync with upstream master. 2016-01-28 11:54:08 +01:00
Florian Weimer
8e51854b9b Drop pthread barrier patch, merged upstream 2016-01-28 11:49:46 +01:00
Carlos O'Donell
8084be9f8c New pthread_barrier algorithm with improved standards compliance. 2016-01-13 21:35:53 -05:00
Carlos O'Donell
a999deb25a Resolves: #1146822
- Add group merging support for distributed management (#1146822).
2016-01-13 12:59:35 -05:00
Carlos O'Donell
130c4973ff Update 64-bit POWER support.
This update brings 64-bit POWER support in line with
other distributions and removes the 32-bit POWER support.
We specify clearly exactly what we support for BE and LE
64-bit POWER.
2016-01-12 11:59:28 -05:00
Florian Weimer
832f52f3cc Auto-sync with upstream master. 2015-12-21 17:31:12 +01:00
Florian Weimer
b79a5ba9e6 Auto-sync with upstream master.
This includes a fix for rhbz#1281714.
Manually remove the Unicode 8.0 patches, which have been merged upstream.
2015-12-16 14:00:32 +01:00
Florian Weimer
d604db4c4f Resolves: #1288738
Put libmvec_nonshared.a into the -devel package.
2015-12-05 20:31:00 +01:00
Florian Weimer
e0ca9a36a5 Auto-sync with upstream master. 2015-12-05 15:53:14 +01:00
Jaromir Capik
933c6091f3 Adding BUILD_CC to the STAGE1 bootstrap recipes 2015-12-03 15:34:40 +01:00
Carlos O'Donell
8fdf674ae9 glibc-2.22.90-22
- The generic hidden directive support is already used for
  preinit/init/fini-array symbols so we drop the Fedora-specific
  patch that does the same thing.
  Reported by Dmitry V. Levin <ldv@altlinux.org>
- Require glibc-static for C++ tests.
- Require gcc-c++, libstdc++-static, and glibc-static only when needed.
- Fix --without docs to not leave info files.
2015-11-27 01:14:36 -05:00
Florian Weimer
2e15a6b6a7 Auto-sync with upstream master. 2015-11-20 10:08:34 +01:00
Florian Weimer
43aaa98743 Auto-sync with upstream master. 2015-11-18 13:30:53 +01:00
Florian Weimer
be3e53e100 Resolves: #1283184
Disable -Werror on s390.
2015-11-18 13:28:07 +01:00
Florian Weimer
209b489bc2 Auto-sync with upstream master. 2015-11-16 21:40:35 +01:00
Florian Weimer
711d6257aa Revert "Apply temporary fix for armhfp build issue"
This reverts commit bf5e09bbb8.
2015-11-16 21:37:03 +01:00
Carlos O'Donell
0cffc9ae0c Update quilt series parster to understand %{name}. 2015-11-09 21:27:13 -05:00
Florian Weimer
bf5e09bbb8 Apply temporary fix for armhfp build issue 2015-11-09 17:44:11 +01:00
Florian Weimer
c6ef02b1b4 Auto-sync with upstream master. 2015-11-09 13:15:50 +01:00
Florian Weimer
078b76fd6f Resolves: #1276636
Log uname, cpuinfo, meminfo during build
2015-11-09 12:29:48 +01:00
Jaromir Capik
972d230856 Fix for early stage2 SIGSEGV + 32-bit TARGET rework 2015-11-05 17:54:43 +01:00
Florian Weimer
4cc081474c Auto-sync with upstream master. 2015-10-30 19:26:52 +01:00
Florian Weimer
dd0aad2bf0 Resolves: #1229659
Revert to upstream implementation of condition variables.
2015-10-30 19:23:50 +01:00
Florian Weimer
0647659134 Resolves: #1274974
Related: #1273103

- Disable valgrind test for ppc64p7, too.
2015-10-28 16:52:56 +01:00
Carlos O'Donell
d387855c49 Resolves: #1274974
Related: #1273103

- Disable valgrind test for ppc64.
2015-10-26 16:03:54 -04:00
Carlos O'Donell
f768365ef5 Sync with upstream master. 2015-10-21 22:28:24 -04:00
Carlos O'Donell
e61b8f41f2 Sync with upstream master. 2015-10-21 15:24:28 -04:00
Carlos O'Donell
4d789e132e Resolves: #1193168
- Remove libbsd.a (#1193168).
2015-10-09 21:00:30 -04:00
Carlos O'Donell
0457f649e3 Resolves: #902094, #1262040
* Wed Sep 16 2015 Mike FABIAN <mfabian@redhat.com> - 2.22.90-7
- Add the C.UTF-8 locale (#902094).

* Wed Sep 16 2015 Carlos O'Donell <carlos@systemhalted.org> - 2.22.90-6
- Fix GCC 5 and -Werror related build failures.
- Fix --install-langs bug which causes SIGABRT (#1262040).
2015-09-17 12:24:49 -04:00
Carlos O'Donell
444c2ecfbc Auto-sync with upstream master. 2015-08-28 17:03:18 -04:00
Carlos O'Donell
6e8e9f6f52 Remove librtkaio support.
The principal purpose of this change is to remove librtkaio support.

The Fedora system wide change request is here:
https://fedoraproject.org/wiki/Changes/GLIBC223_librtkaio_removal

- Build require gcc-c++ for the C++ tests.
- Support --without testsuite option to disable testing after build.
- Support --without benchtests option to disable microbenchmarks.
- Update --with bootstrap to disable benchtests, valgrind, documentation,
  selinux, and nss-crypt during bootstrap.
- Support --without werror to disable building with -Werror.
- Support --without docs to disable build requirement on texinfo.
- Support --without valgrind to disable testing with valgrind.
- Remove c_stubs add-on and enable fuller support for static binaries.
- Remove librtkaio support (#1227855).
2015-08-28 15:29:26 -04:00
Siddhesh Poyarekar
ac22d64886 Auto-sync with upstream master. 2015-08-16 09:51:12 +05:30
Siddhesh Poyarekar
b893edf794 Remove initgroups from default nsswitch.conf 2015-08-14 13:38:42 +05:30
Siddhesh Poyarekar
daa5a48a9b Sync with upstream master 2015-08-14 12:30:00 +05:30
Siddhesh Poyarekar
6223dbf32d Sync with upstream master
- glibc-bench-compare.patch: Merged upstream
- glibc-rh757881.patch: Fixed differently upstream
- glibc-revert-arena-threshold-fix.patch: Additional fixes on top of this
- glibc-rh841787.patch: Fixed differently upstream
- Set MODULE_NAME=librt for rtkaio
- Fix up glibc-rh741105.patch to continue to work with latest master
2015-07-28 08:17:23 +05:30
Mike FABIAN
706a051a42 Some more additions to the translit_neutral file by Marko Myllynen
(and pylint warning fixes to the gen_translit_* scripts by Pravin Satpute)
2015-07-23 15:44:24 +02:00
Mike FABIAN
37b7dfda47 Add python to BuildRequires (needed for the micro benchmarks)
And fix the format of the bugzilla reference in the changelog eingry.
2015-07-15 17:28:17 +02:00
Mike FABIAN
dbf5f70dbe Unicode 8.0.0 updates (including the transliteration files)
- Resolves: rhbz#1238412
2015-07-14 17:03:49 +02:00
Carlos O'Donell
33fde86f29 Add quilt support to rawhide. 2015-07-07 14:04:07 -04:00
Carlos O'Donell
2542c05d11 Remove all linuxthreads handling from spec file. 2015-06-21 20:17:04 -04:00
Jaromir Capik
d599077305 Adding STAGE1 bootstrap recipes 2015-06-18 19:50:16 +02:00
Carlos O'Donell
e63fda9e1a Keep glibc-headers content and files identical.
- Move split out architecture-dependent header files into devel package
  and keep generic variant in headers package, thus keeping headers package
  content and file list identical across multilib rpms.
2015-06-17 16:40:15 -04:00
Dennis Gilmore
5ee623b900 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-06-17 08:26:56 +00:00
Carlos O'Donell
1c7c723823 Remove DTV_SURPLUS increase after limit was removed. 2015-06-03 11:45:53 -04:00
Siddhesh Poyarekar
8178d6f0a6 Fix build failure on aarch64 (#1226459) 2015-05-30 09:40:53 +05:30
Siddhesh Poyarekar
a7f6b6e326 Add new condvar implementation 2015-05-18 12:21:44 +05:30
Siddhesh Poyarekar
7047693f55 Sync with upstream master 2015-05-18 12:21:44 +05:30
Siddhesh Poyarekar
adaecdb51b bump version 2015-05-08 19:15:05 +05:30
Siddhesh Poyarekar
67b30d7656 Add benchmark comparison
Create a new package glibc-benchtests with the benchmark binaries that
one may download and run to benchmark glibc for their machine.  More
importantly, the glibc-bench-compare and bench.mk scripts can run
benchmarks and compare performance of two arbitrary glibc versions as
long as both versions have the glibc-benchtests package.

Usage:

Scenario 1: Compare two build numbers, e.g.:

    /usr/libexec/glibc-benchtests/glibc-bench-compare 2.20-1.fc21 2.21.90-11.fc22

If a second build is omitted, comparison is done with the currently
installed glibc.

Scenario 2: Compare two downloaded rpms - only glibc, glibc-benchtests
and glibc-common are needed for both versions.  e.g.:

    /usr/libexec/glibc-benchtests/glibc-bench-compare -p <dir1> <dir2>
2015-05-08 11:49:59 +05:30
Siddhesh Poyarekar
adbfe47d74 Auto-sync with upstream master. 2015-05-07 12:10:16 +05:30
Siddhesh Poyarekar
943a064b90 Revert "Auto-sync with upstream master." to work around 1209451
This reverts commit 3d147acd8d.
2015-04-07 21:02:28 +05:30
Siddhesh Poyarekar
3d147acd8d Auto-sync with upstream master. 2015-04-06 16:00:41 +05:30
Siddhesh Poyarekar
85b542148e Auto-sync with upstream master. 2015-03-24 18:04:53 +05:30
Carlos O'Donell
e51327973f Reduce set of required RPM features.
- Use rpm.expand in scripts to reduce set of required RPM features.

See:
https://bugzilla.redhat.com/show_bug.cgi?id=156477#c44
2015-03-17 01:53:46 -04:00
Siddhesh Poyarekar
ca47b31b17 Auto-sync with upstream master. 2015-03-12 15:43:36 +05:30
Carlos O'Donell
91764bd9ec Resolves: #156477
- Support installing only those locales specified by the RPM macro
  %%_install_langs (#156477).
2015-03-05 16:05:43 -05:00
Siddhesh Poyarekar
6aa6486e1b Fix version number after mass rebuild 2015-02-23 14:22:15 +05:30
Siddhesh Poyarekar
5c979090d8 Auto-sync with upstream master. 2015-02-23 14:20:15 +05:30
Till Maas
6e81b3fc52 Rebuilt for Fedora 23 Change
https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code
2015-02-21 22:22:07 +01:00
Carlos O'Donell
e03dd62b87 Fix missing clock_* IFUNCs in librtkaio. 2015-02-12 01:36:24 -05:00
Carlos O'Donell
c6d44c9902 Auto-sync with upstream master. 2015-02-12 00:29:07 -05:00
Carlos O'Donell
85a0930b02 Manually sync form upstrem master:
- Add back x86 vDSO support.
- Fix rtkaio build to reference clock_* functions from libc.
2015-02-12 00:22:30 -05:00
Siddhesh Poyarekar
a086cd2399 Revert x86 vdso support patch to get i686 building again 2015-01-22 00:22:13 +05:30
Siddhesh Poyarekar
c041cd3d0c Disable -Werror for a bootstrap build 2015-01-21 22:25:23 +05:30
Siddhesh Poyarekar
5d3d5d4542 Sync with upstream master and disable Werror on s390x 2015-01-21 20:18:21 +05:30
Peter Robinson
20d87dfe74 Drop large ancient ChangeLogs (rhbz #1169546) 2015-01-20 09:51:12 +00:00
Siddhesh Poyarekar
2415b86173 Pass address of main_arena.mutex to mutex_lock/unlock functions
Fix up a Fedora patch to pass the address of the mutex in the mstate
instead of the mstate itself.  This fizes the Werror warning seen on
all non-x86 builds.
2015-01-12 20:20:28 +05:30
Siddhesh Poyarekar
84d34071af Define a __tls_get_addr macro to avoid a conflicting declaration 2015-01-08 18:51:32 +05:30
Siddhesh Poyarekar
80f41525f9 Disable Werror for s390 too
Also sync up release numbers.  I seemed to have messed it up in the
last commit.
2015-01-07 21:30:39 +05:30
Siddhesh Poyarekar
6105e83f88 Sync with upstream master.
- Disable -Werror on powerpc and armv7hl.
- Temporarily disable valgrind test on ppc64.
2015-01-07 19:03:06 +05:30
Dan Horák
8b04964a99 - valgrind available only on selected arches (missing on s390) 2014-12-28 10:32:56 +01:00
Kyle McMartin
fd8c9e7125 aarch64: Drop strchrnul.S revert, apply fix from Richard Earnshaw. 2014-12-10 12:12:56 -05:00
Carlos O'Donell
c13214a08b Give auto-generated files expected permissions.
- Fix permission of debuginfo source files to allow multiarch
  debuginfo packages to be installed and upgraded.
2014-12-05 20:30:44 -05:00
Siddhesh Poyarekar
7728cb84c0 Add %%lang tags to language locale files in /usr/share/i18n/locale (#1169044) 2014-12-05 18:44:50 +05:30
Siddhesh Poyarekar
0cda7232ae Use the %%find_lang macro to get the *.mo files (#1167445) 2014-12-05 16:39:35 +05:30
Siddhesh Poyarekar
e7f91b5b18 Fix changelog comment 2014-12-05 13:15:57 +05:30
Siddhesh Poyarekar
aeaedc4de5 Don't own any directories in /usr/share/locale 2014-12-05 12:23:29 +05:30
Siddhesh Poyarekar
a9ff8be89f Remove LIB_LANG
glibc no longer installs files in /usr/lib/locale, so we don't need to
have hacks in place for it anymore.
2014-12-05 12:21:56 +05:30
Kyle McMartin
eb16415e7a aarch64: revert optimized strchrnul.S implementation (rhbz#1167501) 2014-12-03 13:12:37 -05:00
Carlos O'Donell
66b39fa433 Auto-sync with upstream master. 2014-11-28 21:32:05 -05:00
Carlos O'Donell
ce126e12db Sync with upstream master. 2014-11-24 09:58:08 -05:00
Siddhesh Poyarekar
5c361d9107 Sync with upstream master 2014-11-05 16:06:52 +05:30
Siddhesh Poyarekar
b80bba4ee9 Make getconf return only /usr/bin (#1138835) 2014-11-05 15:57:23 +05:30
Arjun Shankar
88659d3bb8 Add patch to modify several tests to use test-skeleton.c. 2014-11-04 20:31:37 +01:00
Siddhesh Poyarekar
484979ccff Enable Systemtap SDT probes for all architectures (#985109) 2014-09-30 22:14:54 +05:30
Siddhesh Poyarekar
a391f0c0e6 Sync with upstream master 2014-09-30 22:14:50 +05:30
Siddhesh Poyarekar
49b191c05b Enable lock elision again on s390 and s390x 2014-09-30 22:04:19 +05:30
Carlos O'Donell
f8be71ca8c Resolves: #1146967
- Disable more Intel TSX usage in rwlocks (#1146967).

Conflicts:
	glibc.spec
2014-09-30 22:02:35 +05:30
Carlos O'Donell
f226d7de05 Add missing patch to git. 2014-09-26 23:51:03 -04:00
Carlos O'Donell
f515946248 Resolves: #1146967
- Disable lock elision support for Intel hardware until microcode
  updates can be done in early bootup (#1146967).
- Fix building test tst-strtod-round for ARM.
2014-09-26 23:44:17 -04:00
Siddhesh Poyarekar
a5b5c3d586 Sync with upstream master 2014-09-23 22:58:21 +05:30
Siddhesh Poyarekar
e9a7f4cb5d Run valgrind with the built glibc to ensure that it does not break 2014-09-23 16:58:34 +05:30
Siddhesh Poyarekar
7007495c88 Don't own common debuginfo directories. 2014-09-23 16:56:45 +05:30
Siddhesh Poyarekar
fcca21dd3e Move mips entry for shlib-versions to sysdeps 2014-09-18 13:16:17 +05:30
Siddhesh Poyarekar
d99b4a9d5a Fix up shlib-versions for rtkaio 2014-09-17 22:39:37 +05:30
Siddhesh Poyarekar
a9e37d2889 Actually upload sources 2014-09-17 22:17:15 +05:30
Siddhesh Poyarekar
7ba0787710 Sync with upstream master and revert patch for bz#737223
There was no rationale given for the change to fix bz#737223 and the
fix was never even proposed upstream.  This patch causes a test
failure in the glibc testsuite.  Revert the patch for now and do a
proper documented analysis if this actually results in any kind of
failure.
2014-09-16 22:34:22 +05:30
Siddhesh Poyarekar
afa87a3382 Build build-locale-archive statically again
build-locale-archive was switched to link dynamically in 538b3c08
without giving a proper reason for it.  The earlier static build was
wrong though, since it would happen against the installed glibc and
not the glibc being built.  The dynamic link was also similarly wrong,
more so because it would build against the built libc.so.6 and then
try to load the system libc.so.6.  This results in a failure in %post
in cases when the new build-locale-archive may have symbol references
that are not present in the old glibc.

There seem to be no good reason to run build-locale-archive with the
system libc.so.6, so the change is now reverted with a fixed up static
link that links against the build static libc.a.
2014-09-08 16:22:40 +05:30
Siddhesh Poyarekar
680bff1439 Sync with upstream master 2014-09-08 12:32:01 +05:30
Carlos O'Donell
7448524498 Resolves: #1124987.
- Allow up to 32 dlopened modules to use static TLS (#1124987).
- Run glibc tests in %%check section of RPM spec file.
- Do not run tests with `-k` and fail if any test fails to build.
2014-09-06 14:15:15 -04:00
Siddhesh Poyarekar
f64bffe28e Fix #1133134, #1119128 and sync with upstream master
- Use INTERNAL_SYSCALL in TLS_INIT_TP (#1133134).
- Remove gconv loadable module transliteration support (#1119128).
2014-08-26 14:11:00 +05:30
Dennis Gilmore
67767852ab add back sss to nsswitch.conf we have added workarounds in the tools 2014-08-22 14:13:29 -05:00
Kevin Fenzi
d0b1601820 Rebuild for rpm bug 1131960 2014-08-21 11:48:00 -06:00
Dennis Gilmore
87e4cc74d7 remove sss from default nsswitch.conf it causes issues with live image composing 2014-08-19 10:56:39 -05:00
Siddhesh Poyarekar
75bedb0a34 Auto-sync with upstream master for mass rebuild
- Auto-sync with upstream master.
- Revert to only defining __extern_always_inline for g++-4.3+.
- Fix build failure in compat-gcc-32 (#186410).
2014-08-14 00:07:02 +05:30
Siddhesh Poyarekar
d579c1af5b Auto-sync with upstream master 2014-07-29 00:25:03 +05:30
Siddhesh Poyarekar
3cb7ba0de8 Today is Wednesday, not Thursday 2014-07-23 14:04:08 +05:30
Siddhesh Poyarekar
2ca89eabf6 Undo last master sync to fix up rawhide
Fix up rawhide till we can figure out what the problem is with this
build.
2014-07-23 14:02:10 +05:30
Siddhesh Poyarekar
c54d242628 Auto-sync with upstream master. 2014-07-15 22:13:48 +05:30
Tom Callaway
e653c3c00e fix license handling 2014-07-12 11:16:06 -04:00
Siddhesh Poyarekar
dc2e7c6d31 Auto-sync with upstream master. 2014-07-07 22:35:01 +05:30
Siddhesh Poyarekar
1779efa74a Sync with upstream roland/nptl branch 2014-07-05 00:00:22 +05:30
Siddhesh Poyarekar
91f7360fcd Separate failed test outputs using a line 2014-07-04 22:26:53 +05:30
Siddhesh Poyarekar
dc6586efdd Pass the built-program-file to tst-mqueue7 instead of built-program-cmd
With upstream 8540f6d2a74fe9d67440535ebbcfa252180a3172,
built-program-cmd also has environment variables, which breaks the
test.
2014-07-04 22:26:50 +05:30
Siddhesh Poyarekar
8c5b9331ed Link tst-timer to librt.so only if it is in the rt subdir 2014-07-03 22:34:28 +05:30
Siddhesh Poyarekar
c1d88db4f5 Get actually failed tests from tests.sum 2014-07-03 22:18:36 +05:30
Siddhesh Poyarekar
2a7ce8ad67 Add placeholder rule for rtkaio check-abi
The rtkaio bits never had an abilist file, so check-abi would always
fail for it.  The real fix here is to generate an abilist for all
architectures, but for now add a target so that the test does not fail
and the test run completes to give us a tests.sum.
2014-07-03 22:16:11 +05:30
Siddhesh Poyarekar
92e8c5c418 Fix pthreadP.h include failure in the right way
All other uses include nptl/pthreadP.h, so go that way instead of the
extra -I flag.
2014-07-03 21:28:40 +05:30
Siddhesh Poyarekar
621363ca12 Add nptl to list of directories to include for rtkaio 2014-07-03 11:47:39 +05:30
Siddhesh Poyarekar
c96b7f7453 Actually remove nptl as addon 2014-07-03 11:13:32 +05:30
Siddhesh Poyarekar
1ea305b6fa Sync with roland/nptl upstream branch
Patches on this branch include nptl as a part of glibc instead of
being an addon.
2014-07-03 11:04:10 +05:30
Siddhesh Poyarekar
191c4db426 Sync with upstream master 2014-07-02 16:15:02 +05:30
Siddhesh Poyarekar
9eb38c10e7 Sync with upstream master 2014-06-24 17:41:51 +05:30
Kyle McMartin
b66a135726 AArch64: Save & restore NZCV (flags) upon entry to _dl_tlsdesc_dynamic
in order to work around GCC reordering compares across the TLS
  descriptor sequence (GCC PR61545.) Committing a (temporary) fix here
  allows us to avoid rebuilding the world with gcc 4.9.0-11.fc21.
2014-06-20 11:49:56 -04:00
Kyle McMartin
0c40cdae52 Remove ".1" from Release, which was added for the mass-rebuild.
No point in building this, but include it in the next rebase build.
2014-06-16 15:30:34 -04:00
Kyle McMartin
a0c2da6ecd Auto-sync with upstream master. 2014-06-16 13:45:03 -04:00
Siddhesh Poyarekar
8f0eca557f Auto-sync with upstream master. 2014-06-12 12:22:16 +05:30
Dennis Gilmore
19b41eb7aa - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild 2014-06-07 11:13:53 -05:00
Siddhesh Poyarekar
9d331e9d98 Sync with upstream master 2014-06-03 15:08:22 +05:30
Siddhesh Poyarekar
8da75f6fa4 Adjust rtkaio patches to build with latest upstream
Following commit upstream removed the definition for elfobjdir in
favour of elf-objpfx.  Adjust rtkaio to build with this.

commit 4134b50d6789c333707b1861a32314805bd0de5e
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Wed May 21 16:52:08 2014 +0000

    Consistently use $(elf-objpfx).

    As previously noted
    <https://sourceware.org/ml/libc-alpha/2013-05/msg00696.html>,
    $(elf-objpfx) and $(elfobjdir) are redundant and should be
    consolidated.  This patch consolidates on $(elf-objpfx) (for
    consistency with $(csu-objpfx)), also changing direct uses of
    $(common-objpfx)elf/ to use $(elf-objpfx).
2014-05-26 15:50:48 +05:30
Siddhesh Poyarekar
8710f4aaa6 Sync with upstream master 2014-05-26 13:25:00 +05:30
Kyle McMartin
b39b864460 Backport some upstream-wards patches to fix TLS issues on AArch64. 2014-05-21 22:06:50 -04:00
Kyle McMartin
abfaca544c AArch64: Fix handling of nocancel syscall failures (#1098327) 2014-05-21 15:34:20 -04:00
Siddhesh Poyarekar
25cc20651e Sync with upstream master
Fix up glibc-fedora-uname-getrlimit.patch to apply on top of recent
nptl code shuffle.
2014-05-15 12:26:54 +05:30
Carlos O'Donell
647ffb77fa Add initial support for displaying test results.
After each test run we output all of the test results
to the build logs. This includes PASS, FAIL, XPASS,
XFAIL results and the original error codes of the tests.

Without this fix the new upstream PASS/FAIL support
hides the test results from the build logs.
2014-05-14 12:52:50 -04:00
Carlos O'Donell
cffaeb6932 Add initial support for ppc64le. 2014-05-14 03:21:29 -04:00
Siddhesh Poyarekar
543337e954 Remove ports addon
All architectures inside ports have now been moved to the main
directory.
2014-04-29 15:15:58 +05:30
Siddhesh Poyarekar
f0de90dce8 Auto-sync with upstream master. 2014-04-29 14:58:45 +05:30
Siddhesh Poyarekar
4d17ec2120 Sync with upstream master 2014-04-18 12:14:38 +05:30
Siddhesh Poyarekar
c899b490ba Sync with upstream master
Fix up glibc-rh741105.patch so that it continues to apply correctly.
2014-04-10 21:40:30 +05:30
Siddhesh Poyarekar
3708995e5f Have the commit log and changelog reflect the nature of upstream sync
Write the commit log and changelog in the spec file in a manner that
reflects the fact that the sync was done by a script.
2014-04-10 17:44:05 +05:30
Siddhesh Poyarekar
b5ec0026f9 Sync with upstream master 2014-04-03 17:08:52 +05:30
Siddhesh Poyarekar
e7c5d54c2d Sync with upstream master. 2014-03-26 14:20:45 +05:30
Siddhesh Poyarekar
f6119bbf97 Add missing glibc-rh1078355.patch 2014-03-19 22:49:13 +05:30
Siddhesh Poyarekar
b7b25cd2fa Sync with upstream master
- Adjusted nscd.service patch
- Added fix for #1078355
2014-03-19 22:18:20 +05:30
Carlos O'Donell
5e984e4f24 Remove unused patch file. 2014-03-12 18:15:11 -04:00
Carlos O'Donell
43bff16613 Sync with upstream master.
Use cleaner upstream solution for -ftree-loop-distribute-patterns (#911307).
2014-03-12 18:13:23 -04:00
Carlos O'Donell
6b37058532 Update comments to match across other branches. 2014-03-05 16:13:37 -05:00
Siddhesh Poyarekar
51574b29c6 Sync with upstream master 2014-03-04 23:20:27 +05:30
Siddhesh Poyarekar
bdbcf83e82 Use nscd service files from glibc sources and make the service forking
Currently the nscd service is installed in systemd as a simple
service, which means that it is able to handle its own errors and does
not quit.  Since nscd does not fit that description, i.e. it can exit
on errors like, say, failing to parse nscd.conf, it should be declared
as forking instead.
2014-02-27 00:31:15 +05:30
Siddhesh Poyarekar
52f69e7bd5 Sync with upstream master and Resolve: #1069559 2014-02-25 15:22:53 +05:30
Carlos O'Donell
eaa1d42819 Fix failure load locale template.
The call to open_tmpl_archive was being passed a pointer to an
object allocated on the stack. The object on the stack is not
guaranteed to be initialized to zero so we need to minimally
initialize `fname' in the struct locarhandle to ensure that
open_tml_archive loads the default tempalte.

This error was seen while debugging glibc installs in a qemu
VM where it is more likely the stack pages were dirty. It has
not been reported on non-VM systems.
2014-02-24 22:33:35 -05:00
Siddhesh Poyarekar
c4fcabb222 Actually upload the new sources 2014-02-18 22:57:10 +05:30
Siddhesh Poyarekar
372014ca28 Sync with upstream master
We've sped past 2.19 now.
2014-02-18 22:48:17 +05:30
Siddhesh Poyarekar
c90adf8884 Sync with upstream master. 2014-02-04 13:17:38 +05:30
Siddhesh Poyarekar
80e87fcac5 Resolves: #1058258
Modify regular expressions to include powerpcle stubs-*.h.
2014-01-29 16:12:36 +05:30
Siddhesh Poyarekar
ef2183ca46 Add missing period to commit log and changelog 2014-01-29 14:46:39 +05:30
Siddhesh Poyarekar
66a6e936bd Fix typo in sync-upstream.sh 2014-01-29 10:47:59 +05:30
Siddhesh Poyarekar
68ca569f59 Sync with upstream master 2014-01-29 10:47:29 +05:30
Siddhesh Poyarekar
8e19d6350d Add a comment to the script describing usage 2014-01-29 10:21:40 +05:30
Siddhesh Poyarekar
9ede0d0c35 Add rawhide upstream sync script
Usage:

1. Invoke the script as follows:

       ./sync-upstream.sh upstream-repo

   where upstream-repo is the path to the synced upstream git repo.

2. Watch the script run.  If it proceeds to building the package, then
   everything seems good and you just need to test the build after it
   is complete.  If it exits before the build (you'll know if you read
   the output of the script) then manual intervention is required to
   complete the sync.  This will typically happen when a patch fails
   to apply on the new sources.
2014-01-29 10:21:40 +05:30
Siddhesh Poyarekar
56fa240739 Bump release number and fix changelog entry for last fix 2014-01-29 10:21:40 +05:30
Ville Skyttä
111d75b10f Own the %{_prefix}/lib/locale dir. 2014-01-25 20:52:16 +02:00
Siddhesh Poyarekar
e74f409fb9 Sync with upstream master 2014-01-23 15:15:41 +05:30
Siddhesh Poyarekar
0a210cc9b2 Back out ftell test case (#1052846) 2014-01-16 12:03:18 +05:30
Siddhesh Poyarekar
8ecbeeba6e Sync with upstream master and fix #1052846
- Sync with upstream master.
- Fix infinite loop in ftell when writing wide char data (#1052846).
2014-01-14 14:16:38 +05:30
Siddhesh Poyarekar
216cf91d8b Enable systemtap on Power and S/390 and sync up with upstream 2014-01-07 15:06:38 +05:30
Siddhesh Poyarekar
8e0f85bf4e Sync with upstream master 2013-12-27 11:06:36 +05:30
Siddhesh Poyarekar
893671e8e6 Sync with upstream master 2013-12-20 15:20:21 +05:30
Siddhesh Poyarekar
b04b5f9a6f Sync with upstream master 2013-12-04 11:17:23 +05:30
Siddhesh Poyarekar
439a9b91b6 Sync with upstream master 2013-11-28 18:17:19 +05:30
Siddhesh Poyarekar
f1f239ebf9 Sync with upstream master 2013-11-20 15:46:46 +05:30
Carlos O'Donell
91f5f14b93 Resolves: #1025126
- Enhance NSCD's SELinux support to use dynamic permission names (#1025126).
2013-11-09 02:15:56 -05:00
Siddhesh Poyarekar
56999f00cc Skip over unimplemented timezone format specifier in strptime
Fix pulled in as a result of the rebase.
2013-10-28 11:51:00 +05:30
Siddhesh Poyarekar
14915008a3 Sync with upstream master 2013-10-28 11:44:33 +05:30
Siddhesh Poyarekar
4d96e3246c Sync with upstream master 2013-10-21 15:06:43 +05:30
Carlos O'Donell
f6520166f4 Allow fill_archive to be called with NULL fname.
The fill_archive function should support being
called with a NULL fname argument. A NULL fname
argument indicates that the default archive should
be opened. We enable this by setting ah.fname to
NULL before initializing ah or calling open_archive.
This way if fname is NULL then ah.fname remains NULL
and open_archive opens the default archive.
2013-10-18 23:39:03 -04:00
Siddhesh Poyarekar
f03231b069 Sync with upstream master 2013-10-15 11:09:58 +05:30
Carlos O'Donell
c2021d0b30 Resolves: #1013801
- Allow applications to use pthread_atfork without explicitly
  requiring libpthread.so. (#1013801)
- Support `--list-archive FILE' in localedef utility.
2013-10-03 05:22:51 -04:00
Siddhesh Poyarekar
13a25e85c0 Define swap_endianness_p in build-locale-archive 2013-10-03 10:42:38 +05:30
Carlos O'Donell
9c4147aa9e Resolves: #1009145
- Allow ldconfig cached objects previously marked as hard or soft
  ABI to now become unmarked without raising an error. This works
  around a binutils bug that caused objects to become unmarked.
  (#1009145)
2013-10-02 21:34:56 -04:00
Siddhesh Poyarekar
4ef9594328 Fix PI mutex check for non-x86 and resync with upstream master 2013-10-01 20:23:50 +05:30
Carlos O'Donell
a9c7f8acc7 Resolves: #1009623
- Avoid the use of __block which is a reserved keyword for clang++
2013-09-24 02:01:06 -04:00
Siddhesh Poyarekar
bf5e654c21 Resync with upstream master 2013-09-23 13:22:23 +05:30
Carlos O'Donell
1a343f85fe Sync CVE-2013-4788 patch again (no NVR bump again). 2013-09-23 01:54:23 -04:00
Carlos O'Donell
593edbc2d5 Sync CVE-2013-4788 patch (no need for NVR bump). 2013-09-23 01:02:10 -04:00
Carlos O'Donell
2cd5135a96 Resolves: #985625
- Fix CVE-2013-4788: Static applications now support pointer mangling.
  Existing static applications must be recompiled (#985625).
2013-09-23 00:30:55 -04:00
Patsy Franklin
1939babb04 Resolves: #804768
-Require a specific version of binutils for s390/s390x support.
2013-09-19 10:23:27 -04:00
Siddhesh Poyarekar
fb87393c99 Resync with upstream master 2013-09-16 15:16:18 +05:30
Siddhesh Poyarekar
35b7508499 Resync with upstream master 2013-09-05 17:37:40 +05:30
Carlos O'Donell
db59a6354f Fix Power build (#997531). 2013-08-29 00:36:52 -04:00
Carlos O'Donell
b8280fad3d Fix indirect function support to avoid calling optimized routines
for the wrong hardware (#985342).
2013-08-28 00:34:43 -04:00
Siddhesh Poyarekar
97490e6a11 Initialize res_hconf in nscd 2013-08-26 12:23:11 +05:30
Siddhesh Poyarekar
25e270de7c Fix tst-aiod2 and tst-aiod3 test failures (#970865) 2013-08-22 15:08:00 +05:30
Siddhesh Poyarekar
735547c10e Fix an issue with the strcoll CVE patch
Expanded types for some variables to prevent overflow.
2013-08-22 11:10:25 +05:30
Siddhesh Poyarekar
e3b637cf01 Avoid inlining of cleanup function for kaio_suspend
Inlining of the function seems to be responsible for the unwind
function not adjusting the GOT pointer before calling the cleanup
function.
2013-08-22 11:07:15 +05:30
Siddhesh Poyarekar
615c1c4694 Remove non-ELF support in rtkaio 2013-08-20 10:14:34 +05:30
Siddhesh Poyarekar
f40b2eb05b Fix changelog and release number 2013-08-19 17:08:37 +05:30
Siddhesh Poyarekar
17b00fb789 Get rid of releng tarball
Add necessary files directly to the Fedora git tree and add rtkaio and
c_stubs bits as patches.
2013-08-19 17:05:59 +05:30
Siddhesh Poyarekar
f64a75b648 Fix buffer overflow in readdir_r (#995841, CVE-2013-4237) 2013-08-19 13:33:34 +05:30
Siddhesh Poyarekar
944ed516b0 Pull in systemd during build and use the tmpfilesdir macro. 2013-08-16 19:30:36 +05:30
Siddhesh Poyarekar
5817231d50 Upstream release 2.18 2013-08-16 19:26:44 +05:30
Carlos O'Donell
63769b1ddc Use %{_prefix} everywhere.
This patch fixes the spec file to use %{_prefix} everywhere that
is related to the package and subpackages. However, external
utilities are still referenced by their absolute path which
includes /usr.
2013-08-14 23:48:25 -04:00
Carlos O'Donell
5b97b46bb3 Use $rtkdestdir with alternate rtkaio libs.
Fix typo.
2013-08-14 15:51:47 -04:00
Carlos O'Donell
b8e4762c60 Revert `Move to /usr' transition.
The `Move to /usr' transition for glibc can not be completed
without support from RPM. There are too many Requires that
explicitly reference non-/usr paths in various spec files.
Reverting this patch is the only way forward until we find
a transitional way to support this.
2013-08-13 16:41:01 -04:00
Carlos O'Donell
62c3082486 Complete `Move to /usr' transition for package.
All relevant files are not installed to /usr, with the expectation
that the distribution will provide compatibility links from the
old paths to the new paths. All uses of a bare `/usr' have been
replaced with uses of `%{_prefix}' for files installed by the
package.
2013-08-13 13:18:15 -04:00
Carlos O'Donell
baa7ac6384 Fix typo in install_different local vars. 2013-08-09 00:48:21 -04:00
Carlos O'Donell
71c008f968 Refactor multilib install code.
Two large chunks of identical code are used to install the
non-default runtimes. This patch refactors that code into
the function `install_different' which is used to
conditionally install any libaries where different in the
new multilib (different from the default).
2013-08-09 00:41:01 -04:00
Carlos O'Donell
85447d4e89 Fix duplicate file warnings.
The find-debuginfo.sh script will return duplicate entries of
certain files even though the input is uinque. This results
in rpm build warnings like this:
~~~
Processing files: glibc-debuginfo-common-2.17.90-10.fc20.x86_64
warning: File listed twice: /usr/lib/debug/usr/sbin/build-locale-archive.debug
warning: File listed twice: /usr/lib/debug/usr/sbin/nscd.debug
warning: File listed twice: /usr/lib/debug/usr/sbin/zdump.debug
warning: File listed twice: /usr/lib/debug/usr/sbin/zic.debug
~~~

The solutions is to make the output file list uinque by post
processing it after it is output by find-debuginfo.sh.

The solution removes the warnings and produces no visible
change in the output rpms.
2013-08-08 12:29:39 -04:00
Carlos O'Donell
37b5e6be81 Avoid complex shell constructs.
Don't use subshells when not needed.

Don't use `|| :' to hide errors.
2013-08-08 11:24:25 -04:00
Karsten Hopp
f20c318f75 rebuild with the latest rpm to fix missing ld64.so provides on PPC 2013-08-07 15:18:48 +02:00
Carlos O'Donell
e009d66cdf 2.17.90-10
Bump version.

- Fix missing libbsd.a in debuginfo packages.
2013-07-29 14:36:48 -04:00
Carlos O'Donell
0d1d15d15b Use %{_libdir} instead of %{_prefix}/%{_lib}.
Using %{_libdir} is shorter to write and read and
means exactly the same thing. It also facilitates
experimenting with package layout by changing only
_libdir.
2013-07-29 14:34:27 -04:00
Carlos O'Donell
3bc8fa746f Reorder middle-phase install steps.
Testing showed that unstripped libbsd.a was missing from the list
of common debuginfo files. The fix is to move the "Misc" phase
to before the phase that adds files to the debuginfo. This way
the debuginfo files are computed after all files are in place.
2013-07-29 14:34:27 -04:00
Siddhesh Poyarekar
70cc4d3cc2 - Fix strcoll flaws (#855399, CVE-2012-4412, CVE-2012-4424). 2013-07-29 20:04:15 +05:30
Siddhesh Poyarekar
9a33c90499 Remove pt_chown and fix up spec file
I had forgotten to bump the release number and even add a changelog
entry earlier.  Do all that now.
2013-07-29 17:35:53 +05:30
Siddhesh Poyarekar
59f7846a1a Resync with upstream master 2013-07-29 16:47:41 +05:30
Carlos O'Donell
1d99c012ca Use -s' with truncate not -size'. 2013-07-25 20:30:58 -04:00
Carlos O'Donell
02e8252613 Remove obscure uses of shell redirections.
This patch makes the spec file slightly more friendly to non-shell
readers by changing "> foo" to "truncate -s 0 foo" and removes
the use of ">> foo". The use of ">> foo" is perhaps the most
interesting shell trick which is used to create a zero sized
debuginfocommon.filelist, but only if it doesn't already exist.
This allows the subsequent command to use debuginfocommon.filelist
without requiring it be wrapped in a check for
%{debuginfocommonarches}. That seems a little obtuse and certainly
confusing to the reader who expects such a check for anything
that is related to the debuginfo common package.
2013-07-25 20:17:30 -04:00
Carlos O'Donell
2eb150368a Second round of whitespace and indentation fixes. 2013-07-25 19:10:00 -04:00
Carlos O'Donell
d4d7effa6b Reindent functions and multi-line commands. 2013-07-25 18:53:13 -04:00
Carlos O'Donell
37714d015a Fix slowpow systemtap probe name.
- Correctly name the 240-bit slow path sytemtap probe slowpow_p10 for slowpow.
2013-07-25 15:46:20 -04:00
Carlos O'Donell
5a3b560f10 Reorganize the middle of the install phase.
The middle of the install phase is now clearly split into:
* Remove files we don't distribute.
* Install info files.
* Install locale files.
* Install configuration files for services.
* Install debug copies of unstripped static libs.
* Miscellaneous.
2013-07-24 23:00:43 -04:00
Carlos O'Donell
8c7b7c2248 Adjust comments. 2013-07-24 22:45:11 -04:00
Carlos O'Donell
dbc262b8ed Fix testsuite failures in static C++ tests.
Add build requirement on static libstdc++ library to fix testsuite failures
for static C++ tests.
2013-07-24 08:54:14 -04:00
Carlos O'Donell
9abcefa0aa Add extensive comments. 2013-07-24 07:58:38 -04:00
Carlos O'Donell
7e232bd35c Use pushd/popd for directory changes. 2013-07-24 01:27:35 -04:00
Carlos O'Donell
bf6cb48175 Remove trailing whitespace. 2013-07-24 01:22:37 -04:00
Siddhesh Poyarekar
a383e78f66 - Enable lock elision support (#982363).
- Depend on systemd instead of systemd-units (#983760).
2013-07-22 14:44:54 +05:30
Siddhesh Poyarekar
9d560ee089 Resync with upstream master 2013-07-09 23:15:48 +05:30
Carlos O'Donell
5e06266896 Fix %changelog indentation. 2013-07-08 17:17:33 -04:00
Siddhesh Poyarekar
cda6f0cb74 Remove unused patch glibc-rh847718.patch
The patch was merged into 2.17
2013-07-05 11:15:40 +05:30
Siddhesh Poyarekar
58028e9523 Resync with upstream master 2013-06-20 13:23:26 +05:30
Remi Collet
9a2e2fa7aa rebuild for new GD 2.1.0 2013-06-11 10:04:52 +02:00
Siddhesh Poyarekar
3cd9b9ce3d Resync with upstream master
Dropped upstreamed patches and adjusted others to apply to latest
upstream.
2013-06-04 22:23:45 +05:30
Siddhesh Poyarekar
1cb6060f99 Avoid crashing in LD_DEBUG when program name is unavailable
Resolves: #961238.
2013-05-14 20:18:28 +05:30
Patsy Franklin
e1a168f8a9 Resolves: #959034
- Fix _nl_find_msg malloc failure case, and callers. (#959034).
2013-05-05 20:19:47 -04:00
Patsy Franklin
3432a46817 Resolves: #952799
- Test init_fct for NULL, not result->__init_fct, after demangling (#952799).
2013-04-30 10:51:37 -04:00
Patsy Franklin
7f654232b1 Resolves: #892777 #952799
- Increase limits on xdr name and record requests (#892777).
  - Consistently MANGLE/DEMANGLE init_fct, end_fct and btow_fct (#952799).
2013-04-23 16:52:25 -04:00
Siddhesh Poyarekar
209568f516 Don't add input group during initgroups_dyn in hesiod (#921760) 2013-03-28 14:11:28 +05:30
Carlos O'Donell
bbd581848b Fix incorrect %changelog dates.
We had 16 incorrect %changelog dates that referenced
either the wrong day or wrong date for the day. All
such entries have been corrected using version control
information to determine the correct or most plausible
date. This fixes the Koji warnings about incorrect
dates in the %changelog.
2013-03-21 18:18:11 -04:00
Carlos O'Donell
37410dcf6c Remove duplicate comments in spec file. 2013-03-17 21:20:31 -04:00
Carlos O'Donell
b5a300152e 2.17-4
- Fixed i386 glibc builds (#917161).
  - Fixed multibyte character processing crash in regexp (#905877, CVE-2013-0242)
2013-03-17 20:13:38 -04:00
Carlos O'Donell
6cfdaac5b6 2.17-3
- Renamed release engineering directory to `releng' (#903754).
  - Fix building with gcc 4.8.0 (#911307).
2013-02-27 19:48:51 -05:00
Carlos O'Donell
b6dbc3f013 Ignore /.build* and /src directories in git. 2013-02-26 15:42:03 -05:00
Carlos O'Donell
db7fd60840 * Thu Feb 7 2013 Carlos O'Donell <carlos@redhat.com> - 2.17-2
- Fix ownership of /usr/lib[64]/audit (#894307).
  - Support unmarked ARM objects in ld.so.cache and aux cache (#905184).
2013-02-08 09:40:54 -05:00
Jeff Law
fb5a5a9b05 - Resync with official glibc-2.17 release 2013-01-01 08:00:53 -07:00
Jeff Law
48a6019250 - Resync with master 2012-12-21 13:50:00 -07:00
Jeff Law
01a2098723 + - Add rtld-debugger-interface.txt as documentation. (#872242) 2012-12-19 11:14:19 -07:00
Jeff Law
cdd3b0516c - Resync with master
- Drop patch for 731228 that is no longer needed.
2012-12-07 15:01:57 -07:00
Jeff Law
245f445471 Bump release. 2012-12-06 10:46:40 -07:00
Jeff Law
0a21292124 - Resync with master
- Patch for 697421 has been submitted upstream.
  - Drop local patch for 691912 that is no longer needed.
2012-12-06 10:45:03 -07:00
Jeff Law
7941460ddd Mark 731228 as having an upstream BZ (14898) 2012-12-04 09:11:08 -07:00
Jeff Law
4e1a9eb783 * Mon Dec 3 2012 Jeff Law <law@redhat.com> - 2.16.90-36
- Resync with master
  - Drop local patch for 657588 that is no longer needed.
  - Drop local patch for 740682 that is no longer needed.
  - Drop local patch for 770439 that is no longer needed.
  - Drop local patch for 789209 that is no longer needed.
  - Drop lotch patch for nss-files-overflow that seems
    useless.
  - Drop localedata-locales-fixes as they were rejected
    upstream.
  - Drop test-debug-gnuc-hack.patch that seems useless now.
  - Repack patchlist.
2012-12-03 13:37:41 -07:00
Jeff Law
d5297ae5f7 - Resync with master
- Drop local patch for 657588 that is no longer needed.
  - Drop lotch patch for nss-files-overflow that seems
    useless.
  - Repack patchlist.
2012-12-03 11:25:56 -07:00
Jeff Law
03545a8efd - Resync with master (#882137).
- Remove local patch for strict-aliasing warnings that
    is no longer needed.
  - Remove local patch for 730856 that is no longer needed.
  - Repack patchlist.
2012-11-30 14:01:46 -07:00
Jeff Law
f5dc60f992 - Remove local patch which "temporarily" re-added currences
obsoleted by the Euro.
2012-11-29 14:25:33 -07:00
Jeff Law
f0c53b1b9f - Remove hunks from strict-aliasing patch that are no longer
needed.
2012-11-29 14:20:27 -07:00
Jeff Law
e60d39c115 Fix typo in changelog 2012-11-29 10:59:46 -07:00
Jeff Law
e781949a22 - Resync with msater.
- Drop local patch for 788989.
  - Repack patchlist.
2012-11-29 10:56:43 -07:00
Jeff Law
e3a9f6982a - Resync with master.
- Drop local patch for 878913.
  - Drop local patch for 880666.
  - Drop local patch for 767693.
  - Repack patchlist.
2012-11-28 14:30:40 -07:00
Siddhesh Poyarekar
99d5069200 Bug fixes (878913, 880666)
- Ensure that hashtable size is greater than 3 (#878913).
  - fwrite returns 0 on EOF (#880666).
2012-11-27 21:31:22 +05:30
Jeff Law
0a6b9006e7 - Resync with upstream sources
- Drop local patch for getconf.
  - Repack patchlist.
2012-11-26 14:19:38 -07:00
Jeff Law
9625d850cd - Rsync with upstream sources
- Drop local patches for 803286, 791161, 790292, 790298
2012-11-16 06:33:25 -07:00
Jeff Law
91136bb3b9 - Resync with upstream sources (#873397) 2012-11-07 12:05:53 -07:00
Jeff Law
ae7fda09b1 Remove unwanted whitespace 2012-11-05 15:28:15 -07:00
Jeff Law
d7b378240d restore line dropped by fedpkg new-sources 2012-11-05 15:03:08 -07:00
Jeff Law
3a8f01ff81 Fix the subdirectory name in the -fedora tarball 2012-11-05 14:57:52 -07:00
Jeff Law
a7ee17d411 - Resync with upstream sources.
- Don't use distinct patches for 770869, 787201 and 688948
    as they all modify stuff under fedora/
  - Repack patchlist
2012-11-05 14:44:36 -07:00
Jeff Law
178231ee78 - Resync with upstream sources (#872336) 2012-11-02 12:08:02 -06:00
Jeff Law
1b5b2e3a41 - Rsync with upstream sources
- Drop 864820 patch as now that it's upstream.
  - Add sss to /etc/nsswitch.conf (#867473)
2012-10-22 10:00:55 -06:00
Jeff Law
69ddcb4ca7 - Rsync with upstream sources
- Drop local 552960-2 patch now that it's upstream.
  - Drop local 858274 patch now that the root problem is fixed upstream.
  - Repack patchlist.
2012-10-11 09:54:09 -06:00
Siddhesh Poyarekar
9589f53f78 Trivial spec fix: Today is not Friday 2012-10-10 17:20:38 +05:30
Siddhesh Poyarekar
609365c298 Fix Marathi names for Wednesday, September and October (#rh864820) 2012-10-10 14:48:01 +05:30
Jeff Law
0653cb1ba3 Resync with upstream 2012-10-05 12:27:58 -06:00
Jeff Law
665e71fb89 - Resync with upstream sources.
- Drop local stap patch now obsolete.
  - Drop local s390 patch which avoided problems with old assemblers
  - Drop old fortify source patch to deal with old compilers
2012-10-05 12:24:42 -06:00
Siddhesh Poyarekar
080a305bf2 Take mutex in cleanup only if it is not already taken (pr#14652) 2012-10-04 11:57:51 +05:30
Jeff Law
f6de48ac9d - Resync with upstream sources.
- Repack patchlist.
2012-10-02 06:41:58 -06:00
Jeff Law
66c0a7ea1d - Resync with upstream sources to pick up fma fixes 2012-10-01 06:37:36 -06:00
Jeff Law
b33c1d2300 * Fri Sep 28 2012 Jeff Law <law@redhat.com> - 2.16.90-18
- Resync with upstream sources.
  - Drop fedora-cdefs-gnuc.patch, it's not needed anymore.
  - Drop fedora-gai-rfc1918.patch, it's upstream now.
  - Drop fedora-localedata-no_NO.patch, it was supposed to be
    temporary -- that was back in 2003.   This should have been
    sorted out long ago.  We'll just have to deal with the
    fallout.
  - Drop fedora-vfprintf-sw6530.patch, it's upstream now.
  - Drop rh769421.patch; Siddhesh has fixed this properly with 552960.
2012-09-28 13:55:42 -06:00
Siddhesh Poyarekar
cdb17b58a8 Release mutex before going back to wait for PI mutexes (#552960). 2012-09-28 10:01:16 +05:30
Jeff Law
fab85b902e Resync with upstream sources 2012-09-25 20:27:59 -06:00
Jeff Law
3b7069e67c - Resync with upstream sources. 2012-09-25 20:25:26 -06:00
Jeff Law
55a30785d4 - Remove most of fedora-nscd patch as we no longer use the
old init files, but systemd instead.
  - Remove path-to-vi patch.  With the usr-move changes that
    patch is totally unnecessary.
  - Remove i686-nopl patch.  Gas was changed back in 2011 to
    avoid nopl.
  - Move gai-rfc1918 patch to submitted upstream status
2012-09-24 09:25:31 -06:00
Jeff Law
384f5b1f91 Bring back patch for 858274 2012-09-21 13:08:53 -06:00
Jeff Law
3e3b859747 Actually remove the patchfile 2012-09-21 12:51:04 -06:00
Jeff Law
cd9aa54a17 - Remove broken patch for 816647. 2012-09-21 12:50:11 -06:00
Siddhesh Poyarekar
7e2e80de95 Bring back byteswap-16.h (#859268) 2012-09-21 09:58:52 +05:30
Jeff Law
7f7468a795 Fix typo 2012-09-20 15:51:11 -06:00
Jeff Law
6d1baf2988 - Revert recent upstream strstr changes (#858274) 2012-09-20 15:46:19 -06:00
Jeff Law
67e76ace81 - Demangle function pointers before testing them (#816647) 2012-09-20 15:34:11 -06:00
Jeff Law
5e0541ba74 - Remove handling of /etc/localtime and /var/spool/postfix/etc/localtime
as systemd will be handling them from now on (#858735).
2012-09-20 15:03:18 -06:00
Jeff Law
3cb79f751c - Resync with upstream sources (#857236). 2012-09-14 14:42:59 -06:00
Peter Robinson
575bb8c6d7 Enable ports to fix FTBFS on ARM 2012-09-08 16:39:53 +01:00
Jeff Law
afeab8192b - Resync with upstream sources. 2012-09-05 22:23:20 -06:00
Jeff Law
98dddaf805 - Incorporate ppc64p7 arch changes (#854250) 2012-09-04 11:35:34 -06:00
Jeff Law
7f32dad8b0 - Resync with upstream sources. 2012-08-30 09:47:02 -06:00
Jeff Law
df41626e91 - Resync with upstream sources. 2012-08-22 22:11:53 -06:00
Jeff Law
f8556b4c45 - Replace manual systemd scriptlets with macroized scriptlets
(#850129)
2012-08-21 09:47:24 -06:00
Jeff Law
31474e7c11 Bump release. 2012-08-20 20:31:17 -06:00
Jeff Law
0436f62efd - Move /etc/localtime into glibc-common package since glibc-common
owns the scriptlets which update it.
2012-08-20 20:30:59 -06:00
Jeff Law
d2f39ec9ec Remove obsolete patches 2012-08-20 15:19:19 -06:00
Jeff Law
a0c4aeb2e1 Defuzz patch 2012-08-20 13:36:26 -06:00
Jeff Law
fb633eaa14 - Remove obsolete patches from glibc-fedora.patch. Explode
remaining patches into distinct patchfiles.  Thanks to
    Dmitry V. Levin for identifying them!
    Drop ia64 specific patches and specfile fragments
2012-08-20 13:25:02 -06:00
Jeff Law
8854fdfb25 - Remove obsolete patches from glibc-fedora.patch. Thanks to
Dmitry V. Levin for identifying them!
2012-08-20 12:08:39 -06:00
Jeff Law
acfd962c20 + - Fix integer overflow leading to buffer overflow in strto* (#847718) 2012-08-15 09:51:53 -06:00
Jeff Law
24dc568431 - Resync with upstream sources, drop obsolete patches.
- Drop glibc-ports bits as they're part of the master
    sources now.
2012-08-13 22:49:13 -06:00
Jeff Law
e784118c7b Bump release. 2012-08-13 11:15:16 -06:00
Jeff Law
f5845e2bd5 - Replace patch for 179072 with offical version from upstream. 2012-08-13 11:14:38 -06:00
Jeff Law
49bbcdd4a0 - Replace patch for 789238 with official version from upstream. 2012-08-10 09:44:26 -06:00
Jeff Law
d985507603 - Pack IPv4 servers at the start of nsaddr_list and
only track the number of IPV4 servers in EXT(statp->nscounti
(#808147)
  - Mark set*uid, set*gid as __wur (warn unused result) (#845960)
2012-08-06 11:46:20 -06:00
Jeff Law
64ea3f61e3 - Revert patch for BZ696143, it made it impossible to use IPV6
addresses explicitly in getaddrinfo, which in turn broke
    ssh, apache and other code. (#808147)
2012-07-26 00:00:05 -06:00
Jeff Law
054129c484 - Avoid another unbound alloca in vfprintf (#841318)
- Remove /etc/localtime.tzupdate in lua scriptlets
  - Revert back to using posix.symlink as posix.link with a 3rd
    argument isn't supported in the lua version embedded in rpm.
2012-07-25 23:30:39 -06:00
Jeff Law
b6a5cc17de - Revert recent changes to res_send (804630, 835090).
- Fix memcpy args in res_send (#841787).
2012-07-25 14:33:39 -06:00
Jeff Law
e7456d7df4 - Revert recent changes to res_send (804630, 835090).
- Fix memcpy args in res_send (#841787).
2012-07-25 14:32:59 -06:00
Dennis Gilmore
c567b667ba - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild 2012-07-19 01:56:05 -05:00
Jeff Law
d7543e8b4a - Use posix.link rather than posix.symlink in scriptlet to
update /etc/localtime (#837344).
2012-07-05 23:36:28 -06:00
Jeff Law
b151d5af8b Resync with upstream glibc-2.16 release. 2012-07-02 07:22:19 -06:00
Jeff Law
dd8ae6f66d - Resync with upstream sources, drop obsolete patch. 2012-06-22 13:30:06 -06:00
Jeff Law
5176c4e7b5 - Resync with upstream sources (#834447).
- Fix use-after-free in dcigettext.c (#816647).
2012-06-21 17:28:16 -06:00
Jeff Law
fd26ca323d Fix use-after-free in dcigettext.c (#816647). 2012-06-21 12:04:39 -06:00
Jeff Law
e949173fe2 Restore accidentally removed lines 2012-06-18 09:25:25 -06:00
Jeff Law
4d039e7529 Add missing glibc-ports line again 2012-06-18 09:03:21 -06:00
Jeff Law
b69ccc0178 Resync with master. 2012-06-15 09:23:17 -06:00
Jeff Law
8b98471a2c - Delay setting DECIDED field in locale file structure until
we have read the file's data (#827510).
2012-06-14 21:52:07 -06:00
Dennis Gilmore
ebc13c27b8 actually apply the arm linker hack 2012-06-12 21:01:29 -05:00
Dennis Gilmore
6b0fcd959e add the armhfp linker hack patch 2012-06-11 20:38:11 -05:00
Dennis Gilmore
69de1410b1 only deal with the arm linker compat hack on armhfp arches
- armsfp arches do not have a linker change
- Backward compat hack for armhf binaries.
2012-06-11 20:32:35 -05:00
Jeff Law
6ae22f0ed1 Defuzz-patch 2012-06-07 12:16:27 -06:00
Jeff Law
218bae2116 Remove extraneous newline 2012-06-07 12:07:59 -06:00
Jeff Law
e20289d31a Fix parsing of /etc/sysconfig/clock when ZONE has spaces. (#828291) 2012-06-07 11:54:50 -06:00
Jeff Law
b63a792795 Remove unnecessary comment, updated sources 2012-06-05 12:00:01 -06:00
Jeff Law
fdfcf25434 - Resync with upstream sources, drop unnecessary patches. 2012-06-05 11:54:14 -06:00
Jeff Law
77881379e9 - Fix DoS in RPC implementation (#767693)
- Remove deprecated alpha support.
  - Remove redundant hunk from patch. (#823905)
2012-06-05 11:35:03 -06:00
Jeff Law
0d1b1bab4a Restore lost line 2012-06-04 16:22:43 -06:00
Patsy Franklin
7e7bd1effe Merge branch 'master' of ssh://pkgs.fedoraproject.org/glibc
Conflicts:
	glibc.spec
2012-06-01 16:06:21 -04:00
Patsy Franklin
1559b7b925 Resolves: sw14134
- Fix iconv() segfault when the invalid multibyte character 0xffff is input when
  converting from IBM930.
2012-06-01 15:08:41 -04:00
Jeff Law
5527dc5be5 Abbreviate June to make fedpkg happy 2012-05-31 21:44:50 -06:00
Jeff Law
50faa1bb23 Fix date 2012-05-31 21:44:15 -06:00
Jeff Law
2e586db7b5 - Resync with upstream sources. (#827040) 2012-05-31 21:43:32 -06:00
Patsy Franklin
200aebfe55 Fix fnmatch() when '*' wildcard is applied on a file name containing multibyte chars. (#819430/14185) 2012-05-31 16:21:36 -04:00
Jeff Law
e1b411d16d - Resync with upstream sources.
Lots of local systemtap bits are now upstream and no longer needed as
local changes.
2012-05-30 00:22:40 -06:00
Jeff Law
bb3a5a5ad9 - Build info files in the source dir, then move to objdir
to avoid multilib conflicts (#825061)
2012-05-29 23:19:23 -06:00
Jeff Law
6610971096 - Work around RPM dropping the contents of /etc/localtime
when it turns into a symlink with %post common script (#825159).
2012-05-25 15:16:21 -06:00
Jeff Law
6d522a8eb2 - Fix option rotate when one IPV6 server is enabled (#804630)
- Reenable slow/uberslow path taps slowpow/slowexp.
2012-05-23 13:46:47 -06:00
Jeff Law
f7dfce46ed - Resync with upstream sources. 2012-05-23 12:18:07 -06:00
Jeff Law
9b14d89a52 - Fix tzdata trigger (#822200) 2012-05-22 23:08:44 -06:00
Jeff Law
d1134780a2 - Make the symlink relative rather than linking into the buildroot
(#822200)
2012-05-22 22:21:50 -06:00
Patsy Franklin
998f7d1a8d Resolves: #822200
-Completed prior change to make /etc/localtime a symlink.
2012-05-22 16:25:33 -04:00
Patsy Franklin
423d527c1d Resolves: #822200
Changed /etc/localtime to a symlink. 8222000 (#822200)
2012-05-22 14:58:09 -04:00
Jeff Law
2bd73a18b3 - Update to upstream patch for 806070 (#806070) 2012-05-15 22:21:22 -06:00
Jeff Law
86a57e60b3 - Update upstream patch for AVX testing (#801650) 2012-05-14 11:53:42 -06:00
Jeff Law
d2e0d47266 - Upstream patch to fix AVX testing (#801650) 2012-05-11 15:49:43 -06:00
Jeff Law
6403acaa71 - Try again to fix AVX testing (#801650) 2012-05-10 20:57:08 -06:00
Jeff Law
111ecf779a Move patch for FORTIFY_SOURCE warning into patches from upstream 2012-05-08 21:34:35 -06:00
Jeff Law
4c937b3960 Replace local variant with upstream version 2012-05-08 21:33:53 -06:00
Jeff Law
49f951b0b5 Fix glibc-arm-hardflow-2.patch. 2012-05-08 12:44:43 -06:00
Jeff Law
e5e2fc3bd7 Update arm-hardfloat patch 2012-05-07 13:47:26 -06:00
Jeff Law
6537aa83a1 - Improve fortification disabled warning.
- Change location of dynamic linker for armhf.
2012-05-07 12:06:40 -06:00
Jeff Law
a540ed36fe - Implement context routines for ARM (#817276) 2012-04-30 14:04:07 -06:00
Jeff Law
64e6774cce - Issue a warning if FORTIFY_CHECKING is requested, but disabled. 2012-04-13 11:24:58 -06:00
Jeff Law
f818b5c715 + - Fix another unbound alloca in nscd groups (#788989) 2012-04-12 09:52:32 -06:00
Jeff Law
92f265ff30 Separate patch list into not likely to upstream, upstream, pending
upstream.  Remove unnecessary ia64 patch. No functional changes.
2012-04-05 15:59:29 -06:00
Jeff Law
073b690e45 - Fix first day of week for lv_LV (#682500) 2012-04-03 11:19:38 -06:00
Jeff Law
c30958093b - When retrying after main arena failure, always retry in a
different arena. (#789238)
2012-04-02 21:24:18 -06:00
Jeff Law
ca8adba640 Final version of the 804792 patch. No functional changes. 2012-03-30 09:56:08 -06:00
Jeff Law
5022ed713c Avoid unbound alloca usage in *-crypt routines (#804792) 2012-03-29 12:46:29 -06:00
Jeff Law
d004e5468f Fix data race in nscd (#806070) 2012-03-29 10:25:56 -06:00
Jeff Law
ccb21a9b27 - Fix typo in __nss_getent (#806403). 2012-03-23 14:03:01 -06:00
Jeff Law
4ad934832a - Add doi_IN, sat_IN and mni_IN to SUPPORTED locals (#803286)
- Add stap probes in slowpow and slowexp.
2012-03-14 21:21:22 -06:00
Jeff Law
d893fa43b7 - Fix AVX checks (#801650) 2012-03-09 15:20:06 -07:00
Jeff Law
b113737687 - Fix AVX checks (#801650) 2012-03-09 15:19:08 -07:00
Jeff Law
b8fef868f3 - Set errno properly in vfprintf (#794797)
- Don't kill application when LD_PROFILE is set. (#800224)
2012-03-07 12:20:16 -07:00
Jeff Law
978e71e3df - Always mark vDSO as used (#758888) 2012-02-29 12:50:51 -07:00
Jeff Law
296965fe20 - Fix out of bounds memory access in resolver (#798471) 2012-02-29 09:46:36 -07:00
Jeff Law
f2aa906557 Fix typo 2012-02-24 10:51:48 -07:00
Jeff Law
c0564b95e0 - Fix bogus underflow (#760935)
- Correctly handle dns request where large numbers of A and AAA
    records
    are returned (#795498)
  - Fix nscd crash when group has many members (#788959)
2012-02-24 10:41:06 -07:00
Jeff Law
0e190d479d - Avoid "nargs" integer overflow which could be used to bypass
FORTIFY_SOURCE (#794797)
2012-02-20 21:21:30 -07:00
Jeff Law
a7a908e669 - Fix main arena locking in malloc/calloc retry path (#789238) 2012-02-20 14:23:27 -07:00
Jeff Law
ecc055dd90 - Correctly identify all 127.x.y.z addresses (#739743)
- Don't assign native result if result has no associated interface
(#739743)
2012-02-17 12:36:00 -07:00
Jeff Law
0e9bf8be6a Fixup 730856 bits 2012-02-17 11:17:21 -07:00
Jeff Law
fc9b7c8869 Ignore link-local IPV6 addresses for AI_ADDRCONFIG (#697149) 2012-02-17 11:05:38 -07:00
Jeff Law
817ee79b35 Fix reply buffer mismanagement in resolver (#730856) 2012-02-16 23:01:37 -07:00
Jeff Law
47621c91be - Add doi_IN (#791161) 2012-02-16 09:25:08 -07:00
Jeff Law
b22f1f5d25 Revert "Fix lost wakeups in pthread_cond_*. (#552960, #769421)"
This reverts commit 0f6595ecf5.
2012-02-16 09:22:24 -07:00
Jeff Law
a200e9e81f - Add sat_IN (#790292)
- Add mni_IN (#790298)
2012-02-14 09:54:55 -07:00
Jeff Law
0f6595ecf5 Fix lost wakeups in pthread_cond_*. (#552960, #769421) 2012-02-10 12:56:02 -07:00
Jeff Law
48de2e8094 Remove unwanted hunks 2012-02-10 12:47:23 -07:00
Jeff Law
ffdb8099ce Clarify info page for snprintf (#564528) 2012-02-09 23:50:17 -07:00
Jeff Law
a3c3ac2213 Fix first_weekday and first_workday for ru_UA (#624296) 2012-02-09 23:01:54 -07:00
Jeff Law
930810752a Update patch for Fedora 2012-02-09 22:33:20 -07:00
Jeff Law
29567a505d Fix currency_symbol for uk_UA (#789209) 2012-02-09 22:16:57 -07:00
Jeff Law
5c2160b7f3 Fix weekday names in Kashmiri locale (#770439) 2012-02-09 10:47:47 -07:00
Jeff Law
cd1492e433 Removing unused patchfile. 2012-02-09 10:43:42 -07:00
Jeff Law
b8f291fb63 Remove change for 787662, correct fix is in gcc. 2012-02-07 22:12:19 -07:00
Jeff Law
7472f9034f Find cpp in /usr/bin too (#767662) 2012-02-07 12:03:30 -07:00
Jeff Law
a8b5679282 More accurately detect if we're in a chroot (#688948) 2012-02-06 12:19:06 -07:00
Jeff Law
46bc83a891 - Add fedfs to /etc/rpc (#691912) 2012-02-03 14:32:45 -07:00
Jeff Law
af740e08c9 - Run nscd in the foreground w/ syslogging, fix systemd config (#770869) 2012-02-03 13:42:46 -07:00
Jeff Law
92f446a92e - Avoid mapping past end of shared object (#741105) 2012-02-03 11:03:58 -07:00
Jeff Law
360c4a1c78 - Turn off -mno-minimal-toc on PPC (#787201)
- Remove hunk from glibc-rh657588.patch that didn't belong
2012-02-03 09:30:02 -07:00
Jeff Law
2a042bc0f7 Fix month abbreviations for zh_CN (#657588) 2012-02-01 09:52:38 -07:00
Jeff Law
dd7f54d17d Prevent erroneous inline optimization of initfini.s on PowerPC64 (#783979) 2012-02-01 09:37:08 -07:00
Jeff Law
7b27d27fa9 Use upstream variant of fix for 740506. 2012-02-01 09:32:10 -07:00
Jeff Law
70c5758f43 - Sort objects before relocations (sw#13618)
- Fix bogus sort code that was copied from dl-deps.c.
2012-01-29 22:24:24 -07:00
Jeff Law
61e27a5181 Resolves: #740682 2012-01-26 11:57:01 -07:00
Jeff Law
e8db5b4063 - Add aliases for ISO-10646-UCS-2 (#697421) 2012-01-26 11:03:17 -07:00
Jeff Law
1f95681b6e Bump version# 2012-01-25 21:58:33 -07:00
Jeff Law
c89b9e0c47 Resolves: #179072 2012-01-25 21:57:42 -07:00
Jeff Law
26b6b52f86 Break systemtap patches out of glibc-fedora.patch into glibc-stap.patch 2012-01-25 21:42:59 -07:00
Jeff Law
68357f8e9f - Fix first workday/weekday for it_IT (#622499)
- Fix type to uint16_t based on upstream comments (729661)
  - Do not cache negative results in nscd if these are transient
    (#784402)
2012-01-24 21:23:41 -07:00
Jeff Law
a434010a7c - Update ports from master. 2012-01-24 14:43:00 -07:00
Jeff Law
ee7ce9fbc1 - Fix first workday/weekday for it_IT (#446078)
- Fix first workday/weekday for ca_ES (#454629)
2012-01-23 15:00:11 -07:00
Jeff Law
4dc232f59d Fix cycle detection & overflows (729661) 2012-01-23 14:41:49 -07:00
Dennis Gilmore
d9d4748f79 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild 2012-01-12 21:37:06 -06:00
Jeff Law
b37e2e87ad Fix after update from upstream glibc-2.15 2012-01-01 21:02:29 -07:00
Jeff Law
71ecd3cdb4 Update from master (a316c1f) 2012-01-01 18:33:52 -07:00
Jeff Law
25912eaa88 - Update from master (16c6f99)
- Fix typo in recent tzfile change (#769476)
  - Make MALLOC_ARENA_MAX and MALLOC_ARENA_TEST match documentation
    (#740506)
  - Revert "fix" to pthread_cond_wait (#769421)
  - Extract patch for 730856 from fedora-patch into a distinct patchfile
2011-12-22 19:25:40 +00:00
Jeff Law
f79eb1f502 - Update from master (a4647e7). 2011-12-20 05:46:44 +00:00
Jeff Law
8cbc6b28a5 Merge remote-tracking branch 'origin/f16' 2011-12-19 06:15:17 +00:00
Jeff Law
51c5ad2484 Merge remote-tracking branch 'origin/f16' 2011-12-19 05:19:27 +00:00
Jeff Law
be95b8a4be Merge commit '73a44fd641e793a360bd1fbd6ef24457cea97697'
Conflicts:
	glibc.spec
2011-12-15 22:02:00 -07:00
Jeff Law
c388b17ae9 Merge branch 'master' of ssh://pkgs.fedoraproject.org/glibc 2011-12-15 19:51:34 -07:00
Dennis Gilmore
07d0fb6d79 Merge branch 'f16' 2011-12-12 12:32:20 -06:00
Jeff Law
1aa714a9d7 Merge commit '341defed2c87effd2001a971e3710f63a8473825' 2011-12-12 11:23:59 -07:00
Dennis Gilmore
f0d2fdc7e8 Merge branch 'f16'
Conflicts:
	glibc.spec
2011-12-12 11:48:56 -06:00
Jeff Law
608edcf2b6 Merge remote-tracking branch 'origin/f16'
Conflicts:
	glibc.spec
2011-12-06 11:20:45 -07:00
Dennis Gilmore
b327b51c2f add disttag 2011-11-30 21:46:10 -06:00
Dennis Gilmore
50477821bc Merge branch 'f16'
Conflicts:
	glibc.spec
2011-11-30 21:45:48 -06:00
Jeff Law
17ee0781d1 Fix typo in changelog 2011-11-21 11:13:07 -07:00
Jeff Law
f2c76e2b1b Add upstream BZ# to -19 update 2011-11-21 10:42:04 -07:00
Jeff Law
5d47a9295a * Fri Nov 18 2011 Jeff Law <law@redhat.com> - 2.14.90-19
- Check malloc areana atomically
  - Don't call reused_arena when _int_new_arena failed (#753601)

* Wed Nov 16 2011 Jeff Law <law@redhat.com> - 2.14.90-18
  - Fix grouping and reuse other locales in various locales (BZ#13147)

* Tue Nov 15 2011 Jeff Law <law@redhat.com> - 2.14.90-17
  Revert bogus commits/rebasing of Nov 14, Nov 11 and Nov 8.  Sources
  should be equivalent to Fedora 16's initial release.

Pulled into master (f17)
2011-11-21 10:33:40 -07:00
55 changed files with 11478 additions and 58503 deletions

10
.gitignore vendored
View File

@ -1,4 +1,6 @@
/glibc-ports-2.14-25-gd3d9bde.tar.xz
/glibc-2.14-394-g8f3b1ff-fedora.tar.xz
/glibc-2.14-394-g8f3b1ff.tar.xz
glibc-2.14-394-g8f3b1ff
# Release tarballs.
/glibc-*.tar.[gx]z
# Generated (source) RPMs.
/*.rpm
# Expanded source trees.
/glibc-*/

6058
ChangeLog.old Normal file

File diff suppressed because it is too large Load Diff

34
README.quilt Normal file
View File

@ -0,0 +1,34 @@
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!

2
README.scripts Normal file
View File

@ -0,0 +1,2 @@
All of the useful glibc maintainer scripts are located at:
https://pagure.io/glibc-maintainer-scripts

97
STAGE1-glibc Normal file
View File

@ -0,0 +1,97 @@
srpm glibc
# setup glibc
# This path MUST be relative, not absolute
GV=$(cd $SRC; echo glibc-2*)
if [ "$TARGET_ARCH" == "armv7hl" ]; then
# rtkaio not supported on ARM
rm -rf $SRC/$GV/rtkaio
fi
GLIBCARGS="--prefix=/usr
--with-headers=$ROOTFS/usr/include
--enable-kernel=2.6.32
--enable-bind-now
--build $BUILD
--host $TARGET
--disable-profile
--cache-file=config.cache
--without-cvs
--with-elf
--without-gd
--disable-sanity-checks
--with-tls
--with-__thread
--enable-obsolete-rpc
"
mcd $BUILDDIR/glibc
# prefill glibc cache
echo libc_cv_forced_unwind=yes > config.cache
echo libc_cv_c_cleanup=yes >> config.cache
#echo libc_cv_ctors_header=yes >> config.cache
echo ac_cv_header_cpuid_h=yes >> config.cache
echo libc_cv_gcc_builtin_expect=yes >> config.cache
$SRC/$GV/configure $GLIBCARGS
notparallel
make $J ARCH=${KARCH} BUILD_CC=gcc cross-compiling=yes
make DESTDIR=$ROOTFS $J ARCH=${KARCH} BUILD_CC=gcc cross-compiling=yes install
( cd $ROOTFS/usr/include/bits
sed '/ifndef.*NO_LONG_DOUBLE/,/#endif/d' < mathdef.h > mathdef.h.new
mv mathdef.h.new mathdef.h
)
# 32-bit multilib libgcc needs 32-bit headers
if [ ! "$TARGET32" = "" ]; then
old_CC=$CC
old_CXX=$CC
export CC="$TARGET-gcc -m32"
export CXX="$TARGET-g++ -m32"
GLIBCARGS="--prefix=/usr
--with-headers=$ROOTFS/usr/include
--enable-kernel=2.6.32
--enable-bind-now
--build $BUILD
--host $TARGET32
--disable-profile
--cache-file=config.cache
--without-cvs
--with-elf
--without-gd
--disable-sanity-checks
--with-tls
--with-__thread
--enable-obsolete-rpc
"
mcd $BUILDDIR/glibc32
# prefill glibc cache
echo libc_cv_forced_unwind=yes > config.cache
echo libc_cv_c_cleanup=yes >> config.cache
echo libc_cv_ctors_header=yes >> config.cache
echo ac_cv_header_cpuid_h=yes >> config.cache
echo libc_cv_gcc_builtin_expect=yes >> config.cache
$SRC/$GV/configure $GLIBCARGS
notparallel
make $J ARCH=${KARCH} BUILD_CC=gcc cross-compiling=yes
make DESTDIR=$ROOTFS $J ARCH=${KARCH} BUILD_CC=gcc cross-compiling=yes install
( cd $ROOTFS/usr/include/bits
sed '/ifndef.*NO_LONG_DOUBLE/,/#endif/d' < mathdef.h > mathdef.h.new
mv mathdef.h.new mathdef.h
)
CC=$old_CC
CXX=$old_CXX
export $CC
export $CXX
fi

117
STAGE1-glibc-headers Normal file
View File

@ -0,0 +1,117 @@
set -vx
srpm glibc
# setup glibc
# This path MUST be relative, not absolute
GV=$(cd $SRC; echo glibc-2*)
GLIBCARGS="--prefix=/usr
--with-headers=$ROOTFS/usr/include
--enable-kernel=2.6.32
--enable-bind-now
--build $BUILD
--host $TARGET
--disable-profile
--cache-file=config.cache
--without-cvs
--with-elf
--without-gd
--disable-sanity-checks
--with-tls
--with-__thread
--enable-obsolete-rpc
"
mcd $BUILDDIR/glibc-stage1
# prefill glibc cache
echo libc_cv_forced_unwind=yes > config.cache
echo libc_cv_c_cleanup=yes >> config.cache
#echo libc_cv_ctors_header=yes >> config.cache
echo ac_cv_header_cpuid_h=yes >> config.cache
echo libc_cv_gcc_builtin_expect=yes >> config.cache
$SRC/$GV/configure $GLIBCARGS
notparallel
make DESTDIR=$ROOTFS $J ARCH=${KARCH} BUILD_CC=gcc cross-compiling=yes install-headers
touch $ROOTFS/usr/include/gnu/stubs.h
touch $ROOTFS/usr/include/bits/stdio_lim.h
( cd $ROOTFS/usr/include/bits
sed '/ifndef.*NO_LONG_DOUBLE/,/#endif/d' < mathdef.h > mathdef.h.new
mv mathdef.h.new mathdef.h
)
# We also build just enough files to link libgcc.so. The fake
# libc.so will never actually get used, but simplifies the boostrap.
make $J ARCH=${KARCH} BUILD_CC=gcc cross-compiling=yes csu/subdir_lib
mkdirp $ROOTFS/usr/lib${SUFFIX}
for file in `cd csu; echo crt*.o`; do
echo "" | $TARGET-as -o $ROOTFS/usr/lib${SUFFIX}/$file
done
$TARGET-gcc -nostdlib -nostartfiles -shared -x c /dev/null\
-o $ROOTFS/usr/lib${SUFFIX}/libc.so
# 32-bit multilib libgcc needs stub 32-bit libraries
if [ ! "$TARGET32" = "" ]; then
old_CC=$CC
old_CXX=$CC
export CC="$TARGET-gcc -m32"
export CXX="$TARGET-g++ -m32"
# setup 32-bit glibc headers
GLIBCARGS="--prefix=/usr
--with-headers=$ROOTFS/usr/include
--enable-kernel=2.6.32
--enable-bind-now
--build $BUILD
--host $TARGET32
--disable-profile
--cache-file=config.cache
--without-cvs
--with-elf
--without-gd
--disable-sanity-checks
--with-tls
--with-__thread
--enable-obsolete-rpc
"
mcd $BUILDDIR/glibc32-stage1
# prefill glibc cache
echo libc_cv_forced_unwind=yes > config.cache
echo libc_cv_c_cleanup=yes >> config.cache
#echo libc_cv_ctors_header=yes >> config.cache
echo ac_cv_header_cpuid_h=yes >> config.cache
echo libc_cv_gcc_builtin_expect=yes >> config.cache
$SRC/$GV/configure $GLIBCARGS
notparallel
make DESTDIR=$ROOTFS $J ARCH=${KARCH} BUILD_CC=gcc cross-compiling=yes install-headers
touch $ROOTFS/usr/include/gnu/stubs.h
touch $ROOTFS/usr/include/bits/stdio_lim.h
( cd $ROOTFS/usr/include/bits
sed '/ifndef.*NO_LONG_DOUBLE/,/#endif/d' < mathdef.h > mathdef.h.new
mv mathdef.h.new mathdef.h
)
# We also build just enough files to link libgcc.so. The fake
# libc.so will never actually get used, but simplifies the boostrap.
make $J ARCH=${KARCH} BUILD_CC=gcc cross-compiling=yes csu/subdir_lib
mkdirp $ROOTFS/usr/lib
for file in `cd csu; echo crt*.o`; do
echo "" | $TARGET-as --32 -o $ROOTFS/usr/lib/$file
done
$CC -m32 -nostdlib -nostartfiles -shared -x c /dev/null\
-o $ROOTFS/usr/lib/libc.so
CC=$old_CC
CXX=$old_CXX
export $CC
export $CXX
fi

494
SUPPORTED Normal file
View File

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

77
bench.mk Normal file
View File

@ -0,0 +1,77 @@
objpfx = $(prefix)/$(ver)/usr/libexec/glibc-benchtests/
bench-math := acos acosh asin asinh atan atanh cos cosh exp exp2 ffs ffsll \
log log2 modf pow rint sin sincos sinh sqrt tan tanh
bench-pthread := pthread_once
bench := $(bench-math) $(bench-pthread)
run-bench := $(prefix)/$(ver)/lib64/ld-linux-x86-64.so.2 --library-path $(prefix)/$(ver)/lib64 $${run}
# String function benchmarks.
string-bench := bcopy bzero memccpy memchr memcmp memcpy memmem memmove \
mempcpy memset rawmemchr stpcpy stpncpy strcasecmp strcasestr \
strcat strchr strchrnul strcmp strcpy strcspn strlen \
strncasecmp strncat strncmp strncpy strnlen strpbrk strrchr \
strspn strstr strcpy_chk stpcpy_chk memrchr strsep strtok
string-bench-all := $(string-bench)
stdlib-bench := strtod
benchset := $(string-bench-all) $(stdlib-bench)
bench-malloc := malloc-thread
binaries-bench := $(addprefix $(objpfx)bench-,$(bench))
binaries-benchset := $(addprefix $(objpfx)bench-,$(benchset))
binaries-bench-malloc := $(addprefix $(objpfx)bench-,$(bench-malloc))
DETAILED_OPT :=
ifdef DETAILED
DETAILED_OPT := -d
endif
bench: bench-set bench-func bench-malloc
bench-set: $(binaries-benchset)
for run in $^; do \
outfile=$(prefix)/$$(basename $${run}.$(ver).out); \
echo "Running $${run}"; \
$(run-bench) > $${outfile}.tmp; \
mv $${outfile}{.tmp,}; \
done
bench-malloc: $(binaries-bench-malloc)
run=$(objpfx)bench-malloc-thread; \
outfile=$(prefix)/$$(basename $${run}.$(ver).out); \
for thr in 1 8 16 32; do \
echo "Running $${run} $${thr}"; \
$(run-bench) $${thr} > $${outfile}.tmp; \
mv $${outfile}{.tmp,}; \
done
# Build and execute the benchmark functions. This target generates JSON
# formatted bench.out. Each of the programs produce independent JSON output,
# so one could even execute them individually and process it using any JSON
# capable language or tool.
bench-func: $(binaries-bench)
{ echo "{\"timing_type\": \"hp-timing\","; \
echo " \"functions\": {"; \
for run in $^; do \
if ! [ "x$${run}" = "x$<" ]; then \
echo ","; \
fi; \
echo "Running $${run}" >&2; \
$(run-bench) $(DETAILED_OPT); \
done; \
echo; \
echo " }"; \
echo "}"; } > $(prefix)/bench.$(ver).out-tmp; \
if [ -f $(prefix)/bench.$(ver).out ]; then \
mv -f $(prefix)/bench.$(ver).out{,.old}; \
fi; \
mv -f $(prefix)/bench.$(ver).out{-tmp,}
# scripts/validate_benchout.py bench.out \
# scripts/benchout.schema.json

14
gen-quilt-series.sh Executable file
View File

@ -0,0 +1,14 @@
#!/bin/bash
# Autogeneries the quilt `series` from the patch order in the spec file.
# We don't use `quilt setup` because it makes a huge mess and doesn't work.
component="glibc"
rm -f series.new
extra_args="--fuzz=0"
count=0
# Transform patches into series file.
grep '^Patch.*:' glibc.spec | sed -e 's,Patch.*: ,,g' > series.new
count=`wc -l series.new | sed -e 's, .*$,,g'`
echo "Processed $count patches."
mv series.new series
echo "Generated quilt ./series file. Please do not commit."
exit 0

View File

@ -1,146 +0,0 @@
commit 77cdc054e02069d72dcf54a9ad7d7df3a24bcb01
Author: Andreas Schwab <schwab@redhat.com>
Date: Wed Nov 9 17:14:39 2011 +0100
Check malloc arana limit atomically
diff --git a/ChangeLog b/ChangeLog
index bf09161..edd7dd8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2011-11-14 Andreas Schwab <schwab@redhat.com>
+
+ * malloc/arena.c (arena_get2): Don't call reused_arena when
+ _int_new_arena failed.
+
+2011-11-10 Andreas Schwab <schwab@redhat.com>
+
+ * malloc/arena.c (_int_new_arena): Don't increment narenas.
+ (reused_arena): Don't check arena limit.
+ (arena_get2): Atomically check arena limit.
+
2011-10-19 Andreas Schwab <schwab@redhat.com>
* sysdeps/x86_64/fpu/math_private.h (libc_feupdateenv): Use
diff --git a/malloc/arena.c b/malloc/arena.c
index 9114fd2..042cac8 100644
--- a/malloc/arena.c
+++ b/malloc/arena.c
@@ -747,8 +747,6 @@ _int_new_arena(size_t size)
main_arena.next = a;
#ifdef PER_THREAD
- ++narenas;
-
(void)mutex_unlock(&list_lock);
#endif
@@ -786,30 +784,6 @@ get_free_list (void)
static mstate
reused_arena (void)
{
- if (narenas <= mp_.arena_test)
- return NULL;
-
- static int narenas_limit;
- if (narenas_limit == 0)
- {
- if (mp_.arena_max != 0)
- narenas_limit = mp_.arena_max;
- else
- {
- int n = __get_nprocs ();
-
- if (n >= 1)
- narenas_limit = NARENAS_FROM_NCORES (n);
- else
- /* We have no information about the system. Assume two
- cores. */
- narenas_limit = NARENAS_FROM_NCORES (2);
- }
- }
-
- if (narenas < narenas_limit)
- return NULL;
-
mstate result;
static mstate next_to_use;
if (next_to_use == NULL)
@@ -844,10 +818,41 @@ arena_get2(mstate a_tsd, size_t size)
mstate a;
#ifdef PER_THREAD
- if ((a = get_free_list ()) == NULL
- && (a = reused_arena ()) == NULL)
- /* Nothing immediately available, so generate a new arena. */
- a = _int_new_arena(size);
+ static size_t narenas_limit;
+
+ a = get_free_list ();
+ if (a == NULL)
+ {
+ /* Nothing immediately available, so generate a new arena. */
+ if (narenas_limit == 0)
+ {
+ if (mp_.arena_max != 0)
+ narenas_limit = mp_.arena_max;
+ else
+ {
+ int n = __get_nprocs ();
+
+ if (n >= 1)
+ narenas_limit = NARENAS_FROM_NCORES (n);
+ else
+ /* We have no information about the system. Assume two
+ cores. */
+ narenas_limit = NARENAS_FROM_NCORES (2);
+ }
+ }
+ repeat:;
+ size_t n = narenas;
+ if (__builtin_expect (n <= mp_.arena_test || n < narenas_limit, 0))
+ {
+ if (catomic_compare_and_exchange_bool_acq(&narenas, n + 1, n))
+ goto repeat;
+ a = _int_new_arena (size);
+ if (__builtin_expect (a != NULL, 1))
+ return a;
+ catomic_decrement(&narenas);
+ }
+ a = reused_arena ();
+ }
#else
if(!a_tsd)
a = a_tsd = &main_arena;
commit a5fb313cb7b7e692fd4684916aaa98e03ec7e8b6
Author: Andreas Schwab <schwab@redhat.com>
Date: Mon Nov 14 11:41:52 2011 +0100
Don't call reused_arena when _int_new_arena failed
diff --git a/malloc/arena.c b/malloc/arena.c
index 042cac8..cb8548b 100644
--- a/malloc/arena.c
+++ b/malloc/arena.c
@@ -844,14 +844,14 @@ arena_get2(mstate a_tsd, size_t size)
size_t n = narenas;
if (__builtin_expect (n <= mp_.arena_test || n < narenas_limit, 0))
{
- if (catomic_compare_and_exchange_bool_acq(&narenas, n + 1, n))
+ if (catomic_compare_and_exchange_bool_acq (&narenas, n + 1, n))
goto repeat;
a = _int_new_arena (size);
- if (__builtin_expect (a != NULL, 1))
- return a;
- catomic_decrement(&narenas);
+ if (__builtin_expect (a == NULL, 0))
+ catomic_decrement (&narenas);
}
- a = reused_arena ();
+ else
+ a = reused_arena ();
}
#else
if(!a_tsd)

153
glibc-bench-compare Executable file
View File

@ -0,0 +1,153 @@
#!/usr/bin/bash
# This script can be invoked as follows:
#
# glibc-bench-compare [options] <BUILD> [BUILD]
#
# Options may be one of the following:
#
# -t The BUILD arguments are task ids and not a version-release string
# -a ARCH Do comparison for ARCH architecture
#
# If any of the above options are given, both BUILD arguments must be given.
# Otherwise, if only one BUILD is specified, then it is compared against the
# installed glibc.
# Silence the pushd/popd messages
pushd() {
command pushd "$@" > /dev/null 2>&1
}
popd() {
command popd "$@" > /dev/null 2>&1
}
# Clean up any downloaded files before we exit
trap "rm -rf /tmp/glibc-bench-compare.$BASHPID.*" EXIT
task=0
arch=$(uname -i)
options=0
path=0
installed=
# Look for any commandline options
while getopts ":tpa:" opt; do
case $opt in
p)
path=1
;;
t)
task=1
options=1
echo "Not implemented."
exit 1
;;
a)
arch=$OPTARG
options=1
;;
*)
;;
esac
done
# Done, now shift all option arguments out.
shift $((OPTIND-1))
if [ $# -gt 2 ] || [ $# -eq 0 ] || [ $# -lt 2 -a $options -eq 1 ]; then
echo "Usage: $0 [OPTIONS] <old> [new]"
echo
echo "OPTIONS:"
echo -e "\t-t\tCompare two brew tasks"
echo -e "\t-a ARCH\tGet rpms for the ARCH architecture"
echo -e "\t-p\tCompare built rpms in two paths."
echo -e "\t\tThis minimally needs glibc, glibc-common and glibc-benchtests"
exit 1
fi
if [ -z $2 ]; then
new="$1"
old=$(rpm --queryformat "%{VERSION}-%{RELEASE}\n" -q glibc | head -1)
installed=$old
else
new="$2"
old="$1"
fi
decompress_rpms() {
# We were given a path to the rpms. Figure out the version-release and
# decompress the rpms.
if [ -n $1 ]; then
vr=$(rpm --queryformat="%{VERSION}-%{RELEASE}" -qp $1/glibc-2*.rpm | head -1)
mkdir $vr && pushd $vr
fi
for r in $1*.rpm; do
( rpm2cpio $r | cpio -di ) > /dev/null
done
if [ -n $1 ]; then
popd
echo $vr
fi
}
# Get rpms for a build and decompress them
get_build() {
echo "Processing build $1"
mkdir $1 && pushd $1
brew buildinfo "glibc-$1" |
sed -n -e "s|/mnt/koji\(.\+$arch.\+\)|http://kojipkgs.fedoraproject.org\1|p" |
while read url; do
echo "Downloading $url"
wget -q $url
done
decompress_rpms
echo "Removing rpms"
rm -f $1/*.rpm
popd
}
# Run benchmarks for a build
run_bench() {
if [ -z $1 ]; then
make DETAILED=1 ver=$installed prefix= -f /usr/libexec/glibc-benchtests/bench.mk bench
else
make DETAILED=1 ver=$1 prefix=$PWD -f $1/usr/libexec/glibc-benchtests/bench.mk bench
fi
}
# Get absolute paths if needed, since we will change into the working directory
# next.
if [ $path -eq 1 ]; then
old_path=$(realpath $old)/
new_path=$(realpath $new)/
fi
tmpdir=$(mktemp -p /tmp -d glibc-bench-compare.$$.XXXX)
pushd $tmpdir
# Get both builds.
if [ $path -eq 0 ]; then
if [ -z $installed ]; then
get_build $old
fi
get_build $new
else
old=$(decompress_rpms $old_path)
new=$(decompress_rpms $new_path)
fi
# make bench for each of those.
if [ -z $installed ]; then
run_bench $old
else
run_bench
fi
run_bench $new
# Now run the comparison script.
$old/usr/libexec/glibc-benchtests/compare_bench.py $old/usr/libexec/glibc-benchtests/benchout.schema.json \
bench.$old.out bench.$new.out

286
glibc-c-utf8-locale.patch Normal file
View File

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

15
glibc-cs-path.patch Normal file
View File

@ -0,0 +1,15 @@
Short description: Adjust CS_PATH return value.
Author(s): Fedora glibc team <glibc@lists.fedoraproject.org>
Origin: PATCH
Upstream status: not-needed
In Fedora we should return only /usr/bin because /bin is just a symlink
to /usr/bin after MoveToUsr transition (which glibc has not really
completed).
diff -pruN a/sysdeps/unix/confstr.h b/sysdeps/unix/confstr.h
--- a/sysdeps/unix/confstr.h 2012-12-25 08:32:13.000000000 +0530
+++ b/sysdeps/unix/confstr.h 2014-09-05 20:02:55.698275219 +0530
@@ -1 +1 @@
-#define CS_PATH "/bin:/usr/bin"
+#define CS_PATH "/usr/bin"

View File

@ -1,33 +0,0 @@
commit d4cc29a254db6bd3838aac79d9d0e91cfd467c9d
Author: Andreas Schwab <schwab@redhat.com>
Date: Fri Dec 2 11:34:28 2011 +0100
Mark fortified __FD_ELT as extension
diff --git a/ChangeLog b/ChangeLog
index dddb628..e512bbb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-12-02 Andreas Schwab <schwab@redhat.com>
+
+ * misc/bits/select2.h (__FD_ELT): Mark as extension. Add
+ parenthesis.
+
2011-11-29 Andreas Schwab <schwab@redhat.com>
* locale/weight.h (findidx): Add parameter len.
diff --git a/misc/bits/select2.h b/misc/bits/select2.h
index 37c4827..a7ce1b4 100644
--- a/misc/bits/select2.h
+++ b/misc/bits/select2.h
@@ -27,7 +27,8 @@ extern unsigned long int __fdelt_warn (unsigned long int __d)
__warnattr ("bit outside of fd_set selected");
#undef __FD_ELT
#define __FD_ELT(d) \
- ({ unsigned long int __d = d; \
+ __extension__ \
+ ({ unsigned long int __d = (d); \
(__builtin_constant_p (__d) \
? (__d >= __FD_SETSIZE \
? __fdelt_warn (__d) : (__d / __NFDBITS)) \

View File

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

View File

@ -0,0 +1,61 @@
Short description: Fedora-specific workaround for kernel pty bug.
Author(s): Fedora glibc team <glibc@lists.fedoraproject.org>
Origin: PATCH
Upstream status: not-submitted
This is a Fedora-specific workaround for a kernel bug where calling
ioctl on a pty will silently ignore the invalid c_cflag. The
workaround is to use TCGETS to verify the setting matches. This is
not upstream and needs to either be removed or submitted upstream
after analysis.
Index: b/sysdeps/unix/sysv/linux/tcsetattr.c
===================================================================
--- a/sysdeps/unix/sysv/linux/tcsetattr.c
+++ b/sysdeps/unix/sysv/linux/tcsetattr.c
@@ -45,6 +45,7 @@ __tcsetattr (int fd, int optional_action
{
struct __kernel_termios k_termios;
unsigned long int cmd;
+ int retval;
switch (optional_actions)
{
@@ -75,7 +76,36 @@ __tcsetattr (int fd, int optional_action
memcpy (&k_termios.c_cc[0], &termios_p->c_cc[0],
__KERNEL_NCCS * sizeof (cc_t));
- return INLINE_SYSCALL (ioctl, 3, fd, cmd, &k_termios);
+ retval = INLINE_SYSCALL (ioctl, 3, fd, cmd, &k_termios);
+
+ if (retval == 0 && cmd == TCSETS)
+ {
+ /* The Linux kernel has a bug which silently ignore the invalid
+ c_cflag on pty. We have to check it here. */
+ int save = errno;
+ retval = INLINE_SYSCALL (ioctl, 3, fd, TCGETS, &k_termios);
+ if (retval)
+ {
+ /* We cannot verify if the setting is ok. We don't return
+ an error (?). */
+ __set_errno (save);
+ retval = 0;
+ }
+ else if ((termios_p->c_cflag & (PARENB | CREAD))
+ != (k_termios.c_cflag & (PARENB | CREAD))
+ || ((termios_p->c_cflag & CSIZE)
+ && ((termios_p->c_cflag & CSIZE)
+ != (k_termios.c_cflag & CSIZE))))
+ {
+ /* It looks like the Linux kernel silently changed the
+ PARENB/CREAD/CSIZE bits in c_cflag. Report it as an
+ error. */
+ __set_errno (EINVAL);
+ retval = -1;
+ }
+ }
+
+ return retval;
}
weak_alias (__tcsetattr, tcsetattr)
libc_hidden_def (tcsetattr)

View File

@ -0,0 +1,49 @@
Short description: Add 4 ISO-8859-15 locales to SUPPORTED for Euro symbol.
Author(s): Fedora glibc team <glibc@lists.fedoraproject.org>
Origin: PATCH
Bug-RHEL: #61908
Upstream status: not-needed
Very early RHL 7.3 requirement to add these locales so users can
get access to Euro symbol. We should review this bug and decide if
the UTF-8 locales are now serving the same purpose and drop the
additional locales.
* Tue Mar 26 2002 Jakub Jelinek <jakub@redhat.com> 2.2.5-28
- add a couple of .ISO-8859-15 locales (#61908)
diff -Nrup a/localedata/SUPPORTED b/localedata/SUPPORTED
--- a/localedata/SUPPORTED 2012-11-25 12:59:31.000000000 -0700
+++ b/localedata/SUPPORTED 2012-11-26 12:58:43.298223018 -0700
@@ -89,6 +89,7 @@ cy_GB.UTF-8/UTF-8 \
cy_GB/ISO-8859-14 \
da_DK.UTF-8/UTF-8 \
da_DK/ISO-8859-1 \
+da_DK.ISO-8859-15/ISO-8859-15 \
de_AT.UTF-8/UTF-8 \
de_AT/ISO-8859-1 \
de_AT@euro/ISO-8859-15 \
@@ -121,6 +122,7 @@ en_DK.UTF-8/UTF-8 \
en_DK/ISO-8859-1 \
en_GB.UTF-8/UTF-8 \
en_GB/ISO-8859-1 \
+en_GB.ISO-8859-15/ISO-8859-15 \
en_HK.UTF-8/UTF-8 \
en_HK/ISO-8859-1 \
en_IE.UTF-8/UTF-8 \
@@ -136,6 +138,7 @@ en_SG.UTF-8/UTF-8 \
en_SG/ISO-8859-1 \
en_US.UTF-8/UTF-8 \
en_US/ISO-8859-1 \
+en_US.ISO-8859-15/ISO-8859-15 \
en_ZA.UTF-8/UTF-8 \
en_ZA/ISO-8859-1 \
en_ZM/UTF-8 \
@@ -385,6 +388,7 @@ sv_FI/ISO-8859-1 \
sv_FI@euro/ISO-8859-15 \
sv_SE.UTF-8/UTF-8 \
sv_SE/ISO-8859-1 \
+sv_SE.ISO-8859-15/ISO-8859-15 \
sw_KE/UTF-8 \
sw_TZ/UTF-8 \
szl_PL/UTF-8 \

View File

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

View File

@ -0,0 +1,31 @@
Short description: Place glibc info into "Libraries" category.
Author(s): Fedora glibc team <glibc@lists.fedoraproject.org>
Origin: PATCH
Upstream status: not-needed
The category names for libraries is completely random including
"Libraries", "GNU Libraries", "GNU libraries", and "Software libraries."
In the GNU info manual the "Software libraries" category is given as an
example, but really we need to standardize on a category for upstream.
I suggest we drop this change after some upstream discussion.
From 4820b9175535e13df79ce816106016040014916e Mon Sep 17 00:00:00 2001
From: Jakub Jelinek <jakub@redhat.com>
Date: Fri, 3 Nov 2006 16:31:21 +0000
Subject: [PATCH] Change @dircategory.
---
manual/libc.texinfo | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
--- a/manual/libc.texinfo
+++ b/manual/libc.texinfo
@@ -7,7 +7,7 @@
@include macros.texi
@comment Tell install-info what to do.
-@dircategory Software libraries
+@dircategory Libraries
@direntry
* Libc: (libc). C library.
@end direntry

View File

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

20
glibc-fedora-nscd.patch Normal file
View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -1,92 +0,0 @@
2004-05-14 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/configure.in: Use */lib64 even for ia64.
* sysdeps/unix/sysv/linux/configure: Rebuilt.
* sysdeps/unix/sysv/linux/ia64/dl-procinfo.c: New file.
* sysdeps/unix/sysv/linux/ia64/dl-procinfo.h: New file.
* sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed: Change /lib64/ld*
into /lib/ld*. Add LD_LIBRARY_VERSION.
* sysdeps/unix/sysv/linux/ia64/ldconfig.h
(SYSDEP_KNOWN_INTERPRETER_NAMES): Add /lib64/ld-linux-ia64.so.2.
* sysdeps/unix/sysv/linux/ia64/dl-cache.h: Include sparc-linux
dl-cache.h instead of generic dl-cache.h.
--- libc/sysdeps/unix/sysv/linux/configure.jj 2003-03-23 03:10:04.000000000 +0100
+++ libc/sysdeps/unix/sysv/linux/configure 2004-05-14 15:54:35.669802684 +0200
@@ -225,7 +225,7 @@ case "$prefix" in
# 64-bit libraries on bi-arch platforms go in /lib64 instead of /lib
case $machine in
sparc/sparc64 | x86_64 | powerpc/powerpc64 | s390/s390-64 | \
- mips/mips64/n64/* )
+ mips/mips64/n64/* | ia64 )
libc_cv_slibdir="/lib64"
if test "$libdir" = '${exec_prefix}/lib'; then
libdir='${exec_prefix}/lib64';
--- libc/sysdeps/unix/sysv/linux/configure.in.jj 2003-03-23 03:10:04.000000000 +0100
+++ libc/sysdeps/unix/sysv/linux/configure.in 2004-05-14 15:53:44.355998785 +0200
@@ -158,7 +158,7 @@ case "$prefix" in
# 64-bit libraries on bi-arch platforms go in /lib64 instead of /lib
case $machine in
sparc/sparc64 | x86_64 | powerpc/powerpc64 | s390/s390-64 | \
- mips/mips64/n64/* )
+ mips/mips64/n64/* | ia64 )
libc_cv_slibdir="/lib64"
if test "$libdir" = '${exec_prefix}/lib'; then
libdir='${exec_prefix}/lib64';
--- libc/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c.jj 2004-05-14 15:42:09.307560515 +0200
+++ libc/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c 2003-09-30 00:23:24.000000000 +0200
@@ -0,0 +1,5 @@
+#ifdef IS_IN_ldconfig
+#include <sysdeps/i386/dl-procinfo.c>
+#else
+#include <sysdeps/generic/dl-procinfo.c>
+#endif
--- libc/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed.jj 2002-01-17 07:49:28.000000000 +0100
+++ libc/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed 2004-05-14 16:21:03.041325040 +0200
@@ -1 +1,4 @@
-s_^\(RTLDLIST=\)\([^ ]*\)-ia64\(\.so\.[0-9.]*\)[ ]*$_\1"\2-ia64\3 \2\3"_
+/LD_TRACE_LOADED_OBJECTS=1/a\
+add_env="$add_env LD_LIBRARY_VERSION=\\$verify_out"
+s_^\(RTLDLIST=\)/lib64/ld\([^ ]*\)-ia64\(\.so\.[0-9.]*\)[ ]*$_\1"/lib/ld\2-ia64\3 /lib/ld\2\3"_
+s_^\(RTLDLIST=\)\([^"][^ ]*\)-ia64\(\.so\.[0-9.]*\)[ ]*$_\1"\2-ia64\3 \2\3"_
--- libc/sysdeps/unix/sysv/linux/ia64/ldconfig.h.jj 2001-07-06 06:56:17.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/ia64/ldconfig.h 2004-05-14 15:45:40.103783087 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -19,7 +19,8 @@
#include <sysdeps/generic/ldconfig.h>
#define SYSDEP_KNOWN_INTERPRETER_NAMES \
- { "/lib/ld-linux.so.2", FLAG_ELF_LIBC6 },
+ { "/lib/ld-linux.so.2", FLAG_ELF_LIBC6 }, \
+ { "/lib64/ld-linux-ia64.so.2", FLAG_ELF_LIBC6 },
#define SYSDEP_KNOWN_LIBRARY_NAMES \
{ "libc.so.6", FLAG_ELF_LIBC6 }, \
{ "libm.so.6", FLAG_ELF_LIBC6 },
--- libc/sysdeps/unix/sysv/linux/ia64/dl-cache.h.jj 2001-07-06 06:56:17.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/ia64/dl-cache.h 2004-05-14 15:41:11.658891907 +0200
@@ -1,5 +1,5 @@
/* Support for reading /etc/ld.so.cache files written by Linux ldconfig.
- Copyright (C) 2000 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -22,4 +22,4 @@
#define _dl_cache_check_flags(flags) \
((flags) == _DL_CACHE_DEFAULT_ID)
-#include_next <dl-cache.h>
+#include <sysdeps/unix/sysv/linux/sparc/dl-cache.h>
--- libc/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h.jj 2004-05-14 15:42:13.018895395 +0200
+++ libc/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h 2003-07-23 00:06:23.000000000 +0200
@@ -0,0 +1,5 @@
+#ifdef IS_IN_ldconfig
+#include <sysdeps/unix/sysv/linux/i386/dl-procinfo.h>
+#else
+#include <sysdeps/generic/dl-procinfo.h>
+#endif

File diff suppressed because it is too large Load Diff

View File

@ -1,49 +0,0 @@
From 7327af4c323f6d4f500bf4aaa66a9cac6236772f Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering@redhat.com>
Date: Wed, 26 Oct 2011 20:08:52 +0200
Subject: [PATCH] Revert "Use leaf function attribute in __THROW"
This reverts commit aa78043a4aafe5db1a1a76d544a833b63b4c5f5c
and the related 49a43d80ec5c97cf6136b1ee2687414773b2d5aa.
This fixes http://bugzilla.redhat.com/747377
---
misc/sys/cdefs.h | 15 +++------------
2 files changed, 3 insertions(+), 14 deletions(-)
diff --git a/misc/sys/cdefs.h b/misc/sys/cdefs.h
index 72073e8..165a94a 100644
--- a/misc/sys/cdefs.h
+++ b/misc/sys/cdefs.h
@@ -38,27 +38,18 @@
#ifdef __GNUC__
-/* All functions, except those with callbacks, are leaf functions. */
-# if __GNUC_PREREQ (4, 6) && !defined _LIBC
-# define __LEAF , __leaf__
-# define __LEAF_ATTR __attribute__ ((__leaf__))
-# else
-# define __LEAF
-# define __LEAF_ATTR
-# endif
-
/* GCC can always grok prototypes. For C++ programs we add throw()
to help it optimize the function calls. But this works only with
gcc 2.8.x and egcs. For gcc 3.2 and up we even mark C functions
as non-throwing using a function attribute since programs can use
the -fexceptions options for C code as well. */
# if !defined __cplusplus && __GNUC_PREREQ (3, 3)
-# define __THROW __attribute__ ((__nothrow__ __LEAF))
-# define __NTH(fct) __attribute__ ((__nothrow__ __LEAF)) fct
+# define __THROW __attribute__ ((__nothrow__))
+# define __NTH(fct) __attribute__ ((__nothrow__)) fct
# else
# if defined __cplusplus && __GNUC_PREREQ (2,8)
# define __THROW throw ()
-# define __NTH(fct) __LEAF_ATTR fct throw ()
+# define __NTH(fct) fct throw ()
# else
# define __THROW
# define __NTH(fct) fct
--
1.7.7.1

View File

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

40
glibc-python3.patch Normal file
View File

@ -0,0 +1,40 @@
Use python3 for installed executable python scripts.
Fedora is a Python3-only distribution:
https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
This fixes build failures where builders may strictly enforce only
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
--- 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.
# 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
--- 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.
# This file is part of the GNU C Library.
#

38
glibc-rh1070416.patch Normal file
View File

@ -0,0 +1,38 @@
Short description: Add syslog.target dependency.
Author(s): Fedora glibc team <glibc@lists.fedoraproject.org>
Origin: PATCH
Bug-Fedora: #1070416
Upstream status: not-needed
Fedora-specific changes to the nscd.service file.
See also: glibc-nscd-sysconfig.patch.
--- a/nscd/nscd.service
+++ b/nscd/nscd.service
@@ -2,6 +2,7 @@
[Unit]
Description=Name Service Cache Daemon
+After=syslog.target
[Service]
Type=forking
@@ -17,3 +18,4 @@
[Install]
WantedBy=multi-user.target
+Also=nscd.socket
diff --git a/nscd/nscd.socket b/nscd/nscd.socket
new file mode 100644
index 0000000..7e512d5
--- /dev/null
+++ b/nscd/nscd.socket
@@ -0,0 +1,8 @@
+[Unit]
+Description=Name Service Cache Daemon Socket
+
+[Socket]
+ListenDatagram=/var/run/nscd/socket
+
+[Install]
+WantedBy=sockets.target

22
glibc-rh1615608.patch Normal file
View File

@ -0,0 +1,22 @@
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

@ -1,27 +0,0 @@
diff -rup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
--- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S 2012-02-10 12:49:42.609737373 -0700
+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S 2012-02-10 12:52:00.962150379 -0700
@@ -438,6 +438,10 @@ __pthread_cond_wait:
addl $1, cond_futex(%ebx)
movl cond_futex(%ebx), %ebp
+ /* Increment total_seq to ensure we do not lose wakeups. */
+ addl $1, total_seq(%ebx)
+ adcl $0, total_seq+4(%ebx)
+
/* Unlock. */
LOCK
#if cond_lock == 0
diff -rup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S 2012-02-10 12:49:42.612737361 -0700
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S 2012-02-10 12:52:36.179000963 -0700
@@ -366,6 +366,9 @@ __pthread_cond_wait:
incl cond_futex(%rdi)
movl cond_futex(%rdi), %edx
+ /* Increment total_seq to ensure we do not lose wakeups. */
+ incq total_seq(%rdi)
+
/* Release internal lock. */
LOCK
#if cond_lock == 0

View File

@ -1,226 +0,0 @@
diff -rup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
--- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S 2011-12-15 10:45:09.759232551 -0700
+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S 2011-12-15 15:11:57.534479377 -0700
@@ -137,6 +137,7 @@ __pthread_cond_wait:
cmpl $PI_BIT, %eax
jne 18f
+90:
movl $(FUTEX_WAIT_REQUEUE_PI|FUTEX_PRIVATE_FLAG), %ecx
movl %ebp, %edx
xorl %esi, %esi
@@ -150,6 +151,9 @@ __pthread_cond_wait:
sete 16(%esp)
je 19f
+ cmpl $-EAGAIN, %eax
+ je 91f
+
/* Normal and PI futexes dont mix. Use normal futex functions only
if the kernel does not support the PI futex functions. */
cmpl $-ENOSYS, %eax
@@ -394,6 +398,78 @@ __pthread_cond_wait:
#endif
call __lll_unlock_wake
jmp 11b
+
+91:
+.LcleanupSTART2:
+ /* FUTEX_WAIT_REQUEUE_PI returned EAGAIN. We need to
+ call it again. */
+
+ /* Get internal lock. */
+ movl $1, %edx
+ xorl %eax, %eax
+ LOCK
+#if cond_lock == 0
+ cmpxchgl %edx, (%ebx)
+#else
+ cmpxchgl %edx, cond_lock(%ebx)
+#endif
+ jz 92f
+
+#if cond_lock == 0
+ movl %ebx, %edx
+#else
+ leal cond_lock(%ebx), %edx
+#endif
+#if (LLL_SHARED-LLL_PRIVATE) > 255
+ xorl %ecx, %ecx
+#endif
+ cmpl $-1, dep_mutex(%ebx)
+ setne %cl
+ subl $1, %ecx
+ andl $(LLL_SHARED-LLL_PRIVATE), %ecx
+#if LLL_PRIVATE != 0
+ addl $LLL_PRIVATE, %ecx
+#endif
+ call __lll_lock_wait
+
+92:
+ /* Increment the cond_futex value again, so it can be used as a new
+ expected value. */
+ addl $1, cond_futex(%ebx)
+ movl cond_futex(%ebx), %ebp
+
+ /* Unlock. */
+ LOCK
+#if cond_lock == 0
+ subl $1, (%ebx)
+#else
+ subl $1, cond_lock(%ebx)
+#endif
+ je 93f
+#if cond_lock == 0
+ movl %ebx, %eax
+#else
+ leal cond_lock(%ebx), %eax
+#endif
+#if (LLL_SHARED-LLL_PRIVATE) > 255
+ xorl %ecx, %ecx
+#endif
+ cmpl $-1, dep_mutex(%ebx)
+ setne %cl
+ subl $1, %ecx
+ andl $(LLL_SHARED-LLL_PRIVATE), %ecx
+#if LLL_PRIVATE != 0
+ addl $LLL_PRIVATE, %ecx
+#endif
+ call __lll_unlock_wake
+
+93:
+ /* Set the rest of SYS_futex args for FUTEX_WAIT_REQUEUE_PI. */
+ xorl %ecx, %ecx
+ movl dep_mutex(%ebx), %edi
+ jmp 90b
+.LcleanupEND2:
+
.size __pthread_cond_wait, .-__pthread_cond_wait
versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait,
GLIBC_2_3_2)
@@ -566,6 +642,10 @@ __condvar_w_cleanup:
.long .LcleanupEND-.Lsub_cond_futex
.long __condvar_w_cleanup-.LSTARTCODE
.uleb128 0
+ .long .LcleanupSTART2-.LSTARTCODE
+ .long .LcleanupEND2-.LcleanupSTART2
+ .long __condvar_w_cleanup-.LSTARTCODE
+ .uleb128 0
.long .LcallUR-.LSTARTCODE
.long .LENDCODE-.LcallUR
.long 0
diff -rup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S 2011-12-15 10:45:09.764232551 -0700
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S 2011-12-15 15:12:49.287474417 -0700
@@ -23,6 +23,7 @@
#include <lowlevelcond.h>
#include <tcb-offsets.h>
#include <pthread-pi-defines.h>
+#include <pthread-errnos.h>
#include <stap-probe.h>
#include <kernel-features.h>
@@ -136,11 +137,14 @@ __pthread_cond_wait:
cmpl $PI_BIT, %eax
jne 61f
+90:
movl $(FUTEX_WAIT_REQUEUE_PI|FUTEX_PRIVATE_FLAG), %esi
movl $SYS_futex, %eax
syscall
movl $1, %r8d
+ cmpq $-EAGAIN, %rax
+ je 91f
#ifdef __ASSUME_REQUEUE_PI
jmp 62f
#else
@@ -327,6 +331,70 @@ __pthread_cond_wait:
13: movq %r10, %rax
jmp 14b
+
+91:
+.LcleanupSTART2:
+ /* FUTEX_WAIT_REQUEUE_PI returned EAGAIN. We need to
+ call it again. */
+ movq 8(%rsp), %rdi
+
+ /* Get internal lock. */
+ movl $1, %esi
+ xorl %eax, %eax
+ LOCK
+#if cond_lock == 0
+ cmpxchgl %esi, (%rdi)
+#else
+ cmpxchgl %esi, cond_lock(%rdi)
+#endif
+ jz 92f
+
+#if cond_lock != 0
+ addq $cond_lock, %rdi
+#endif
+ cmpq $-1, dep_mutex-cond_lock(%rdi)
+ movl $LLL_PRIVATE, %eax
+ movl $LLL_SHARED, %esi
+ cmovne %eax, %esi
+ callq __lll_lock_wait
+#if cond_lock != 0
+ subq $cond_lock, %rdi
+#endif
+92:
+ /* Increment the cond_futex value again, so it can be used as a new
+ expected value. */
+ incl cond_futex(%rdi)
+ movl cond_futex(%rdi), %edx
+
+ /* Release internal lock. */
+ LOCK
+#if cond_lock == 0
+ decl (%rdi)
+#else
+ decl cond_lock(%rdi)
+#endif
+ jz 93f
+
+#if cond_lock != 0
+ addq $cond_lock, %rdi
+#endif
+ cmpq $-1, dep_mutex-cond_lock(%rdi)
+ movl $LLL_PRIVATE, %eax
+ movl $LLL_SHARED, %esi
+ cmovne %eax, %esi
+ /* The call preserves %rdx. */
+ callq __lll_unlock_wake
+#if cond_lock != 0
+ subq $cond_lock, %rdi
+#endif
+93:
+ /* Set the rest of SYS_futex args for FUTEX_WAIT_REQUEUE_PI. */
+ xorq %r10, %r10
+ movq dep_mutex(%rdi), %r8
+ leaq cond_futex(%rdi), %rdi
+ jmp 90b
+.LcleanupEND2:
+
.size __pthread_cond_wait, .-__pthread_cond_wait
versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait,
GLIBC_2_3_2)
@@ -479,11 +547,15 @@ __condvar_cleanup1:
.uleb128 .LcleanupSTART-.LSTARTCODE
.uleb128 .LcleanupEND-.LcleanupSTART
.uleb128 __condvar_cleanup1-.LSTARTCODE
- .uleb128 0
+ .uleb128 0
+ .uleb128 .LcleanupSTART2-.LSTARTCODE
+ .uleb128 .LcleanupEND2-.LcleanupSTART2
+ .uleb128 __condvar_cleanup1-.LSTARTCODE
+ .uleb128 0
.uleb128 .LcallUR-.LSTARTCODE
.uleb128 .LENDCODE-.LcallUR
.uleb128 0
- .uleb128 0
+ .uleb128 0
.Lcstend:

21
glibc-rh697421.patch Normal file
View File

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

View File

@ -1,13 +0,0 @@
diff --git a/manual/resource.texi b/manual/resource.texi
index 0549572..8e3155c 100644
--- a/manual/resource.texi
+++ b/manual/resource.texi
@@ -1607,7 +1607,7 @@ processors and so the call
@end smallexample
@noindent
-returns the number of processors which are currently inline (i.e.,
+returns the number of processors which are currently online (i.e.,
available).
For these two pieces of information the GNU C library also provides

View File

@ -1,52 +0,0 @@
diff -Nrup a/resolv/res_query.c b/resolv/res_query.c
--- a/resolv/res_query.c 2012-05-11 13:46:06.442619026 -0400
+++ b/resolv/res_query.c 2012-05-11 16:19:35.195340660 -0400
@@ -122,6 +122,7 @@ __libc_res_nquery(res_state statp,
int *resplen2)
{
HEADER *hp = (HEADER *) answer;
+ HEADER *hp2;
int n, use_malloc = 0;
u_int oflags = statp->_flags;
@@ -239,26 +240,25 @@ __libc_res_nquery(res_state statp,
/* __libc_res_nsend might have reallocated the buffer. */
hp = (HEADER *) *answerp;
- /* We simplify the following tests by assigning HP to HP2. It
- is easy to verify that this is the same as ignoring all
- tests of HP2. */
- HEADER *hp2 = answerp2 ? (HEADER *) *answerp2 : hp;
-
- if (n < (int) sizeof (HEADER) && answerp2 != NULL
- && *resplen2 > (int) sizeof (HEADER))
+ /* We simplify the following tests by assigning HP to HP2 or
+ vice versa. It is easy to verify that this is the same as
+ ignoring all tests of HP or HP2. */
+ if (answerp2 == NULL || *resplen2 < (int) sizeof (HEADER))
{
- /* Special case of partial answer. */
- assert (n == 0 || hp != hp2);
- hp = hp2;
+ hp2 = hp;
}
- else if (answerp2 != NULL && *resplen2 < (int) sizeof (HEADER)
- && n > (int) sizeof (HEADER))
+ else
{
- /* Special case of partial answer. */
- assert (hp != hp2);
- hp2 = hp;
+ hp2 = (HEADER *) *answerp2;
+ if (n < (int) sizeof (HEADER))
+ {
+ hp = hp2;
+ }
}
+ /* Make sure both hp and hp2 are defined */
+ assert((hp != NULL) && (hp2 != NULL));
+
if ((hp->rcode != NOERROR || ntohs(hp->ancount) == 0)
&& (hp2->rcode != NOERROR || ntohs(hp2->ancount) == 0)) {
#ifdef DEBUG

84
glibc-rh741105.patch Normal file
View File

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

View File

@ -1,29 +0,0 @@
commit 850fb039cec802072f70ed9763927881bbbf639c
Author: Andreas Schwab <schwab@linux-m68k.org>
Date: Tue Dec 6 11:10:06 2011 +0100
Fix a wrong constant in powerpc hypot implementation
--- a/ChangeLog 2011-12-05 20:28:47.000000000 -0700
+++ b/ChangeLog 2011-12-07 13:14:29.619858242 -0700
@@ -1,3 +1,7 @@
+2011-12-06 Andreas Schwab <schwab@linux-m68k.org>
+
+ * sysdeps/powerpc/fpu/e_hypot.c (twoM600): Correct value.
+
2011-12-02 Andreas Schwab <schwab@redhat.com>
* misc/bits/select2.h (__FD_ELT): Mark as extension. Add
diff --git a/sysdeps/powerpc/fpu/e_hypot.c b/sysdeps/powerpc/fpu/e_hypot.c
index a8d67d8..3731c58 100644
--- a/sysdeps/powerpc/fpu/e_hypot.c
+++ b/sysdeps/powerpc/fpu/e_hypot.c
@@ -26,7 +26,7 @@ static const double two500 = 3.2733906078961419e+150;
static const double two600 = 4.149515568880993e+180;
static const double two1022 = 4.49423283715579e+307;
static const double twoM500 = 3.054936363499605e-151;
-static const double twoM600 = 4.616489308892868e-128;
+static const double twoM600 = 2.4099198651028841e-181;
static const double pdnum = 2.225073858507201e-308;
/* __ieee754_hypot(x,y)

View File

@ -1,35 +0,0 @@
commit 3d7ba52b68e4dc5c4d3eb19de436c66ed9bb2f0d
Author: Andreas Schwab <schwab@redhat.com>
Date: Thu Nov 3 14:26:38 2011 +0100
Don't fail in makedb if SELinux is disabled
*** a/ChangeLog Wed Nov 30 12:38:59 2011
--- b/ChangeLog Wed Nov 30 12:39:17 2011
***************
*** 9,14 ****
--- 9,19 ----
(reused_arena): Don't check arena limit.
(arena_get2): Atomically check arena limit.
+ 2011-11-03 Andreas Schwab <schwab@redhat.com>
+
+ * nss/makedb.c (set_file_creation_context): Do nothing if SELinux
+ is disabled.
+
2011-10-19 Andreas Schwab <schwab@redhat.com>
* sysdeps/x86_64/fpu/math_private.h (libc_feupdateenv): Use
diff --git a/nss/makedb.c b/nss/makedb.c
index 8cee92f..1b19966 100644
--- a/nss/makedb.c
+++ b/nss/makedb.c
@@ -842,7 +842,7 @@ set_file_creation_context (const char *outname, mode_t mode)
/* Check if SELinux is enabled, and remember. */
if (enabled == 0)
- enabled = is_selinux_enabled ();
+ enabled = is_selinux_enabled () ? 1 : -1;
if (enabled < 0)
return;

View File

@ -1,170 +0,0 @@
Index: glibc-2.12-2-gc4ccff1/malloc/arena.c
===================================================================
--- glibc-2.12-2-gc4ccff1.orig/malloc/arena.c
+++ glibc-2.12-2-gc4ccff1/malloc/arena.c
@@ -870,7 +870,7 @@ heap_trim(heap, pad) heap_info *heap; si
heap = prev_heap;
if(!prev_inuse(p)) { /* consolidate backward */
p = prev_chunk(p);
- unlink(p, bck, fwd);
+ unlink(ar_ptr, p, bck, fwd);
}
assert(((unsigned long)((char*)p + new_size) & (pagesz-1)) == 0);
assert( ((char*)p + new_size) == ((char*)heap + heap->size) );
Index: glibc-2.12-2-gc4ccff1/malloc/hooks.c
===================================================================
--- glibc-2.12-2-gc4ccff1.orig/malloc/hooks.c
+++ glibc-2.12-2-gc4ccff1/malloc/hooks.c
@@ -219,7 +219,9 @@ top_check()
(char*)t + chunksize(t) == mp_.sbrk_base + main_arena.system_mem)))
return 0;
+ mutex_unlock(&main_arena);
malloc_printerr (check_action, "malloc: top chunk is corrupt", t);
+ mutex_lock(&main_arena);
/* Try to set up a new top chunk. */
brk = MORECORE(0);
Index: glibc-2.12-2-gc4ccff1/malloc/malloc.c
===================================================================
--- glibc-2.12-2-gc4ccff1.orig/malloc/malloc.c
+++ glibc-2.12-2-gc4ccff1/malloc/malloc.c
@@ -1541,12 +1541,14 @@
#define last(b) ((b)->bk)
/* Take a chunk off a bin list */
-#define unlink(P, BK, FD) { \
+#define unlink(AV, P, BK, FD) { \
FD = P->fd; \
BK = P->bk; \
- if (__builtin_expect (FD->bk != P || BK->fd != P, 0)) \
+ if (__builtin_expect (FD->bk != P || BK->fd != P, 0)) { \
+ mutex_unlock(&(AV)->mutex); \
malloc_printerr (check_action, "corrupted double-linked list", P); \
- else { \
+ mutex_lock(&(AV)->mutex); \
+ } else { \
FD->bk = BK; \
BK->fd = FD; \
if (!in_smallbin_range (P->size) \
@@ -2593,7 +2595,9 @@
else if (contiguous(av) && old_size && brk < old_end) {
/* Oops! Someone else killed our space.. Can't touch anything. */
+ mutex_unlock(&av->mutex);
malloc_printerr (3, "break adjusted to free malloc space", brk);
+ mutex_lock(&av->mutex);
}
/*
@@ -3467,7 +3471,9 @@
{
errstr = "malloc(): memory corruption (fast)";
errout:
+ mutex_unlock(&av->mutex);
malloc_printerr (check_action, errstr, chunk2mem (victim));
+ mutex_lock(&av->mutex);
return NULL;
}
check_remalloced_chunk(av, victim, nb);
@@ -3552,8 +3558,12 @@
bck = victim->bk;
if (__builtin_expect (victim->size <= 2 * SIZE_SZ, 0)
|| __builtin_expect (victim->size > av->system_mem, 0))
- malloc_printerr (check_action, "malloc(): memory corruption",
- chunk2mem (victim));
+ {
+ void *p = chunk2mem(victim);
+ mutex_unlock(&av->mutex);
+ malloc_printerr (check_action, "malloc(): memory corruption", p);
+ mutex_lock(&av->mutex);
+ }
size = chunksize(victim);
/*
@@ -3694,7 +3704,7 @@
victim = victim->fd;
remainder_size = size - nb;
- unlink(victim, bck, fwd);
+ unlink(av, victim, bck, fwd);
/* Exhaust */
if (remainder_size < MINSIZE) {
@@ -3792,7 +3802,7 @@
remainder_size = size - nb;
/* unlink */
- unlink(victim, bck, fwd);
+ unlink(av, victim, bck, fwd);
/* Exhaust */
if (remainder_size < MINSIZE) {
@@ -3927,9 +3937,11 @@
{
errstr = "free(): invalid pointer";
errout:
- if (! have_lock && locked)
+ if (have_lock || locked)
(void)mutex_unlock(&av->mutex);
malloc_printerr (check_action, errstr, chunk2mem(p));
+ if (have_lock)
+ mutex_lock(&av->mutex);
return;
}
/* We know that each chunk is at least MINSIZE bytes in size. */
@@ -4073,7 +4085,7 @@
prevsize = p->prev_size;
size += prevsize;
p = chunk_at_offset(p, -((long) prevsize));
- unlink(p, bck, fwd);
+ unlink(av, p, bck, fwd);
}
if (nextchunk != av->top) {
@@ -4082,7 +4094,7 @@
/* consolidate forward */
if (!nextinuse) {
- unlink(nextchunk, bck, fwd);
+ unlink(av, nextchunk, bck, fwd);
size += nextsize;
} else
clear_inuse_bit_at_offset(nextchunk, 0);
@@ -4243,7 +4255,7 @@
prevsize = p->prev_size;
size += prevsize;
p = chunk_at_offset(p, -((long) prevsize));
- unlink(p, bck, fwd);
+ unlink(av, p, bck, fwd);
}
if (nextchunk != av->top) {
@@ -4251,7 +4263,7 @@
if (!nextinuse) {
size += nextsize;
- unlink(nextchunk, bck, fwd);
+ unlink(av, nextchunk, bck, fwd);
} else
clear_inuse_bit_at_offset(nextchunk, 0);
@@ -4320,7 +4332,9 @@
{
errstr = "realloc(): invalid old size";
errout:
+ mutex_unlock(&av->mutex);
malloc_printerr (check_action, errstr, chunk2mem(oldp));
+ mutex_lock(&av->mutex);
return NULL;
}
@@ -4362,7 +4376,7 @@
(unsigned long)(newsize = oldsize + nextsize) >=
(unsigned long)(nb)) {
newp = oldp;
- unlink(next, bck, fwd);
+ unlink(av, next, bck, fwd);
}
/* allocate, copy, free */

View File

@ -1,242 +0,0 @@
commit f3a6cc0a560a17f32a3e90d2f20501a53cab6058
Author: Andreas Schwab <schwab@redhat.com>
Date: Tue Nov 29 10:52:22 2011 +0100
Fix access after end of search string in regex matcher
--- a/ChangeLog 2011-11-30 12:43:22.312632113 -0700
+++ b/ChangeLog 2011-11-30 12:43:50.569624022 -0700
@@ -1,3 +1,14 @@
+2011-11-29 Andreas Schwab <schwab@redhat.com>
+
+ * locale/weight.h (findidx): Add parameter len.
+ * locale/weightwc.h (findidx): Likewise.
+ * posix/fnmatch_loop.c (FCT): Adjust caller.
+ * posix/regcomp.c (build_equiv_class): Likewise.
+ * posix/regex_internal.h (re_string_elem_size_at): Likewise.
+ * posix/regexec.c (check_node_accept_bytes): Likewise.
+ * string/strcoll_l.c (STRCOLL): Likewise.
+ * string/strxfrm_l.c (STRXFRM): Likewise.
+
2011-11-14 Andreas Schwab <schwab@redhat.com>
* malloc/arena.c (arena_get2): Don't call reused_arena when
diff --git a/locale/weight.h b/locale/weight.h
index dc70a00..967e176 100644
--- a/locale/weight.h
+++ b/locale/weight.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996,1997,1998,1999,2000,2003,2004 Free Software Foundation, Inc.
+/* Copyright (C) 1996,1997,1998,1999,2000,2003,2004,2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Ulrich Drepper, <drepper@cygnus.com>.
@@ -20,7 +20,7 @@
/* Find index of weight. */
auto inline int32_t
__attribute ((always_inline))
-findidx (const unsigned char **cpp)
+findidx (const unsigned char **cpp, size_t len)
{
int_fast32_t i = table[*(*cpp)++];
const unsigned char *cp;
@@ -34,6 +34,7 @@ findidx (const unsigned char **cpp)
Search for the correct one. */
cp = &extra[-i];
usrc = *cpp;
+ --len;
while (1)
{
size_t nhere;
@@ -56,7 +57,7 @@ findidx (const unsigned char **cpp)
already. */
size_t cnt;
- for (cnt = 0; cnt < nhere; ++cnt)
+ for (cnt = 0; cnt < nhere && cnt < len; ++cnt)
if (cp[cnt] != usrc[cnt])
break;
@@ -79,13 +80,13 @@ findidx (const unsigned char **cpp)
size_t cnt;
size_t offset = 0;
- for (cnt = 0; cnt < nhere; ++cnt)
+ for (cnt = 0; cnt < nhere && cnt < len; ++cnt)
if (cp[cnt] != usrc[cnt])
break;
if (cnt != nhere)
{
- if (cp[cnt] > usrc[cnt])
+ if (cnt == len || cp[cnt] > usrc[cnt])
{
/* Cannot be in this range. */
cp += 2 * nhere;
diff --git a/locale/weightwc.h b/locale/weightwc.h
index 9ea1126..7862091 100644
--- a/locale/weightwc.h
+++ b/locale/weightwc.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2001,2003,2004,2005,2007 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2001,2003,2004,2005,2007,2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Ulrich Drepper, <drepper@cygnus.com>.
@@ -20,7 +20,7 @@
/* Find index of weight. */
auto inline int32_t
__attribute ((always_inline))
-findidx (const wint_t **cpp)
+findidx (const wint_t **cpp, size_t len)
{
wint_t ch = *(*cpp)++;
int32_t i = __collidx_table_lookup ((const char *) table, ch);
@@ -32,6 +32,7 @@ findidx (const wint_t **cpp)
/* Oh well, more than one sequence starting with this byte.
Search for the correct one. */
const int32_t *cp = (const int32_t *) &extra[-i];
+ --len;
while (1)
{
size_t nhere;
@@ -54,7 +55,7 @@ findidx (const wint_t **cpp)
already. */
size_t cnt;
- for (cnt = 0; cnt < nhere; ++cnt)
+ for (cnt = 0; cnt < nhere && cnt < len; ++cnt)
if (cp[cnt] != usrc[cnt])
break;
@@ -75,7 +76,7 @@ findidx (const wint_t **cpp)
size_t cnt;
size_t offset;
- for (cnt = 0; cnt < nhere - 1; ++cnt)
+ for (cnt = 0; cnt < nhere - 1 && cnt < len; ++cnt)
if (cp[cnt] != usrc[cnt])
break;
diff --git a/posix/fnmatch_loop.c b/posix/fnmatch_loop.c
index 18a6667..72bd3ee 100644
--- a/posix/fnmatch_loop.c
+++ b/posix/fnmatch_loop.c
@@ -412,7 +412,7 @@ FCT (pattern, string, string_end, no_leading_period, flags, ends, alloca_used)
_NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB);
# endif
- idx = findidx (&cp);
+ idx = findidx (&cp, 1);
if (idx != 0)
{
/* We found a table entry. Now see whether the
@@ -422,7 +422,7 @@ FCT (pattern, string, string_end, no_leading_period, flags, ends, alloca_used)
int32_t idx2;
const UCHAR *np = (const UCHAR *) n;
- idx2 = findidx (&np);
+ idx2 = findidx (&np, string_end - n);
if (idx2 != 0
&& (idx >> 24) == (idx2 >> 24)
&& len == weights[idx2 & 0xffffff])
diff --git a/posix/regcomp.c b/posix/regcomp.c
index b238c08..34ee845 100644
--- a/posix/regcomp.c
+++ b/posix/regcomp.c
@@ -1,5 +1,5 @@
/* Extended regular expression matching and search library.
- Copyright (C) 2002-2007,2009,2010 Free Software Foundation, Inc.
+ Copyright (C) 2002-2007,2009,2010,2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
@@ -3409,19 +3409,18 @@ build_equiv_class (bitset_t sbcset, const unsigned char *name)
_NL_COLLATE_EXTRAMB);
indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE,
_NL_COLLATE_INDIRECTMB);
- idx1 = findidx (&cp);
- if (BE (idx1 == 0 || cp < name + strlen ((const char *) name), 0))
+ idx1 = findidx (&cp, -1);
+ if (BE (idx1 == 0 || *cp != '\0', 0))
/* This isn't a valid character. */
return REG_ECOLLATE;
/* Build single byte matcing table for this equivalence class. */
- char_buf[1] = (unsigned char) '\0';
len = weights[idx1 & 0xffffff];
for (ch = 0; ch < SBC_MAX; ++ch)
{
char_buf[0] = ch;
cp = char_buf;
- idx2 = findidx (&cp);
+ idx2 = findidx (&cp, 1);
/*
idx2 = table[ch];
*/
--- a/posix/regex_internal.h 2011-11-30 12:47:02.706567482 -0700
+++ a/posix/regex_internal.h 2011-11-30 12:47:32.969558337 -0700
@@ -756,7 +756,7 @@
indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE,
_NL_COLLATE_INDIRECTMB);
p = pstr->mbs + idx;
- tmp = findidx (&p);
+ tmp = findidx (&p, pstr->len - idx);
return p - pstr->mbs - idx;
}
else
diff --git a/posix/regexec.c b/posix/regexec.c
index 9e0c565..3ea810b 100644
--- a/posix/regexec.c
+++ b/posix/regexec.c
@@ -3924,7 +3924,7 @@ check_node_accept_bytes (const re_dfa_t *dfa, int node_idx,
_NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAMB);
indirect = (const int32_t *)
_NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB);
- int32_t idx = findidx (&cp);
+ int32_t idx = findidx (&cp, elem_len);
if (idx > 0)
for (i = 0; i < cset->nequiv_classes; ++i)
{
diff --git a/string/strcoll_l.c b/string/strcoll_l.c
index d8d1139..fb77d08 100644
--- a/string/strcoll_l.c
+++ b/string/strcoll_l.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-1997,2002,2004,2007,2010 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1997,2002,2004,2007,2010,2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Ulrich Drepper <drepper@gnu.org>, 1995.
@@ -205,7 +205,7 @@ STRCOLL (s1, s2, l)
while (*us1 != L('\0'))
{
- int32_t tmp = findidx (&us1);
+ int32_t tmp = findidx (&us1, -1);
rule1arr[idx1max] = tmp >> 24;
idx1arr[idx1max] = tmp & 0xffffff;
idx1cnt = idx1max++;
@@ -267,7 +267,7 @@ STRCOLL (s1, s2, l)
while (*us2 != L('\0'))
{
- int32_t tmp = findidx (&us2);
+ int32_t tmp = findidx (&us2, -1);
rule2arr[idx2max] = tmp >> 24;
idx2arr[idx2max] = tmp & 0xffffff;
idx2cnt = idx2max++;
diff --git a/string/strxfrm_l.c b/string/strxfrm_l.c
index 220253c..b06556d 100644
--- a/string/strxfrm_l.c
+++ b/string/strxfrm_l.c
@@ -176,7 +176,7 @@ STRXFRM (STRING_TYPE *dest, const STRING_TYPE *src, size_t n, __locale_t l)
idxmax = 0;
do
{
- int32_t tmp = findidx (&usrc);
+ int32_t tmp = findidx (&usrc, -1);
rulearr[idxmax] = tmp >> 24;
idxarr[idxmax] = tmp & 0xffffff;

View File

@ -1,45 +0,0 @@
commit 6257af2d05d460a0dd3e2a8268dd813edb980d81
Author: Andreas Schwab <schwab@redhat.com>
Date: Thu Dec 1 13:27:53 2011 +0100
Truncate time values in Linux futimes when falling back to utime
diff --git a/ChangeLog b/ChangeLog
index 2bf0a0a..dddb628 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,6 +7,12 @@
* misc/bits/select2.h (__FD_ELT): Mark as extension. Add
parenthesis.
+2011-12-01 Andreas Schwab <schwab@redhat.com>
+
+ * sysdeps/unix/sysv/linux/futimes.c: Truncate time values when
+ falling back to utime.
+
+
2011-11-29 Andreas Schwab <schwab@redhat.com>
* locale/weight.h (findidx): Add parameter len.
diff --git a/sysdeps/unix/sysv/linux/futimes.c b/sysdeps/unix/sysv/linux/futimes.c
index 272b83e..cd3cce6 100644
--- a/sysdeps/unix/sysv/linux/futimes.c
+++ b/sysdeps/unix/sysv/linux/futimes.c
@@ -1,5 +1,5 @@
/* futimes -- change access and modification times of open file. Linux version.
- Copyright (C) 2002,2003,2005,2006,2007 Free Software Foundation, Inc.
+ Copyright (C) 2002,2003,2005,2006,2007,2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -95,8 +95,8 @@ __futimes (int fd, const struct timeval tvp[2])
if (tvp != NULL)
{
times = &buf;
- buf.actime = tvp[0].tv_sec + (tvp[0].tv_usec + 500000) / 1000000;
- buf.modtime = tvp[1].tv_sec + (tvp[1].tv_usec + 500000) / 1000000;
+ buf.actime = tvp[0].tv_sec;
+ buf.modtime = tvp[1].tv_sec;
}
else
times = NULL;

View File

@ -1,82 +0,0 @@
commit 97ac2654b2d831acaa18a2b018b0736245903fd2
Author: Ulrich Drepper <drepper@gmail.com>
Date: Sat Dec 17 20:18:42 2011 -0500
Check values from TZ file header
[BZ #13506]
* time/tzfile.c (__tzfile_read): Check values from file header.
diff --git a/time/tzfile.c b/time/tzfile.c
index 144e20b..402389c 100644
--- a/time/tzfile.c
+++ b/time/tzfile.c
@@ -234,23 +234,58 @@ __tzfile_read (const char *file, size_t extra, char **extrap)
goto read_again;
}
+ if (__builtin_expect (num_transitions
+ > ((SIZE_MAX - (__alignof__ (struct ttinfo) - 1))
+ / (sizeof (time_t) + 1)), 0))
+ goto lose;
total_size = num_transitions * (sizeof (time_t) + 1);
total_size = ((total_size + __alignof__ (struct ttinfo) - 1)
& ~(__alignof__ (struct ttinfo) - 1));
types_idx = total_size;
- total_size += num_types * sizeof (struct ttinfo) + chars;
+ if (__builtin_expect (num_types
+ > (SIZE_MAX - total_size) / sizeof (struct ttinfo), 0))
+ goto lose;
+ total_size += num_types * sizeof (struct ttinfo);
+ if (__builtin_expect (chars > SIZE_MAX - total_size, 0))
+ goto lose;
+ total_size += chars;
+ if (__builtin_expect (__alignof__ (struct leap) - 1
+ > SIZE_MAX - total_size, 0))
+ goto lose;
total_size = ((total_size + __alignof__ (struct leap) - 1)
& ~(__alignof__ (struct leap) - 1));
leaps_idx = total_size;
+ if (__builtin_expect (num_leaps
+ > (SIZE_MAX - total_size) / sizeof (struct leap), 0))
+ goto lose;
total_size += num_leaps * sizeof (struct leap);
- tzspec_len = (sizeof (time_t) == 8 && trans_width == 8
- ? st.st_size - (ftello (f)
- + num_transitions * (8 + 1)
- + num_types * 6
- + chars
- + num_leaps * 12
- + num_isstd
- + num_isgmt) - 1 : 0);
+ tzspec_len = 0;
+ if (sizeof (time_t) == 8 && trans_width == 8)
+ {
+ off_t rem = st.st_size - ftello (f);
+ if (__builtin_expect (rem < 0
+ || (size_t) rem < (num_transitions * (8 + 1)
+ + num_types * 6
+ + chars), 0))
+ goto lose;
+ tzspec_len = (size_t) rem - (num_transitions * (8 + 1)
+ + num_types * 6
+ + chars);
+ if (__builtin_expect (num_leaps > SIZE_MAX / 12
+ || tzspec_len < num_leaps * 12, 0))
+ goto lose;
+ tzspec_len -= num_leaps * 12;
+ if (__builtin_expect (tzspec_len < num_isstd, 0))
+ goto lose;
+ tzspec_len -= num_isstd;
+ if (__builtin_expect (tzspec_len == 0 || tzspec_len - 1 < num_isgmt, 0))
+ goto lose;
+ tzspec_len -= num_isgmt + 1;
+ if (__builtin_expect (SIZE_MAX - total_size < tzspec_len, 0))
+ goto lose;
+ }
+ if (__builtin_expect (SIZE_MAX - total_size - tzspec_len < extra, 0))
+ goto lose;
/* Allocate enough memory including the extra block requested by the
caller. */

View File

@ -1,14 +0,0 @@
--- a/nptl/pthread_create.c 2011-12-13 11:41:37.000000000 -0700
+++ b/nptl/pthread_create.c 2011-12-14 10:03:13.000000000 -0700
@@ -440,8 +440,9 @@
int err = ALLOCATE_STACK (iattr, &pd);
if (__builtin_expect (err != 0, 0))
/* Something went wrong. Maybe a parameter of the attributes is
- invalid or we could not allocate memory. */
- return err;
+ invalid or we could not allocate memory. Note we have to
+ translate error codes. */
+ return err == ENOMEM ? EAGAIN : err;
/* Initialize the TCB. All initializations with zero should be

View File

@ -1,24 +0,0 @@
commit d2daaa1eb6deaa17f6c9bc110cf7d927d8dcd767
Author: Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
Date: Wed Dec 21 13:27:09 2011 -0800
Define x86_64 feraiseexcept inline only under __USE_EXTERN_INLINES.
2011-12-19 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
* sysdeps/x86_64/fpu/bits/fenv.h (feraiseexcept): Define it only
under [__USE_EXTERN_INLINES].
diff --git a/sysdeps/x86_64/fpu/bits/fenv.h b/sysdeps/x86_64/fpu/bits/fenv.h
index 4af1643..d73859c 100644
--- a/sysdeps/x86_64/fpu/bits/fenv.h
+++ b/sysdeps/x86_64/fpu/bits/fenv.h
@@ -97,7 +97,7 @@ fenv_t;
#endif
-#ifdef __OPTIMIZE__
+#ifdef __USE_EXTERN_INLINES
__BEGIN_DECLS
/* Optimized versions. */

View File

@ -1,240 +0,0 @@
From libc-alpha-return-25252-listarch-libc-alpha=sources dot redhat dot com at sourceware dot org Thu Feb 16 16:21:17 2012
Return-Path: <libc-alpha-return-25252-listarch-libc-alpha=sources dot redhat dot com at sourceware dot org>
Delivered-To: listarch-libc-alpha at sources dot redhat dot com
Received: (qmail 5187 invoked by alias); 16 Feb 2012 16:21:14 -0000
Delivered-To: moderator for libc-alpha at sourceware dot org
Received: (qmail 2174 invoked by uid 22791); 16 Feb 2012 16:17:18 -0000
X-SWARE-Spam-Status: No, hits=-2.0 required=5.0
tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,TW_TV,TW_VB,TW_VF,T_RP_MATCHES_RCVD
X-Spam-Check-By: sourceware.org
Date: Thu, 16 Feb 2012 08:16:13 -0800
From: Kees Cook <kees at outflux dot net>
To: "Ryan S dot Arnold" <ryan dot arnold at gmail dot com>
Cc: libc-alpha at sourceware dot org, Paul Eggert <eggert at cs dot ucla dot edu>,
Roland McGrath <roland at hack dot frob dot com>,
Andreas Schwab <schwab at linux-m68k dot org>
Subject: Re: [PATCH] vfprintf: validate nargs and maybe allocate from heap
Message-ID: <20120216161613.GZ20420@outflux.net>
References: <20120206062537.GM4979@outflux.net>
<20120207000509 dot GP4989 at outflux dot net>
<20120210192457 dot GF20420 at outflux dot net>
<CAAKybw8AgkGsKAx=kvX4Tsi74f+HtuVnatTCB0VfsHi7vVFi1Q at mail dot gmail dot com>
<20120214223048 dot GM20420 at outflux dot net>
<CAAKybw_HS+cav+YcDw3ns7UXu6_xA7EHPrkiB87P+OGwEB0PVQ at mail dot gmail dot com>
<20120214224543 dot GN20420 at outflux dot net>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20120214224543 dot GN20420 at outflux dot net>
X-MIMEDefang-Filter: outflux$Revision: 1.316 $
X-HELO: www.outflux.net
Mailing-List: contact libc-alpha-help at sourceware dot org; run by ezmlm
Precedence: bulk
List-Id: <libc-alpha.sourceware.org>
List-Subscribe: <mailto:libc-alpha-subscribe at sourceware dot org>
List-Archive: <http://sourceware.org/ml/libc-alpha/>
List-Post: <mailto:libc-alpha at sourceware dot org>
List-Help: <mailto:libc-alpha-help at sourceware dot org>, <http://sourceware dot org/ml/#faqs>
Sender: libc-alpha-owner at sourceware dot org
Delivered-To: mailing list libc-alpha at sourceware dot org
The nargs value can overflow when doing allocations, allowing arbitrary
memory writes via format strings, bypassing _FORTIFY_SOURCE:
http://www.phrack.org/issues.html?issue=67&id=9
This checks for nargs overflow and possibly allocates from heap instead of
stack, and adds a regression test for the situation.
I have FSF assignment via Google. (Sent from @outflux since that's how I'm
subscribed here, but CL shows @chromium.org as part of my Google work.)
This version disables the useless test on non-32-bit platforms.
2012-02-16 Kees Cook <keescook@chromium.org>
[BZ #13656]
* stdio-common/vfprintf.c (vfprintf): Check for nargs overflow and
possibly allocate from heap instead of stack.
* stdio-common/bug-vfprintf-nargs.c: New file.
* stdio-common/Makefile (tests): Add nargs overflow test.
diff --git a/stdio-common/Makefile b/stdio-common/Makefile
index a847b28..080badc 100644
--- a/stdio-common/Makefile
+++ b/stdio-common/Makefile
@@ -59,7 +59,8 @@ tests := tstscanf test_rdwr test-popen tstgetln test-fseek \
tst-popen tst-unlockedio tst-fmemopen2 tst-put-error tst-fgets \
tst-fwrite bug16 bug17 tst-swscanf tst-sprintf2 bug18 bug18a \
bug19 bug19a tst-popen2 scanf13 scanf14 scanf15 bug20 bug21 bug22 \
- scanf16 scanf17 tst-setvbuf1 tst-grouping bug23 bug24
+ scanf16 scanf17 tst-setvbuf1 tst-grouping bug23 bug24 \
+ bug-vfprintf-nargs
test-srcs = tst-unbputc tst-printf
diff --git a/stdio-common/bug-vfprintf-nargs.c b/stdio-common/bug-vfprintf-nargs.c
new file mode 100644
index 0000000..13c66c0
--- /dev/null
+++ b/stdio-common/bug-vfprintf-nargs.c
@@ -0,0 +1,78 @@
+/* Test for vfprintf nargs allocation overflow (BZ #13656).
+ Copyright (C) 2012 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Kees Cook <keescook@chromium.org>, 2012.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdint.h>
+#include <unistd.h>
+#include <inttypes.h>
+#include <string.h>
+#include <signal.h>
+
+static int
+format_failed (const char *fmt, const char *expected)
+{
+ char output[80];
+
+ printf ("%s : ", fmt);
+
+ memset (output, 0, sizeof output);
+ /* Having sprintf itself detect a failure is good. */
+ if (sprintf (output, fmt, 1, 2, 3, "test") > 0
+ && strcmp (output, expected) != 0)
+ {
+ printf ("FAIL (output '%s' != expected '%s')\n", output, expected);
+ return 1;
+ }
+ puts ("ok");
+ return 0;
+}
+
+static int
+do_test (void)
+{
+ int rc = 0;
+ char buf[64];
+
+ /* Regular positionals work. */
+ if (format_failed ("%1$d", "1") != 0)
+ rc = 1;
+
+ /* Regular width positionals work. */
+ if (format_failed ("%1$*2$d", " 1") != 0)
+ rc = 1;
+
+ /* Positional arguments are constructed via read_int, so nargs can only
+ overflow on 32-bit systems. On 64-bit systems, it will attempt to
+ allocate a giant amount of memory and possibly crash, which is the
+ expected situation. Since the 64-bit behavior is arch-specific, only
+ test this on 32-bit systems. */
+ if (sizeof (long int) == 4)
+ {
+ sprintf (buf, "%%1$d %%%" PRIdPTR "$d", UINT32_MAX / sizeof (int));
+ if (format_failed (buf, "1 %$d") != 0)
+ rc = 1;
+ }
+
+ return rc;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
diff --git a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c
index 863cd5d..022e72b 100644
--- a/stdio-common/vfprintf.c
+++ b/stdio-common/vfprintf.c
@@ -235,6 +235,9 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap)
0 if unknown. */
int readonly_format = 0;
+ /* For the argument descriptions, which may be allocated on the heap. */
+ void *args_malloced = NULL;
+
/* This table maps a character into a number representing a
class. In each step there is a destination label for each
class. */
@@ -1647,9 +1650,10 @@ do_positional:
determine the size of the array needed to store the argument
attributes. */
size_t nargs = 0;
- int *args_type;
- union printf_arg *args_value = NULL;
+ size_t bytes_per_arg;
+ union printf_arg *args_value;
int *args_size;
+ int *args_type;
/* Positional parameters refer to arguments directly. This could
also determine the maximum number of arguments. Track the
@@ -1698,13 +1702,33 @@ do_positional:
/* Determine the number of arguments the format string consumes. */
nargs = MAX (nargs, max_ref_arg);
+ bytes_per_arg = sizeof (*args_value) + sizeof (*args_size)
+ + sizeof (*args_type);
+
+ /* Check for potential integer overflow. */
+ if (nargs > SIZE_MAX / bytes_per_arg)
+ {
+ done = -1;
+ goto all_done;
+ }
/* Allocate memory for the argument descriptions. */
- args_type = alloca (nargs * sizeof (int));
+ if (__libc_use_alloca (nargs * bytes_per_arg))
+ args_value = alloca (nargs * bytes_per_arg);
+ else
+ {
+ args_value = args_malloced = malloc (nargs * bytes_per_arg);
+ if (args_value == NULL)
+ {
+ done = -1;
+ goto all_done;
+ }
+ }
+
+ args_size = &args_value[nargs].pa_int;
+ args_type = &args_size[nargs];
memset (args_type, s->_flags2 & _IO_FLAGS2_FORTIFY ? '\xff' : '\0',
- nargs * sizeof (int));
- args_value = alloca (nargs * sizeof (union printf_arg));
- args_size = alloca (nargs * sizeof (int));
+ nargs * sizeof (*args_type));
/* XXX Could do sanity check here: If any element in ARGS_TYPE is
still zero after this loop, format is invalid. For now we
@@ -1973,8 +1997,8 @@ do_positional:
}
all_done:
- if (__builtin_expect (workstart != NULL, 0))
- free (workstart);
+ free (args_malloced);
+ free (workstart);
/* Unlock the stream. */
_IO_funlockfile (s);
_IO_cleanup_region_end (0);
--
1.7.5.4
--
Kees Cook @outflux.net

91
glibc-rh819430.patch Normal file
View File

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

37
glibc-rh827510.patch Normal file
View File

@ -0,0 +1,37 @@
Short description: Fix newlocale error return.
Author(s): Fedora glibc team <glibc@lists.fedoraproject.org>
Origin: PATCH
Bug-RHEL: #832516
Bug-Fedora: #827510
Bug-Upstream: #14247
Upstream status: not-submitted
This needs to go upstream right away to fix the error case for
newlocale not correctly returning an error.
2012-06-14 Jeff Law <law@redhat.com>
* locale/loadlocale.c (_nl_load_locale): Delay setting
file->decided until we have successfully loaded the file's
data.
diff --git a/locale/loadlocale.c b/locale/loadlocale.c
index e3fa187..9fd9216 100644
--- a/locale/loadlocale.c
+++ b/locale/loadlocale.c
@@ -169,7 +169,6 @@ _nl_load_locale (struct loaded_l10nfile *file, int category)
int save_err;
int alloc = ld_mapped;
- file->decided = 1;
file->data = NULL;
fd = __open_nocancel (file->filename, O_RDONLY | O_CLOEXEC);
@@ -278,6 +277,7 @@ _nl_load_locale (struct loaded_l10nfile *file, int category)
newdata->alloc = alloc;
file->data = newdata;
+ file->decided = 1;
}
void

File diff suppressed because it is too large Load Diff

View File

@ -1,353 +0,0 @@
diff -Nrup a/stdlib/Makefile b/stdlib/Makefile
--- a/stdlib/Makefile 2011-10-19 05:03:31.000000000 -0600
+++ b/stdlib/Makefile 2012-08-15 10:04:53.514783877 -0600
@@ -71,7 +71,7 @@ tests := tst-strtol tst-strtod testmb t
tst-atof1 tst-atof2 tst-strtod2 tst-strtod3 tst-rand48-2 \
tst-makecontext tst-strtod4 tst-strtod5 tst-qsort2 \
tst-makecontext2 tst-strtod6 tst-unsetenv1 \
- tst-makecontext3 bug-getcontext
+ tst-makecontext3 bug-getcontext tst-strtod-overflow
include ../Makeconfig
diff -Nrup a/stdlib/strtod_l.c b/stdlib/strtod_l.c
--- a/stdlib/strtod_l.c 2011-10-19 05:03:31.000000000 -0600
+++ b/stdlib/strtod_l.c 2012-08-15 10:04:53.595783593 -0600
@@ -62,6 +62,7 @@ extern unsigned long long int ____strtou
#include <math.h>
#include <stdlib.h>
#include <string.h>
+#include <stdint.h>
/* The gmp headers need some configuration frobs. */
#define HAVE_ALLOCA 1
@@ -176,19 +177,19 @@ extern const mp_limb_t _tens_in_limb[MAX
/* Return a floating point number of the needed type according to the given
multi-precision number after possible rounding. */
static FLOAT
-round_and_return (mp_limb_t *retval, int exponent, int negative,
+round_and_return (mp_limb_t *retval, intmax_t exponent, int negative,
mp_limb_t round_limb, mp_size_t round_bit, int more_bits)
{
if (exponent < MIN_EXP - 1)
{
- mp_size_t shift = MIN_EXP - 1 - exponent;
-
- if (shift > MANT_DIG)
+ if (exponent < MIN_EXP - 1 - MANT_DIG)
{
__set_errno (ERANGE);
return 0.0;
}
+ mp_size_t shift = MIN_EXP - 1 - exponent;
+
more_bits |= (round_limb & ((((mp_limb_t) 1) << round_bit) - 1)) != 0;
if (shift == MANT_DIG)
/* This is a special case to handle the very seldom case where
@@ -235,6 +236,9 @@ round_and_return (mp_limb_t *retval, int
__set_errno (ERANGE);
}
+ if (exponent > MAX_EXP)
+ goto overflow;
+
if ((round_limb & (((mp_limb_t) 1) << round_bit)) != 0
&& (more_bits || (retval[0] & 1) != 0
|| (round_limb & ((((mp_limb_t) 1) << round_bit) - 1)) != 0))
@@ -260,6 +264,7 @@ round_and_return (mp_limb_t *retval, int
}
if (exponent > MAX_EXP)
+ overflow:
return negative ? -FLOAT_HUGE_VAL : FLOAT_HUGE_VAL;
return MPN2FLOAT (retval, exponent, negative);
@@ -273,7 +278,7 @@ round_and_return (mp_limb_t *retval, int
factor for the resulting number (see code) multiply by it. */
static const STRING_TYPE *
str_to_mpn (const STRING_TYPE *str, int digcnt, mp_limb_t *n, mp_size_t *nsize,
- int *exponent
+ intmax_t *exponent
#ifndef USE_WIDE_CHAR
, const char *decimal, size_t decimal_len, const char *thousands
#endif
@@ -337,7 +342,7 @@ str_to_mpn (const STRING_TYPE *str, int
}
while (--digcnt > 0);
- if (*exponent > 0 && cnt + *exponent <= MAX_DIG_PER_LIMB)
+ if (*exponent > 0 && *exponent <= MAX_DIG_PER_LIMB - cnt)
{
low *= _tens_in_limb[*exponent];
start = _tens_in_limb[cnt + *exponent];
@@ -415,7 +420,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group
{
int negative; /* The sign of the number. */
MPN_VAR (num); /* MP representation of the number. */
- int exponent; /* Exponent of the number. */
+ intmax_t exponent; /* Exponent of the number. */
/* Numbers starting `0X' or `0x' have to be processed with base 16. */
int base = 10;
@@ -437,7 +442,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group
/* Points at the character following the integer and fractional digits. */
const STRING_TYPE *expp;
/* Total number of digit and number of digits in integer part. */
- int dig_no, int_no, lead_zero;
+ size_t dig_no, int_no, lead_zero;
/* Contains the last character read. */
CHAR_TYPE c;
@@ -769,7 +774,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group
are all or any is really a fractional digit will be decided
later. */
int_no = dig_no;
- lead_zero = int_no == 0 ? -1 : 0;
+ lead_zero = int_no == 0 ? (size_t) -1 : 0;
/* Read the fractional digits. A special case are the 'american
style' numbers like `16.' i.e. with decimal point but without
@@ -791,12 +796,13 @@ ____STRTOF_INTERNAL (nptr, endptr, group
(base == 16 && ({ CHAR_TYPE lo = TOLOWER (c);
lo >= L_('a') && lo <= L_('f'); })))
{
- if (c != L_('0') && lead_zero == -1)
+ if (c != L_('0') && lead_zero == (size_t) -1)
lead_zero = dig_no - int_no;
++dig_no;
c = *++cp;
}
}
+ assert (dig_no <= (uintmax_t) INTMAX_MAX);
/* Remember start of exponent (if any). */
expp = cp;
@@ -819,24 +825,80 @@ ____STRTOF_INTERNAL (nptr, endptr, group
if (c >= L_('0') && c <= L_('9'))
{
- int exp_limit;
+ intmax_t exp_limit;
/* Get the exponent limit. */
if (base == 16)
- exp_limit = (exp_negative ?
- -MIN_EXP + MANT_DIG + 4 * int_no :
- MAX_EXP - 4 * int_no + 4 * lead_zero + 3);
+ {
+ if (exp_negative)
+ {
+ assert (int_no <= (uintmax_t) (INTMAX_MAX
+ + MIN_EXP - MANT_DIG) / 4);
+ exp_limit = -MIN_EXP + MANT_DIG + 4 * (intmax_t) int_no;
+ }
+ else
+ {
+ if (int_no)
+ {
+ assert (lead_zero == 0
+ && int_no <= (uintmax_t) INTMAX_MAX / 4);
+ exp_limit = MAX_EXP - 4 * (intmax_t) int_no + 3;
+ }
+ else if (lead_zero == (size_t) -1)
+ {
+ /* The number is zero and this limit is
+ arbitrary. */
+ exp_limit = MAX_EXP + 3;
+ }
+ else
+ {
+ assert (lead_zero
+ <= (uintmax_t) (INTMAX_MAX - MAX_EXP - 3) / 4);
+ exp_limit = (MAX_EXP
+ + 4 * (intmax_t) lead_zero
+ + 3);
+ }
+ }
+ }
else
- exp_limit = (exp_negative ?
- -MIN_10_EXP + MANT_DIG + int_no :
- MAX_10_EXP - int_no + lead_zero + 1);
+ {
+ if (exp_negative)
+ {
+ assert (int_no
+ <= (uintmax_t) (INTMAX_MAX + MIN_10_EXP - MANT_DIG));
+ exp_limit = -MIN_10_EXP + MANT_DIG + (intmax_t) int_no;
+ }
+ else
+ {
+ if (int_no)
+ {
+ assert (lead_zero == 0
+ && int_no <= (uintmax_t) INTMAX_MAX);
+ exp_limit = MAX_10_EXP - (intmax_t) int_no + 1;
+ }
+ else if (lead_zero == (size_t) -1)
+ {
+ /* The number is zero and this limit is
+ arbitrary. */
+ exp_limit = MAX_10_EXP + 1;
+ }
+ else
+ {
+ assert (lead_zero
+ <= (uintmax_t) (INTMAX_MAX - MAX_10_EXP - 1));
+ exp_limit = MAX_10_EXP + (intmax_t) lead_zero + 1;
+ }
+ }
+ }
+
+ if (exp_limit < 0)
+ exp_limit = 0;
do
{
- exponent *= 10;
- exponent += c - L_('0');
-
- if (__builtin_expect (exponent > exp_limit, 0))
+ if (__builtin_expect ((exponent > exp_limit / 10
+ || (exponent == exp_limit / 10
+ && c - L_('0') > exp_limit % 10)), 0))
/* The exponent is too large/small to represent a valid
number. */
{
@@ -845,7 +907,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group
/* We have to take care for special situation: a joker
might have written "0.0e100000" which is in fact
zero. */
- if (lead_zero == -1)
+ if (lead_zero == (size_t) -1)
result = negative ? -0.0 : 0.0;
else
{
@@ -864,6 +926,9 @@ ____STRTOF_INTERNAL (nptr, endptr, group
/* NOTREACHED */
}
+ exponent *= 10;
+ exponent += c - L_('0');
+
c = *++cp;
}
while (c >= L_('0') && c <= L_('9'));
@@ -932,7 +997,14 @@ ____STRTOF_INTERNAL (nptr, endptr, group
}
#endif
startp += lead_zero + decimal_len;
- exponent -= base == 16 ? 4 * lead_zero : lead_zero;
+ assert (lead_zero <= (base == 16
+ ? (uintmax_t) INTMAX_MAX / 4
+ : (uintmax_t) INTMAX_MAX));
+ assert (lead_zero <= (base == 16
+ ? ((uintmax_t) exponent
+ - (uintmax_t) INTMAX_MIN) / 4
+ : ((uintmax_t) exponent - (uintmax_t) INTMAX_MIN)));
+ exponent -= base == 16 ? 4 * (intmax_t) lead_zero : (intmax_t) lead_zero;
dig_no -= lead_zero;
}
@@ -974,7 +1046,10 @@ ____STRTOF_INTERNAL (nptr, endptr, group
}
/* Adjust the exponent for the bits we are shifting in. */
- exponent += bits - 1 + (int_no - 1) * 4;
+ assert (int_no <= (uintmax_t) (exponent < 0
+ ? (INTMAX_MAX - bits + 1) / 4
+ : (INTMAX_MAX - exponent - bits + 1) / 4));
+ exponent += bits - 1 + ((intmax_t) int_no - 1) * 4;
while (--dig_no > 0 && idx >= 0)
{
@@ -1014,13 +1089,15 @@ ____STRTOF_INTERNAL (nptr, endptr, group
really integer digits or belong to the fractional part; i.e. we normalize
123e-2 to 1.23. */
{
- register int incr = (exponent < 0 ? MAX (-int_no, exponent)
- : MIN (dig_no - int_no, exponent));
+ register intmax_t incr = (exponent < 0
+ ? MAX (-(intmax_t) int_no, exponent)
+ : MIN ((intmax_t) dig_no - (intmax_t) int_no,
+ exponent));
int_no += incr;
exponent -= incr;
}
- if (__builtin_expect (int_no + exponent > MAX_10_EXP + 1, 0))
+ if (__builtin_expect (exponent > MAX_10_EXP + 1 - (intmax_t) int_no, 0))
{
__set_errno (ERANGE);
return negative ? -FLOAT_HUGE_VAL : FLOAT_HUGE_VAL;
@@ -1205,7 +1282,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group
digits we should have enough bits for the result. The remaining
decimal digits give us the information that more bits are following.
This can be used while rounding. (Two added as a safety margin.) */
- if (dig_no - int_no > (MANT_DIG - bits + 2) / 3 + 2)
+ if ((intmax_t) dig_no > (intmax_t) int_no + (MANT_DIG - bits + 2) / 3 + 2)
{
dig_no = int_no + (MANT_DIG - bits + 2) / 3 + 2;
more_bits = 1;
@@ -1213,7 +1290,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group
else
more_bits = 0;
- neg_exp = dig_no - int_no - exponent;
+ neg_exp = (intmax_t) dig_no - (intmax_t) int_no - exponent;
/* Construct the denominator. */
densize = 0;
diff -Nrup a/stdlib/tst-strtod-overflow.c b/stdlib/tst-strtod-overflow.c
--- a/stdlib/tst-strtod-overflow.c 1969-12-31 17:00:00.000000000 -0700
+++ b/stdlib/tst-strtod-overflow.c 2012-08-15 10:04:54.483780474 -0600
@@ -0,0 +1,48 @@
+/* Test for integer/buffer overflow in strtod.
+ Copyright (C) 2012 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#define EXPONENT "e-2147483649"
+#define SIZE 214748364
+
+static int
+do_test (void)
+{
+ char *p = malloc (1 + SIZE + sizeof (EXPONENT));
+ if (p == NULL)
+ {
+ puts ("malloc failed, cannot test for overflow");
+ return 0;
+ }
+ p[0] = '1';
+ memset (p + 1, '0', SIZE);
+ memcpy (p + 1 + SIZE, EXPONENT, sizeof (EXPONENT));
+ double d = strtod (p, NULL);
+ if (d != 0)
+ {
+ printf ("strtod returned wrong value: %a\n", d);
+ return 1;
+ }
+ return 0;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"

8307
glibc.spec

File diff suppressed because it is too large Load Diff

1
nscd.conf Normal file
View File

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

273
power6emul.c Normal file
View File

@ -0,0 +1,273 @@
/* 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);
}

22
quilt-patch.sh Executable file
View File

@ -0,0 +1,22 @@
#!/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,3 +1 @@
6cb0f013d410bf40e1a1d28a5d9f95b9 glibc-2.14-394-g8f3b1ff-fedora.tar.xz
860f193936a67a1fd1e06c2b85912477 glibc-2.14-394-g8f3b1ff.tar.xz
9673adaacae3ac645748827a62876ce9 glibc-ports-2.14-25-gd3d9bde.tar.xz
SHA512 (glibc-2.30.9000-100-g1a6566094d.tar.xz) = e6054a8f1367fde262f023c76f7eaf5ce588613c4894b8d577c7e1c3159a2dfcefb7c60e301340b823cd8e6d2f8d264d7da83e61034b9180836d392d5db4c5ba

11
template.patch Normal file
View File

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