@@ -987,6 +987,215 @@ pub const R_PPC_EMB_SPE_DOUBLE_SDA: u32 = 213;
987987pub const R_PPC_EMB_SPE_WORD_SDA : u32 = 214 ;
988988pub const R_PPC_EMB_SPE_HALF_SDA : u32 = 215 ;
989989
990+ /////////////////////
991+ // PowerPC64
992+ // See: https://files.openpower.foundation/s/cfA2oFPXbbZwEBK
993+ /////////////////////
994+ pub const R_PPC64_NONE : u32 = R_PPC_NONE ;
995+ /// 32-bit absolute address.
996+ pub const R_PPC64_ADDR32 : u32 = R_PPC_ADDR32 ;
997+ /// 26-bit address, word aligned.
998+ pub const R_PPC64_ADDR24 : u32 = R_PPC_ADDR24 ;
999+ /// 16-bit absolute address.
1000+ pub const R_PPC64_ADDR16 : u32 = R_PPC_ADDR16 ;
1001+ /// Lower 16 bits of absolute address.
1002+ pub const R_PPC64_ADDR16_LO : u32 = R_PPC_ADDR16_LO ;
1003+ /// High 16 bits of absolute address.
1004+ pub const R_PPC64_ADDR16_HI : u32 = R_PPC_ADDR16_HI ;
1005+ /// Adjusted high 16 bits.
1006+ pub const R_PPC64_ADDR16_HA : u32 = R_PPC_ADDR16_HA ;
1007+ /// 16-bit address, word aligned.
1008+ pub const R_PPC64_ADDR14 : u32 = R_PPC_ADDR14 ;
1009+ pub const R_PPC64_ADDR14_BRTAKEN : u32 = R_PPC_ADDR14_BRTAKEN ;
1010+ pub const R_PPC64_ADDR14_BRNTAKEN : u32 = R_PPC_ADDR14_BRNTAKEN ;
1011+ /// PC relative 26-bit, word aligned.
1012+ pub const R_PPC64_REL24 : u32 = R_PPC_REL24 ;
1013+ /// PC relative 16 bit.
1014+ pub const R_PPC64_REL14 : u32 = R_PPC_REL14 ;
1015+ pub const R_PPC64_REL14_BRTAKEN : u32 = R_PPC_REL14_BRTAKEN ;
1016+ pub const R_PPC64_REL14_BRNTAKEN : u32 = R_PPC_REL14_BRNTAKEN ;
1017+ pub const R_PPC64_GOT16 : u32 = R_PPC_GOT16 ;
1018+ pub const R_PPC64_GOT16_LO : u32 = R_PPC_GOT16_LO ;
1019+ pub const R_PPC64_GOT16_HI : u32 = R_PPC_GOT16_HI ;
1020+ pub const R_PPC64_GOT16_HA : u32 = R_PPC_GOT16_HA ;
1021+ pub const R_PPC64_COPY : u32 = R_PPC_COPY ;
1022+ pub const R_PPC64_GLOB_DAT : u32 = R_PPC_GLOB_DAT ;
1023+ pub const R_PPC64_JMP_SLOT : u32 = R_PPC_JMP_SLOT ;
1024+ pub const R_PPC64_RELATIVE : u32 = R_PPC_RELATIVE ;
1025+ pub const R_PPC64_UADDR32 : u32 = R_PPC_UADDR32 ;
1026+ pub const R_PPC64_UADDR16 : u32 = R_PPC_UADDR16 ;
1027+ pub const R_PPC64_REL32 : u32 = R_PPC_REL32 ;
1028+ pub const R_PPC64_PLT32 : u32 = R_PPC_PLT32 ;
1029+ pub const R_PPC64_PLTREL32 : u32 = R_PPC_PLTREL32 ;
1030+ pub const R_PPC64_PLT16_LO : u32 = R_PPC_PLT16_LO ;
1031+ pub const R_PPC64_PLT16_HI : u32 = R_PPC_PLT16_HI ;
1032+ pub const R_PPC64_PLT16_HA : u32 = R_PPC_PLT16_HA ;
1033+ pub const R_PPC64_SECTOFF : u32 = R_PPC_SECTOFF ;
1034+ pub const R_PPC64_SECTOFF_LO : u32 = R_PPC_SECTOFF_LO ;
1035+ pub const R_PPC64_SECTOFF_HI : u32 = R_PPC_SECTOFF_HI ;
1036+ pub const R_PPC64_SECTOFF_HA : u32 = R_PPC_SECTOFF_HA ;
1037+ /// word30 (S + A - P) >> 2.
1038+ pub const R_PPC64_ADDR30 : u32 = 37 ;
1039+ /// doubleword64 S + A.
1040+ pub const R_PPC64_ADDR64 : u32 = 38 ;
1041+ /// half16 #higher(S + A).
1042+ pub const R_PPC64_ADDR16_HIGHER : u32 = 39 ;
1043+ /// half16 #highera(S + A).
1044+ pub const R_PPC64_ADDR16_HIGHERA : u32 = 40 ;
1045+ /// half16 #highest(S + A).
1046+ pub const R_PPC64_ADDR16_HIGHEST : u32 = 41 ;
1047+ /// half16 #highesta(S + A).
1048+ pub const R_PPC64_ADDR16_HIGHESTA : u32 = 42 ;
1049+ /// doubleword64 S + A.
1050+ pub const R_PPC64_UADDR64 : u32 = 43 ;
1051+ /// doubleword64 S + A - P.
1052+ pub const R_PPC64_REL64 : u32 = 44 ;
1053+ /// doubleword64 L + A.
1054+ pub const R_PPC64_PLT64 : u32 = 45 ;
1055+ /// doubleword64 L + A - P.
1056+ pub const R_PPC64_PLTREL64 : u32 = 46 ;
1057+ /// half16* S + A - .TOC.
1058+ pub const R_PPC64_TOC16 : u32 = 47 ;
1059+ /// half16 #lo(S + A - .TOC).
1060+ pub const R_PPC64_TOC16_LO : u32 = 48 ;
1061+ /// half16 #hi(S + A - .TOC).
1062+ pub const R_PPC64_TOC16_HI : u32 = 49 ;
1063+ /// half16 #ha(S + A - .TOC).
1064+ pub const R_PPC64_TOC16_HA : u32 = 50 ;
1065+ /// doubleword64 .TOC.
1066+ pub const R_PPC64_TOC : u32 = 51 ;
1067+ /// half16* M + A.
1068+ pub const R_PPC64_PLTGOT16 : u32 = 52 ;
1069+ /// half16 #lo(M + A).
1070+ pub const R_PPC64_PLTGOT16_LO : u32 = 53 ;
1071+ /// half16 #hi(M + A).
1072+ pub const R_PPC64_PLTGOT16_HI : u32 = 54 ;
1073+ /// half16 #ha(M + A).
1074+ pub const R_PPC64_PLTGOT16_HA : u32 = 55 ;
1075+ /// half16ds* (S + A) >> 2.
1076+ pub const R_PPC64_ADDR16_DS : u32 = 56 ;
1077+ /// half16ds #lo(S + A) >> 2.
1078+ pub const R_PPC64_ADDR16_LO_DS : u32 = 57 ;
1079+ /// half16ds* (G + A) >> 2.
1080+ pub const R_PPC64_GOT16_DS : u32 = 58 ;
1081+ /// half16ds #lo(G + A) >> 2.
1082+ pub const R_PPC64_GOT16_LO_DS : u32 = 59 ;
1083+ /// half16ds #lo(L + A) >> 2.
1084+ pub const R_PPC64_PLT16_LO_DS : u32 = 60 ;
1085+ /// half16ds* (R + A) >> 2.
1086+ pub const R_PPC64_SECTOFF_DS : u32 = 61 ;
1087+ /// half16ds #lo(R + A) >> 2.
1088+ pub const R_PPC64_SECTOFF_LO_DS : u32 = 62 ;
1089+ /// half16ds* (S + A - .TOC.) >> 2.
1090+ pub const R_PPC64_TOC16_DS : u32 = 63 ;
1091+ /// half16ds #lo(S + A - .TOC.) >> 2.
1092+ pub const R_PPC64_TOC16_LO_DS : u32 = 64 ;
1093+ /// half16ds* (M + A) >> 2.
1094+ pub const R_PPC64_PLTGOT16_DS : u32 = 65 ;
1095+ /// half16ds #lo(M + A) >> 2.
1096+ pub const R_PPC64_PLTGOT16_LO_DS : u32 = 66 ;
1097+ /// none (sym+add)@tls
1098+ pub const R_PPC64_TLS : u32 = 67 ;
1099+ /// doubleword64 (sym+add)@dtpmod
1100+ pub const R_PPC64_DTPMOD64 : u32 = 68 ;
1101+ /// half16* (sym+add)@tprel
1102+ pub const R_PPC64_TPREL16 : u32 = 69 ;
1103+ /// half16 (sym+add)@tprel@l
1104+ pub const R_PPC64_TPREL16_LO : u32 = 70 ;
1105+ /// half16 (sym+add)@tprel@h
1106+ pub const R_PPC64_TPREL16_HI : u32 = 71 ;
1107+ /// half16 (sym+add)@tprel@ha
1108+ pub const R_PPC64_TPREL16_HA : u32 = 72 ;
1109+ /// doubleword64 (sym+add)@tprel
1110+ pub const R_PPC64_TPREL64 : u32 = 73 ;
1111+ /// half16* (sym+add)@dtprel
1112+ pub const R_PPC64_DTPREL16 : u32 = 74 ;
1113+ /// half16 (sym+add)@dtprel@l
1114+ pub const R_PPC64_DTPREL16_LO : u32 = 75 ;
1115+ /// half16 (sym+add)@dtprel@h
1116+ pub const R_PPC64_DTPREL16_HI : u32 = 76 ;
1117+ /// half16 (sym+add)@dtprel@ha
1118+ pub const R_PPC64_DTPREL16_HA : u32 = 77 ;
1119+ /// doubleword64 (sym+add)@dtprel
1120+ pub const R_PPC64_DTPREL64 : u32 = 78 ;
1121+ /// half16* (sym+add)@got@tlsgd
1122+ pub const R_PPC64_GOT_TLSGD16 : u32 = 79 ;
1123+ /// half16 (sym+add)@got@tlsgd@l
1124+ pub const R_PPC64_GOT_TLSGD16_LO : u32 = 80 ;
1125+ /// half16 (sym+add)@got@tlsgd@h
1126+ pub const R_PPC64_GOT_TLSGD16_HI : u32 = 81 ;
1127+ /// half16 (sym+add)@got@tlsgd@ha
1128+ pub const R_PPC64_GOT_TLSGD16_HA : u32 = 82 ;
1129+ /// half16* (sym+add)@got@tlsld
1130+ pub const R_PPC64_GOT_TLSLD16 : u32 = 83 ;
1131+ /// half16 (sym+add)@got@tlsld@l
1132+ pub const R_PPC64_GOT_TLSLD16_LO : u32 = 84 ;
1133+ /// half16 (sym+add)@got@tlsld@h
1134+ pub const R_PPC64_GOT_TLSLD16_HI : u32 = 85 ;
1135+ /// half16 (sym+add)@got@tlsld@ha
1136+ pub const R_PPC64_GOT_TLSLD16_HA : u32 = 86 ;
1137+ /// half16ds* (sym+add)@got@tprel
1138+ pub const R_PPC64_GOT_TPREL16_DS : u32 = 87 ;
1139+ /// half16ds (sym+add)@got@tprel@l
1140+ pub const R_PPC64_GOT_TPREL16_LO_DS : u32 = 88 ;
1141+ /// half16 (sym+add)@got@tprel@h
1142+ pub const R_PPC64_GOT_TPREL16_HI : u32 = 89 ;
1143+ /// half16 (sym+add)@got@tprel@ha
1144+ pub const R_PPC64_GOT_TPREL16_HA : u32 = 90 ;
1145+ /// half16ds* (sym+add)@got@dtprel
1146+ pub const R_PPC64_GOT_DTPREL16_DS : u32 = 91 ;
1147+ /// half16ds (sym+add)@got@dtprel@l
1148+ pub const R_PPC64_GOT_DTPREL16_LO_DS : u32 = 92 ;
1149+ /// half16 (sym+add)@got@dtprel@h
1150+ pub const R_PPC64_GOT_DTPREL16_HI : u32 = 93 ;
1151+ /// half16 (sym+add)@got@dtprel@ha
1152+ pub const R_PPC64_GOT_DTPREL16_HA : u32 = 94 ;
1153+ /// half16ds* (sym+add)@tprel
1154+ pub const R_PPC64_TPREL16_DS : u32 = 95 ;
1155+ /// half16ds (sym+add)@tprel@l
1156+ pub const R_PPC64_TPREL16_LO_DS : u32 = 96 ;
1157+ /// half16 (sym+add)@tprel@higher
1158+ pub const R_PPC64_TPREL16_HIGHER : u32 = 97 ;
1159+ /// half16 (sym+add)@tprel@highera
1160+ pub const R_PPC64_TPREL16_HIGHERA : u32 = 98 ;
1161+ /// half16 (sym+add)@tprel@highest
1162+ pub const R_PPC64_TPREL16_HIGHEST : u32 = 99 ;
1163+ /// half16 (sym+add)@tprel@highesta
1164+ pub const R_PPC64_TPREL16_HIGHESTA : u32 = 100 ;
1165+ /// half16ds* (sym+add)@dtprel
1166+ pub const R_PPC64_DTPREL16_DS : u32 = 101 ;
1167+ /// half16ds (sym+add)@dtprel@l
1168+ pub const R_PPC64_DTPREL16_LO_DS : u32 = 102 ;
1169+ /// half16 (sym+add)@dtprel@higher
1170+ pub const R_PPC64_DTPREL16_HIGHER : u32 = 103 ;
1171+ /// half16 (sym+add)@dtprel@highera
1172+ pub const R_PPC64_DTPREL16_HIGHERA : u32 = 104 ;
1173+ /// half16 (sym+add)@dtprel@highest
1174+ pub const R_PPC64_DTPREL16_HIGHEST : u32 = 105 ;
1175+ /// half16 (sym+add)@dtprel@highesta
1176+ pub const R_PPC64_DTPREL16_HIGHESTA : u32 = 106 ;
1177+ pub const R_PPC64_TLSGD : u32 = 107 ;
1178+ pub const R_PPC64_TLSLD : u32 = 108 ;
1179+ pub const R_PPC64_TOCSAVE : u32 = 109 ;
1180+ pub const R_PPC64_ADDR16_HIGH : u32 = 110 ;
1181+ pub const R_PPC64_ADDR16_HIGHA : u32 = 111 ;
1182+ pub const R_PPC64_TPREL16_HIGH : u32 = 112 ;
1183+ pub const R_PPC64_TPREL16_HIGHA : u32 = 113 ;
1184+ pub const R_PPC64_DTPREL16_HIGH : u32 = 114 ;
1185+ pub const R_PPC64_DTPREL16_HIGHA : u32 = 115 ;
1186+ pub const R_PPC64_REL24_NOTOC : u32 = 116 ;
1187+ pub const R_PPC64_ADDR64_LOCAL : u32 = 117 ;
1188+ pub const R_PPC64_ENTRY : u32 = 118 ;
1189+ pub const R_PPC64_PCREL34 : u32 = 132 ;
1190+ pub const R_PPC64_GOT_PCREL34 : u32 = 133 ;
1191+ pub const R_PPC64_IRELATIVE : u32 = 248 ;
1192+ pub const R_PPC64_REL16 : u32 = 249 ;
1193+ pub const R_PPC64_REL16_LO : u32 = 250 ;
1194+ pub const R_PPC64_REL16_HI : u32 = 251 ;
1195+ pub const R_PPC64_REL16_HA : u32 = 252 ;
1196+ pub const R_PPC64_GNU_VTINHERIT : u32 = 253 ;
1197+ pub const R_PPC64_GNU_VTENTRY : u32 = 254 ;
1198+
9901199/////////////////////
9911200// LOONGARCH
9921201/////////////////////
@@ -1696,6 +1905,135 @@ pub fn r_to_str(typ: u32, machine: u16) -> &'static str {
16961905 R_PPC_EMB_SPE_HALF_SDA => "R_PPC_EMB_SPE_HALF_SDA" ,
16971906 _ => "R_UNKNOWN_PPC" ,
16981907 } ,
1908+ // Power-PC
1909+ EM_PPC64 => match typ {
1910+ R_PPC64_NONE => "R_PPC64_NONE" ,
1911+ R_PPC64_ADDR32 => "R_PPC64_ADDR32" ,
1912+ R_PPC64_ADDR24 => "R_PPC64_ADDR24" ,
1913+ R_PPC64_ADDR16 => "R_PPC64_ADDR16" ,
1914+ R_PPC64_ADDR16_LO => "R_PPC64_ADDR16_LO" ,
1915+ R_PPC64_ADDR16_HI => "R_PPC64_ADDR16_HI" ,
1916+ R_PPC64_ADDR16_HA => "R_PPC64_ADDR16_HA" ,
1917+ R_PPC64_ADDR14 => "R_PPC64_ADDR14" ,
1918+ R_PPC64_ADDR14_BRTAKEN => "R_PPC64_ADDR14_BRTAKEN" ,
1919+ R_PPC64_ADDR14_BRNTAKEN => "R_PPC64_ADDR14_BRNTAKEN" ,
1920+ R_PPC64_REL24 => "R_PPC64_REL24" ,
1921+ R_PPC64_REL14 => "R_PPC64_REL14" ,
1922+ R_PPC64_REL14_BRTAKEN => "R_PPC64_REL14_BRTAKEN" ,
1923+ R_PPC64_REL14_BRNTAKEN => "R_PPC64_REL14_BRNTAKEN" ,
1924+ R_PPC64_GOT16 => "R_PPC64_GOT16" ,
1925+ R_PPC64_GOT16_LO => "R_PPC64_GOT16_LO" ,
1926+ R_PPC64_GOT16_HI => "R_PPC64_GOT16_HI" ,
1927+ R_PPC64_GOT16_HA => "R_PPC64_GOT16_HA" ,
1928+ R_PPC64_COPY => "R_PPC64_COPY" ,
1929+ R_PPC64_GLOB_DAT => "R_PPC64_GLOB_DAT" ,
1930+ R_PPC64_JMP_SLOT => "R_PPC64_JMP_SLOT" ,
1931+ R_PPC64_RELATIVE => "R_PPC64_RELATIVE" ,
1932+ R_PPC64_UADDR32 => "R_PPC64_UADDR32" ,
1933+ R_PPC64_UADDR16 => "R_PPC64_UADDR16" ,
1934+ R_PPC64_REL32 => "R_PPC64_REL32" ,
1935+ R_PPC64_PLT32 => "R_PPC64_PLT32" ,
1936+ R_PPC64_PLTREL32 => "R_PPC64_PLTREL32" ,
1937+ R_PPC64_PLT16_LO => "R_PPC64_PLT16_LO" ,
1938+ R_PPC64_PLT16_HI => "R_PPC64_PLT16_HI" ,
1939+ R_PPC64_PLT16_HA => "R_PPC64_PLT16_HA" ,
1940+ R_PPC64_SECTOFF => "R_PPC64_SECTOFF" ,
1941+ R_PPC64_SECTOFF_LO => "R_PPC64_SECTOFF_LO" ,
1942+ R_PPC64_SECTOFF_HI => "R_PPC64_SECTOFF_HI" ,
1943+ R_PPC64_SECTOFF_HA => "R_PPC64_SECTOFF_HA" ,
1944+ R_PPC64_ADDR30 => "R_PPC64_ADDR30" ,
1945+ R_PPC64_ADDR64 => "R_PPC64_ADDR64" ,
1946+ R_PPC64_ADDR16_HIGHER => "R_PPC64_ADDR16_HIGHER" ,
1947+ R_PPC64_ADDR16_HIGHERA => "R_PPC64_ADDR16_HIGHERA" ,
1948+ R_PPC64_ADDR16_HIGHEST => "R_PPC64_ADDR16_HIGHEST" ,
1949+ R_PPC64_ADDR16_HIGHESTA => "R_PPC64_ADDR16_HIGHESTA" ,
1950+ R_PPC64_UADDR64 => "R_PPC64_UADDR64" ,
1951+ R_PPC64_REL64 => "R_PPC64_REL64" ,
1952+ R_PPC64_PLT64 => "R_PPC64_PLT64" ,
1953+ R_PPC64_PLTREL64 => "R_PPC64_PLTREL64" ,
1954+ R_PPC64_TOC16 => "R_PPC64_TOC16" ,
1955+ R_PPC64_TOC16_LO => "R_PPC64_TOC16_LO" ,
1956+ R_PPC64_TOC16_HI => "R_PPC64_TOC16_HI" ,
1957+ R_PPC64_TOC16_HA => "R_PPC64_TOC16_HA" ,
1958+ R_PPC64_TOC => "R_PPC64_TOC" ,
1959+ R_PPC64_PLTGOT16 => "R_PPC64_PLTGOT16" ,
1960+ R_PPC64_PLTGOT16_LO => "R_PPC64_PLTGOT16_LO" ,
1961+ R_PPC64_PLTGOT16_HI => "R_PPC64_PLTGOT16_HI" ,
1962+ R_PPC64_PLTGOT16_HA => "R_PPC64_PLTGOT16_HA" ,
1963+ R_PPC64_ADDR16_DS => "R_PPC64_ADDR16_DS" ,
1964+ R_PPC64_ADDR16_LO_DS => "R_PPC64_ADDR16_LO_DS" ,
1965+ R_PPC64_GOT16_DS => "R_PPC64_GOT16_DS" ,
1966+ R_PPC64_GOT16_LO_DS => "R_PPC64_GOT16_LO_DS" ,
1967+ R_PPC64_PLT16_LO_DS => "R_PPC64_PLT16_LO_DS" ,
1968+ R_PPC64_SECTOFF_DS => "R_PPC64_SECTOFF_DS" ,
1969+ R_PPC64_SECTOFF_LO_DS => "R_PPC64_SECTOFF_LO_DS" ,
1970+ R_PPC64_TOC16_DS => "R_PPC64_TOC16_DS" ,
1971+ R_PPC64_TOC16_LO_DS => "R_PPC64_TOC16_LO_DS" ,
1972+ R_PPC64_PLTGOT16_DS => "R_PPC64_PLTGOT16_DS" ,
1973+ R_PPC64_PLTGOT16_LO_DS => "R_PPC64_PLTGOT16_LO_DS" ,
1974+ R_PPC64_TLS => "R_PPC64_TLS" ,
1975+ R_PPC64_DTPMOD64 => "R_PPC64_DTPMOD64" ,
1976+ R_PPC64_TPREL16 => "R_PPC64_TPREL16" ,
1977+ R_PPC64_TPREL16_LO => "R_PPC64_TPREL16_LO" ,
1978+ R_PPC64_TPREL16_HI => "R_PPC64_TPREL16_HI" ,
1979+ R_PPC64_TPREL16_HA => "R_PPC64_TPREL16_HA" ,
1980+ R_PPC64_TPREL64 => "R_PPC64_TPREL64" ,
1981+ R_PPC64_DTPREL16 => "R_PPC64_DTPREL16" ,
1982+ R_PPC64_DTPREL16_LO => "R_PPC64_DTPREL16_LO" ,
1983+ R_PPC64_DTPREL16_HI => "R_PPC64_DTPREL16_HI" ,
1984+ R_PPC64_DTPREL16_HA => "R_PPC64_DTPREL16_HA" ,
1985+ R_PPC64_DTPREL64 => "R_PPC64_DTPREL64" ,
1986+ R_PPC64_GOT_TLSGD16 => "R_PPC64_GOT_TLSGD16" ,
1987+ R_PPC64_GOT_TLSGD16_LO => "R_PPC64_GOT_TLSGD16_LO" ,
1988+ R_PPC64_GOT_TLSGD16_HI => "R_PPC64_GOT_TLSGD16_HI" ,
1989+ R_PPC64_GOT_TLSGD16_HA => "R_PPC64_GOT_TLSGD16_HA" ,
1990+ R_PPC64_GOT_TLSLD16 => "R_PPC64_GOT_TLSLD16" ,
1991+ R_PPC64_GOT_TLSLD16_LO => "R_PPC64_GOT_TLSLD16_LO" ,
1992+ R_PPC64_GOT_TLSLD16_HI => "R_PPC64_GOT_TLSLD16_HI" ,
1993+ R_PPC64_GOT_TLSLD16_HA => "R_PPC64_GOT_TLSLD16_HA" ,
1994+ R_PPC64_GOT_TPREL16_DS => "R_PPC64_GOT_TPREL16_DS" ,
1995+ R_PPC64_GOT_TPREL16_LO_DS => "R_PPC64_GOT_TPREL16_LO_DS" ,
1996+ R_PPC64_GOT_TPREL16_HI => "R_PPC64_GOT_TPREL16_HI" ,
1997+ R_PPC64_GOT_TPREL16_HA => "R_PPC64_GOT_TPREL16_HA" ,
1998+ R_PPC64_GOT_DTPREL16_DS => "R_PPC64_GOT_DTPREL16_DS" ,
1999+ R_PPC64_GOT_DTPREL16_LO_DS => "R_PPC64_GOT_DTPREL16_LO_DS" ,
2000+ R_PPC64_GOT_DTPREL16_HI => "R_PPC64_GOT_DTPREL16_HI" ,
2001+ R_PPC64_GOT_DTPREL16_HA => "R_PPC64_GOT_DTPREL16_HA" ,
2002+ R_PPC64_TPREL16_DS => "R_PPC64_TPREL16_DS" ,
2003+ R_PPC64_TPREL16_LO_DS => "R_PPC64_TPREL16_LO_DS" ,
2004+ R_PPC64_TPREL16_HIGHER => "R_PPC64_TPREL16_HIGHER" ,
2005+ R_PPC64_TPREL16_HIGHERA => "R_PPC64_TPREL16_HIGHERA" ,
2006+ R_PPC64_TPREL16_HIGHEST => "R_PPC64_TPREL16_HIGHEST" ,
2007+ R_PPC64_TPREL16_HIGHESTA => "R_PPC64_TPREL16_HIGHESTA" ,
2008+ R_PPC64_DTPREL16_DS => "R_PPC64_DTPREL16_DS" ,
2009+ R_PPC64_DTPREL16_LO_DS => "R_PPC64_DTPREL16_LO_DS" ,
2010+ R_PPC64_DTPREL16_HIGHER => "R_PPC64_DTPREL16_HIGHER" ,
2011+ R_PPC64_DTPREL16_HIGHERA => "R_PPC64_DTPREL16_HIGHERA" ,
2012+ R_PPC64_DTPREL16_HIGHEST => "R_PPC64_DTPREL16_HIGHEST" ,
2013+ R_PPC64_DTPREL16_HIGHESTA => "R_PPC64_DTPREL16_HIGHESTA" ,
2014+ R_PPC64_TLSGD => "R_PPC64_TLSGD" ,
2015+ R_PPC64_TLSLD => "R_PPC64_TLSLD" ,
2016+ R_PPC64_TOCSAVE => "R_PPC64_TOCSAVE" ,
2017+ R_PPC64_ADDR16_HIGH => "R_PPC64_ADDR16_HIGH" ,
2018+ R_PPC64_ADDR16_HIGHA => "R_PPC64_ADDR16_HIGHA" ,
2019+ R_PPC64_TPREL16_HIGH => "R_PPC64_TPREL16_HIGH" ,
2020+ R_PPC64_TPREL16_HIGHA => "R_PPC64_TPREL16_HIGHA" ,
2021+ R_PPC64_DTPREL16_HIGH => "R_PPC64_DTPREL16_HIGH" ,
2022+ R_PPC64_DTPREL16_HIGHA => "R_PPC64_DTPREL16_HIGHA" ,
2023+ R_PPC64_REL24_NOTOC => "R_PPC64_REL24_NOTOC" ,
2024+ R_PPC64_ADDR64_LOCAL => "R_PPC64_ADDR64_LOCAL" ,
2025+ R_PPC64_ENTRY => "R_PPC64_ENTRY" ,
2026+ R_PPC64_PCREL34 => "R_PPC64_PCREL34" ,
2027+ R_PPC64_GOT_PCREL34 => "R_PPC64_GOT_PCREL34" ,
2028+ R_PPC64_IRELATIVE => "R_PPC64_IRELATIVE" ,
2029+ R_PPC64_REL16 => "R_PPC64_REL16" ,
2030+ R_PPC64_REL16_LO => "R_PPC64_REL16_LO" ,
2031+ R_PPC64_REL16_HI => "R_PPC64_REL16_HI" ,
2032+ R_PPC64_REL16_HA => "R_PPC64_REL16_HA" ,
2033+ R_PPC64_GNU_VTINHERIT => "R_PPC64_GNU_VTINHERIT" ,
2034+ R_PPC64_GNU_VTENTRY => "R_PPC64_GNU_VTENTRY" ,
2035+ _ => "R_UNKNOWN_PPC64" ,
2036+ } ,
16992037 // Loongarch 64
17002038 EM_LOONGARCH => match typ {
17012039 R_LARCH_NONE => "LARCH_NONE" ,
0 commit comments