summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Replace int with bool in __fortify_fail_aborthjl/pr12189H.J. Lu2017-07-103-4/+5
| | | | | | | | | | * debug/fortify_fail.c (__fortify_fail_abort): Replace int with bool. (__fortify_fail): Pass false to __fortify_fail_abort. * debug/stack_chk_fail.c (__stack_chk_fail): Pass true to __fortify_fail_abort. * include/stdio.h: Include <stdbool.h>l (__fortify_fail_abort): Replace int with bool.
* Avoid backtrace from __stack_chk_fail [BZ #12189]H.J. Lu2017-07-106-4/+61
| | | | | | | | | | | | | | | | | | | | __stack_chk_fail is called on corrupted stack. __stack_chk_fail should use as little stack as possible. __libc_message is extended to avoid calling BEFORE_ABORT when do_abort >= 3 and __fortify_fail_abort is added to avoid backtrace from __stack_chk_fail. [BZ #12189] * debug/Makefile (CFLAGS-tst-ssp-1.c): New. (tests): Add tst-ssp-1 if -fstack-protector works. * debug/fortify_fail.c (_fortify_fail_abort): New function. (__fortify_fail): Call _fortify_fail_abort. (__fortify_fail_abort): Add a hidden definition. * debug/stack_chk_fail.c (__stack_chk_fail): Call __fortify_fail_abort, instead of __fortify_fail. * debug/tst-ssp-1.c: New file. * include/stdio.h (__fortify_fail_abort): New hidden prototype. * sysdeps/posix/libc_fatal.c (__libc_message): Call BEFORE_ABORT if do_abort < 3.
* Add __stack_chk_fail_local alias only to libc.so [BZ #21740]H.J. Lu2017-07-101-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 524a8ef2ad76af8ac049293d993a1856b0d888fb Author: Nick Alcock <nick.alcock@oracle.com> Date: Mon Dec 26 10:08:57 2016 +0100 PLT avoidance for __stack_chk_fail [BZ #7065] Add a hidden __stack_chk_fail_local alias to libc.so, and make sure that on targets which use __stack_chk_fail, this does not introduce a local PLT reference into libc.so. unconditionally added strong_alias (__stack_chk_fail, __stack_chk_fail_local) Since libc.a and libc_nonshared.a has debug/stack_chk_fail_local.c, __stack_chk_fail_local alias should be limited to libc.so. Tested on x86-64 with --enable-stack-protector=all and got FAIL: elf/tst-env-setuid FAIL: elf/tst-env-setuid-tunables FAIL: stdlib/tst-secure-getenv which are the same as without this patch. [BZ #21740] * debug/stack_chk_fail.c (__stack_chk_fail_local): Add the alias only if SHARED is defined.
* Added yesstr and nostr to zh_HK localeAkhilesh Kumar2017-07-102-0/+7
| | | | | | | yesstr and nostr are missing for zh_HK language locale [BZ #21733] * locales/zh_HK (LC_MESSAGES): add yesstr and nostr
* Fix abday strings for ks_IN@devanagari to match the day stringsAkhilesh Kumar2017-07-102-7/+12
| | | | | | | Hindi language is similar to Kashmiri(devanagari) language. [BZ #21743] * locales/ks_IN@devanagari (LC_TIME): Fixed abday strings
* Don't include _dl_resolve_conflicts in libc.a [BZ #21742]H.J. Lu2017-07-102-2/+8
| | | | | | | | | Since _dl_resolve_conflicts is only used in elf/rtld.c, don't include it in libc.a. [BZ #21742] * elf/Makefile (dl-routines): Move dl-conflict to ... (rtld-routines): Here.
* x86-64: Test memmove_chk and memset_chk only in libc.so [BZ #21741]H.J. Lu2017-07-102-0/+11
| | | | | | | | | | Since there are no multiarch versions of memmove_chk and memset_chk, test multiarch versions of memmove_chk and memset_chk only in libc.so. [BZ #21741] * sysdeps/x86_64/multiarch/ifunc-impl-list.c (__libc_ifunc_impl_list): Test memmove_chk and memset_chk only in libc.so.
* Add iI and eE to yesexpr and noexpr respectively for ts_ZAMike FABIAN2017-07-102-2/+6
|
* Update hppa ulps.John David Anglin2017-07-092-50/+56
|
* Use generic pthread support on hppa.John David Anglin2017-07-099-382/+42
|
* x86-64: Update comments in IFUNC selectorsH.J. Lu2017-07-0917-21/+35
| | | | | | | | | | | | | | | | | | | * sysdeps/x86_64/multiarch/memcmp.c: Update comments. * sysdeps/x86_64/multiarch/memmove.c: Likewise. * sysdeps/x86_64/multiarch/memrchr.c: Likewise. * sysdeps/x86_64/multiarch/memset.c: Likewise. * sysdeps/x86_64/multiarch/rawmemchr.c: Likewise. * sysdeps/x86_64/multiarch/strchrnul.c: Likewise. * sysdeps/x86_64/multiarch/strlen.c: Likewise. * sysdeps/x86_64/multiarch/strnlen.c: Likewise. * sysdeps/x86_64/multiarch/wcschr.c: Likewise. * sysdeps/x86_64/multiarch/wcscpy.c: Likewise. * sysdeps/x86_64/multiarch/wcslen.c: Likewise. * sysdeps/x86_64/multiarch/wcsnlen.c: Likewise. * sysdeps/x86_64/multiarch/wmemchr.c: Likewise. * sysdeps/x86_64/multiarch/wmemcmp.c: Likewise. * sysdeps/x86_64/multiarch/wmemset.c: Likewise. * sysdeps/x86_64/multiarch/wmemset_chk.c: Likewise.
* x86-64: Update comments in ifunc-impl-list.cH.J. Lu2017-07-092-16/+20
| | | | | | | All x86-64 IFUNC selectors are written in C now. Update comments to reflect it. * sysdeps/x86_64/multiarch/ifunc-impl-list.c: Update comments.
* Fix BZ #21049.John David Anglin2017-07-092-4/+13
|
* build-many-glibcs.py: also build profiled objectsAndreas Schwab2017-07-082-0/+6
|
* Added yesstr/nostr for kw_GBAkhilesh Kumar2017-07-072-0/+7
| | | | | [BZ #21734] * locales/kw_GB (LC_MESSAGES): add yesstr and nostr
* Added missing yesstr and nostr for Tsonga language locale [LC_MESSAGES]Akhilesh Kumar2017-07-072-0/+10
| | | | | | | [BZ #21727] * locales/ts_ZA(LC_MESSAGES): add yesstr and nostr Signed-off-by: Akhilesh Kumar <akhilesh.k@samsung.com>
* Fix LC_NAME for hi_INAkhilesh Kumar2017-07-072-5/+9
| | | | | | | | | During Hindi Locale review I found many fields are incorrect [BZ #21729] * locales/hi_IN (LC_NAME): Fix name_mr, name_mrs, name_miss, name_ms Signed-off-by: Akhilesh Kumar <akhilesh.k@samsung.com>
* yesstr/nostr missing for Xhosa language localeAkhilesh Kumar2017-07-072-0/+7
| | | | | | | | | | | During Locale verification I observed that yesstr and nostr are missing for Xhosa language locale for South Africa [BZ #21724] * locales/xh_ZA (LC_MESSAGES): add yesstr and nostr Signed-off-by: Akhilesh Kumar <akhilesh.k@samsung.com>
* Add yesstr and nostr to zh_CN localePeng Wu2017-07-072-0/+7
| | | | | [BZ #21723] * locales/zh_CN (LC_MESSAGES): add yesstr and nostr
* Incorrect Full Weekday names for ks_IN@devanagariAkhilesh Kumar2017-07-072-7/+16
| | | | | | | | | | | | | | During Locale verification I observed that Incorrect Full Weekday names for ks_IN@devanagari Reference is taken from http://www.mkraina.com/PDF/3-Self-authored%20Works%20(English)/15.pdf And kashmiri devanagari travel book and other sources [BZ #21721] * locales/ks_IN@devanagari: Full weekday name Fix. Signed-off-by: Akhilesh Kumar <akhilesh.k@samsung.com>
* * manual/tunables.texi: Add missing @end deftp.DJ Delorie2017-07-062-1/+6
|
* resolv: Deal with non-deterministic address order in tst-resolv-basicFlorian Weimer2017-07-062-15/+69
|
* Add per-thread cache to mallocDJ Delorie2017-07-0613-9/+490
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * config.make.in: Enable experimental malloc option. * configure.ac: Likewise. * configure: Regenerate. * manual/install.texi: Document it. * INSTALL: Regenerate. * malloc/Makefile: Likewise. * malloc/malloc.c: Add per-thread cache (tcache). (tcache_put): New. (tcache_get): New. (tcache_thread_freeres): New. (tcache_init): New. (__libc_malloc): Use cached chunks if available. (__libc_free): Initialize tcache if needed. (__libc_realloc): Likewise. (__libc_calloc): Likewise. (_int_malloc): Prefill tcache when appropriate. (_int_free): Likewise. (do_set_tcache_max): New. (do_set_tcache_count): New. (do_set_tcache_unsorted_limit): New. * manual/probes.texi: Document new probes. * malloc/arena.c: Add new tcache tunables. * elf/dl-tunables.list: Likewise. * manual/tunables.texi: Document them. * NEWS: Mention the per-thread cache.
* Increase some test timeouts.Joseph Myers2017-07-067-3/+14
| | | | | | | | | | | | | | | This patch increases the timeouts for some tests that I've seen timing out on slow systems in my 2.26 release testing. (In the case of tst-tsearch.c, increasing the timeout means removing a setting of 10 that was put there before the default timeout was increased to 20 seconds, so putting the default into effect.) * iconvdata/tst-loading.c (TIMEOUT): Define to 30. * misc/tst-tsearch.c (TIMEOUT): Remove. * nptl/tst-create-detached.c (TIMEOUT): Define to 100. * nptl/tst-robust-fork.c (TIMEOUT): Likewise. * nptl/tst-rwlock19.c (TIMEOUT): Likewise. * string/tst-cmp.c (TIMEOUT): Define to 600.
* Arabic scripts: More fixes after the recent import.Rafal Luzynski2017-07-0614-80/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After the recent import of month names from CLDRv31 (bug 21217, commit c853f14) more imports are also needed, mostly abbreviated month names. This patch also updates May (full month name) in ps_AF which was skipped in the previous patch. Incidentally, this import fixes bug 17225 (ar_SY) and partially bug 19066 (ar_SA). CLDR currently has a bug in the full month name for October for ar_IQ, see http://unicode.org/cldr/trac/ticket/10460 * localedata/locales/ar_DZ (abmon): Full import from CLDR, abmon is no longer abbreviated. * localedata/locales/ar_IQ (abmon): Likewise. * localedata/locales/ar_MA (abmon): Likewise. * localedata/locales/ar_TN (abmon): Likewise. * localedata/locales/ps_AF (abmon): Likewise. * localedata/locales/ug_CN (abmon): Likewise. * localedata/locales/ar_SA (abmon): Likewise, partially fixes bug 19066. * localedata/locales/ks_IN (abmon): A copy of mon. * localedata/locales/ur_IN (abmon): Oct reworded "اكتوبر" to "اکتوبر" (same change as mon). * localedata/locales/ur_PK (abmon): Same changes as mon applied. * localedata/locales/ps_AF (mon): May reworded "می" to "مۍ". [BZ #17225] * localedata/locales/ar_SY (abmon): May reworded "نوار" to "أيار", this closes bug 17225. * localedata/locales/ar_JO (abmon): Likewise. * localedata/locales/ar_LB (abmon): Likewise.
* nptl: Fix typo on __have_pthread_attr_t (BZ#21715)Matthew Krupcale2017-07-062-1/+7
| | | | | | | | | | | This patch fixes some build issues when including types/sigevent_t.h along with bits/pthreadtypes.h. Checked on x86_64-linux-gnu and on a build on supported major ABIs. [BZ #21715] * sysdeps/nptl/bits/pthreadtypes.h (__have_pthread_attr_t): Fix typo on definition.
* x86-64: Align the stack in __tls_get_addr [BZ #21609]H.J. Lu2017-07-067-2/+143
| | | | | | | | | | | | | | | | | | | | | | | | | | This change forces realignment of the stack pointer in __tls_get_addr, so that binaries compiled by GCCs older than GCC 4.9: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58066 continue to work even if vector instructions are used in glibc which require the ABI stack realignment. __tls_get_addr_slow is added to handle the slow paths in the default implementation of__tls_get_addr in elf/dl-tls.c. The new __tls_get_addr calls __tls_get_addr_slow after realigning the stack. Internal calls within ld.so go directly to the default implementation of __tls_get_addr because they do not need stack realignment. [BZ #21609] * sysdeps/x86_64/Makefile (sysdep-dl-routines): Add tls_get_addr. (gen-as-const-headers): Add rtld-offsets.sym. * sysdeps/x86_64/dl-tls.c: New file. * sysdeps/x86_64/rtld-offsets.sym: Likwise. * sysdeps/x86_64/tls_get_addr.S: Likewise. * sysdeps/x86_64/dl-tls.h: Add multiple inclusion guards. * sysdeps/x86_64/tlsdesc.sym (TI_MODULE_OFFSET): New. (TI_OFFSET_OFFSET): Likwise.
* Pashto yesstr/nostr locale are missingAkhilesh Kumar2017-07-062-0/+7
| | | | | | | | | [BZ #21711] During Locale verification I observed that yesstr and nostr are missing for Pashto [LC_MESSAGES] Locale For Afghanistan reference google translate and Pashto travel book.
* posix: Fix default posix_spawn return valueAdhemerval Zanella2017-07-052-20/+25
| | | | | | | | | | | | This patch fix the return value for error conditions for default posix_spawn (where the errno is expected). It also avoid clobber errno on fork call. Checked on x86_64 (with Linux implementation removed). [BZ# 21697] * sysdeps/posix/spawni.c (__spawni_child): Fix return value. (__spawnix): Do not clober errno.
* Fixup localedata/ChangeLog.Carlos O'Donell2017-07-051-6/+9
| | | | | - Rewrite recent entry to follow GNU ChangeLog format. - Convert spaces to tabs in one case.
* Edit and shorten float128 NEWS item.Joseph Myers2017-07-051-93/+14
|
* support: Add resolver testing mode which does not patch _resFlorian Weimer2017-07-055-3/+549
|
* support: Add support_chroot_create and support_chroot_freeFlorian Weimer2017-07-055-47/+140
|
* support: Check isolation of loopback addresses in tst-support-namespaceFlorian Weimer2017-07-052-2/+88
|
* Added Tok-Pisin locale.Akhilesh Kumar2017-07-053-0/+223
| | | | | | | [BZ #21694] Added tok-pisin language locale for Papua New Guinea. Signed-off-by: Akhilesh Kumar <akhilesh.k@samsung.com>
* Consistently say "GNU C Library" in NEWS, not "glibc".Joseph Myers2017-07-051-20/+20
|
* Reorganize and revise NEWS for 2.26.Zack Weinberg2017-07-051-135/+144
|
* For Breton yesstr/nostr locale are missingAkhilesh Kumar2017-07-042-0/+7
| | | | | | | | [BZ #21706] During Locale verification i observed that yesstr and nostr are missing for Breton [LC_MESSAGES] locale Signed-off-by: Akhilesh Kumar <akhilesh.k@samsung.com>
* Single threaded stdio optimizationSzabolcs Nagy2017-07-0415-0/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Locking overhead can be significant in some stdio operations that are common in single threaded applications. This patch adds the _IO_FLAGS2_NEED_LOCK flag to indicate if an _IO_FILE object needs to be locked and some of the stdio functions just jump to their _unlocked variant when not. The flag is set on all _IO_FILE objects when the first thread is created. A new GLIBC_PRIVATE libc symbol, _IO_enable_locks, was added to do this from libpthread. The optimization can be applied to more stdio functions, currently it is only applied to single flag check or single non-wide-char standard operations. The flag should probably be never set for files with _IO_USER_LOCK, but that's just a further optimization, not a correctness requirement. The optimization is valid in a single thread because stdio operations are non-as-safe (so lock state is not observable from a signal handler) and stdio locks are recursive (so lock state is not observable via deadlock). The optimization is not valid if a thread may be created while an stdio lock is taken and thus it should be disabled if any user code may run during an stdio operation (interposed malloc, printf hooks, etc). This makes the optimization more complicated for some stdio operations (e.g. printf), but those are bigger and thus less important to optimize so this patch does not try to do that. * libio/libio.h (_IO_FLAGS2_NEED_LOCK, _IO_need_lock): Define. * libio/libioP.h (_IO_enable_locks): Declare. * libio/Versions (_IO_enable_locks): New symbol. * libio/genops.c (_IO_enable_locks): Define. (_IO_old_init): Initialize flags2. * libio/feof.c.c (_IO_feof): Avoid locking when not needed. * libio/ferror.c (_IO_ferror): Likewise. * libio/fputc.c (fputc): Likewise. * libio/putc.c (_IO_putc): Likewise. * libio/getc.c (_IO_getc): Likewise. * libio/getchar.c (getchar): Likewise. * libio/ioungetc.c (_IO_ungetc): Likewise. * nptl/pthread_create.c (__pthread_create_2_1): Enable stdio locks. * libio/iofopncook.c (_IO_fopencookie): Enable locking for the file. * sysdeps/pthread/flockfile.c (__flockfile): Likewise.
* sysconf: Use conservative default for _SC_NPROCESSORS_ONLN [BZ #21542]Florian Weimer2017-07-044-2/+109
|
* resolv: Fix resolv_conf _res matchingFlorian Weimer2017-07-043-5/+61
| | | | | | | | A dot-less host name without an /etc/resolv.conf file caused an assertion failure in update_from_conf because the function would not deal correctly with the empty search list case. Thanks to Andreas Schwab for debugging assistence.
* Update versions in build-many-glibcs.py.Joseph Myers2017-07-042-3/+9
| | | | | | | | | This patch updates build-many-glibcs.py to use the current release branch of binutils and current releases of GMP and the Linux kernel. * scripts/build-many-glibcs.py (Context.checkout): Default binutils version to 2.29 branch, GMP version to 6.1.2 and Linux kernel version to 4.12.
* resolv: Fix improper assert in __resolv_conf_attachFlorian Weimer2017-07-044-8/+108
|
* resolv: Introduce free list for resolv_conf index slostsFlorian Weimer2017-07-034-32/+142
|
* resolv: Automatically reload a changed /etc/resolv.conf file [BZ #984]Florian Weimer2017-07-0311-94/+272
| | | | | | | | | | This commit enhances the stub resolver to reload the configuration in the per-thread _res object if the /etc/resolv.conf file has changed. The resolver checks whether the application has modified _res and will not overwrite the _res object in that case. The struct resolv_context mechanism is used to check the configuration file only once per name lookup.
* resolv: Mirror the entire resolver configuration in struct resolv_confFlorian Weimer2017-07-037-116/+572
| | | | | | | | | | | | | | This commit adds the remaining unchanging members (which are loaded from /etc/resolv.conf) to struct resolv_conf. The extended name server list is currently not used by the stub resolver. The switch depends on a cleanup: The _u._ext.nssocks array stores just a single socket, and needs to be replaced with a single socket value. (The compatibility gethostname implementation does not use the extended addres sort list, either. Updating the compat code is not worthwhile.)
* resolv: Lift domain search list limits [BZ #19569] [BZ #21475]Florian Weimer2017-07-038-81/+382
| | | | | | | This change uses the extended resolver state in struct resolv_conf to store the search list. If applications have not patched the _res object directly, this extended search list will be used by the stub resolver during name resolution.
* resolv: Introduce struct resolv_conf with extended resolver stateFlorian Weimer2017-07-039-10/+470
| | | | | | | | | | | | This change provides additional resolver configuration state which is not exposed through the _res ABI. It reuses the existing initstamp field in the supposedly-private part of _res. Some effort is undertaken to avoid memory safety issues introduced by applications which directly patch the _res object. With this commit, only the initstamp field is moved into struct resolv_conf. Additional members will be added later, eventually migrating the entire resolver configuration.
* resolv: Introduce struct resolv_context [BZ #21668]Florian Weimer2017-07-0324-371/+1033
| | | | | | | | | | | | struct resolv_context objects provide a temporary resolver context which does not change during a name lookup operation. Only when the outmost context is created, the stub resolver configuration is verified to be current (at present, only against previous res_init calls). Subsequent attempts to obtain the context will reuse the result of the initial verification operation. struct resolv_context can also be extended in the future to store data which needs to be deallocated during thread cancellation.
* resolv: Add preinit tests to resolv/tst-resolv-res_init-skeleton.cFlorian Weimer2017-07-032-1/+201
|