aboutsummaryrefslogtreecommitdiff
path: root/newlib
AgeCommit message (Collapse)AuthorFilesLines
2023-10-12Bump newlib to 4.3.0Christoph Müllner1-0/+0
This commit bumps newlib from 4.1.0 to 4.3.0. 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-12-05Move newlib to a submodulePalmer Dabbelt27-11201/+0
2016-11-28Use builtin linker script for newlib, not a custom oneAndrew Waterman3-249/+6
2016-11-03Remove incorrectly formatted and glib headersAndrew Waterman2-6/+0
2016-10-25Overhaul floating-point command-line argumentsAndrew Waterman1-5/+5
- -march controls which instructions may be emitted, and does not affect ABI. - -mno-float is equivalent to passing neither F for D to -march; -msingle-float is equivalent to passing F but not D to -march; and -mdouble-float is equivalent to passing F and D to -march. - -mfloat-abi controls which calling convention is used: "soft" means no args passed in registers; "single" means only single-precision values are passed in regisers; "double" means single- and double-precision values are passed in registers. - -mfloat-abi defaults to "soft" if the D extension is not present, or "double" if it is. - GCC will issue an error if -mfloat-abi requires an extension not provided by -march, but vice-versa is OK. Closes #187 (I hope). @kito-cheng can you test this and let me know what I need to fix?
2016-10-25Fix misleading indentation warningAndrew Waterman1-1/+2
2016-10-25Don't save/restore fcsr in setjmp/longjmp (breaks ABI)Andrew Waterman1-32/+24
2016-10-13Support an RV32F compilerAndrew Waterman2-30/+46
Soft-float calling convention is default, but an alternate hard-float calling convention (with doubles passed as in soft-float, but floats passed as in hard-float) is supported.
2016-08-15newlib: use brk(0) to get initial program break (#172)Alex Suykov1-3/+7
There are no guarantees that the break going to be located exactly at the _end, but brk(0) is guaranteed to return its current value. QEMU ELF loader moves the initial break up to the next page boundary, disabling sbrk-based malloc for any allocations smaller than the adjustment made. And ASLR may do even worse.
2016-05-27newlib: add missing castAndrew Waterman1-1/+1
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-02-19newlib: make struct stat match glibc/linuxAndrew Waterman1-3/+7
2016-02-19newlib: remove old bthread codeAndrew Waterman3-363/+0
2015-10-14newlib: load gp with auipc/addi, not laAndrew Waterman1-1/+3
Otherwise, gp will be used to load gp...
2015-08-20upgrade newlib to 2.2.0Scott Beamer1-2/+2
2015-07-01Disable newlib's dynamic rounding without FPalmer Dabbelt1-0/+18
GCC's softfloat is built by default without support for dynamic rounding modes. This makes softfloat newlib's floating point always round-to-zero, and returns a failure code when trying to set it. This patch is needed to make newlib compile on anything without F, as it used to try use an undefined instruction to do this.
2015-07-01Have fesetmask return -1 on RISC-VPalmer Dabbelt1-1/+1
You're only supposed to return 0 if the exception mask was set correctly, and this doesn't set the mask at all.
2015-02-23Upgrade to glibc 2.21Andrew Waterman1-1/+0
2015-01-07newlib, glibc: fix strcmp regressionAndrew Waterman1-23/+23
I screwed up when porting it to the new calling convention.
2015-01-06glibc, newlib: don't save/restore tp on get/setcontextAndrew Waterman1-2/+0
Thread-local storage shouldn't be affected by these calls.
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-08newlib, glibc: fix memcpy bugAndrew Waterman1-17/+25
h/t Martin Maas
2014-10-27binutils, gcc, glibc: new calling conventionAndrew Waterman6-130/+99
v0-1 are removed; arguments are now returned in a0-1. Registers are renumbered so that s0-1 and a0-5 map to x8-15 to simplify the RVC ISA. (These are the most popular 8 registers besides x0 and sp.)
2014-09-11newlib: import port of newlib 1.18.0Andrew Waterman30-0/+11786