readelf: report value of unknown relocation types
Obtained from: ELF Tool Chain r3387 Sponsored by: The FreeBSD Foundation
This commit is contained in:
parent
23541160bb
commit
03a5ea47c0
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=295335
@ -1053,8 +1053,9 @@ static struct {
|
|||||||
static const char *
|
static const char *
|
||||||
r_type(unsigned int mach, unsigned int type)
|
r_type(unsigned int mach, unsigned int type)
|
||||||
{
|
{
|
||||||
|
static char s_type[32];
|
||||||
|
|
||||||
switch(mach) {
|
switch(mach) {
|
||||||
case EM_NONE: return "";
|
|
||||||
case EM_386:
|
case EM_386:
|
||||||
case EM_IAMCU:
|
case EM_IAMCU:
|
||||||
switch(type) {
|
switch(type) {
|
||||||
@ -1089,8 +1090,8 @@ r_type(unsigned int mach, unsigned int type)
|
|||||||
case 35: return "R_386_TLS_DTPMOD32";
|
case 35: return "R_386_TLS_DTPMOD32";
|
||||||
case 36: return "R_386_TLS_DTPOFF32";
|
case 36: return "R_386_TLS_DTPOFF32";
|
||||||
case 37: return "R_386_TLS_TPOFF32";
|
case 37: return "R_386_TLS_TPOFF32";
|
||||||
default: return "";
|
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
case EM_AARCH64:
|
case EM_AARCH64:
|
||||||
switch(type) {
|
switch(type) {
|
||||||
case 0: return "R_AARCH64_NONE";
|
case 0: return "R_AARCH64_NONE";
|
||||||
@ -1154,8 +1155,8 @@ r_type(unsigned int mach, unsigned int type)
|
|||||||
case 1030: return "R_AARCH64_TLS_TPREL64";
|
case 1030: return "R_AARCH64_TLS_TPREL64";
|
||||||
case 1031: return "R_AARCH64_TLSDESC";
|
case 1031: return "R_AARCH64_TLSDESC";
|
||||||
case 1032: return "R_AARCH64_IRELATIVE";
|
case 1032: return "R_AARCH64_IRELATIVE";
|
||||||
default: return "";
|
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
case EM_ARM:
|
case EM_ARM:
|
||||||
switch(type) {
|
switch(type) {
|
||||||
case 0: return "R_ARM_NONE";
|
case 0: return "R_ARM_NONE";
|
||||||
@ -1206,8 +1207,8 @@ r_type(unsigned int mach, unsigned int type)
|
|||||||
case 253: return "R_ARM_RABS32";
|
case 253: return "R_ARM_RABS32";
|
||||||
case 254: return "R_ARM_RPC24";
|
case 254: return "R_ARM_RPC24";
|
||||||
case 255: return "R_ARM_RBASE";
|
case 255: return "R_ARM_RBASE";
|
||||||
default: return "";
|
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
case EM_IA_64:
|
case EM_IA_64:
|
||||||
switch(type) {
|
switch(type) {
|
||||||
case 0: return "R_IA_64_NONE";
|
case 0: return "R_IA_64_NONE";
|
||||||
@ -1290,8 +1291,8 @@ r_type(unsigned int mach, unsigned int type)
|
|||||||
case 182: return "R_IA_64_DTPREL64MSB";
|
case 182: return "R_IA_64_DTPREL64MSB";
|
||||||
case 183: return "R_IA_64_DTPREL64LSB";
|
case 183: return "R_IA_64_DTPREL64LSB";
|
||||||
case 186: return "R_IA_64_LTOFF_DTPREL22";
|
case 186: return "R_IA_64_LTOFF_DTPREL22";
|
||||||
default: return "";
|
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
case EM_MIPS:
|
case EM_MIPS:
|
||||||
switch(type) {
|
switch(type) {
|
||||||
case 0: return "R_MIPS_NONE";
|
case 0: return "R_MIPS_NONE";
|
||||||
@ -1324,9 +1325,8 @@ r_type(unsigned int mach, unsigned int type)
|
|||||||
case 48: return "R_MIPS_TLS_TPREL64";
|
case 48: return "R_MIPS_TLS_TPREL64";
|
||||||
case 49: return "R_MIPS_TLS_TPREL_HI16";
|
case 49: return "R_MIPS_TLS_TPREL_HI16";
|
||||||
case 50: return "R_MIPS_TLS_TPREL_LO16";
|
case 50: return "R_MIPS_TLS_TPREL_LO16";
|
||||||
|
|
||||||
default: return "";
|
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
case EM_PPC:
|
case EM_PPC:
|
||||||
switch(type) {
|
switch(type) {
|
||||||
case 0: return "R_PPC_NONE";
|
case 0: return "R_PPC_NONE";
|
||||||
@ -1406,8 +1406,8 @@ r_type(unsigned int mach, unsigned int type)
|
|||||||
case 114: return "R_PPC_EMB_RELST_HA";
|
case 114: return "R_PPC_EMB_RELST_HA";
|
||||||
case 115: return "R_PPC_EMB_BIT_FLD";
|
case 115: return "R_PPC_EMB_BIT_FLD";
|
||||||
case 116: return "R_PPC_EMB_RELSDA";
|
case 116: return "R_PPC_EMB_RELSDA";
|
||||||
default: return "";
|
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
case EM_RISCV:
|
case EM_RISCV:
|
||||||
switch(type) {
|
switch(type) {
|
||||||
case 0: return "R_RISCV_NONE";
|
case 0: return "R_RISCV_NONE";
|
||||||
@ -1452,8 +1452,8 @@ r_type(unsigned int mach, unsigned int type)
|
|||||||
case 43: return "R_RISCV_ALIGN";
|
case 43: return "R_RISCV_ALIGN";
|
||||||
case 44: return "R_RISCV_RVC_BRANCH";
|
case 44: return "R_RISCV_RVC_BRANCH";
|
||||||
case 45: return "R_RISCV_RVC_JUMP";
|
case 45: return "R_RISCV_RVC_JUMP";
|
||||||
default: return "";
|
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
case EM_SPARC:
|
case EM_SPARC:
|
||||||
case EM_SPARCV9:
|
case EM_SPARCV9:
|
||||||
switch(type) {
|
switch(type) {
|
||||||
@ -1537,8 +1537,8 @@ r_type(unsigned int mach, unsigned int type)
|
|||||||
case 77: return "R_SPARC_TLS_DTPOFF64";
|
case 77: return "R_SPARC_TLS_DTPOFF64";
|
||||||
case 78: return "R_SPARC_TLS_TPOFF32";
|
case 78: return "R_SPARC_TLS_TPOFF32";
|
||||||
case 79: return "R_SPARC_TLS_TPOFF64";
|
case 79: return "R_SPARC_TLS_TPOFF64";
|
||||||
default: return "";
|
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
case EM_X86_64:
|
case EM_X86_64:
|
||||||
switch(type) {
|
switch(type) {
|
||||||
case 0: return "R_X86_64_NONE";
|
case 0: return "R_X86_64_NONE";
|
||||||
@ -1579,10 +1579,12 @@ r_type(unsigned int mach, unsigned int type)
|
|||||||
case 35: return "R_X86_64_TLSDESC_CALL";
|
case 35: return "R_X86_64_TLSDESC_CALL";
|
||||||
case 36: return "R_X86_64_TLSDESC";
|
case 36: return "R_X86_64_TLSDESC";
|
||||||
case 37: return "R_X86_64_IRELATIVE";
|
case 37: return "R_X86_64_IRELATIVE";
|
||||||
default: return "";
|
|
||||||
}
|
}
|
||||||
default: return "";
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
snprintf(s_type, sizeof(s_type), "<unknown: %#x>", type);
|
||||||
|
return (s_type);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const char *
|
static const char *
|
||||||
|
Loading…
Reference in New Issue
Block a user