aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/or1k
AgeCommit message (Collapse)AuthorFilesLines
2023-07-17configure: Use autoconf 2.71Siddhesh Poyarekar1-0/+1
Bump autoconf requirement to 2.71 to allow regenerating configure on more recent distributions. autoconf 2.71 has been in Fedora since F36 and is the current version in Debian stable (bookworm). It appears to be current in Gentoo as well. All sysdeps configure and preconfigure scripts have also been regenerated; all changes are trivial transformations that do not affect functionality. Signed-off-by: Siddhesh Poyarekar <siddhesh@sourceware.org> Reviewed-by: Carlos O'Donell <carlos@redhat.com>
2023-05-30Fix misspellings in sysdeps/ -- BZ 25337Paul Pluzhnikov2-2/+2
2023-01-06Update copyright dates with scripts/update-copyrightsJoseph Myers26-26/+26
2022-11-03elf: Introduce <dl-call_tls_init_tp.h> and call_tls_init_tp (bug 29249)Florian Weimer1-1/+1
This makes it more likely that the compiler can compute the strlen argument in _startup_fatal at compile time, which is required to avoid a dependency on strlen this early during process startup. Reviewed-by: Szabolcs Nagy <szabolcs.nagy@arm.com>
2022-09-26Use atomic_exchange_release/acquireWilco Dijkstra1-1/+1
Rename atomic_exchange_rel/acq to use atomic_exchange_release/acquire since these map to the standard C11 atomic builtins. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2022-08-26csu: Change start code license to have link exceptionSzabolcs Nagy1-3/+19
The start code can get linked into dynamic linked executables where LGPL would require shipping the source or linkable binaries when the executable is distributed. On some targets the license exception was missing in start.S (which is compiled into crt1.o and Scrt1.o which may end up linked into PDE and PIE binaries). I did not review what other code may end up in executables, just fixed the start.S license inconsistency across targets. Reviewed-by: Carlos O'Donell <carlos@redhat.com>
2022-04-26elf: Replace PI_STATIC_AND_HIDDEN with opposite HIDDEN_VAR_NEEDS_DYNAMIC_RELOCFangrui Song2-5/+0
PI_STATIC_AND_HIDDEN indicates whether accesses to internal linkage variables and hidden visibility variables in a shared object (ld.so) need dynamic relocations (usually R_*_RELATIVE). PI (position independent) in the macro name is a misnomer: a code sequence using GOT is typically position-independent as well, but using dynamic relocations does not meet the requirement. Not defining PI_STATIC_AND_HIDDEN is legacy and we expect that all new ports will define PI_STATIC_AND_HIDDEN. Current ports defining PI_STATIC_AND_HIDDEN are more than the opposite. Change the configure default. No functional change. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2022-02-10elf: Remove prelink supportAdhemerval Zanella1-4/+0
Prelinked binaries and libraries still work, the dynamic tags DT_GNU_PRELINKED, DT_GNU_LIBLIST, DT_GNU_CONFLICT just ignored (meaning the process is reallocated as default). The loader environment variable TRACE_PRELINKING is also removed, since it used solely on prelink. Checked on x86_64-linux-gnu, i686-linux-gnu, and aarch64-linux-gnu. Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
2022-02-02or1k: Define PI_STATIC_AND_HIDDENStafford Horne2-0/+9
PI_STATIC_AND_HIDDEN means that references to static functions, data and symbols with hidden visibility do not need any run-time relocations after the final link, with the build flags used by glibc. OpenRISC follows this so enabled PI_STATIC_AND_HIDDEN by adding configure.ac and generating configure. Suggested-by: Florian Weimer <fweimer@redhat.com>
2022-01-05or1k: Build InfrastructureStafford Horne4-0/+43
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>
2022-01-05or1k: Linux ABIStafford Horne1-0/+36
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2022-01-05or1k: math soft float supportStafford Horne7-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>
2022-01-05or1k: Atomics and Locking primitivesStafford Horne1-0/+71
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2022-01-05or1k: Thread Local Storage supportStafford Horne4-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>
2022-01-05or1k: startup and dynamic linking codeStafford Horne7-0/+666
Code for C runtime startup and dynamic loading including PLT layout. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2022-01-05or1k: ABI ImplementationStafford Horne12-0/+419
This code deals with the OpenRISC ABI. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>