aboutsummaryrefslogtreecommitdiff
path: root/glibc
AgeCommit message (Collapse)AuthorFilesLines
2023-10-13Bump glibc to 2.38Christoph Müllner1-0/+0
This commit bumps glibc from 2.37 to 2.38. Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
2023-02-19Bump glibc to 2.37Christoph Müllner1-0/+0
glibc 2.37 has been released on February 1st, 2023. We still use 2.33 in this repo. Let's make a huge step forward to the latest upstream release. Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
2022-02-24Update glibc and newlib pathsFlorian Hofhammer1-0/+0
Both the glibc and newlib submodules are already pointing to the upstream repositories where development happens. Since they are therefore not referring to RISC-V specific forks, this patch unifies the directory naming by only prepending the "riscv-" prefix to submodules that point to repositories in the riscv-collab Github organization. Signed-off-by: Florian Hofhammer <florian.hofhammer@fhofhammer.de>
2016-07-11Move to submodules for GCC, glibcPalmer Dabbelt150-6234/+0
2016-05-22glibc/newlib: unroll strcmp further for RV32Andrew Waterman1-4/+20
This reduces the performance cliff between RV32 and RV64 slightly, without an egregious increase in code size.
2016-04-26Add structs 'flock' and 'flock64' to "bits/fcntl.h"Manuel A. Fernandez Montecelo1-0/+25
The arch-specific file needs to provide this, according to "linux/bits/fcntl-linux.h". "linux/generic/bits/fcntl.h" used to provide this for RISC-V. Another way to achieve the same result might be to include "linux/generic/bits/fcntl.h" from RISC-V's own "bits/fcntl.h", but 'flock' is defined a bit differently (it will possibly be even more different in the 128-bit implementation) and it's not guarded by "ifndef" in "linux/generic/bits/fcntl.h".
2016-04-26Provide bits/fcntl.h for RISC-VManuel A. Fernandez Montecelo1-0/+36
This file provides an implementation similar to other 64-bit architectures, so F_GETLK64, F_SETLK64 and F_SETLKW64 are the same as the non-64 counterparts and __O_LARGEFILE is defined correctly.
2016-03-14Upgrade to glibc 2.23Andrew Waterman6-14/+7
2016-03-14glibc: remove old MIPS headersAndrew Waterman3-154/+0
2015-11-19glibc: fix rounding mode bugAndrew Waterman2-13/+39
The FP exception flags were being interpreted as the rounding mode, causing printf to do weird things.
2015-10-20Revert "binutils: relax LA macro to C.LUI when appropriate"Andrew Waterman1-2/+1
This reverts commit e05cc858aa5a6ed1ae0fec885a83090f81f355fe. Too much code assumes LA maps to AUIPC. Perhaps that is unreasonable, but the improvement of this patch is so minor that it seems hard to justify going back and fixing the code.
2015-10-10binutils: relax LA macro to C.LUI when appropriateAndrew Waterman1-1/+2
2015-09-24glibc: Pass -msoft-float to glibc when necessary.Darius Rad1-0/+6
2015-08-16glibc: revert to old INLINE_SYSCALL definitionAndrew Waterman2-13/+20
To use our old definition, which is smaller and more performant, we needed to link sysdep.c into a few more libraries for glibc 2.22 than 2.21. This effectively reverts commit 7cd185cf83f543900ef17a358de28b573fb39c69.
2015-08-15Use aarch64's INLINE_SYSCALLPalmer Dabbelt1-10/+13
I was getting undefined references to __syscall_error when using the old one. aarch64's version doesn't calal into __syscall_error but instead uses the defined macros to inline the functionality of __syscall_error, which certainly feels like it's in the spirit of INLINE_SYSCALL.
2015-08-15Use __BYTE_ORDER__ instead of BYTE_ORDERPalmer Dabbelt1-1/+1
I'm not sure why the old one stopped working, but the MIPS version of this file has always been using __BYTE_ORDER__, and that is defined. I also had to use __ORDER_LITTLE_ENDIAN__ instead of LITTLE_ENDIAN, as that has gone away as well.
2015-08-15undef PSEUDO_END before defining itPalmer Dabbelt1-0/+1
This follows the same argument as END. I'm trying to #undef as infrequently as possible, since it just feels super nasty.
2015-08-15undef END before defining itPalmer Dabbelt1-0/+1
I've been having a lot of header ordering problems where END gets redefined.
2015-08-10RISC-V's mathinline.h doesn't need FPU supportPalmer Dabbelt1-0/+0
This removes a difference between RISC-V's hardfloat and softfloat implementations. Since there's no actual code here (just a shim to GCC's builtins), I don't think there's any reason to have this be hardfloat specific. I moved this because it's not in Tilera's FPU directory, and that's where this file came from.
2015-08-10Replace riscv/fpu/bits/mathinline.h with Tilera's versionPalmer Dabbelt1-46/+18
As per but #73, this was causing some compile failures related to nothrow when using C++ and pedantic. The actual fix is to wrap this with "__NTH", but Tilera's version looks simpler because it just calls a GCC builtin rather than providing a second implementation. I tried removing this file, but then I don't get inlined versions of these calls.
2015-07-05Fix some glibc FP routines for non-FPalmer Dabbelt7-2/+48
Some glibc floating point routines use inline assembly. This changes them to use regular C code to do this when compiled without hardware floatint-point support. The change just uses regular C to perform these operations when compiled on ABIs without hardware floating point.
2015-05-10glibc: add missing pthread_spin_{init,destroy}Andrew Waterman2-6/+11
h/t Sebastian Wicki for the bug report.
2015-03-03glibc: Fix _FPU_GETCW assignment for soft float.Darius Rad1-1/+1
2015-03-03glibc: Cast macro return type to avoid compiler error.Darius Rad1-2/+2
2015-02-24glibc: Ensure __HAVE_64B_ATOMICS is always defined.Darius Rad1-0/+2
2015-02-23Upgrade to glibc 2.21Andrew Waterman21-315/+256
2015-02-09glibc: Allow the prefix riscv- as an alias for riscv64-.Darius Rad1-4/+4
This permits avoiding a misleading architecture prefix when building a toolchain that support both RV32 and RV64. This makes glibc consistent with binutils and gcc with respect to the riscv- target. The target riscv- is identical to riscv64-, i.e., RV64 is the default.
2015-02-09glibc: Combine wordsize.h for 32 and 64 bit.Darius Rad2-19/+4
This allows for sharing headers between RV32 and RV64 compilers, which in turn supports a combined toolchain for both targets, with appropriate duplicate builds of glibc.
2015-02-03Include <asm/ptrace.h> from <sys/user.h>Palmer Dabbelt1-1/+2
x86 puts "struct user_regs_struct" in <sys/user.h>, but that requires duplicating code between Linux and glibc. Even though it's just an ABI-breaking structure, I don't want to do that. This causes <sys/user.h> to end up defining "struct user_regs_struct" which helps with compatibility. It's not a big deal because the internals of "struct user_regs_struct" still need some #ifdef, but it's one less line per package... While not the greatest ports to copy, powerpc and sh do this. With the patch Gentoo still builds.
2015-01-31glibc: Fix dependence on deprecated syscallsAlbert Ou3-1/+4
Explicitly order the Implies subdirectory list such that "generic" precedes "wordsize-64". Among other issues, the latter still partly implements getdents(2) with the deprecated syscall of the same name, despite getdents64 being available.
2015-01-15Merge pull request #16 from ucb-bar/string-inlinePalmer Dabbelt1-1/+1
Change a "inline" to "__inline__"
2015-01-13Change a "inline" to "__inline__"Palmer Dabbelt1-1/+1
So "inline" isn't complient C, which means strict packages won't build with it. This uses "__inline__" instead, which is ANSI C. This patch is required to get freetype to build.
2015-01-10glibc: Undefine ELF_MACHINE_DEBUG_SETUPAlbert Ou1-2/+0
Ensure that ld.so follows the preferred canonical behavior, whereby dl_main() populates the DT_DEBUG entry in the .dynamic section with the runtime address of the r_debug struct. GDB relies on r_debug to locate the link map when reconstructing the shared library list. This is documented in elf/rtld-debugger-interface.txt in the glibc source tree.
2015-01-09glibc: work around libpthread static linking problemAndrew Waterman1-0/+8
This is a kludge, but statically linking against libpthread is useful, even if not well supported by glibc.
2015-01-07newlib, glibc: fix strcmp regressionAndrew Waterman1-23/+23
I screwed up when porting it to the new calling convention.
2015-01-06glibc: clean up sysdep.h and friendsAndrew Waterman6-89/+47
2015-01-06glibc: terminate stack frame after makecontextAndrew Waterman3-16/+32
This prevents segfaults incident to uncaught C++ exceptions.
2015-01-06glibc: handle negative syscall results properlyAndrew Waterman3-21/+11
Not all are errors; they may just be large values. Only results in the range [-4095,-1] are errors.
2015-01-06glibc: use cfi directives in setcontextAndrew Waterman7-96/+73
2015-01-06glibc: set swapcontext return code to 0 on successAndrew Waterman1-0/+1
2015-01-06glibc, newlib: don't save/restore tp on get/setcontextAndrew Waterman5-6/+0
Thread-local storage shouldn't be affected by these calls.
2014-12-30glibc: fix syscall cancellation wrappersAndrew Waterman1-39/+30
We were accidentally clobbering the cancellation mask with syscall arg 0.
2014-12-22gcc, glibc: use "A" for inline asm AMO constrantsAndrew Waterman1-55/+17
2014-12-20binutils: rework jump pseudoisntructionAndrew Waterman1-1/+1
"jump" was renamed to "tail" (as in tail call) and may freely clobber a t-register, as before. A new "jump" was added that requires a second argument, which is the scratch register it may clobber. "tail" should be used for tail calls; "jump" should be used for intraprocedural jumps more than 1 MiB away.
2014-12-15gcc, glibc, binutils: Complete missing configuration for building tools for ↵Darius Rad4-26/+28
RV32.
2014-12-11binutils: set text start addresses more sensiblyAndrew Waterman1-3/+0
Position-dependent executables are now linked at base address 0x800000. Shared libraries and PIEs are now linked at base address 0.
2014-12-10binutils, glibc: avoid DT_TEXTREL in ld.soAndrew Waterman1-4/+2
ld.so was using a non-PIC reloc to get the link-time address of _DYNAMIC, which, while correct, causes the library to be flagged DT_TEXTREL. Avoid this by leveraging the fact that the static linker has put the link-time address of _DYNAMIC in the first GOT entry.
2014-12-08newlib, glibc: fix memcpy bugAndrew Waterman1-3/+2
h/t Martin Maas
2014-12-02glibc: make sure libpthread gets initializedAndrew Waterman1-0/+16
2014-11-19glibc: make fe{get|set}round globally visibleAndrew Waterman3-5/+13