Skip to content

Commit f96f573

Browse files
committed
revert accidental C code changes in doc branch
1 parent 7cf751c commit f96f573

File tree

1 file changed

+142
-69
lines changed

1 file changed

+142
-69
lines changed

librz/bin/format/elf/elf_relocs_conversion.c

Lines changed: 142 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -473,75 +473,148 @@ static RzBinReloc *reloc_convert_riscv(ELFOBJ *bin, RzBinElfReloc *rel, ut64 GOT
473473
}
474474

475475
static RzBinReloc *reloc_convert_aarch64(ELFOBJ *bin, RzBinElfReloc *rel, ut64 GOT) {
476-
ut64 B = bin->baddr;
477-
478-
switch (rel->type) {
479-
case R_AARCH64_NONE:
480-
return reloc_convert_set(bin, rel, 0, "R_AARCH64_NONE");
481-
case R_AARCH64_ABS64: ADD(64, 0, "R_AARCH64_ABS64");
482-
case R_AARCH64_ABS32: ADD(32, 0, "R_AARCH64_ABS32");
483-
case R_AARCH64_ABS16: ADD(16, 0, "R_AARCH64_ABS16");
484-
case R_AARCH64_PREL64: ADD(64, 0, "R_AARCH64_PREL64");
485-
case R_AARCH64_PREL32: ADD(32, 0, "R_AARCH64_PREL32");
486-
case R_AARCH64_PREL16: ADD(16, 0, "R_AARCH64_PREL16");
487-
case R_AARCH64_GLOB_DAT: SET(64, "R_AARCH64_GLOB_DAT");
488-
case R_AARCH64_JUMP_SLOT: SET(64, "R_AARCH64_JUMP_SLOT");
489-
case R_AARCH64_RELATIVE: ADD(64, B, "R_AARCH64_RELATIVE");
490-
case R_AARCH64_LDST8_ABS_LO12_NC: ADD(16, 0, "R_AARCH64_LDST8_ABS_LO12_NC");
491-
case R_AARCH64_ADD_ABS_LO12_NC: ADD(16, 0, "R_AARCH64_ADD_ABS_LO12_NC");
492-
case R_AARCH64_JUMP26: ADD(32, 0, "R_AARCH64_JUMP26");
493-
case R_AARCH64_CALL26: ADD(32, 0, "R_AARCH64_CALL26");
494-
case R_AARCH64_LDST64_ABS_LO12_NC: ADD(32, 0, "R_AARCH64_LDST64_ABS_LO12_NC");
495-
case R_AARCH64_LD64_GOT_LO12_NC: ADD(32, 0, "R_AARCH64_LD64_GOT_LO12_NC");
496-
497-
// Page-relative relocations
498-
case R_AARCH64_ADR_GOT_PAGE: ADD(32, 0, "R_AARCH64_ADR_GOT_PAGE");
499-
case R_AARCH64_ADR_PREL_PG_HI21: ADD(32, 0, "R_AARCH64_ADR_PREL_PG_HI21");
500-
case R_AARCH64_ADR_PREL_PG_HI21_NC: ADD(32, 0, "R_AARCH64_ADR_PREL_PG_HI21_NC");
501-
502-
// P32 relocations (usually remain unhandled or mapped to 32-bit equivalents)
503-
case R_AARCH64_P32_ABS32: ADD(32, 0, "R_AARCH64_P32_ABS32");
504-
case R_AARCH64_P32_COPY: ADD(32, 0, "R_AARCH64_P32_COPY");
505-
case R_AARCH64_P32_GLOB_DAT: SET(32, "R_AARCH64_P32_GLOB_DAT");
506-
case R_AARCH64_P32_JUMP_SLOT: SET(32, "R_AARCH64_P32_JUMP_SLOT");
507-
case R_AARCH64_P32_RELATIVE: ADD(32, B, "R_AARCH64_P32_RELATIVE");
508-
case R_AARCH64_P32_TLS_DTPMOD: UNHANDL("R_AARCH64_P32_TLS_DTPMOD");
509-
case R_AARCH64_P32_TLS_DTPREL: UNHANDL("R_AARCH64_P32_TLS_DTPREL");
510-
case R_AARCH64_P32_TLS_TPREL: UNHANDL("R_AARCH64_P32_TLS_TPREL");
511-
case R_AARCH64_P32_TLSDESC: UNHANDL("R_AARCH64_P32_TLSDESC");
512-
case R_AARCH64_P32_IRELATIVE: UNHANDL("R_AARCH64_P32_IRELATIVE");
513-
514-
// MOVW Group (16-bit immediate relocations)
515-
case R_AARCH64_MOVW_UABS_G0: ADD(16, 0, "R_AARCH64_MOVW_UABS_G0");
516-
case R_AARCH64_MOVW_UABS_G0_NC: ADD(16, 0, "R_AARCH64_MOVW_UABS_G0_NC");
517-
case R_AARCH64_MOVW_UABS_G1: ADD(16, 0, "R_AARCH64_MOVW_UABS_G1");
518-
case R_AARCH64_MOVW_UABS_G1_NC: ADD(16, 0, "R_AARCH64_MOVW_UABS_G1_NC");
519-
case R_AARCH64_MOVW_UABS_G2: ADD(16, 0, "R_AARCH64_MOVW_UABS_G2");
520-
case R_AARCH64_MOVW_UABS_G2_NC: ADD(16, 0, "R_AARCH64_MOVW_UABS_G2_NC");
521-
case R_AARCH64_MOVW_UABS_G3: ADD(16, 0, "R_AARCH64_MOVW_UABS_G3");
522-
case R_AARCH64_MOVW_SABS_G0: ADD(16, 0, "R_AARCH64_MOVW_SABS_G0");
523-
case R_AARCH64_MOVW_SABS_G1: ADD(16, 0, "R_AARCH64_MOVW_SABS_G1");
524-
case R_AARCH64_MOVW_SABS_G2: ADD(16, 0, "R_AARCH64_MOVW_SABS_G2");
525-
526-
// PC-Relative Group
527-
case R_AARCH64_LD_PREL_LO19: ADD(32, 0, "R_AARCH64_LD_PREL_LO19");
528-
case R_AARCH64_ADR_PREL_LO21: ADD(32, 0, "R_AARCH64_ADR_PREL_LO21");
529-
case R_AARCH64_TSTBR14: ADD(32, 0, "R_AARCH64_TSTBR14");
530-
case R_AARCH64_CONDBR19: ADD(32, 0, "R_AARCH64_CONDBR19");
531-
532-
// Load/Store (LDST) Group
533-
case R_AARCH64_LDST16_ABS_LO12_NC: ADD(16, 0, "R_AARCH64_LDST16_ABS_LO12_NC");
534-
case R_AARCH64_LDST32_ABS_LO12_NC: ADD(32, 0, "R_AARCH64_LDST32_ABS_LO12_NC");
535-
case R_AARCH64_LDST128_ABS_LO12_NC: ADD(64, 0, "R_AARCH64_LDST128_ABS_LO12_NC");
536-
537-
// Standard Runtime Relocations
538-
case R_AARCH64_COPY: ADD(64, 0, "R_AARCH64_COPY");
539-
case R_AARCH64_TLSDESC: ADD(64, 0, "R_AARCH64_TLSDESC");
540-
case R_AARCH64_IRELATIVE: IFCN(64, "R_AARCH64_IRELATIVE");
541-
542-
// Default catch-all
543-
default: UNSUPP("AArch64");
544-
}
476+
ut64 B = bin->baddr;
477+
478+
switch (rel->type) {
479+
case R_AARCH64_NONE:
480+
return reloc_convert_set(bin, rel, 0, "R_AARCH64_NONE");
481+
case R_AARCH64_ABS64: ADD(64, 0, "R_AARCH64_ABS64");
482+
case R_AARCH64_ABS32: ADD(32, 0, "R_AARCH64_ABS32");
483+
case R_AARCH64_ABS16: ADD(16, 0, "R_AARCH64_ABS16");
484+
case R_AARCH64_PREL64: ADD(64, 0, "R_AARCH64_PREL64");
485+
case R_AARCH64_PREL32: ADD(32, 0, "R_AARCH64_PREL32");
486+
case R_AARCH64_PREL16: ADD(16, 0, "R_AARCH64_PREL16");
487+
case R_AARCH64_GLOB_DAT: SET(64, "R_AARCH64_GLOB_DAT");
488+
case R_AARCH64_JUMP_SLOT: SET(64, "R_AARCH64_JUMP_SLOT");
489+
case R_AARCH64_RELATIVE: ADD(64, B, "R_AARCH64_RELATIVE");
490+
case R_AARCH64_LDST8_ABS_LO12_NC: ADD(16, 0, "R_AARCH64_LDST8_ABS_LO12_NC");
491+
case R_AARCH64_ADD_ABS_LO12_NC: ADD(16, 0, "R_AARCH64_ADD_ABS_LO12_NC");
492+
case R_AARCH64_JUMP26: ADD(32, 0, "R_AARCH64_JUMP26");
493+
case R_AARCH64_CALL26: ADD(32, 0, "R_AARCH64_CALL26");
494+
case R_AARCH64_LDST64_ABS_LO12_NC: ADD(32, 0, "R_AARCH64_LDST64_ABS_LO12_NC");
495+
case R_AARCH64_LD64_GOT_LO12_NC: ADD(32, 0, "R_AARCH64_LD64_GOT_LO12_NC");
496+
// Page-relative relocations
497+
case R_AARCH64_ADR_GOT_PAGE: ADD(32, 0, "R_AARCH64_ADR_GOT_PAGE");
498+
case R_AARCH64_ADR_PREL_PG_HI21: ADD(32, 0, "R_AARCH64_ADR_PREL_PG_HI21");
499+
case R_AARCH64_ADR_PREL_PG_HI21_NC: ADD(32, 0, "R_AARCH64_ADR_PREL_PG_HI21_NC");
500+
case R_AARCH64_P32_ABS32: UNHANDL("R_AARCH64_P32_ABS32");
501+
case R_AARCH64_P32_COPY: UNHANDL("R_AARCH64_P32_COPY");
502+
case R_AARCH64_P32_GLOB_DAT: UNHANDL("R_AARCH64_P32_GLOB_DAT");
503+
case R_AARCH64_P32_JUMP_SLOT: UNHANDL("R_AARCH64_P32_JUMP_SLOT");
504+
case R_AARCH64_P32_RELATIVE: UNHANDL("R_AARCH64_P32_RELATIVE");
505+
case R_AARCH64_P32_TLS_DTPMOD: UNHANDL("R_AARCH64_P32_TLS_DTPMOD");
506+
case R_AARCH64_P32_TLS_DTPREL: UNHANDL("R_AARCH64_P32_TLS_DTPREL");
507+
case R_AARCH64_P32_TLS_TPREL: UNHANDL("R_AARCH64_P32_TLS_TPREL");
508+
case R_AARCH64_P32_TLSDESC: UNHANDL("R_AARCH64_P32_TLSDESC");
509+
case R_AARCH64_P32_IRELATIVE: UNHANDL("R_AARCH64_P32_IRELATIVE");
510+
case R_AARCH64_MOVW_UABS_G0: UNHANDL("R_AARCH64_MOVW_UABS_G0");
511+
case R_AARCH64_MOVW_UABS_G0_NC: UNHANDL("R_AARCH64_MOVW_UABS_G0_NC");
512+
case R_AARCH64_MOVW_UABS_G1: UNHANDL("R_AARCH64_MOVW_UABS_G1");
513+
case R_AARCH64_MOVW_UABS_G1_NC: UNHANDL("R_AARCH64_MOVW_UABS_G1_NC");
514+
case R_AARCH64_MOVW_UABS_G2: UNHANDL("R_AARCH64_MOVW_UABS_G2");
515+
case R_AARCH64_MOVW_UABS_G2_NC: UNHANDL("R_AARCH64_MOVW_UABS_G2_NC");
516+
case R_AARCH64_MOVW_UABS_G3: UNHANDL("R_AARCH64_MOVW_UABS_G3");
517+
case R_AARCH64_MOVW_SABS_G0: UNHANDL("R_AARCH64_MOVW_SABS_G0");
518+
case R_AARCH64_MOVW_SABS_G1: UNHANDL("R_AARCH64_MOVW_SABS_G1");
519+
case R_AARCH64_MOVW_SABS_G2: UNHANDL("R_AARCH64_MOVW_SABS_G2");
520+
case R_AARCH64_LD_PREL_LO19: UNHANDL("R_AARCH64_LD_PREL_LO19");
521+
case R_AARCH64_ADR_PREL_LO21: UNHANDL("R_AARCH64_ADR_PREL_LO21");
522+
case R_AARCH64_TSTBR14: UNHANDL("R_AARCH64_TSTBR14");
523+
case R_AARCH64_CONDBR19: UNHANDL("R_AARCH64_CONDBR19");
524+
case R_AARCH64_LDST16_ABS_LO12_NC: UNHANDL("R_AARCH64_LDST16_ABS_LO12_NC");
525+
case R_AARCH64_LDST32_ABS_LO12_NC: UNHANDL("R_AARCH64_LDST32_ABS_LO12_NC");
526+
case R_AARCH64_MOVW_PREL_G0: UNHANDL("R_AARCH64_MOVW_PREL_G0");
527+
case R_AARCH64_MOVW_PREL_G0_NC: UNHANDL("R_AARCH64_MOVW_PREL_G0_NC");
528+
case R_AARCH64_MOVW_PREL_G1: UNHANDL("R_AARCH64_MOVW_PREL_G1");
529+
case R_AARCH64_MOVW_PREL_G1_NC: UNHANDL("R_AARCH64_MOVW_PREL_G1_NC");
530+
case R_AARCH64_MOVW_PREL_G2: UNHANDL("R_AARCH64_MOVW_PREL_G2");
531+
case R_AARCH64_MOVW_PREL_G2_NC: UNHANDL("R_AARCH64_MOVW_PREL_G2_NC");
532+
case R_AARCH64_MOVW_PREL_G3: UNHANDL("R_AARCH64_MOVW_PREL_G3");
533+
case R_AARCH64_LDST128_ABS_LO12_NC: UNHANDL("R_AARCH64_LDST128_ABS_LO12_NC");
534+
case R_AARCH64_MOVW_GOTOFF_G0: UNHANDL("R_AARCH64_MOVW_GOTOFF_G0");
535+
case R_AARCH64_MOVW_GOTOFF_G0_NC: UNHANDL("R_AARCH64_MOVW_GOTOFF_G0_NC");
536+
case R_AARCH64_MOVW_GOTOFF_G1: UNHANDL("R_AARCH64_MOVW_GOTOFF_G1");
537+
case R_AARCH64_MOVW_GOTOFF_G1_NC: UNHANDL("R_AARCH64_MOVW_GOTOFF_G1_NC");
538+
case R_AARCH64_MOVW_GOTOFF_G2: UNHANDL("R_AARCH64_MOVW_GOTOFF_G2");
539+
case R_AARCH64_MOVW_GOTOFF_G2_NC: UNHANDL("R_AARCH64_MOVW_GOTOFF_G2_NC");
540+
case R_AARCH64_MOVW_GOTOFF_G3: UNHANDL("R_AARCH64_MOVW_GOTOFF_G3");
541+
case R_AARCH64_GOTREL64: UNHANDL("R_AARCH64_GOTREL64");
542+
case R_AARCH64_GOTREL32: UNHANDL("R_AARCH64_GOTREL32");
543+
case R_AARCH64_GOT_LD_PREL19: UNHANDL("R_AARCH64_GOT_LD_PREL19");
544+
case R_AARCH64_LD64_GOTOFF_LO15: UNHANDL("R_AARCH64_LD64_GOTOFF_LO15");
545+
case R_AARCH64_LD64_GOTPAGE_LO15: UNHANDL("R_AARCH64_LD64_GOTPAGE_LO15");
546+
case R_AARCH64_TLSGD_ADR_PREL21: UNHANDL("R_AARCH64_TLSGD_ADR_PREL21");
547+
case R_AARCH64_TLSGD_ADR_PAGE21: UNHANDL("R_AARCH64_TLSGD_ADR_PAGE21");
548+
case R_AARCH64_TLSGD_ADD_LO12_NC: UNHANDL("R_AARCH64_TLSGD_ADD_LO12_NC");
549+
case R_AARCH64_TLSGD_MOVW_G1: UNHANDL("R_AARCH64_TLSGD_MOVW_G1");
550+
case R_AARCH64_TLSGD_MOVW_G0_NC: UNHANDL("R_AARCH64_TLSGD_MOVW_G0_NC");
551+
case R_AARCH64_TLSLD_ADR_PREL21: UNHANDL("R_AARCH64_TLSLD_ADR_PREL21");
552+
case R_AARCH64_TLSLD_ADR_PAGE21: UNHANDL("R_AARCH64_TLSLD_ADR_PAGE21");
553+
case R_AARCH64_TLSLD_ADD_LO12_NC: UNHANDL("R_AARCH64_TLSLD_ADD_LO12_NC");
554+
case R_AARCH64_TLSLD_MOVW_G1: UNHANDL("R_AARCH64_TLSLD_MOVW_G1");
555+
case R_AARCH64_TLSLD_MOVW_G0_NC: UNHANDL("R_AARCH64_TLSLD_MOVW_G0_NC");
556+
case R_AARCH64_TLSLD_LD_PREL19: UNHANDL("R_AARCH64_TLSLD_LD_PREL19");
557+
case R_AARCH64_TLSLD_MOVW_DTPREL_G2: UNHANDL("R_AARCH64_TLSLD_MOVW_DTPREL_G2");
558+
case R_AARCH64_TLSLD_MOVW_DTPREL_G1: UNHANDL("R_AARCH64_TLSLD_MOVW_DTPREL_G1");
559+
case R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC: UNHANDL("R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC");
560+
case R_AARCH64_TLSLD_MOVW_DTPREL_G0: UNHANDL("R_AARCH64_TLSLD_MOVW_DTPREL_G0");
561+
case R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC: UNHANDL("R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC");
562+
case R_AARCH64_TLSLD_ADD_DTPREL_HI12: UNHANDL("R_AARCH64_TLSLD_ADD_DTPREL_HI12");
563+
case R_AARCH64_TLSLD_ADD_DTPREL_LO12: UNHANDL("R_AARCH64_TLSLD_ADD_DTPREL_LO12");
564+
case R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC: UNHANDL("R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC");
565+
case R_AARCH64_TLSLD_LDST8_DTPREL_LO12: UNHANDL("R_AARCH64_TLSLD_LDST8_DTPREL_LO12");
566+
case R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC: UNHANDL("R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC");
567+
case R_AARCH64_TLSLD_LDST16_DTPREL_LO12: UNHANDL("R_AARCH64_TLSLD_LDST16_DTPREL_LO12");
568+
case R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC: UNHANDL("R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC");
569+
case R_AARCH64_TLSLD_LDST32_DTPREL_LO12: UNHANDL("R_AARCH64_TLSLD_LDST32_DTPREL_LO12");
570+
case R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC: UNHANDL("R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC");
571+
case R_AARCH64_TLSLD_LDST64_DTPREL_LO12: UNHANDL("R_AARCH64_TLSLD_LDST64_DTPREL_LO12");
572+
case R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC: UNHANDL("R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC");
573+
case R_AARCH64_TLSIE_MOVW_GOTTPREL_G1: UNHANDL("R_AARCH64_TLSIE_MOVW_GOTTPREL_G1");
574+
case R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC: UNHANDL("R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC");
575+
case R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21: UNHANDL("R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21");
576+
case R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC: UNHANDL("R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC");
577+
case R_AARCH64_TLSIE_LD_GOTTPREL_PREL19: UNHANDL("R_AARCH64_TLSIE_LD_GOTTPREL_PREL19");
578+
case R_AARCH64_TLSLE_MOVW_TPREL_G2: UNHANDL("R_AARCH64_TLSLE_MOVW_TPREL_G2");
579+
case R_AARCH64_TLSLE_MOVW_TPREL_G1: UNHANDL("R_AARCH64_TLSLE_MOVW_TPREL_G1");
580+
case R_AARCH64_TLSLE_MOVW_TPREL_G1_NC: UNHANDL("R_AARCH64_TLSLE_MOVW_TPREL_G1_NC");
581+
case R_AARCH64_TLSLE_MOVW_TPREL_G0: UNHANDL("R_AARCH64_TLSLE_MOVW_TPREL_G0");
582+
case R_AARCH64_TLSLE_MOVW_TPREL_G0_NC: UNHANDL("R_AARCH64_TLSLE_MOVW_TPREL_G0_NC");
583+
case R_AARCH64_TLSLE_ADD_TPREL_HI12: UNHANDL("R_AARCH64_TLSLE_ADD_TPREL_HI12");
584+
case R_AARCH64_TLSLE_ADD_TPREL_LO12: UNHANDL("R_AARCH64_TLSLE_ADD_TPREL_LO12");
585+
case R_AARCH64_TLSLE_ADD_TPREL_LO12_NC: UNHANDL("R_AARCH64_TLSLE_ADD_TPREL_LO12_NC");
586+
case R_AARCH64_TLSLE_LDST8_TPREL_LO12: UNHANDL("R_AARCH64_TLSLE_LDST8_TPREL_LO12");
587+
case R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC: UNHANDL("R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC");
588+
case R_AARCH64_TLSLE_LDST16_TPREL_LO12: UNHANDL("R_AARCH64_TLSLE_LDST16_TPREL_LO12");
589+
case R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC: UNHANDL("R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC");
590+
case R_AARCH64_TLSLE_LDST32_TPREL_LO12: UNHANDL("R_AARCH64_TLSLE_LDST32_TPREL_LO12");
591+
case R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC: UNHANDL("R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC");
592+
case R_AARCH64_TLSLE_LDST64_TPREL_LO12: UNHANDL("R_AARCH64_TLSLE_LDST64_TPREL_LO12");
593+
case R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC: UNHANDL("R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC");
594+
case R_AARCH64_TLSDESC_LD_PREL19: UNHANDL("R_AARCH64_TLSDESC_LD_PREL19");
595+
case R_AARCH64_TLSDESC_ADR_PREL21: UNHANDL("R_AARCH64_TLSDESC_ADR_PREL21");
596+
case R_AARCH64_TLSDESC_ADR_PAGE21: UNHANDL("R_AARCH64_TLSDESC_ADR_PAGE21");
597+
case R_AARCH64_TLSDESC_LD64_LO12: UNHANDL("R_AARCH64_TLSDESC_LD64_LO12");
598+
case R_AARCH64_TLSDESC_ADD_LO12: UNHANDL("R_AARCH64_TLSDESC_ADD_LO12");
599+
case R_AARCH64_TLSDESC_OFF_G1: UNHANDL("R_AARCH64_TLSDESC_OFF_G1");
600+
case R_AARCH64_TLSDESC_OFF_G0_NC: UNHANDL("R_AARCH64_TLSDESC_OFF_G0_NC");
601+
case R_AARCH64_TLSDESC_LDR: UNHANDL("R_AARCH64_TLSDESC_LDR");
602+
case R_AARCH64_TLSDESC_ADD: UNHANDL("R_AARCH64_TLSDESC_ADD");
603+
case R_AARCH64_TLSDESC_CALL: UNHANDL("R_AARCH64_TLSDESC_CALL");
604+
case R_AARCH64_TLSLE_LDST128_TPREL_LO12: UNHANDL("R_AARCH64_TLSLE_LDST128_TPREL_LO12");
605+
case R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC: UNHANDL("R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC");
606+
case R_AARCH64_TLSLD_LDST128_DTPREL_LO12: UNHANDL("R_AARCH64_TLSLD_LDST128_DTPREL_LO12");
607+
case R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC: UNHANDL("R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC");
608+
case R_AARCH64_COPY: ADD(64, 0, "R_AARCH64_COPY"); // copy symbol at runtime
609+
case R_AARCH64_TLS_DTPMOD: UNHANDL("R_AARCH64_TLS_DTPMOD");
610+
case R_AARCH64_TLS_DTPREL: UNHANDL("R_AARCH64_TLS_DTPREL");
611+
case R_AARCH64_TLS_TPREL: UNHANDL("R_AARCH64_TLS_TPREL");
612+
case R_AARCH64_TLSDESC: ADD(64, 0, "R_AARCH64_TLSDESC"); // resolved at runtime
613+
case R_AARCH64_IRELATIVE: UNHANDL("R_AARCH64_IRELATIVE");
614+
615+
// FIXME: Quite a few relocations missing here
616+
default: UNSUPP("AArch64");
617+
}
545618
}
546619

547620
static RzBinReloc *reloc_convert_ppc(ELFOBJ *bin, RzBinElfReloc *rel, ut64 GOT) {

0 commit comments

Comments
 (0)