summaryrefslogtreecommitdiffstats
path: root/backends/loongarch_init.c
Commit message (Collapse)AuthorAgeFilesLines
* backends: Add set_initial_registers_tid callback for LoongArchYouling Tang2023-05-091-0/+1
| | | | | | | This patch implements the set_initial_registers_tid hook for LoongArch. Signed-off-by: Liwei Ge <[email protected]> Signed-off-by: Youling Tang <[email protected]>
* backends: Add core_note callback for LoongArchYouling Tang2023-05-091-0/+1
| | | | Signed-off-by: Youling Tang <[email protected]>
* backends: Add frame pointer unwinding for LoongArchYouling Tang2023-05-091-0/+1
| | | | | | | | | | | If we don't find any debug information for a given frame, we usually cannot unwind any further. However, the binary in question might have been compiled with frame pointers, in which case we can look up the well known frame pointer locations in the stack snapshot and use them to bridge the frames without debug information. Signed-off-by: Liwei Ge <[email protected]> Signed-off-by: Youling Tang <[email protected]>
* backends: Add initial return value location support for LoongArchYouling Tang2023-05-091-0/+3
| | | | | | | | LoongArch ELF ABI specification - Return values: https://loongson.github.io/LoongArch-Documentation/LoongArch-ELF-ABI-EN.html#_return_values Signed-off-by: Liwei Ge <[email protected]> Signed-off-by: Youling Tang <[email protected]>
* backends: Add abi_cfi and register_info callbacks for LoongArchYouling Tang2023-05-091-0/+4
| | | | | | | | | | | LoongArch Reference Manual - Volume 1: https://loongson.github.io/LoongArch-Documentation/LoongArch-Vol1-EN.html LoongArch ELF ABI: https://loongson.github.io/LoongArch-Documentation/LoongArch-ELF-ABI-EN.html Signed-off-by: Liwei Ge <[email protected]> Signed-off-by: Youling Tang <[email protected]>
* backends: add checks for _GLOBAL_OFFSET_TABLE_ on loongarchYouling Tang2023-04-071-0/+1
| | | | | | | | | | | | | | | | Add handling of _GLOBAL_OFFSET_TABLE_. Before applying the patch: $ ./src/elflint --gnu-ld ./src/elflint section [35] '.symtab': _GLOBAL_OFFSET_TABLE_ symbol value 0x68548 does not match .got.plt section address 0x68238 After applying the patch: $ ./src/elflint --gnu-ld ./src/elflint No errors Signed-off-by: Liwei Ge <[email protected]> Signed-off-by: Youling Tang <[email protected]>
* LoongArch: implemented a basic machine flag checkAlexey Sheplyakov2023-03-201-0/+1
| | | | | | | | | | | | | | | | | | | | With this patch I can use eu-elflint to verify LoongArch ELF binaries. Previously eu-elflint was complaining about invalid machine flags: $ ./src/elflint --gnu-ld ./src/elflint invalid machine flags: 0x43 $ echo $? 1 * backends/loongarch_symbol.c (loongarch_init): Hook machine_flag_check. * backends/loongarch_symbol.c (loongarch_machine_flag_check): New function. https://sourceware.org/bugzilla/show_bug.cgi?id=30251 Signed-off-by: Alexey Sheplyakov <[email protected]>
* Add support for LoongArchHengqi Chen2022-12-191-0/+50
This implements initial support for the LoongArch architecture. Signed-off-by: Hengqi Chen <[email protected]>