mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-19 09:14:14 +08:00
Handle DT_GNU_FLAGS_1 in readelf
* readelf.c (get_dynamic_type): Handle DT_GNU_FLAGS_1. (process_dynamic_section): Likewise.
This commit is contained in:

committed by
Alan Modra

parent
c3805e4cef
commit
a5da3dee21
@ -1,3 +1,8 @@
|
||||
2020-12-15 Vivek Das Mohapatra <vivek@collabora.com>
|
||||
|
||||
* readelf.c (get_dynamic_type): Handle DT_GNU_FLAGS_1.
|
||||
(process_dynamic_section): Likewise.
|
||||
|
||||
2020-12-11 Cary Coutant <ccoutant@gmail.com>
|
||||
|
||||
* readelf.c (get_machine_name): Update list of e_machine values.
|
||||
|
@ -2232,6 +2232,7 @@ get_dynamic_type (Filedata * filedata, unsigned long type)
|
||||
case DT_GNU_LIBLIST: return "GNU_LIBLIST";
|
||||
case DT_GNU_LIBLISTSZ: return "GNU_LIBLISTSZ";
|
||||
case DT_GNU_HASH: return "GNU_HASH";
|
||||
case DT_GNU_FLAGS_1: return "GNU_FLAGS_1";
|
||||
|
||||
default:
|
||||
if ((type >= DT_LOPROC) && (type <= DT_HIPROC))
|
||||
@ -11082,6 +11083,28 @@ the .dynstr section doesn't match the DT_STRTAB and DT_STRSZ tags\n"));
|
||||
}
|
||||
break;
|
||||
|
||||
case DT_GNU_FLAGS_1:
|
||||
if (do_dynamic)
|
||||
{
|
||||
printf (_("Flags:"));
|
||||
if (entry->d_un.d_val == 0)
|
||||
printf (_(" None\n"));
|
||||
else
|
||||
{
|
||||
unsigned long int val = entry->d_un.d_val;
|
||||
|
||||
if (val & DF_GNU_1_UNIQUE)
|
||||
{
|
||||
printf (" UNIQUE");
|
||||
val ^= DF_GNU_1_UNIQUE;
|
||||
}
|
||||
if (val != 0)
|
||||
printf (" %lx", val);
|
||||
puts ("");
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
if ((entry->d_tag >= DT_VERSYM) && (entry->d_tag <= DT_VERNEEDNUM))
|
||||
filedata->version_info[DT_VERSIONTAGIDX (entry->d_tag)]
|
||||
|
Reference in New Issue
Block a user