![]() |
Parolin 0.7.9 6796
Console (soon DLLs) to do a tar like job
|
Filter for 32-bit/64-bit little/big endian RISC-V binaries. More...
#include "simple_private.h"
Macros | |
#define | NOT_AUIPC_PAIR(auipc, inst2) |
#define | NOT_SPECIAL_AUIPC(auipc, inst2_rs1) |
Filter for 32-bit/64-bit little/big endian RISC-V binaries.
This converts program counter relative addresses in function calls (JAL, AUIPC+JALR), address calculation of functions and global variables (AUIPC+ADDI), loads (AUIPC+load), and stores (AUIPC+store).
For AUIPC+inst2 pairs, the paired instruction checking is fairly relaxed. The paired instruction opcode must only have its lowest two bits set, meaning it will convert any paired instruction that is not a 16-bit compressed instruction. This was shown to be enough to keep the number of false matches low while improving code size and speed.
#define NOT_AUIPC_PAIR | ( | auipc, | |
inst2 ) |
#define NOT_SPECIAL_AUIPC | ( | auipc, | |
inst2_rs1 ) |