123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944(*Generated by Lem from abis/aarch64/abi_aarch64_relocation.lem.*)(** [abi_aarch64_relocation] contains types and definitions relating to ABI
* specific relocation functionality for the AArch64 ABI (little-endian case).
*)openLem_basic_classesopenLem_numopenLem_stringopenLem_maybeopenMissing_pervasivesopenErroropenElf_types_native_uintopenElf_fileopenElf_headeropenElf_relocationopenElf_symbol_tableopenAbi_utilitiesopenMemory_image(** Relocations *)letr_aarch64_none:Nat_big_num.num=((Nat_big_num.of_int0))letr_aarch64_withdrawn:Nat_big_num.num=((Nat_big_num.of_int256))(** Treated as R_AARCH6_NONE *)letr_aarch64_abs64:Nat_big_num.num=((Nat_big_num.of_int257))letr_aarch64_abs32:Nat_big_num.num=((Nat_big_num.of_int258))letr_aarch64_abs16:Nat_big_num.num=((Nat_big_num.of_int259))letr_aarch64_prel64:Nat_big_num.num=((Nat_big_num.of_int260))letr_aarch64_prel32:Nat_big_num.num=((Nat_big_num.of_int261))letr_aarch64_prel16:Nat_big_num.num=((Nat_big_num.of_int262))letr_aarch64_movw_uabs_g0:Nat_big_num.num=((Nat_big_num.of_int263))letr_aarch64_movw_uabs_g0_nc:Nat_big_num.num=((Nat_big_num.of_int264))letr_aarch64_movw_uabs_g1:Nat_big_num.num=((Nat_big_num.of_int265))letr_aarch64_movw_uabs_g1_nc:Nat_big_num.num=((Nat_big_num.of_int266))letr_aarch64_movw_uabs_g2:Nat_big_num.num=((Nat_big_num.of_int267))letr_aarch64_movw_uabs_g2_nc:Nat_big_num.num=((Nat_big_num.of_int268))letr_aarch64_movw_uabs_g3:Nat_big_num.num=((Nat_big_num.of_int269))letr_aarch64_movw_sabs_g0:Nat_big_num.num=((Nat_big_num.of_int270))letr_aarch64_movw_sabs_g1:Nat_big_num.num=((Nat_big_num.of_int271))letr_aarch64_movw_sabs_g2:Nat_big_num.num=((Nat_big_num.of_int272))letr_aarch64_ld_prel_lo19:Nat_big_num.num=((Nat_big_num.of_int273))letr_aarch64_adr_prel_lo21:Nat_big_num.num=((Nat_big_num.of_int274))letr_aarch64_adr_prel_pg_hi21:Nat_big_num.num=((Nat_big_num.of_int275))letr_aarch64_adr_prel_pg_hi21_nc:Nat_big_num.num=((Nat_big_num.of_int276))letr_aarch64_add_abs_lo12_nc:Nat_big_num.num=((Nat_big_num.of_int277))letr_aarch64_ldst8_abs_lo12_nc:Nat_big_num.num=((Nat_big_num.of_int278))letr_aarch64_ldst16_abs_lo12_nc:Nat_big_num.num=((Nat_big_num.of_int284))letr_aarch64_ldst32_abs_lo12_nc:Nat_big_num.num=((Nat_big_num.of_int285))letr_aarch64_ldst64_abs_lo12_nc:Nat_big_num.num=((Nat_big_num.of_int286))letr_aarch64_ldst128_abs_lo12_nc:Nat_big_num.num=((Nat_big_num.of_int299))letr_aarch64_tstbr14:Nat_big_num.num=((Nat_big_num.of_int279))letr_aarch64_condbr19:Nat_big_num.num=((Nat_big_num.of_int280))letr_aarch64_jump26:Nat_big_num.num=((Nat_big_num.of_int282))letr_aarch64_call26:Nat_big_num.num=((Nat_big_num.of_int283))letr_aarch64_movw_prel_g0:Nat_big_num.num=((Nat_big_num.of_int287))letr_aarch64_movw_prel_g0_nc:Nat_big_num.num=((Nat_big_num.of_int288))letr_aarch64_movw_prel_g1:Nat_big_num.num=((Nat_big_num.of_int289))letr_aarch64_movw_prel_g1_nc:Nat_big_num.num=((Nat_big_num.of_int290))letr_aarch64_movw_prel_g2:Nat_big_num.num=((Nat_big_num.of_int291))letr_aarch64_movw_prel_g2_nc:Nat_big_num.num=((Nat_big_num.of_int292))letr_aarch64_movw_prel_g3:Nat_big_num.num=((Nat_big_num.of_int293))letr_aarch64_movw_gotoff_g0:Nat_big_num.num=((Nat_big_num.of_int300))letr_aarch64_movw_gotoff_g0_nc:Nat_big_num.num=((Nat_big_num.of_int301))letr_aarch64_movw_gotoff_g1:Nat_big_num.num=((Nat_big_num.of_int302))letr_aarch64_movw_gotoff_g1_nc:Nat_big_num.num=((Nat_big_num.of_int303))letr_aarch64_movw_gotoff_g2:Nat_big_num.num=((Nat_big_num.of_int304))letr_aarch64_movw_gotoff_g2_nc:Nat_big_num.num=((Nat_big_num.of_int305))letr_aarch64_movw_gotoff_g3:Nat_big_num.num=((Nat_big_num.of_int306))letr_aarch64_gotrel64:Nat_big_num.num=((Nat_big_num.of_int307))letr_aarch64_gotrel32:Nat_big_num.num=((Nat_big_num.of_int308))letr_aarch64_got_ld_prel19:Nat_big_num.num=((Nat_big_num.of_int309))letr_aarch64_got_ld64_gotoff_lo15:Nat_big_num.num=((Nat_big_num.of_int310))letr_aarch64_adr_got_page:Nat_big_num.num=((Nat_big_num.of_int311))letr_aarch64_ld64_got_lo12_nc:Nat_big_num.num=((Nat_big_num.of_int312))letr_aarch64_ld64_gotpage_lo15:Nat_big_num.num=((Nat_big_num.of_int313))letr_aarch64_tlsgd_adr_prel21:Nat_big_num.num=((Nat_big_num.of_int512))letr_aarch64_tlsgd_adr_page21:Nat_big_num.num=((Nat_big_num.of_int513))letr_aarch64_tlsgd_add_lo12_nc:Nat_big_num.num=((Nat_big_num.of_int514))letr_aarch64_tlsgd_movw_g1:Nat_big_num.num=((Nat_big_num.of_int515))letr_aarch64_tlsgd_movw_g0_nc:Nat_big_num.num=((Nat_big_num.of_int516))letr_aarch64_tlsld_adr_prel21:Nat_big_num.num=((Nat_big_num.of_int517))letr_aarch64_tlsld_adr_page21:Nat_big_num.num=((Nat_big_num.of_int518))letr_aarch64_tlsld_add_lo12_nc:Nat_big_num.num=((Nat_big_num.of_int519))letr_aarch64_tlsld_movw_g1:Nat_big_num.num=((Nat_big_num.of_int520))letr_aarch64_tlsld_movw_g0_nc:Nat_big_num.num=((Nat_big_num.of_int521))letr_aarch64_tlsld_ld_prel19:Nat_big_num.num=((Nat_big_num.of_int522))letr_aarch64_tlsld_movw_dtprel_g2:Nat_big_num.num=((Nat_big_num.of_int523))letr_aarch64_tlsld_movw_dtprel_g1:Nat_big_num.num=((Nat_big_num.of_int524))letr_aarch64_tlsld_movw_dtprel_g1_nc:Nat_big_num.num=((Nat_big_num.of_int525))letr_aarch64_tlsld_movw_dtprel_g0:Nat_big_num.num=((Nat_big_num.of_int526))letr_aarch64_tlsld_movw_dtprel_g0_nc:Nat_big_num.num=((Nat_big_num.of_int527))letr_aarch64_tlsld_add_dtprel_hi12:Nat_big_num.num=((Nat_big_num.of_int528))letr_aarch64_tlsld_add_dtprel_lo12:Nat_big_num.num=((Nat_big_num.of_int529))letr_aarch64_tlsld_add_dtprel_lo12_nc:Nat_big_num.num=((Nat_big_num.of_int530))letr_aarch64_tlsld_ldst8_dtprel_lo12:Nat_big_num.num=((Nat_big_num.of_int531))letr_aarch64_tlsld_ldst8_dtprel_lo12_nc:Nat_big_num.num=((Nat_big_num.of_int532))letr_aarch64_tlsld_ldst16_dtprel_lo12:Nat_big_num.num=((Nat_big_num.of_int533))letr_aarch64_tlsld_ldst16_dtprel_lo12_nc:Nat_big_num.num=((Nat_big_num.of_int534))letr_aarch64_tlsld_ldst32_dtprel_lo12:Nat_big_num.num=((Nat_big_num.of_int535))letr_aarch64_tlsld_ldst32_dtprel_lo12_nc:Nat_big_num.num=((Nat_big_num.of_int536))letr_aarch64_tlsld_ldst64_dtprel_lo12:Nat_big_num.num=((Nat_big_num.of_int537))letr_aarch64_tlsld_ldst64_dtprel_lo12_nc:Nat_big_num.num=((Nat_big_num.of_int538))letr_aarch64_tlsld_ldst128_dtprel_lo12:Nat_big_num.num=((Nat_big_num.of_int572))letr_aarch64_tlsld_ldst128_dtprel_lo12_nc:Nat_big_num.num=((Nat_big_num.of_int573))letr_aarch64_tlsie_movw_gottprel_g1:Nat_big_num.num=((Nat_big_num.of_int539))letr_aarch64_tlsie_movw_gottprel_g0_nc:Nat_big_num.num=((Nat_big_num.of_int540))letr_aarch64_tlsie_movw_gottprel_page21:Nat_big_num.num=((Nat_big_num.of_int541))letr_aarch64_tlsie_movw_gottprel_lo12_nc:Nat_big_num.num=((Nat_big_num.of_int542))letr_aarch64_tlsie_movw_gottprel_prel19:Nat_big_num.num=((Nat_big_num.of_int543))letr_aarch64_tlsle_movw_tprel_g2:Nat_big_num.num=((Nat_big_num.of_int544))letr_aarch64_tlsle_movw_tprel_g1:Nat_big_num.num=((Nat_big_num.of_int545))letr_aarch64_tlsle_movw_tprel_g1_nc:Nat_big_num.num=((Nat_big_num.of_int546))letr_aarch64_tlsle_movw_tprel_g0:Nat_big_num.num=((Nat_big_num.of_int547))letr_aarch64_tlsle_movw_tprel_g0_nc:Nat_big_num.num=((Nat_big_num.of_int548))letr_aarch64_add_tprel_hi12:Nat_big_num.num=((Nat_big_num.of_int549))letr_aarch64_add_tprel_lo12:Nat_big_num.num=((Nat_big_num.of_int550))letr_aarch64_add_tprel_lo12_nc:Nat_big_num.num=((Nat_big_num.of_int551))letr_aarch64_ldst8_tprel_lo12:Nat_big_num.num=((Nat_big_num.of_int552))letr_aarch64_ldst8_tprel_lo12_nc:Nat_big_num.num=((Nat_big_num.of_int553))letr_aarch64_ldst16_tprel_lo12:Nat_big_num.num=((Nat_big_num.of_int554))letr_aarch64_ldst16_tprel_lo12_nc:Nat_big_num.num=((Nat_big_num.of_int555))letr_aarch64_ldst32_tprel_lo12:Nat_big_num.num=((Nat_big_num.of_int556))letr_aarch64_ldst32_tprel_lo12_nc:Nat_big_num.num=((Nat_big_num.of_int557))letr_aarch64_ldst64_tprel_lo12:Nat_big_num.num=((Nat_big_num.of_int558))letr_aarch64_ldst64_tprel_lo12_nc:Nat_big_num.num=((Nat_big_num.of_int559))letr_aarch64_ldst128_tprel_lo12:Nat_big_num.num=((Nat_big_num.of_int570))letr_aarch64_ldst128_tprel_lo12_nc:Nat_big_num.num=((Nat_big_num.of_int571))letr_aarch64_tlsdesc_ld_prel19:Nat_big_num.num=((Nat_big_num.of_int560))letr_aarch64_tlsdesc_adr_prel21:Nat_big_num.num=((Nat_big_num.of_int561))letr_aarch64_tlsdesc_adr_page21:Nat_big_num.num=((Nat_big_num.of_int562))letr_aarch64_tlsdesc_ld64_lo12:Nat_big_num.num=((Nat_big_num.of_int563))letr_aarch64_tlsdesc_add_lo12:Nat_big_num.num=((Nat_big_num.of_int564))letr_aarch64_tlsdesc_off_g1:Nat_big_num.num=((Nat_big_num.of_int565))letr_aarch64_tlsdesc_off_g0_nc:Nat_big_num.num=((Nat_big_num.of_int566))letr_aarch64_tlsdesc_ldr:Nat_big_num.num=((Nat_big_num.of_int567))letr_aarch64_tlsdesc_add:Nat_big_num.num=((Nat_big_num.of_int568))letr_aarch64_tlsdesc_call:Nat_big_num.num=((Nat_big_num.of_int569))letr_aarch64_copy:Nat_big_num.num=((Nat_big_num.of_int1024))letr_aarch64_glob_dat:Nat_big_num.num=((Nat_big_num.of_int1025))letr_aarch64_jump_slot:Nat_big_num.num=((Nat_big_num.of_int1026))letr_aarch64_relative:Nat_big_num.num=((Nat_big_num.of_int1027))letr_aarch64_tls_dtprel64:Nat_big_num.num=((Nat_big_num.of_int1028))letr_aarch64_tls_dtpmod64:Nat_big_num.num=((Nat_big_num.of_int1029))letr_aarch64_tls_tprel64:Nat_big_num.num=((Nat_big_num.of_int1030))letr_aarch64_tlsdesc:Nat_big_num.num=((Nat_big_num.of_int1031))letr_aarch64_irelative:Nat_big_num.num=((Nat_big_num.of_int1032))(** [string_of_aarch64_relocation_type m] produces a string representation of the
* relocation type [m].
*)(*val string_of_aarch64_relocation_type : natural -> string*)letstring_of_aarch64_relocation_typerel_type1:string=(ifNat_big_num.equalrel_type1r_aarch64_nonethen"R_AARCH64_NONE"elseifNat_big_num.equalrel_type1r_aarch64_withdrawnthen"R_AARCH64_NONE"elseifNat_big_num.equalrel_type1r_aarch64_abs64then"R_AARCH64_ABS64"elseifNat_big_num.equalrel_type1r_aarch64_abs32then"R_AARCH64_ABS32"elseifNat_big_num.equalrel_type1r_aarch64_abs16then"R_AARCH64_ABS16"elseifNat_big_num.equalrel_type1r_aarch64_prel64then"R_AARCH64_PREL64"elseifNat_big_num.equalrel_type1r_aarch64_prel32then"R_AARCH64_PREL32"elseifNat_big_num.equalrel_type1r_aarch64_prel16then"R_AARCH64_PREL16"elseifNat_big_num.equalrel_type1r_aarch64_movw_uabs_g0then"R_AARCH64_MOVW_UABS_G0"elseifNat_big_num.equalrel_type1r_aarch64_movw_uabs_g0_ncthen"R_AARCH64_MOVW_UABS_G0_NC"elseifNat_big_num.equalrel_type1r_aarch64_movw_uabs_g1then"R_AARCH64_MOVW_UABS_G1"elseifNat_big_num.equalrel_type1r_aarch64_movw_uabs_g1_ncthen"R_AARCH64_MOVW_UABS_G1_NC"elseifNat_big_num.equalrel_type1r_aarch64_movw_uabs_g2then"R_AARCH64_MOVW_UABS_G2"elseifNat_big_num.equalrel_type1r_aarch64_movw_uabs_g2_ncthen"R_AARCH64_MOVW_UABS_G2_NC"elseifNat_big_num.equalrel_type1r_aarch64_movw_uabs_g3then"R_AARCH64_MOVW_UABS_G3"elseifNat_big_num.equalrel_type1r_aarch64_movw_sabs_g0then"R_AARCH64_MOVW_SABS_G0"elseifNat_big_num.equalrel_type1r_aarch64_movw_sabs_g1then"R_AARCH64_MOVW_SABS_G1"elseifNat_big_num.equalrel_type1r_aarch64_movw_sabs_g2then"R_AARCH64_MOVW_SABS_G2"elseifNat_big_num.equalrel_type1r_aarch64_ld_prel_lo19then"R_AARCH64_LD_PREL_LO19"elseifNat_big_num.equalrel_type1r_aarch64_adr_prel_lo21then"R_AARCH64_ADR_PREL_LO21"elseifNat_big_num.equalrel_type1r_aarch64_adr_prel_pg_hi21then"R_AARCH64_ADR_PREL_PG_HI21"elseifNat_big_num.equalrel_type1r_aarch64_adr_prel_pg_hi21_ncthen"R_AARCH64_ADR_PREL_PG_HI21_NC"elseifNat_big_num.equalrel_type1r_aarch64_add_abs_lo12_ncthen"R_AARCH64_ADD_ABS_LO12_NC"elseifNat_big_num.equalrel_type1r_aarch64_ldst8_abs_lo12_ncthen"R_AARCH64_LDST8_ABS_LO12_NC"elseifNat_big_num.equalrel_type1r_aarch64_ldst16_abs_lo12_ncthen"R_AARCH64_LDST16_ABS_LO12_NC"elseifNat_big_num.equalrel_type1r_aarch64_ldst32_abs_lo12_ncthen"R_AARCH64_LDST32_ABS_LO12_NC"elseifNat_big_num.equalrel_type1r_aarch64_ldst64_abs_lo12_ncthen"R_AARCH64_LDST64_ABS_LO12_NC"elseifNat_big_num.equalrel_type1r_aarch64_ldst128_abs_lo12_ncthen"R_AARCH64_LDST128_ABS_LO12_NC"elseifNat_big_num.equalrel_type1r_aarch64_tstbr14then"R_AARCH64_TSTBR14"elseifNat_big_num.equalrel_type1r_aarch64_condbr19then"R_AARCH64_CONBR19"elseifNat_big_num.equalrel_type1r_aarch64_jump26then"R_AARCH64_JUMP26"elseifNat_big_num.equalrel_type1r_aarch64_call26then"R_AARCH64_CALL26"elseifNat_big_num.equalrel_type1r_aarch64_movw_prel_g0then"R_AARCH64_MOVW_PREL_G0"elseifNat_big_num.equalrel_type1r_aarch64_movw_prel_g0_ncthen"R_AARCH64_MOVW_PREL_G0_NC"elseifNat_big_num.equalrel_type1r_aarch64_movw_prel_g1then"R_AARCH64_MOVW_PREL_G1"elseifNat_big_num.equalrel_type1r_aarch64_movw_prel_g1_ncthen"R_AARCH64_MOVW_PREL_G1_NC"elseifNat_big_num.equalrel_type1r_aarch64_movw_prel_g2then"R_AARCH64_MOVW_PREL_G2"elseifNat_big_num.equalrel_type1r_aarch64_movw_prel_g2_ncthen"R_AARCH64_MOVW_PREL_G2_NC"elseifNat_big_num.equalrel_type1r_aarch64_movw_prel_g3then"R_AARCH64_MOVW_PREL_G3"elseifNat_big_num.equalrel_type1r_aarch64_movw_gotoff_g0then"R_AARCH64_MOVW_GOTOFF_G0"elseifNat_big_num.equalrel_type1r_aarch64_movw_gotoff_g0_ncthen"R_AARCH64_MOVW_GOTOFF_G0_NC"elseifNat_big_num.equalrel_type1r_aarch64_movw_gotoff_g1then"R_AARCH64_MOVW_GOTOFF_G1"elseifNat_big_num.equalrel_type1r_aarch64_movw_gotoff_g1_ncthen"R_AARCH64_MOVW_GOTOFF_G1_NC"elseifNat_big_num.equalrel_type1r_aarch64_movw_gotoff_g2then"R_AARCH64_MOVW_GOTOFF_G2"elseifNat_big_num.equalrel_type1r_aarch64_movw_gotoff_g2_ncthen"R_AARCH64_MOVW_GOTOFF_G2_NC"elseifNat_big_num.equalrel_type1r_aarch64_movw_gotoff_g3then"R_AARCH64_MOVW_GOTOFF_G3"elseifNat_big_num.equalrel_type1r_aarch64_gotrel64then"R_AARCH64_GOTREL64"elseifNat_big_num.equalrel_type1r_aarch64_gotrel32then"R_AARCH64_GOTREL32"elseifNat_big_num.equalrel_type1r_aarch64_got_ld_prel19then"R_AARCH64_GOT_LD_PREL19"elseifNat_big_num.equalrel_type1r_aarch64_got_ld64_gotoff_lo15then"R_AARCH64_GOT_LD64_GOTOFF_LO15"elseifNat_big_num.equalrel_type1r_aarch64_adr_got_pagethen"R_AARCH64_ADR_GOT_PAGE"elseifNat_big_num.equalrel_type1r_aarch64_ld64_got_lo12_ncthen"R_AARCH64_LD64_GOT_LO12_NC"elseifNat_big_num.equalrel_type1r_aarch64_ld64_gotpage_lo15then"R_AARCH64_LD64_GOTPAGE_LO15"elseifNat_big_num.equalrel_type1r_aarch64_tlsgd_adr_prel21then"R_AARCH64_TLSGD_ADR_PREL21"elseifNat_big_num.equalrel_type1r_aarch64_tlsgd_adr_page21then"R_AARCH64_TLSGD_ADR_PAGE21"elseifNat_big_num.equalrel_type1r_aarch64_tlsgd_add_lo12_ncthen"R_AARCH64_TLSGD_ADD_LO12_NC"elseifNat_big_num.equalrel_type1r_aarch64_tlsgd_movw_g1then"R_AARCH64_TLSGD_MOVW_G1"elseifNat_big_num.equalrel_type1r_aarch64_tlsgd_movw_g0_ncthen"R_AARCH64_TlSGD_MOVW_G0_NC"elseifNat_big_num.equalrel_type1r_aarch64_tlsld_adr_prel21then"R_AARCH64_TLSLD_ADR_PREL21"elseifNat_big_num.equalrel_type1r_aarch64_tlsld_adr_page21then"R_AARCH64_TLSLD_ADR_PAGE21"elseifNat_big_num.equalrel_type1r_aarch64_tlsld_add_lo12_ncthen"R_AARCH64_TLSLD_ADD_LO12_NC"elseifNat_big_num.equalrel_type1r_aarch64_tlsld_movw_g1then"R_AARCH64_TLSLD_MOVW_G1"elseifNat_big_num.equalrel_type1r_aarch64_tlsld_movw_g0_ncthen"R_AARCH64_TLSLD_MOVW_G0_NC"elseifNat_big_num.equalrel_type1r_aarch64_tlsld_ld_prel19then"R_AARCH64_TLSLD_LD_PREL19"elseifNat_big_num.equalrel_type1r_aarch64_tlsld_movw_dtprel_g2then"R_AARCH64_TLSLD_MOVW_DTPREL_G2"elseifNat_big_num.equalrel_type1r_aarch64_tlsld_movw_dtprel_g1then"R_AARCH64_TLSLD_MOVW_DTPREL_G1"elseifNat_big_num.equalrel_type1r_aarch64_tlsld_movw_dtprel_g1_ncthen"R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC"elseifNat_big_num.equalrel_type1r_aarch64_tlsld_movw_dtprel_g0then"R_AARCH64_TLSLD_MOVW_DTPREL_G0"elseifNat_big_num.equalrel_type1r_aarch64_tlsld_movw_dtprel_g0_ncthen"R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC"elseifNat_big_num.equalrel_type1r_aarch64_tlsld_add_dtprel_hi12then"R_AARCH64_TLSLD_ADD_DTPREL_HI12"elseifNat_big_num.equalrel_type1r_aarch64_tlsld_add_dtprel_lo12then"R_AARCH64_TLSLD_ADD_DTPREL_LO12"elseifNat_big_num.equalrel_type1r_aarch64_tlsld_add_dtprel_lo12_ncthen"R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC"elseifNat_big_num.equalrel_type1r_aarch64_tlsld_ldst8_dtprel_lo12then"R_AARCH64_TLSLD_LDST8_DTPREL_LO12"elseifNat_big_num.equalrel_type1r_aarch64_tlsld_ldst8_dtprel_lo12_ncthen"R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC"elseifNat_big_num.equalrel_type1r_aarch64_tlsld_ldst16_dtprel_lo12then"R_AARCH64_TLSLD_LDST16_DTPREL_LO12"elseifNat_big_num.equalrel_type1r_aarch64_tlsld_ldst16_dtprel_lo12_ncthen"R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC"elseifNat_big_num.equalrel_type1r_aarch64_tlsld_ldst32_dtprel_lo12then"R_AARCH64_TLSLD_LDST32_DTPREL_LO12"elseifNat_big_num.equalrel_type1r_aarch64_tlsld_ldst32_dtprel_lo12_ncthen"R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC"elseifNat_big_num.equalrel_type1r_aarch64_tlsld_ldst64_dtprel_lo12then"R_AARCH64_TLSLD_LDST64_DPTREL_LO12"elseifNat_big_num.equalrel_type1r_aarch64_tlsld_ldst64_dtprel_lo12_ncthen"R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC"elseifNat_big_num.equalrel_type1r_aarch64_tlsld_ldst128_dtprel_lo12then"R_AARCH64_TLSLD_LDST128_DTPREL_LO12"elseifNat_big_num.equalrel_type1r_aarch64_tlsld_ldst128_dtprel_lo12_ncthen"R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC"elseifNat_big_num.equalrel_type1r_aarch64_tlsie_movw_gottprel_g1then"R_AARCH64_TLSIE_MOVW_GOTTPREL_G1"elseifNat_big_num.equalrel_type1r_aarch64_tlsie_movw_gottprel_g0_ncthen"R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC"elseifNat_big_num.equalrel_type1r_aarch64_tlsie_movw_gottprel_page21then"R_AARCH64_TLSIE_MOVW_GOTTPREL_PAGE21"elseifNat_big_num.equalrel_type1r_aarch64_tlsie_movw_gottprel_lo12_ncthen"R_AARCH64_TLSIE_MOVW_GOTTPREL_LO12_NC"elseifNat_big_num.equalrel_type1r_aarch64_tlsie_movw_gottprel_prel19then"R_AARCH64_TLSIE_MOVW_GOTTPREL_PREL19"elseifNat_big_num.equalrel_type1r_aarch64_tlsle_movw_tprel_g2then"R_AARCH64_TLSLE_MOVW_TPREL_G2"elseifNat_big_num.equalrel_type1r_aarch64_tlsle_movw_tprel_g1then"R_AARCH64_TLSLE_MOVW_TPREL_G1"elseifNat_big_num.equalrel_type1r_aarch64_tlsle_movw_tprel_g1_ncthen"R_AARCH64_TLSLE_MOVW_TPREL_G1_NC"elseifNat_big_num.equalrel_type1r_aarch64_tlsle_movw_tprel_g0then"R_AARCH64_TLSLE_MOVW_TPREL_G0"elseifNat_big_num.equalrel_type1r_aarch64_tlsle_movw_tprel_g0_ncthen"R_AARCH64_TLSLE_MOVW_TPREL_G0_NC"elseifNat_big_num.equalrel_type1r_aarch64_add_tprel_hi12then"R_AARCH64_ADD_TPREL_HI12"elseifNat_big_num.equalrel_type1r_aarch64_add_tprel_lo12then"R_AARCH64_ADD_TPREL_LO12"elseifNat_big_num.equalrel_type1r_aarch64_add_tprel_lo12_ncthen"R_AARCH64_ADD_TPREL_LO12_NC"elseifNat_big_num.equalrel_type1r_aarch64_ldst8_tprel_lo12then"R_AARCH64_LDST8_TPREL_LO12"elseifNat_big_num.equalrel_type1r_aarch64_ldst8_tprel_lo12_ncthen"R_AARCH64_LDST8_TPREL_LO12_NC"elseifNat_big_num.equalrel_type1r_aarch64_ldst16_tprel_lo12then"R_AARCH64_LDST16_TPREL_LO12"elseifNat_big_num.equalrel_type1r_aarch64_ldst16_tprel_lo12_ncthen"R_AARCH64_LDST16_TPREL_LO12_NC"elseifNat_big_num.equalrel_type1r_aarch64_ldst32_tprel_lo12then"R_AARCH64_LDST32_TPREL_LO12"elseifNat_big_num.equalrel_type1r_aarch64_ldst32_tprel_lo12_ncthen"R_AARCH64_LDST32_TPREL_LO12_NC"elseifNat_big_num.equalrel_type1r_aarch64_ldst64_tprel_lo12then"R_AARCH64_LDST64_TPREL_LO12"elseifNat_big_num.equalrel_type1r_aarch64_ldst64_tprel_lo12_ncthen"R_AARCH64_LDST64_TPREL_LO12_NC"elseifNat_big_num.equalrel_type1r_aarch64_ldst128_tprel_lo12then"R_AARCH64_LDST128_TPREL_LO12"elseifNat_big_num.equalrel_type1r_aarch64_ldst128_tprel_lo12_ncthen"R_AARCH64_LDST128_TPREL_LO12_NC"elseifNat_big_num.equalrel_type1r_aarch64_tlsdesc_ld_prel19then"R_AARCH64_TLSDESC_LS_PREL19"elseifNat_big_num.equalrel_type1r_aarch64_tlsdesc_adr_prel21then"R_AARCH64_TLSDESC_ADR_PREL21"elseifNat_big_num.equalrel_type1r_aarch64_tlsdesc_adr_page21then"R_AARCH64_TLSDESC_ADR_PAGE21"elseifNat_big_num.equalrel_type1r_aarch64_tlsdesc_ld64_lo12then"R_AARCH64_TLSDESC_LD64_LO12"elseifNat_big_num.equalrel_type1r_aarch64_tlsdesc_add_lo12then"R_AARCH64_TLSDESC_ADD_LO12"elseifNat_big_num.equalrel_type1r_aarch64_tlsdesc_off_g1then"R_AARCH64_TLSDESC_OFF_G1"elseifNat_big_num.equalrel_type1r_aarch64_tlsdesc_off_g0_ncthen"R_AARCH64_TLSDESC_OFF_G0_NC"elseifNat_big_num.equalrel_type1r_aarch64_tlsdesc_ldrthen"R_AARCH64_TLSDESC_LDR"elseifNat_big_num.equalrel_type1r_aarch64_tlsdesc_addthen"R_AARCH64_TLSDESC_ADD"elseifNat_big_num.equalrel_type1r_aarch64_tlsdesc_callthen"R_AARCH64_TLSDESC_CALL"elseifNat_big_num.equalrel_type1r_aarch64_copythen"R_AARCH64_COPY"elseifNat_big_num.equalrel_type1r_aarch64_glob_datthen"R_AARCH64_GLOB_DAT"elseifNat_big_num.equalrel_type1r_aarch64_jump_slotthen"R_AARCH64_JUMP_SLOT"elseifNat_big_num.equalrel_type1r_aarch64_relativethen"R_AARCH64_RELATIVE"elseifNat_big_num.equalrel_type1r_aarch64_tls_dtprel64then"R_AARCH64_DTPREL64"elseifNat_big_num.equalrel_type1r_aarch64_tls_dtpmod64then"R_AARCH64_DTPMOD64"elseifNat_big_num.equalrel_type1r_aarch64_tls_tprel64then"R_AARCH64_TPREL64"elseifNat_big_num.equalrel_type1r_aarch64_tlsdescthen"R_AARCH64_TLSDESC"elseifNat_big_num.equalrel_type1r_aarch64_irelativethen"R_AARCH64_IRELATIVE"else"Invalid AARCH64 relocation type")(*val aarch64_le_reloc : forall 'abifeature. reloc_fn 'abifeature*)letaarch64_le_relocr:bool*('abifeatureannotated_memory_image->Nat_big_num.num->symbol_reference_and_reloc_site->Nat_big_num.num*(Nat_big_num.num->Nat_big_num.num->Nat_big_num.num->Nat_big_num.num))=(ifNat_big_num.equalrr_aarch64_nonethen(false,(funimg2->(funsite_addr->(funrr->((Nat_big_num.of_int0),(funs->funa->fune->e))))))else(false,noop_reloc_apply))(** [abi_aarch64_apply_relocation rel s_val p_val got_val ef] produces an AST
* of the relocation calculation for relocation type [rel] using [s_val], [p_val],
* and [got_val] as primitive components.
*
* TODO: unclear from ABI spec. whether overflow check on relocations is
* supposed to cause relocation to fail if not satisfied or whether there is
* wrap-around. Resolve.
*)(*val abi_aarch64_apply_relocation : elf64_relocation_a -> integer -> integer ->
integer -> elf64_file ->
error (Map.map elf64_addr (relocation_operator_expression integer * integer_bit_width * can_fail integer))*)letabi_aarch64_apply_relocationrels_valp_valgot_valef:(((Uint64_wrapper.uint64),((Nat_big_num.num)relocation_operator_expression*integer_bit_width*(Nat_big_num.num)can_fail))Pmap.map)error=(ifis_elf64_relocatable_fileef.elf64_file_headerthenlet(rel_type1,_)=(parse_elf64_relocation_inforel.elf64_ra_info)inleta_val=(Nat_big_num.of_int64rel.elf64_ra_addend)in(** No width, no calculation *)ifNat_big_num.equalrel_type1r_aarch64_nonethenreturn(Pmap.emptycompare)(** No width, no calculation *)elseifNat_big_num.equalrel_type1r_aarch64_withdrawnthenreturn(Pmap.emptycompare)(** Signed 64 bit width, calculation: S + A *)elseifNat_big_num.equalrel_type1r_aarch64_abs64thenletresult=(Lift(Nat_big_num.adds_vala_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I64,CannotFail)(Pmap.emptycompare))(** Signed 32 bit width, calculation: S + A *)elseifNat_big_num.equalrel_type1r_aarch64_abs32thenletresult=(Lift(Nat_big_num.adds_vala_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I32,CanFail)(Pmap.emptycompare))(** Signed 16 bith width, calculation: S + A *)elseifNat_big_num.equalrel_type1r_aarch64_abs16thenletresult=(Lift(Nat_big_num.adds_vala_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I16,CanFail)(Pmap.emptycompare))(** Signed 64 bit width, calculation: S + A - P *)elseifNat_big_num.equalrel_type1r_aarch64_prel64thenletresult=(Lift(Nat_big_num.sub(Nat_big_num.adds_vala_val)p_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I64,CannotFail)(Pmap.emptycompare))(** Signed 32 bit width, calculation: S + A - P *)elseifNat_big_num.equalrel_type1r_aarch64_prel32thenletresult=(Lift(Nat_big_num.sub(Nat_big_num.adds_vala_val)p_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I32,CanFail)(Pmap.emptycompare))(** Signed 16 bit width, calculation: S + A - P *)elseifNat_big_num.equalrel_type1r_aarch64_prel16thenletresult=(Lift(Nat_big_num.sub(Nat_big_num.adds_vala_val)p_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I16,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_movw_uabs_g0thenletresult=(Lift(Nat_big_num.adds_vala_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U16,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_movw_uabs_g0_ncthenletresult=(Lift(Nat_big_num.adds_vala_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U16,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_movw_uabs_g1thenletresult=(Lift(Nat_big_num.adds_vala_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U32,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_movw_uabs_g1_ncthenletresult=(Lift(Nat_big_num.adds_vala_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U32,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_movw_uabs_g2thenletresult=(Lift(Nat_big_num.adds_vala_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U48,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_movw_uabs_g2_ncthenletresult=(Lift(Nat_big_num.adds_vala_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U48,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_movw_uabs_g3thenletresult=(Lift(Nat_big_num.adds_vala_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U64,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_movw_sabs_g0thenletresult=(Lift(Nat_big_num.adds_vala_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I16,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_movw_sabs_g1thenletresult=(Lift(Nat_big_num.adds_vala_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I32,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_movw_sabs_g2thenletresult=(Lift(Nat_big_num.adds_vala_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I48,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_ld_prel_lo19thenletresult=(Lift(Nat_big_num.sub(Nat_big_num.adds_vala_val)p_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I20,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_adr_prel_lo21thenletresult=(Lift(Nat_big_num.sub(Nat_big_num.adds_vala_val)p_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I20,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_adr_prel_pg_hi21thenletresult=(Minus(Apply(Page,Lift(Nat_big_num.adds_vala_val)),Apply(Page,Liftp_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I32,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_adr_prel_pg_hi21_ncthenletresult=(Minus(Apply(Page,Lift(Nat_big_num.adds_vala_val)),Apply(Page,Liftp_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I32,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_add_abs_lo12_ncthenletresult=(Lift(Nat_big_num.adds_vala_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I32,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_ldst8_abs_lo12_ncthenletresult=(Lift(Nat_big_num.adds_vala_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I32,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_ldst16_abs_lo12_ncthenletresult=(Lift(Nat_big_num.adds_vala_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I32,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_ldst32_abs_lo12_ncthenletresult=(Lift(Nat_big_num.adds_vala_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I32,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_ldst64_abs_lo12_ncthenletresult=(Lift(Nat_big_num.adds_vala_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I32,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_ldst128_abs_lo12_ncthenletresult=(Lift(Nat_big_num.adds_vala_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I32,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tstbr14thenletresult=(Lift(Nat_big_num.sub(Nat_big_num.adds_vala_val)p_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I15,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_condbr19thenletresult=(Lift(Nat_big_num.sub(Nat_big_num.adds_vala_val)p_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I20,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_jump26thenletresult=(Lift(Nat_big_num.sub(Nat_big_num.adds_vala_val)p_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I27,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_call26thenletresult=(Lift(Nat_big_num.sub(Nat_big_num.adds_vala_val)p_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I27,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_movw_prel_g0thenletresult=(Lift(Nat_big_num.sub(Nat_big_num.adds_vala_val)p_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I16,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_movw_prel_g0_ncthenletresult=(Lift(Nat_big_num.sub(Nat_big_num.adds_vala_val)p_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I16,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_movw_prel_g1thenletresult=(Lift(Nat_big_num.sub(Nat_big_num.adds_vala_val)p_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I32,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_movw_prel_g1_ncthenletresult=(Lift(Nat_big_num.sub(Nat_big_num.adds_vala_val)p_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I32,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_movw_prel_g2thenletresult=(Lift(Nat_big_num.sub(Nat_big_num.adds_vala_val)p_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I48,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_movw_prel_g2_ncthenletresult=(Lift(Nat_big_num.sub(Nat_big_num.adds_vala_val)p_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I48,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_movw_prel_g3thenletresult=(Lift(Nat_big_num.sub(Nat_big_num.adds_vala_val)p_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I64,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_movw_gotoff_g0thenletresult=(Minus(Apply(G,Apply(GDat,Lift(Nat_big_num.adds_vala_val))),Liftgot_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I16,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_movw_gotoff_g0_ncthenletresult=(Minus(Apply(G,Apply(GDat,Lift(Nat_big_num.adds_vala_val))),Liftgot_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I16,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_movw_gotoff_g1thenletresult=(Minus(Apply(G,Apply(GDat,Lift(Nat_big_num.adds_vala_val))),Liftgot_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I32,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_movw_gotoff_g1_ncthenletresult=(Minus(Apply(G,Apply(GDat,Lift(Nat_big_num.adds_vala_val))),Liftgot_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I32,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_movw_gotoff_g2thenletresult=(Minus(Apply(G,Apply(GDat,Lift(Nat_big_num.adds_vala_val))),Liftgot_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I48,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_movw_gotoff_g2_ncthenletresult=(Minus(Apply(G,Apply(GDat,Lift(Nat_big_num.adds_vala_val))),Liftgot_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I32,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_movw_gotoff_g3thenletresult=(Minus(Apply(G,Apply(GDat,Lift(Nat_big_num.adds_vala_val))),Liftgot_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I64,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_gotrel64thenletresult=(Lift(Nat_big_num.sub(Nat_big_num.adds_vala_val)got_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I64,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_gotrel32thenletresult=(Lift(Nat_big_num.sub(Nat_big_num.adds_vala_val)got_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I32,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_got_ld_prel19thenletresult=(Minus(Apply(G,Apply(GDat,Lift(Nat_big_num.adds_vala_val))),Liftp_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I20,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_got_ld64_gotoff_lo15thenletresult=(Minus(Apply(G,Apply(GDat,Lift(Nat_big_num.adds_vala_val))),Liftgot_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U15,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_adr_got_pagethenletresult=(Minus(Apply(Page,Apply(G,Apply(GDat,Lift(Nat_big_num.adds_vala_val)))),Apply(Page,Liftp_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I32,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_ld64_got_lo12_ncthen(** requires ad hoc check *)letresult=(Apply(G,Apply(GDat,Lift(Nat_big_num.adds_vala_val))))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I20,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_ld64_gotpage_lo15then(** requires ad hoc check *)letresult=(Minus(Apply(G,Apply(GDat,Lift(Nat_big_num.adds_vala_val))),Apply(Page,Liftgot_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U15,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsgd_adr_prel21thenletresult=(Minus(Apply(G,Apply2(GTLSIdx,Lifts_val,Lifta_val)),Liftp_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I20,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsgd_adr_page21thenletresult=(Minus(Apply(Page,Apply(G,Apply2(GTLSIdx,Lifts_val,Lifta_val))),Apply(Page,Liftp_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I32,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsgd_add_lo12_ncthenletresult=(Apply(G,Apply2(GTLSIdx,Lifts_val,Lifta_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I12,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsgd_movw_g1then(** requires ad hoc check *)letresult=(Minus(Apply(G,Apply2(GTLSIdx,Lifts_val,Lifta_val)),Liftgot_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I16,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsgd_movw_g0_ncthenletresult=(Minus(Apply(G,Apply2(GTLSIdx,Lifts_val,Lifta_val)),Liftgot_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I16,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsld_adr_prel21thenletresult=(Minus(Apply(G,Apply(GLDM,Lifts_val)),Liftp_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I20,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsld_adr_page21thenletresult=(Minus(Apply(G,Apply(GLDM,Lifts_val)),Apply(Page,Liftp_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I32,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsld_add_lo12_ncthenletresult=(Apply(G,Apply(GLDM,Lifts_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I32,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsld_movw_g1thenletresult=(Minus(Apply(G,Apply(GLDM,Lifts_val)),Liftgot_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I15,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsld_movw_g0_ncthenletresult=(Minus(Apply(G,Apply(GLDM,Lifts_val)),Liftgot_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I15,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsld_ld_prel19thenletresult=(Minus(Apply(G,Apply(GLDM,Lifts_val)),Liftp_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I20,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsld_movw_dtprel_g2thenletresult=(Apply(DTPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I15,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsld_movw_dtprel_g1thenletresult=(Apply(DTPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I15,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsld_movw_dtprel_g1_ncthenletresult=(Apply(DTPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I15,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsld_movw_dtprel_g0thenletresult=(Apply(DTPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I15,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsld_movw_dtprel_g0_ncthenletresult=(Apply(DTPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I15,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsld_add_dtprel_hi12thenletresult=(Apply(DTPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U24,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsld_add_dtprel_lo12thenletresult=(Apply(DTPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U12,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsld_add_dtprel_lo12_ncthenletresult=(Apply(DTPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U12,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsld_ldst8_dtprel_lo12thenletresult=(Apply(DTPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U12,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsld_ldst8_dtprel_lo12_ncthenletresult=(Apply(DTPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U12,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsld_ldst16_dtprel_lo12thenletresult=(Apply(DTPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U12,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsld_ldst16_dtprel_lo12_ncthenletresult=(Apply(DTPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U12,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsld_ldst32_dtprel_lo12thenletresult=(Apply(DTPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U12,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsld_ldst32_dtprel_lo12_ncthenletresult=(Apply(DTPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U12,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsld_ldst64_dtprel_lo12thenletresult=(Apply(DTPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U12,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsld_ldst64_dtprel_lo12_ncthenletresult=(Apply(DTPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U12,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsld_ldst128_dtprel_lo12thenletresult=(Apply(DTPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U12,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsld_ldst128_dtprel_lo12_ncthenletresult=(Apply(DTPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U12,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsie_movw_gottprel_g1thenletresult=(Minus(Apply(G,Apply(GTPRel,Lift(Nat_big_num.adds_vala_val))),Liftgot_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I15,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsie_movw_gottprel_g0_ncthenletresult=(Minus(Apply(G,Apply(GTPRel,Lift(Nat_big_num.adds_vala_val))),Liftgot_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I15,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsie_movw_gottprel_page21thenletresult=(Minus(Apply(Page,Apply(G,Apply(GTPRel,Lift(Nat_big_num.adds_vala_val)))),Apply(Page,Liftp_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I32,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsie_movw_gottprel_lo12_ncthen(** requires ad hoc check *)letresult=(Apply(G,Apply(GTPRel,Lift(Nat_big_num.adds_vala_val))))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I8,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsie_movw_gottprel_prel19thenletresult=(Minus(Apply(G,Apply(GTPRel,Lift(Nat_big_num.adds_vala_val))),Liftp_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I20,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsle_movw_tprel_g2thenletresult=(Apply(TPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U16,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsle_movw_tprel_g1thenletresult=(Apply(TPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U16,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsle_movw_tprel_g1_ncthenletresult=(Apply(TPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U16,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsle_movw_tprel_g0thenletresult=(Apply(TPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U16,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsle_movw_tprel_g0_ncthenletresult=(Apply(TPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U16,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_add_tprel_hi12thenletresult=(Apply(TPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U24,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_add_tprel_lo12thenletresult=(Apply(TPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U12,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_add_tprel_lo12_ncthenletresult=(Apply(TPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U12,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_ldst8_tprel_lo12thenletresult=(Apply(TPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U12,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_ldst8_tprel_lo12_ncthenletresult=(Apply(TPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U12,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_ldst16_tprel_lo12thenletresult=(Apply(TPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U12,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_ldst16_tprel_lo12_ncthenletresult=(Apply(TPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U12,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_ldst32_tprel_lo12thenletresult=(Apply(TPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U12,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_ldst32_tprel_lo12_ncthenletresult=(Apply(TPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U12,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_ldst64_tprel_lo12thenletresult=(Apply(TPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U12,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_ldst64_tprel_lo12_ncthenletresult=(Apply(TPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U12,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_ldst128_tprel_lo12thenletresult=(Apply(TPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U12,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_ldst128_tprel_lo12_ncthenletresult=(Apply(TPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,U12,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsdesc_ld_prel19then(** requires ad hoc test *)letresult=(Minus(Apply(G,Apply(GTLSDesc,Lift(Nat_big_num.adds_vala_val))),Liftp_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I20,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsdesc_adr_prel21thenletresult=(Minus(Apply(G,Apply(GTLSDesc,Lift(Nat_big_num.adds_vala_val))),Liftp_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I20,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsdesc_adr_page21thenletresult=(Minus(Apply(Page,Apply(G,Apply(GTLSDesc,Lift(Nat_big_num.adds_vala_val)))),Apply(Page,Liftp_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I32,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsdesc_ld64_lo12then(** requires ad hoc test *)letresult=(Apply(G,Apply(GTLSDesc,Lift(Nat_big_num.adds_vala_val))))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I20,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsdesc_add_lo12thenletresult=(Apply(G,Apply(GTLSDesc,Lift(Nat_big_num.adds_vala_val))))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I32,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsdesc_off_g1thenletresult=(Minus(Apply(G,Apply(GTLSDesc,Lift(Nat_big_num.adds_vala_val))),Liftgot_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I32,CanFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsdesc_off_g0_ncthenletresult=(Minus(Apply(G,Apply(GTLSDesc,Lift(Nat_big_num.adds_vala_val))),Liftgot_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I32,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsdesc_ldrthenreturn(Pmap.emptycompare)elseifNat_big_num.equalrel_type1r_aarch64_tlsdesc_addthenreturn(Pmap.emptycompare)elseifNat_big_num.equalrel_type1r_aarch64_tlsdesc_callthenreturn(Pmap.emptycompare)elseifNat_big_num.equalrel_type1r_aarch64_copythenfail"AARCH64_COPY"elseifNat_big_num.equalrel_type1r_aarch64_glob_datthenletresult=(Lift(Nat_big_num.adds_vala_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I64,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_jump_slotthenletresult=(Lift(Nat_big_num.adds_vala_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I64,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_relativethenletresult=(Plus(Apply(Delta,Lifts_val),Lifta_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I64,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tls_dtprel64thenletresult=(Apply(DTPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I64,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tls_dtpmod64thenletresult=(Apply(LDM,Lifts_val))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I64,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tls_tprel64thenletresult=(Apply(TPRel,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I64,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_tlsdescthenletresult=(Apply(TLSDesc,Lift(Nat_big_num.adds_vala_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I64,CannotFail)(Pmap.emptycompare))elseifNat_big_num.equalrel_type1r_aarch64_irelativethenletresult=(Apply(Indirect,Plus(Apply(Delta,Lifts_val),Lifta_val)))inletaddr=(rel.elf64_ra_offset)inreturn(Pmap.addaddr(result,I64,CannotFail)(Pmap.emptycompare))elsefail"Invalid AARCH64 relocation type"elsefail"abi_aarch64_apply_relocation: not a relocatable file")