aboutsummaryrefslogtreecommitdiff
path: root/binutils
AgeCommit message (Collapse)AuthorFilesLines
2023-10-05Bump binutils to v2.41 releasePatrick O'Neill1-0/+0
2023-09-30Bump binutils to v2.41Patrick O'Neill1-0/+0
2023-02-20Update the Binutils branch commits.2023.02.21Jiawei1-0/+0
2023-02-20Update Binutils commits.Jiawei1-0/+0
2023-02-20Bump Binutils version to 2.40.Jiawei1-0/+0
2022-08-18Switch gcc to upstream and update binutils commitsJiawei1-0/+0
2022-08-17Switch binutils to upstream 2.39 branchKito Cheng1-0/+0
2016-05-31Start tracking binutils as a submodulePalmer Dabbelt16-9099/+0
As we prepare binutils for upstreaming we want to start closely tracking upstream changes. There's a riscv-binutils-gdb repository that contains the binutils port, and I want to centralize all the development there. This commit uses that repository instead of the patches that used to live here, so we're less likely to lose patches.
2016-05-16Merge pull request #139 from manuelafm/ngpr_nfprPalmer Dabbelt1-4/+4
Use NGPR/NFPR in riscv_{gpr,fpr}_names_{numeric,abi}, instead of 32
2016-05-02Remove mtohost/mfromhost/mipi CSRsAndrew Waterman1-6/+0
2016-05-01Use NGPR/NFPR in riscv_{gpr,fpr}_names_{numeric,abi}, instead of 32Manuel A. Fernandez Montecelo1-4/+4
To be consistent with the declaration in binutils/include/opcode/riscv.h
2016-04-30binutils: ERET -> xRETAndrew Waterman2-57/+25
2016-04-09binutils: unfuck previous commitAndrew Waterman1-2/+0
The addi -> c.mv optimization was incorrect. Resolves #135.
2016-04-08binutils: don't accept 0 as c.addi16sp immediateAndrew Waterman2-1/+4
2016-04-05Revamp binutils' handling of -msoft-float and -marchPalmer Dabbelt1-2/+41
binutils used to ignore -march when calculating the ELF header. This means would cause linking problems when trying to link together libraries generated using the two different ways of specifying the floating-point ABI. With this patch, binutils respects -march when it's specified but allows -msoft-float to override that setting. It's an error to pass -mhard-float to an ISA without F/D.
2016-04-05Set the RISC-V ISA version to 2Palmer Dabbelt1-1/+1
This is what the manual says. Note that we don't actually do anything with this version number.
2016-03-14Upgrade to binutils 2.26Andrew Waterman4-45/+44
2016-03-14binutils: disassemble jalr/ld/st addresses with x0 baseAndrew Waterman1-2/+3
2016-03-03binutils: update CSR/privileged instruction encodingAndrew Waterman2-417/+72
2016-01-29gas: print better error message for bad constantsAndrew Waterman1-1/+5
This resolves #118.
2015-12-02Correct the "{l,s}{b,h,w,d} REG, ADDR, REG" formatPalmer Dabbelt1-0/+3
ADDR in this format is only meant to be a symbolic address, not a numeric address. Things are this way because of linker relaxation. Passing a numeric address would result in an internal assertion triggering, this patch just makes gas reject these instructions cleanly. This compiles glibc on a5 for me. This should fix bug #106.
2015-11-20binutils: strip instruction dependence infoAndrew Waterman2-377/+361
It was largely incorrect, and completely unused.
2015-11-18binutils: don't check AUIPC/LUI overflow for RV32Andrew Waterman1-2/+2
Any 32-bit address is in range of both instructions in RV32.
2015-11-12update CSRsAndrew Waterman1-2/+4
2015-11-08Bump binutils to 2.25.1Palmer Dabbelt1-2/+2
This just requires a single extra argument to a function call, which I copied from aarch64. I've only tested that newlib builds, but I don't see how this could cause any problems... :) I was hoping this would help with my attempts to integrate the GDB and binutils ports into one repo for upstreaming, but it looks like 2.25.1 is still a bit too old for this.
2015-10-29Handle lower-case ISA stringsPalmer Dabbelt1-1/+1
We'd changed the ISA string parser to be case-insensitive, but when doing that it made all "X*" extensions upper case. The result was that the instruction table matcher would skip "Xcustom" extensions, since they showed up as "XCUSTOM". This patch changes the ISA subset matching function to be case insensitive, to match the parser.
2015-10-20Update to hopefully-final RVC 1.9 encodingAndrew Waterman2-20/+10
Sorry, Sven... :-)
2015-10-20Don't relax to C.LUI when rd=spAndrew Waterman1-1/+4
There is no such instruction.
2015-10-20Revert "binutils: relax LA macro to C.LUI when appropriate"Andrew Waterman1-8/+2
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-13binutils: fix assembly of C.MV and C.ADDAndrew Waterman1-1/+2
We weren't correctly enforcing that rs2 must not be x0.
2015-10-10binutils: for non-PIC, put data at 0x10000Andrew Waterman1-9/+17
This allows global variable references to be relaxed to C.LUI.
2015-10-10binutils: relax LA macro to C.LUI when appropriateAndrew Waterman1-2/+8
2015-10-10binutils: disassemble symbol refs that use C.LUIAndrew Waterman1-0/+2
2015-10-10binutils: fix LUI relaxation bugAndrew Waterman3-13/+71
Section merging could make a gp-relative reference go out of range after relaxation. Stop relaxing LUIs against mergeable symbols, and add error checking to catch things like this in the future.
2015-10-10binutils: fix c.lui disassemblyAndrew Waterman1-1/+1
2015-10-10binutils: relax LUI to C.LUIAndrew Waterman4-10/+62
2015-10-06RVC encoding tweakAndrew Waterman1-29/+29
2015-10-05binutils: yet more work towards RVC 1.8Andrew Waterman5-205/+152
2015-10-01binutils: more work towards RVC 1.8Andrew Waterman6-964/+1044
2015-10-01binutils: support partial-RVC far branchesAndrew Waterman1-0/+12
c.beqz a0, far --> c.bnez a0, +6; j far
2015-09-29gas: clean up RVC bit-usage tableAndrew Waterman1-14/+14
2015-09-20binutils: adjust "size" of R_RISCV_NONE relocAndrew Waterman1-1/+1
This change was made to most other BFD backends, and so I'm mimicking it.
2015-09-20binutils: clean up GAS arch string handlingAndrew Waterman1-17/+12
2015-09-20binutils: redo ELF flag handlingAndrew Waterman4-129/+37
- Merge RVC flag correctly - Add soft-float flag and enforce equality when merging objects - Don't use flags to indicate custom accelerators (ultimate solution TBD)
2015-09-19binutils: make gas behave less like MIPS gasAndrew Waterman2-3/+2
2015-09-19binutils: remove a hopefully-irrelevant overflow checkAndrew Waterman1-12/+0
2015-09-19binutils: parse ISA strings closer to correctlyAndrew Waterman1-33/+46
2015-09-19binutils: gas cleanupAndrew Waterman3-93/+75
2015-09-19binutils: add LUI reloc overflow checkAndrew Waterman1-0/+2
2015-09-19binutils: bfd: numerous smaller relocation cleanupsPalmer Dabbelt1-17/+17