readelf: Correct version flag formatting
Remove a trailing space or a leading pipe character from version flags printed with `readelf --version-info'. For example with the `mips-linux' target we get: $ cat ver_def.s .data .globl new_foo .type new_foo, %object new_foo: .symver new_foo, foo@@ver_foo $ cat ver_def.ver { global: *foo*; local: *; }; $ as -o ver_def.o ver_def.s $ ld -e 0 --export-dynamic --version-script=ver_def.ver -o ver_def ver_def.o $ readelf -V ver_def Version symbols section '.gnu.version' contains 4 entries: Addr: 000000000000007e Offset: 0x01007e Link: 2 (.dynsym) 000: 0 (*local*) 2 (ver_foo) 1 (*global*) 2 (ver_foo) Version definition section '.gnu.version_d' contains 2 entries: Addr: 0x0000000000000088 Offset: 0x010088 Link: 3 (.dynstr) 000000: Rev: 1 Flags: BASE Index: 1 Cnt: 1 Name: ver_def 0x001c: Rev: 1 Flags: none Index: 2 Cnt: 1 Name: ver_foo $ which includes an unnecessary space after `BASE'; both call sites already provide suitable separation from output that follows. Also if only unknown flags were present, then lone `| <unknown>' would be printed. binutils/ * readelf.c (get_ver_flags): Tidy the formatting of the string returned
This commit is contained in:
parent
5235cd6861
commit
7bb1ad1738
@ -1,3 +1,8 @@
|
|||||||
|
2017-02-24 Maciej W. Rozycki <macro@imgtec.com>
|
||||||
|
|
||||||
|
* readelf.c (get_ver_flags): Tidy the formatting of the string
|
||||||
|
returned
|
||||||
|
|
||||||
2017-02-24 Maciej W. Rozycki <macro@imgtec.com>
|
2017-02-24 Maciej W. Rozycki <macro@imgtec.com>
|
||||||
|
|
||||||
* readelf.c (process_version_sections) <SHT_GNU_verdef>: Make
|
* readelf.c (process_version_sections) <SHT_GNU_verdef>: Make
|
||||||
|
@ -9947,26 +9947,31 @@ get_ver_flags (unsigned int flags)
|
|||||||
return _("none");
|
return _("none");
|
||||||
|
|
||||||
if (flags & VER_FLG_BASE)
|
if (flags & VER_FLG_BASE)
|
||||||
strcat (buff, "BASE ");
|
strcat (buff, "BASE");
|
||||||
|
|
||||||
if (flags & VER_FLG_WEAK)
|
if (flags & VER_FLG_WEAK)
|
||||||
{
|
{
|
||||||
if (flags & VER_FLG_BASE)
|
if (flags & VER_FLG_BASE)
|
||||||
strcat (buff, "| ");
|
strcat (buff, " | ");
|
||||||
|
|
||||||
strcat (buff, "WEAK ");
|
strcat (buff, "WEAK");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flags & VER_FLG_INFO)
|
if (flags & VER_FLG_INFO)
|
||||||
{
|
{
|
||||||
if (flags & (VER_FLG_BASE|VER_FLG_WEAK))
|
if (flags & (VER_FLG_BASE|VER_FLG_WEAK))
|
||||||
strcat (buff, "| ");
|
strcat (buff, " | ");
|
||||||
|
|
||||||
strcat (buff, "INFO ");
|
strcat (buff, "INFO");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flags & ~(VER_FLG_BASE | VER_FLG_WEAK | VER_FLG_INFO))
|
if (flags & ~(VER_FLG_BASE | VER_FLG_WEAK | VER_FLG_INFO))
|
||||||
strcat (buff, _("| <unknown>"));
|
{
|
||||||
|
if (flags & (VER_FLG_BASE | VER_FLG_WEAK | VER_FLG_INFO))
|
||||||
|
strcat (buff, " | ");
|
||||||
|
|
||||||
|
strcat (buff, _("<unknown>"));
|
||||||
|
}
|
||||||
|
|
||||||
return buff;
|
return buff;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user