248124ac2e RISC-V: Add missing privileged spec registers.
bee792f83a RISC-V: Add compressed instruction hints, and a few misc cleanups.
7d895b6f4c Add missing RISC-V fsrmi and fsflagsi instructions.
04d33e4a83 Objcopy interleave fails if section address not multiple of interleave.
71a8fbb5aa Really fix riscv shared library __global_pointer$ problem.
355497b4a7 Riscv shared libraries should not export __global_pointer$.
bfd4dc4363 Fix for texinfo 4.8.
caf839a4a4 Update and clean up RISC-V gas documentation.
df726395c9 Give Palmer co-credit for last patch.
0362ab46db Fix riscv malloc error on small alignment after norvc.
3adcc16f76 Merge pull request #126 from riscv/native-gdb
be4ba40749 Make native gdb builds work.
* Makefile.in (relsrcdir): New.
(stamps/build-gcc-linux-stage1, stamps/build-gcc-linux-stage2)
(stamps/build-gcc-newlib-stage1, stamps/build-gcc-newlib/stage2): Pass
--src to configure set from relsrcdir.
This might be an actaul newlib bug: it's not providing a range error
when taking log1p of -1e80, but it appears that this triggered a glibc
bug from a while ago that may have not been fixed in newlib. I'm not
sure why the bug is just manifesting now (the newlib sources haven't
changed for a long time), but the glibc version has some macros that
force the evaluation of particular floating-point expressions (one of
which produces the range error) that don't exist in newlib.
I'm OK whitelisting the error for the next release, despite it
technically being a regression. log1p isn't a standard function, and I
doubt embedded users are going to notice. That said, we should still
fix it.
* Makefile.in (NEWLIB_NANO_TARGET_BOARDS): New.
(build-libc): Change build-newlib to stamps/build-newlib. Add
stamps/build-newlib-nano.
(check-newlib-nano, check-gcc-newlib-nano, check-binutils-newlib-nano)
(check-gdb-newlib-nano, report-newlib-nano): New.
(check-dhrystone-linux, check-dhrystone-newlib): Delete first version
of these rules.
(build-gcc-newlib-stage1): Use --with-sysroot.
(build-newlib-nano, merge-newlib-nano): New.
(build-gcc-newlib-stage2): Depend on merge-newlib-nano. Use
--with-sysroot instead of --with-headers. Also use
--with-native-system-header-dir.
(build-dejagnu): Install it.
(check-gcc-newlib, check-gcc-linux, check-dhrystone-newlib-%)
(check-dhrystone-linux-%, check-binutils-newlib, check-binutils-linux)
(check-gdb-newlib, check-gdb-linux): Drop
DEJAGNULIBS environment variable set.
(check-gcc-newlib-nano, check-dhrystone-newlib-nano)
(check-dhrystone-newlib-nano-%, check-binutils-newlib-nano)
(check-gdb-newlib-nano, report-gcc-newlib-nano)
(report-dhrystone-newlib-nano, report-binutils-newlib-nano)
(report-gdb-newlib-nano): New.
(Makefile): Add rule to rebuild when Makefile.in changes.
(test/benchmarks/dhrystone/check): Add -specs= option. Use it in
$cc commands.
This has the same commits as the previous hash, it's just on the proper
branch now (so it's round-tripped through upstream's trunk). I archived
the old commit.
b66926e93524 RISC-V: Emit "i" suffix for instructions with immediate operands
a2fc54542b66 RISC-V: If -m[no-]strict-align is not passed, assume its value from -mtune
f34a83e82258 RISC-V: Set SLOW_BYTE_ACCESS=1
7dde69e2c5f7 RISC-V: Handle non-legitimate address in riscv_legitimize_move
1751fbe7b9e8 RISC-V: Use "@minus{}2 GB" instead of "-2 GB" in invoke.texi
6d1f1f891869 RISC-V: Document the medlow and medany code models
Much like the recent binutils changes, I've now moved to a different GCC
strategy. We have the following commits right now
d2d1f783b2c1 RISC-V: Correct and improve the "-mabi" documentation
d13dd0242604 RISC-V: Add Sign/Zero extend patterns for PIC loads
341375637a7d RISC-V: Add -mstrict-align option
f47f9c2b3b90 RISC-V: Unify indention in riscv.md
Note that this still fails a handful of the GCC regression tests, so
it's not ready to go yet.
Our previous development flow was to rebase some of our patches on an
upstream binutils release branch, but that's proved to be too much work
to deal with. Instead we're just going to add our patches on top of the
latest binutils release (2.29 in this case). This will be easier for me
to manage, and will more closely match what distributions will be doing
with RISC-V toolchains.
This is also the first clean commit of riscv-binutils-gdb where every
backported branch has landed on upstream's master branch before being
backported.
Here's the full list of patches we have on riscv-binutils-gdb right now.
f64577d1c916 ("RISC-V: Fix disassembly of c.addi4spn, c.addi16sp, c.lui when imm=0")
d51d92c4d06b ("RISC-V: Only relax to C.LUI when imm != 0 and rd != 0/2")
3593f7f30f80 ("Fix my previous gas/ChangeLog entry")
164a62116dc9 ("RISC-V: Don't emit 2-byte NOPs if the C extension is disabled")
915b00e356e0 ("RISC-V: Relax RISCV_PCREL_* to RISCV_GPREL_*")
fa753df2d560 ("RISC-V: Add R_RISCV_DELETE, which marks bytes for deletion")
9eb250cb914c ("RISC-V: Mark unsupported gas testcases")
0d96fbb3095f ("riscv: Cache the max alignment of output sections")
60cda8de81dc ("RISC-V: Avoid emitting invalid instructions in mixed RVC/no-RVC code")
296c682e9d92 ("RISC-V: Print an error when unable to align a section")
1bfb4ecbd84c ("RISC-V: Support PCREL_* relocations agaist weak undefined symbols")
d3fae8db583d ("Improve handling of ADD and SUB relocations on the RISCV target.")
404de0666a6a ("RISC-V: Mark "c.nop" as an alias")
dfbf9e44a0e1 ("Fix problems parsing RISCV architecture extenstions in the assembler.")
697d5b8ee280 ("(RISC-V GDB) Only save FPRs on harts that support F/D/Q")
495d737e62c0 ("(RISC-V GDB) GDB update")
c950de297cd7 ("(RISC-V GDB) RISC-V GDB Port")
dd9a28c0966d ("Bump version to 2.29")