about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* build-many-glibcs.py: Enable ARC hard float builds vineet/arc-glibc-2.30-time_t-32-bitVineet Gupta2019-12-091-0/+3
| | | | Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
* ARC hardware floating point supportVineet Gupta2019-12-0926-3/+2513
|
* ARC: allow big endian buildsVineet Gupta2019-11-011-1/+1
| | | | Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
* glibc: arc: Don't interfere with other architecturesChris Packham2019-11-011-11/+12
| | | | | | | | | | | | Fixes: crosstool-ng#1227 Adjust the ARC patch so that it only sets with_fp_cond when the machine is arc. foss-for-synopsys-dwc-arc-processors/glibc#7 Signed-off-by: Chris Packham <judge.packham@gmail.com> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
* ARC: allow dynamic mmu page sizesVineet Gupta2019-11-011-2/+2
| | | | Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
* gcc PR 88409: miscompilation due to missing cc clobber in longlong.h macrosVineet Gupta2019-11-011-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | simple test such as below was failing. | void main(int argc, char *argv[]) | { | size_t total_time = 115424; // expected 115.424 | double secs = (double)total_time/(double)1000; | printf("%s %d %lf\n", "secs", total_time, secs); // prints 113.504 | printf("%d\n", (size_t)secs); | } The printf eventually called into glibc stdlib/divrem.c:__mpn_divrem() which uses the __arc__ specific inline asm macros from longlong.h which were causing miscompilation. include/ 2019-03-28 Vineet Gupta <vgupta@synopsys.com> PR 89877 * longlong.h [__arc__] (add_ssaaaa): Add cc clobber (sub_ddmmss): Likewise. Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
* atomics: use default values for __PTHREAD_MUTEX_*Vineet Gupta2019-11-012-17/+15
|
* NEWS: mention ARC portVineet Gupta2019-11-012-0/+8
| | | | Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
* build-many-glibcs.py: use mcpu=hs38Vineet Gupta2019-11-011-1/+1
| | | | Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
* build-many-glibcs.py: Enable ARC buildsVineet Gupta2019-08-042-0/+5
| | | | Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
* ARC: Build InfrastructureVineet Gupta2019-08-0414-0/+158
| | | | Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
* ARC: Update syscall-names.list for ARC specific syscallsVineet Gupta2019-08-042-0/+4
| | | | Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
* ARC: ABI listsVineet Gupta2019-08-0417-0/+3752
| | | | Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
* ARC: Linux Startup and Dynamic LoadingVineet Gupta2019-08-043-0/+118
| | | | Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
* ARC: Linux ABIVineet Gupta2019-08-0416-0/+644
| | | | Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
* ARC: Linux Syscall InterfaceVineet Gupta2019-08-0414-0/+602
| | | | Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
* ARC: math soft float supportVineet Gupta2019-08-046-0/+205
| | | | Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
* ARC: Atomics and Locking primitivesVineet Gupta2019-08-044-0/+180
| | | | Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
* ARC: Thread Local Storage supportVineet Gupta2019-08-046-0/+256
| | | | | | This includes all 4 TLS addressing models Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
* ARC: startup and dynamic linking codeVineet Gupta2019-08-048-0/+610
| | | | | | Code for C runtime startup and dynamic loading including PLT layout. Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
* ARC: ABI ImplementationVineet Gupta2019-08-0419-0/+611
| | | | | | This code deals with the ARC ABI. Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
* ARC: add definitions to elf/elf.hVineet Gupta2019-08-042-1/+73
| | | | Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
* xxx test hacksVineet Gupta2019-08-043-10/+2
|
* Tag 2.30 release. glibc-2.30Carlos O'Donell2019-08-013-3/+7
|
* Update install and NEWS for 2.30 release.Carlos O'Donell2019-08-014-12/+119
|
* Update translations.Carlos O'Donell2019-07-3135-8668/+8494
| | | | Update translations from translationproject.org for 2.29.9000.
* iconv: Revert steps array reference counting changesFlorian Weimer2019-07-318-132/+31
| | | | | | | | | | | | | | | The changes introduce a memory leak for gconv steps arrays whose first element is an internal conversion, which has a fixed reference count which is not decremented. As a result, after the change in commit 50ce3eae5ba304650459d4441d7d246a7cefc26f, the steps array is never freed, resulting in an unbounded memory leak. This reverts commit 50ce3eae5ba304650459d4441d7d246a7cefc26f ("gconv: Check reference count in __gconv_release_cache [BZ #24677]") and commit 7e740ab2e7be7d83b75513aa406e0b10875f7f9c ("libio: Fix gconv-related memory leak [BZ #24583]"). It reintroduces bug 24583. (Bug 24677 was just a regression caused by the second commit.)
* Restore r31 setting in powerpc32 swapcontext.Joseph Myers2019-07-302-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | Commit ffe8a9a8318e1db225b22da8bc067408494bac5c, "powerpc: Remove rt_sigreturn usage on context function", removed from powerpc32 swapcontext a setting of r31 that is relied upon in subsequent code. I'm not sure why this didn't produce test failures in Adhemerval's 32-bit testing; in my (soft-float) testing in preparation for 2.30 release, I see several context-related failures FAIL: stdlib/tst-makecontext2 FAIL: stdlib/tst-makecontext3 FAIL: stdlib/tst-setcontext FAIL: stdlib/tst-setcontext2 FAIL: stdlib/tst-setcontext4 FAIL: stdlib/tst-setcontext7 FAIL: stdlib/tst-setcontext9 FAIL: stdlib/tst-swapcontext1 that did not appear in 2.29 testing. This patch restores the removed register setting in question, and thus fixes those failures. Tested for powerpc (soft-float). * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S (__CONTEXT_FUNC_NAME): Restore setting of r31.
* nptl: Use uintptr_t for address diagnostic in nptl/tst-pthread-getattrFlorian Weimer2019-07-302-8/+15
| | | | | | | | | | | | | | | | | | | | | Recent GCC versions warn about the attempt to return the address of a local variable: tst-pthread-getattr.c: In function ‘allocate_and_test’: tst-pthread-getattr.c:54:10: error: function returns address of local variable [-Werror=return-local-addr] 54 | return mem; | ^~~ In file included from ../include/alloca.h:3, from tst-pthread-getattr.c:26: ../stdlib/alloca.h:35:23: note: declared here 35 | # define alloca(size) __builtin_alloca (size) | ^~~~~~~~~~~~~~~~~~~~~~~ tst-pthread-getattr.c:51:9: note: in expansion of macro ‘alloca’ 51 | mem = alloca ((size_t) (mem - target)); | ^~~~~~ The address itself is used in a check in the caller, so using uintptr_t instead is reasonable.
* Linux: Move getdents64 to <dirent.h>Florian Weimer2019-07-297-8/+70
| | | | | | This matches the location of the declaration in musl. Reviewed-by: Carlos O'Donell <carlos@redhat.com>
* test-container: Install with $(sorted-subdirs) [BZ #24794]Tulio Magno Quites Machado Filho2019-07-293-4/+12
| | | | | | | | | | | | | Commit 35e038c1d2ccb3a75395662f9c4f28d85a61444f started to use an incomplete list of subdirs based on $(all-subdirs) causing testroot.pristine to miss files from nss. Tested if the list of files in testroot.pristine remains the same. [BZ #24794] * Makeconfig (all-subdirs): Improved source comments. * Makefile (testroot.pristine/install.stamp): Pass subdirs='$(sorted-subdirs)' to make install.
* gconv: Check reference count in __gconv_release_cache [BZ #24677]Florian Weimer2019-07-262-3/+12
| | | | | | | | | | This fixes a regression introduced in commit 7e740ab2e7be7d83b75513aa406e0b10875f7f9c ("libio: Fix gconv-related memory leak [BZ #24583]"). __gconv_release_cache is only ever called with heap-allocated arrays which contain at least one member. The statically allocated ASCII steps are filtered out by __wcsmbs_close_conv.
* x86-64: Compile branred.c with -mprefer-vector-width=128 [BZ #24603]H.J. Lu2019-07-244-0/+52
| | | | | | | | | | | | | | | | | | | | | When compiled with -O3 and AVX, GCC 8 and 9 optimize some loops in sysdeps/ieee754/dbl-64/branred.c with 256-bit vector instructions, which leads to store forward stall: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90579 There is no easy fix in compiler. This patch limits vector width to 128 bits to work around this issue. It improves performance of sin and cos by more than 40% on Skylake compiled with -O3 -march=skylake. Tested with GCC 7/8/9 on x86-64. [BZ #24603] * sysdeps/x86_64/configure.ac: Check if -mprefer-vector-width=128 works. * sysdeps/x86_64/configure: Regenerated. * sysdeps/x86_64/fpu/Makefile (CFLAGS-branred.c): New. Set to -mprefer-vector-width=128 if supported.
* build-many-glibcs.py: Use Linux 5.2 by defaultFlorian Weimer2019-07-242-1/+6
|
* Linux: Use in-tree copy of SO_ constants for !__USE_MISC [BZ #24532]Florian Weimer2019-07-2410-94/+333
| | | | | | | | | | | | | | | | | | | | The kernel changes for a 64-bit time_t on 32-bit architectures resulted in <asm/socket.h> indirectly including <linux/posix_types.h>. The latter is not namespace-clean for the POSIX version of <sys/socket.h>. This issue has persisted across several Linux releases, so this commit creates our own copy of the SO_* definitions for !__USE_MISC mode. The new test socket/tst-socket-consts ensures that the copy is consistent with the kernel definitions (which vary across architectures). The test is tricky to get right because CPPFLAGS includes include/libc-symbols.h, which in turn defines _GNU_SOURCE unconditionally. Tested with build-many-glibcs.py. I verified that a discrepancy in the definitions actually results in a failure of the socket/tst-socket-consts test.
* test-container: Install with $(all-subdirs) [BZ #24794]Tulio Magno Quites Machado Filho2019-07-232-1/+6
| | | | | | | | | | | | | Whenever a sub-make is created, it inherits the variable subdirs from its parent. This is also true when make check is called with a restricted list of subdirs. In this scenario, make install is executed "partially" and testroot.pristine ends up with an incomplete installation. [BZ #24794] * Makefile (testroot.pristine/install.stamp): Pass subdirs='$(all-subdirs)' to make install. Reviewed-by: DJ Delorie <dj@redhat.com>
* test-container: Avoid copying unintended system librariesTulio Magno Quites Machado Filho2019-07-232-2/+7
| | | | | | | | | | | | | | Some DSOs are distributed in hardware capability directories, e.g. /usr/lib64/power7/libc.so.6 Whenever the processor is able to use one of these hardware-enabled DSOs, testroot.pristine ends up with copies of glibc-provided libraries from the system because it can't overwrite or remove them. This patch avoids the unintended copies by executing ld.so with the same arguments passed to each glibc test. * Makefile (testroot.pristine/install.stamp): Execute ld.so with the same arguments used in all tests.
* Add NEWS entry about the new AArch64 IFUNC resolver call ABISzabolcs Nagy2019-07-222-0/+8
| | | | | | | | | | | | The new IFUNC resolver call ABI was introduced in commit 2b8a3c86e7606cf1b0a997dad8af2d45ae8989c3 Commit: Szabolcs Nagy <szabolcs.nagy@arm.com> CommitDate: 2019-07-04 11:13:32 +0100 aarch64: new ifunc resolver ABI See the commit log and the comments in sys/ifunc.h for details.
* locale/C-translit.h.in: Cyrillic -> ASCII transliteration [BZ #2872]Egor Kobylkin2019-07-202-0/+174
| | | | | | | | This patch adds Cyrillic to plain ASCII transliteration table according to GOST 7.79-2000 System B standard to the C locale. [BZ #2872] * locale/C-translit.h.in: Add Cyrillic transliteration.
* Linux: Update syscall-names.list to Linux 5.2Florian Weimer2019-07-192-1/+18
| | | | | | | This adds the system call names fsconfig, fsmount, fsopen, fspick, move_mount, open_tree. Tested with build-many-glibcs.py.
* Regenerate po/libc.pot for 2.30 release.Carlos O'Donell2019-07-182-225/+220
|
* nptl: Add POSIX-proposed _clock functions to hppa pthread.hAdhemerval Zanella2019-07-182-0/+41
| | | | | | | | | | | | | | The pthread _clock functions that were recently added to nptl need to be declared in hppa's pthread.h too. After this change, the function declaration part of sysdeps/nptl/pthread.h and sysdeps/unix/sysv/linux/hppa/pthread.h are identical. * sysdeps/unix/sysv/linux/hppa/pthread.h: Add declarations of functions recently added to sysdeps/nptl/pthread.h: pthread_mutex_clocklock, pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock and pthread_cond_clockwait. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* nptl: Remove unnecessary forwarding of pthread_cond_clockwait from libcMike Crowe2019-07-184-10/+10
| | | | | | | | | | | | | | | | | | | | In afe4de7d283ebd88157126c5494ce1796194c16e, I added forwarding functions from libc to libpthread for __pthread_cond_clockwait and pthread_cond_clockwait to mirror those for pthread_cond_timedwait. These are unnecessary[1], since these functions aren't (yet) being called from within libc itself. Let's remove them. * nptl/forward.c: Remove unnecessary __pthread_cond_clockwait and pthread_cond_clockwait forwarding functions. There are no internal users, so it is unnecessary to expose these functions in libc.so. * sysdeps/nptl/pthread-functions.h (pthread_functions): Remove unnecessary ptr___pthread_cond_clockwait member. * nptl/nptl-init.c (pthread_functions): Remove assignment of removed member. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> [1] https://sourceware.org/ml/libc-alpha/2017-10/msg00082.html
* Afar locales: Months and days updated from CLDR (bug 21897).Rafal Luzynski2019-07-175-12/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit updates month and weekday names (full and abbreviated) from CLDR 35.1 with the following exceptions. It was not clear why the full name of February in aa_DJ and aa_ER was "Kudo" while the abbreviated version is "Nah" but some additional sources [1] [2] as well as the content of aa_ER and aa_ER@saaho suggest it should be "Naharsi Kudo". This commit consequently sets the translation of February to "Naharsi Kudo" in aa_DJ and aa_ET. aa_ER@saaho is not supported by CLDR but since the month names were identical to aa_ER before this commit, the same values have been copied from aa_ER. Links: [1] https://fr.wiktionary.org/wiki/naharsi_kudo [2] http://www.mcit.gov.et/web/guest/-/localization-standard-for-afaraf [BZ #21897] * localedata/locales/aa_DJ (abday): Update from CLDR, all words begin with an uppercase letter now. (abmon): Likewise. (mon): Update from CLDR, reword February from "Kudo" to "Naharsi Kudo", April from "Agda Baxisso" to "Agda Baxis", and August from "Liiqen" to "Leqeeni". * localedata/locales/aa_ER (mon): Update from CLDR, reword April from "Agda Baxisso" to "Agda Baxis" and August from "Leqeeni" to "Liiqen". * localedata/locales/aa_ER@saaho (mon): Likewise. * localedata/locales/aa_ET (abmon): Update from CLDR, reword abbreviated February from "Kud" to "Nah". (mon): Update from CLDR, reword February from "Kudo" to "Naharsi Kudo" and April from "Agda Baxisso" to "Agda Baxis".
* nl_BE locale: Use "copy "nl_NL"" in LC_NAME (bug 23996).Rafal Luzynski2019-07-172-6/+6
| | | | | | | The content of the section is identical in both languages. [BZ #23996] * localedata/locales/nl_BE (LC_NAME): Replace with “copy "nl_NL"”.
* nl_BE and nl_NL locales: Dutch salutations (bug 23996).PanderMusubi2019-07-173-0/+17
| | | | | | | [BZ #23996] * localedata/locales/nl_BE (LC_NAME): Add name_gen, name_mr, name_mrs, name_miss, and name_ms. * localedata/locales/nl_NL (LC_NAME): Likewise.
* ga_IE and en_IE locales: Revert first_weekday removal (bug 24200).Daniil Zhilin2019-07-173-0/+8
| | | | | | | | These values were removed by the commit 0a410e76f5. [BZ #24200] * localedata/locales/ga_IE (first_weekday): Add, set to 2 (Monday). * localedata/locales/en_IE (first_weekday): Likewise.
* nptl: Remove futex_supports_exact_relative_timeoutsMike Crowe2019-07-125-26/+12
| | | | | | | | | | | | | | | | | | The only implementation of futex_supports_exact_relative_timeouts always returns true. Let's remove it and all its callers. * nptl/pthread_cond_wait.c: (__pthread_cond_clockwait): Remove code that is only useful if futex_supports_exact_relative_timeouts () returns false. * nptl/pthread_condattr_setclock.c: (pthread_condattr_setclock): Likewise. * sysdeps/nptl/futex-internal.h: Remove comment about relative timeouts potentially being imprecise since it's no longer true. Remove declaration of futex_supports_exact_relative_timeouts. * sysdeps/unix/sysv/linux/futex-internal.h: Remove implementation of futex_supports_exact_relative_timeouts. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* Update NEWS for new _clockwait and _clocklock functionsMike Crowe2019-07-122-0/+13
| | | | | | | | * NEWS: Mention recently-added pthread_cond_clockwait, pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock and sem_clockwait functions. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* nptl: Add POSIX-proposed pthread_mutex_clocklockMike Crowe2019-07-1235-27/+267
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add POSIX-proposed pthread_mutex_clocklock function that works like pthread_mutex_timedlock but takes a clockid parameter to measure the abstime parameter against. * sysdeps/nptl/pthread.h: Add pthread_mutex_clocklock. * nptl/DESIGN-systemtap-probes.txt: Likewise. * nptl/pthread_mutex_timedlock.c (__pthread_mutex_clocklock_common): Rename from __pthread_mutex_timedlock and add clockid parameter. Pass this parameter to lll_clocklock and lll_clocklock_elision in place of CLOCK_REALTIME. (__pthread_mutex_clocklock): New function to add LIBC_PROBE and validate clockid parameter before calling __pthread_mutex_clocklock_common. (__pthread_mutex_timedlock): New implementation to add LIBC_PROBE and calls __pthread_mutex_clocklock_common passing CLOCK_REALTIME as the clockid. * nptl/Makefile: Add tst-mutex11.c. * nptl/tst-abstime.c (th): Add tests for pthread_mutex_clocklock. * nptl/tst-mutex11.c: New tests for passing invalid and unsupported clockid parameters to pthread_mutex_clocklock. * nptl/tst-mutex5.c (do_test_clock): Rename from do_test and take clockid parameter to indicate which clock to be used. Call pthread_mutex_timedlock or pthread_mutex_clocklock as appropriate. (do_test): Call do_test_clock to separately test pthread_mutex_timedlock, pthread_mutex_clocklock(CLOCK_REALTIME) and pthread_mutex_clocklock(CLOCK_MONOTONIC). * nptl/tst-mutex9.c: Likewise. * nptl/Versions (GLIBC_2.30): Add pthread_mutex_clocklock. * sysdeps/unix/sysv/linux/aarch64/libpthread.abilist (GLIBC_2.30): Likewise. * sysdeps/unix/sysv/linux/alpha/libpthread.abilist (GLIBC_2.30): Likewise. * sysdeps/unix/sysv/linux/arm/libpthread.abilist (GLIBC_2.30): Likewise. * sysdeps/unix/sysv/linux/csky/libpthread.abilist (GLIBC_2.30): Likewise. * sysdeps/unix/sysv/linux/hppa/libpthread.abilist (GLIBC_2.30): Likewise. * sysdeps/unix/sysv/linux/i386/libpthread.abilist (GLIBC_2.30): Likewise. * sysdeps/unix/sysv/linux/ia64/libpthread.abilist (GLIBC_2.30): Likewise. * sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist (GLIBC_2.30): Likewise. * sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist (GLIBC_2.30): Likewise. * sysdeps/unix/sysv/linux/microblaze/libpthread.abilist (GLIBC_2.30): Likewise. * sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist (GLIBC_2.30): Likewise. * sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist (GLIBC_2.30): Likewise. * sysdeps/unix/sysv/linux/nios2/libpthread.abilist (GLIBC_2.30): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist (GLIBC_2.30): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist (GLIBC_2.30): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist (GLIBC_2.30): Likewise. * sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist (GLIBC_2.30): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist (GLIBC_2.30): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist (GLIBC_2.30): Likewise. * sysdeps/unix/sysv/linux/sh/libpthread.abilist (GLIBC_2.30): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist (GLIBC_2.30): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist (GLIBC_2.30): Likewise. * sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist (GLIBC_2.30): Likewise. * sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist (GLIBC_2.30): Likewise. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>