about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
...
* Documentation for OpenRISC portStafford Horne2022-01-052-0/+10
| | | | | | | | | | | | | | | | OpenRISC architecture specification: https://raw.githubusercontent.com/openrisc/doc/master/openrisc-arch-1.3-rev1.pdf Currently the port as of the 2022-01-03 rebasing there are no known architecture specific test failures. Writing credits for the port are: Stafford Horne <shorne@gmail.com> Christian Svensson <blue@cmd.nu> Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* build-many-glibcs.py: add OpenRISC supportStafford Horne2022-01-051-0/+5
| | | | Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* or1k: Build InfrastructureStafford Horne2022-01-059-0/+63
| | | | | | | | | | Here we define the minumum linux kernel version at 5.4.0, as that is the long term support version where 32-bit architectures start to support 64-bit time API's. The OpenRISC kernel had some bugs up until version 5.8 which caused issues with glibc fork/clone, they have been backported to 5.4 but not previous versions. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* or1k: ABI listsStafford Horne2022-01-0510-0/+3095
| | | | Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* or1k: Linux ABIStafford Horne2022-01-0510-0/+555
| | | | Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* or1k: Linux Syscall InterfaceStafford Horne2022-01-056-0/+738
| | | | Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* or1k: math soft float supportStafford Horne2022-01-057-0/+1333
| | | | | | | | OpenRISC support hard float but I will like to submit that after glibc soft float goes upstream. The hard float support depends on adding user access to the FPCSR, which is not supported by the kernel yet. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* or1k: Atomics and Locking primitivesStafford Horne2022-01-051-0/+71
| | | | Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* or1k: Thread Local Storage supportStafford Horne2022-01-054-0/+279
| | | | | | | | OpenRISC includes 3 TLS addressing models. Local Dynamic optimizations are not done in the linker and therefore use the same code sequences as Global Dynamic. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* or1k: startup and dynamic linking codeStafford Horne2022-01-057-0/+666
| | | | | | Code for C runtime startup and dynamic loading including PLT layout. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* or1k: ABI ImplementationStafford Horne2022-01-0512-0/+419
| | | | | | This code deals with the OpenRISC ABI. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* linux/syscalls: Add or1k_atomic syscall for OpenRISCStafford Horne2022-01-051-0/+1
| | | | Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* elf: Add reloc for OpenRISCStafford Horne2022-01-051-0/+37
| | | | Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* elf: Add a comment after trailing backslashesH.J. Lu2022-01-041-0/+4
|
* elf: Also try DT_RUNPATH for LD_AUDIT dlopen [BZ #28455]H.J. Lu2022-01-043-3/+24
| | | | | | | | | | | DT_RUNPATH is only used to find the immediate dependencies of the executable or shared object containing the DT_RUNPATH entry. Update LD_AUDIT dlopen call to try the DT_RUNPATH entry of the executable. Add tst-audit14a, which is copied from tst-audit14, to DT_RUNPATH and build tst-audit14 with -Wl,--disable-new-dtags to test DT_RPATH. This partially fixes BZ #28455.
* elf: Fix tst-linkall-static link when pthread is not in libcSamuel Thibault2022-01-041-0/+4
| | | | In that case we want to link in libanl.a, thus providing getaddrinfo_a.
* elf: Sort tests and modules-namesH.J. Lu2022-01-031-147/+405
| | | | Sort tests and modules-names to reduce future conflicts.
* hurd: nuke all unknown ports on execSamuel Thibault2022-01-041-7/+39
| | | | | | | Ports which are not in the ports table or dtable will not make sense for the new program, so we can nuke them. Actually we shall, otherwise we would be leaking various ports, for instance the file_t of the executed program itself.
* hurd: Fix auth port leakSamuel Thibault2022-01-041-5/+8
| | | | | | If access() was used before exec, _hurd_id.rid_auth would cache an "effective" auth port. We do not want this to leak into the executed program.
* Remove stale reference to libanl.aAdhemerval Zanella2022-01-031-1/+0
| | | | | Since dbb949f53d4 ("resolv: Move libanl into libc (if libpthread is in libc)") libanl.a is empty, so linking against it no longer necessary.
* elf: Add <dl-debug.h>H.J. Lu2022-01-035-33/+80
| | | | | | | Add <dl-debug.h> to setup debugging entry in PT_DYNAMIC segment to support DT_DEBUG, DT_MIPS_RLD_MAP_REL and DT_MIPS_RLD_MAP. Tested on x86-64, x32 and i686 as well as with build-many-glibcs.py.
* Properly check linker option in LIBC_LINKER_FEATURE [BZ #28738]H.J. Lu2022-01-032-5/+35
| | | | | | | | | | | | | | | | Update LIBC_LINKER_FEATURE to also check linker warning message since unknown linker -z option may be ignored by linker: $ touch x.c $ gcc -shared -Wl,-z,foobar x.c /usr/bin/ld: warning: -z foobar ignored $ echo $? 0 $ This fixes BZ #28738. Reviewed-by: Florian Weimer <fweimer@redhat.com>
* hurd: Implement _S_msg_get_dtableSamuel Thibault2022-01-021-4/+47
| | | | This will be needed for implementing lsof.
* Update automatically-generated copyright datesPaul Eggert2022-01-012-200/+200
| | | | These were updated simply by running "make" to regen the files.
* Sync move-if-change from Gnulib, updating copyrightPaul Eggert2022-01-011-1/+1
|
* Update copyright dates not handled by scripts/update-copyrights.Paul Eggert2022-01-0123-23/+23
| | | | | | | | | | | | | | I've updated copyright dates in glibc for 2022. This is the patch for the changes not generated by scripts/update-copyrights and subsequent build / regeneration of generated files. As well as the usual annual updates, mainly dates in --version output (minus csu/version.c which previously had to be handled manually but is now successfully updated by update-copyrights), there is a small change to the copyright notice in NEWS which should let NEWS get updated automatically next year. Please remember to include 2022 in the dates for any new files added in future (which means updating any existing uncommitted patches you have that add new files to use the new copyright dates in them).
* Update copyright dates with scripts/update-copyrightsPaul Eggert2022-01-0111764-11771/+11770
| | | | | | | | | | | | | | | | | | | | | | | I used these shell commands: ../glibc/scripts/update-copyrights $PWD/../gnulib/build-aux/update-copyright (cd ../glibc && git commit -am"[this commit message]") and then ignored the output, which consisted lines saying "FOO: warning: copyright statement not found" for each of 7061 files FOO. I then removed trailing white space from math/tgmath.h, support/tst-support-open-dev-null-range.c, and sysdeps/x86_64/multiarch/strlen-vec.S, to work around the following obscure pre-commit check failure diagnostics from Savannah. I don't know why I run into these diagnostics whereas others evidently do not. remote: *** 912-#endif remote: *** 913: remote: *** 914- remote: *** error: lines with trailing whitespace found ... remote: *** error: sysdeps/unix/sysv/linux/statx_cp.c: trailing lines
* hurd: Use __trivfs_server_name instead of trivfs_server_nameSamuel Thibault2022-01-011-9/+9
| | | | The latter violates namespace contraints
* hurd: Bump BRK_START to 0x20000000Samuel Thibault2021-12-311-1/+1
| | | | | By nowadays uses, 256MiB is not that large for the program+libraries. Let's push the heap further to leave room for e.g. clang.
* hurd: Avoid overzealous shared objects constraintsSamuel Thibault2021-12-312-3/+3
| | | | | | | | | | | 407765e9f24f ("hurd: Fix ELF_MACHINE_USER_ADDRESS_MASK value") switched ELF_MACHINE_USER_ADDRESS_MASK from 0xf8000000UL to 0xf0000000UL to let libraries etc. get loaded at 0x08000000. But ELF_MACHINE_USER_ADDRESS_MASK is actually only meaningful for the main program anyway, so keep it at 0xf8000000UL to prevent the program loader from putting ld.so beyond 0x08000000. And conversely, drop the use of ELF_MACHINE_USER_ADDRESS_MASK for shared objects, which don't need any constraints since the program will have already be loaded by then.
* time: Refactor timesize.h for some ABIsAdhemerval Zanella2021-12-314-11/+15
| | | | | | | | | Commit a4b413135535c83a changed default __TIMESIZE to 64, however it added sub-architecture timesize.h for powerpc, s390, and sparc. Also simplify mips by removing _MIPS_SIM usage (which would require to add sgidefs inclusion.
* hurd: Make getrandom a stub inside the random translatorSamuel Thibault2021-12-311-0/+13
| | | | | | glibc uses /dev/urandom for getrandom(), and from version 2.34 malloc initialization uses it. We have to detect when we are running the random translator itself, in which case we can't read ourself.
* open64: Force O_LARGEFILE on all architecturesStafford Horne2021-12-314-29/+4
| | | | | | | | | | | | | | | | When running tests on OpenRISC which has 32-bit wordsize but 64-bit timesize it was found that O_LARGEFILE is not being set when calling open64. For 64-bit architectures the O_LARGEFILE flag is generally implied by the kernel according to force_o_largefile. However, for 32-bit architectures this is not done. For this patch we unconditionally now set the O_LARGEFILE flag for open64 class syscalls as there is no harm in doing so. Tested on the OpenRISC the build works and timezone/tst-tzset passes which was failing before. I would expect this also would fix arc. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* x86-64: Add vector tan/tanf implementation to libmvecSunil K Pandey2021-12-3050-1/+21913
| | | | | | | | Implement vectorized tan/tanf containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector tan/tanf with regenerated ulps. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
* x86-64: Add vector erfc/erfcf implementation to libmvecSunil K Pandey2021-12-3050-1/+14970
| | | | | | | | Implement vectorized erfc/erfcf containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector erfc/erfcf with regenerated ulps. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
* resolv: Do not install libanl.so symbolic linkAdhemerval Zanella2021-12-301-0/+5
|
* resolv: Do not build libanl.so for ABIs starting at 2.35Adhemerval Zanella2021-12-301-1/+5
|
* timezone: test-case for BZ #28707Hans-Peter Nilsson2021-12-303-1/+69
| | | | | | | | | | | | | | This test-case is the tzfile for Asuncion generated by tzlib-2021e as follows, using the tzlib-2021e zic: "zic -d DEST -r @1546300800 -L /dev/null -b slim SOURCE/southamerica". Note that in its type 2 header, it has two entries in its "time-types" array (types), but only one entry in its "transition types" array (type_idxs). * timezone/Makefile, timezone/tst-pr28707.c, timezone/testdata/gen-XT5.sh: New test. Co-authored-by: Christopher Wong <Christopher.Wong@axis.com>
* timezone: handle truncated timezones from tzcode-2021d and later (BZ #28707)Hans-Peter Nilsson2021-12-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using a timezone file with a truncated starting time, generated by the zic in IANA tzcode-2021d a.k.a. tzlib-2021d (also in tzlib-2021e; current as of this writing), glibc asserts in __tzfile_read (on e.g. tzset() for this file) and you may find lines matching "tzfile.c:435: __tzfile_read: Assertion `num_types == 1' failed" in your syslog. One example of such a file is the tzfile for Asuncion generated by tzlib-2021e as follows, using the tzlib-2021e zic: "zic -d DEST -r @1546300800 -L /dev/null -b slim SOURCE/southamerica". Note that in its type 2 header, it has two entries in its "time-types" array (types), but only one entry in its "transition types" array (type_idxs). This is valid and expected already in the published RFC8536, and not even frowned upon: "Local time for timestamps before the first transition is specified by the first time type (time type 0)" ... "every nonzero local time type index SHOULD appear at least once in the transition type array". Note the "nonzero ... index". Until the 2021d zic, index 0 has been shared by the first valid transition but with 2021d it's separate, set apart as a placeholder and only "implicitly" indexed. (A draft update of the RFC mandates that the entry at index 0 is a placeholder in this case, hence can no longer be shared.) * time/tzfile.c (__tzfile_read): Don't assert when no transitions are found. Co-authored-by: Christopher Wong <Christopher.Wong@axis.com>
* x86-64: Add vector asinh/asinhf implementation to libmvecSunil K Pandey2021-12-2950-1/+5784
| | | | | | | | Implement vectorized asinh/asinhf containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector asinh/asinhf with regenerated ulps. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
* x86-64: Add vector tanh/tanhf implementation to libmvecSunil K Pandey2021-12-2950-1/+5647
| | | | | | | | Implement vectorized tanh/tanhf containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector tanh/tanhf with regenerated ulps. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
* x86-64: Add vector erf/erff implementation to libmvecSunil K Pandey2021-12-2950-1/+5044
| | | | | | | | Implement vectorized erf/erff containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector erf/erff with regenerated ulps. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
* x86-64: Add vector acosh/acoshf implementation to libmvecSunil K Pandey2021-12-2950-1/+5265
| | | | | | | | Implement vectorized acosh/acoshf containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector acosh/acoshf with regenerated ulps. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
* x86-64: Add vector atanh/atanhf implementation to libmvecSunil K Pandey2021-12-2950-1/+5060
| | | | | | | | Implement vectorized atanh/atanhf containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector atanh/atanhf with regenerated ulps. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
* x86-64: Add vector log1p/log1pf implementation to libmvecSunil K Pandey2021-12-2950-1/+4447
| | | | | | | | Implement vectorized log1p/log1pf containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector log1p/log1pf with regenerated ulps. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
* x86-64: Add vector log2/log2f implementation to libmvecSunil K Pandey2021-12-2950-1/+4208
| | | | | | | | Implement vectorized log2/log2f containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector log2/log2f with regenerated ulps. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
* x86-64: Add vector log10/log10f implementation to libmvecSunil K Pandey2021-12-2950-1/+3758
| | | | | | | | Implement vectorized log10/log10f containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector log10/log10f with regenerated ulps. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
* x86-64: Add vector atan2/atan2f implementation to libmvecSunil K Pandey2021-12-2950-1/+3117
| | | | | | | | Implement vectorized atan2/atan2f containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector atan2/atan2f with regenerated ulps. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
* x86-64: Add vector cbrt/cbrtf implementation to libmvecSunil K Pandey2021-12-2950-1/+3031
| | | | | | | | Implement vectorized cbrt/cbrtf containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector cbrt/cbrtf with regenerated ulps. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
* x86-64: Add vector sinh/sinhf implementation to libmvecSunil K Pandey2021-12-2950-1/+2894
| | | | | | | | Implement vectorized sinh/sinhf containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector sinh/sinhf with regenerated ulps. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>