Add support for reporting Alpha and Vax symbol visibility in readelf.
PR 24662 * readelf.c (get_alpha_symbol_other): New function. (get_symbol_other): Use for Alpha symbols. (is_32bit_pcrel_reloc): Add R_VAX_PCREL32.
This commit is contained in:
parent
08f10e02be
commit
2057d69dcc
@ -1,3 +1,10 @@
|
|||||||
|
2019-06-11 Christos Zoulas <christos@zoulas.com>
|
||||||
|
|
||||||
|
PR 24662
|
||||||
|
* readelf.c (get_alpha_symbol_other): New function.
|
||||||
|
(get_symbol_other): Use for Alpha symbols.
|
||||||
|
(is_32bit_pcrel_reloc): Add R_VAX_PCREL32.
|
||||||
|
|
||||||
2019-06-11 Christos Zoulas <christos@zoulas.com>
|
2019-06-11 Christos Zoulas <christos@zoulas.com>
|
||||||
|
|
||||||
PR 24661
|
PR 24661
|
||||||
|
@ -11134,6 +11134,19 @@ get_symbol_visibility (unsigned int visibility)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const char *
|
||||||
|
get_alpha_symbol_other (unsigned int other)
|
||||||
|
{
|
||||||
|
switch (other)
|
||||||
|
{
|
||||||
|
case STO_ALPHA_NOPV: return "NOPV";
|
||||||
|
case STO_ALPHA_STD_GPLOAD: return "STD GPLOAD";
|
||||||
|
default:
|
||||||
|
error (_("Unrecognized alpah specific other value: %u"), other);
|
||||||
|
return _("<unknown>");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static const char *
|
static const char *
|
||||||
get_solaris_symbol_visibility (unsigned int visibility)
|
get_solaris_symbol_visibility (unsigned int visibility)
|
||||||
{
|
{
|
||||||
@ -11273,6 +11286,9 @@ get_symbol_other (Filedata * filedata, unsigned int other)
|
|||||||
|
|
||||||
switch (filedata->file_header.e_machine)
|
switch (filedata->file_header.e_machine)
|
||||||
{
|
{
|
||||||
|
case EM_ALPHA:
|
||||||
|
result = get_alpha_symbol_other (other);
|
||||||
|
break;
|
||||||
case EM_AARCH64:
|
case EM_AARCH64:
|
||||||
result = get_aarch64_symbol_other (other);
|
result = get_aarch64_symbol_other (other);
|
||||||
break;
|
break;
|
||||||
@ -12722,6 +12738,8 @@ is_32bit_pcrel_reloc (Filedata * filedata, unsigned int reloc_type)
|
|||||||
case EM_L1OM:
|
case EM_L1OM:
|
||||||
case EM_K1OM:
|
case EM_K1OM:
|
||||||
return reloc_type == 2; /* R_X86_64_PC32. */
|
return reloc_type == 2; /* R_X86_64_PC32. */
|
||||||
|
case EM_VAX:
|
||||||
|
return reloc_type == 4; /* R_VAX_PCREL32. */
|
||||||
case EM_XTENSA_OLD:
|
case EM_XTENSA_OLD:
|
||||||
case EM_XTENSA:
|
case EM_XTENSA:
|
||||||
return reloc_type == 14; /* R_XTENSA_32_PCREL. */
|
return reloc_type == 14; /* R_XTENSA_32_PCREL. */
|
||||||
|
Loading…
Reference in New Issue
Block a user