summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2024-11-19Fix MSP430 conditional jump liftingMason Reed
2024-11-11Add actual logger api to rustMason Reed
2024-11-06Fixes Vector35/binaryninja-api#5968: "PowerPC flag names no longer ↵Galen Williamson
recognized (due to changes in capstone register numbering)": handles new capstone flag numbers, allows assembling `isel` instructions with capstone syntax, disassembles flag registers with capstone syntax
2024-11-05Updated capstone to 5.0.3 to fix xori instr liftingAlex Mullins
2024-11-04Fix undefined behavior with COFF relocationsMason Reed
Was causing major instability with WARP signature generation
2024-11-04Remove ability to panic on pre-initialized logger in rustMason Reed
Typically this would never occur, however due to the mystical nature of linkers this somehow has happened outside of demo builds
2024-10-30Undo whitespace changes from user MIPS reloc PRBrandon Miller
Also wrapped & to suppress build warning
2024-10-30Implicit addends in MIPS do not seem to be honored. Adding the addend to the ↵James Hogan
target. It is not always the case, especially under certian compiler optimizations that a R_MIPS_HI16 relocation is followed by one or more R_MIPS_LO16 relocations. Removing this requirement to fulfill the relocation regardless of the preceeding relocation. Adding the following relocations: * R_MIPS_HIGHEST * R_MIPS_HIGHER * R_MIPS_GPREL16 * (R_MIPS_64 << 8) | R_MIPS_REL32 * R_MIPS_GPREL32
2024-10-23Calling Conventions for register specific arc functionskat
2024-10-14Update bindgen to 0.70.1 and remove untracked lockfilesMason Reed
2024-09-14Add mpidr_el1 aarch64 sysregJosh Ferrell
2024-09-13Fix many warningsJosh Ferrell
2024-09-13Ultimate.Alexander Taylor
2024-09-08Respect ELF view endianness when calculating AArch64 relocationsMichael Krasnitski
2024-08-30Add support for loading mipsel64 filesJosh Ferrell
2024-08-29Fix misc rust warningsMason Reed
2024-08-27Fixed fall-through VMOV liftingGalen Williamson
Conditions were not cascading, caused instructions to generate il for multiple variants of VMOV
2024-08-27Cleaned up formatting on new and old codeGalen Williamson
2024-08-27Constraint NEON instructions using operation flagsMason Reed
Also fix some formatting issues
2024-08-27Use split registers for VMOVMason Reed
2024-08-27Fix VPOP not setting registersMason Reed
2024-08-27Fix VDIV constraints and lift VNEGMason Reed
2024-08-27Fix unconstrained VADD and VABSMason Reed
2024-08-27Lift VMRS and mark system registersMason Reed
System registers needed to be marked to prevent the registers from being passed as arguments
2024-08-27Lift VSUB, VDIV, VMUL, VFMAMason Reed
VSUB already existed but it was lifted as a regular SUB instruction
2024-08-27Lift more variants of VCVT and correct a missed variant caseMason Reed
2024-08-27Lift VSTMIA, VLDMIAMason Reed
2024-08-27Fix non R register groups referencing PC for 15th register indexMason Reed
Any usage of d15, s15, q15 was completely broken
2024-08-27Lift misc V_ thumb instrunctionsMason Reed
2024-08-27Lift VMOVMason Reed
2024-08-27Lift VLDR and VSTRMason Reed
2024-08-27Lift VPOP and VPUSHMason Reed
2024-08-27Fix getting incorrect S and D registers in lifted ilMason Reed
2024-08-27Remove duplicate conditional checks in v_ liftsMason Reed
2024-08-22Specialize relocation warning for 32-bit/64-bit.Alexander Taylor
2024-08-22Fix MSP430 lifting bugs causing crashes and errors.Alexander Taylor
2024-08-22Make MSP430 correctly load after ELF view.Alexander Taylor
2024-08-22Fix MSP430 dependencies.Alexander Taylor
2024-08-22Fix build error in MSP430, update README.Alexander Taylor
2024-08-22Add msp430 architectureJoe Rozner
2024-08-21Fix thumb2 lifting of REVMason Reed
2024-08-12Add decode, disassembly, IL for TLBINV, TLBINVFnoone
2024-08-12Sign-extend results of 32-bit operations on HI, LOnoone
For 64-bit architectures, the results weren't properly sign-extended when they were supposed to be for 32-bit operations. This doesn't change the fact that the source of the register size is still suspect, and this new sign extension may not properly take place for 64-bit architectures using 32-bit addresses, but solving that will take a bit more examination in general.
2024-08-12Add IL, intrinsics for TLB-related instructionsnoone
2024-08-12Add intrinsics for some system instructionsnoone
Except for SYNCI, I didn't have any test cases for these, but they're fairly simple.
2024-08-12Differentiate some enums in IL switch statementnoone
This makes it easier to see which instructions still need to be lifted versus those which never should be lifted.
2024-08-12Remove checks for 64-bit shift instructionsnoone
These aren't really needed; if it's for a 32-bit architecture that can't handle 64-bit shifts, then the instruction won't be decoded in the first place. Because the registerSize is derived from the address size, it may interfere with 64-bit architectures that are using signed 32-bit addresses. There are a few other places that check registerSize (for example, the 32->64 bit sign extension idiom and MADD, MADDU) that are suspect, but not included in this commit. The difference is that for 64-bit shifts, checking at all for the register size is the problem; for those, the check is still needed to figure out whether to sign extend or not, but the value of registerSize is suspect.
2024-08-06Add flag role for carry flag when subtraction is implemented with additionRusty Wagner
2024-08-02Properly lift push r16 instructions in x86. Fix ↵Xusheng
https://github.com/Vector35/binaryninja-api/issues/4028
2024-07-24change parameter name to align the function definitionZichuan Li
A user reported in public slack that the definition doesn't agree on endianness