Fix implementation of readelf's -wE and -wN options,

* dwarf.c (dwarf_select_sections_by_name): If the entry's value is
	zero then clear the corresponding variable.
	(dwarf_select_sections_by_letters): Likewise.
	* testsuite/binutils-all/debuginfo.exp: Expect -WE and -wE
	debuginfod tests to fail.
This commit is contained in:
Nick Clifton
2022-06-30 14:53:02 +01:00
parent 6418644b0d
commit aa40d66bb1
3 changed files with 18 additions and 4 deletions

View File

@ -1,3 +1,11 @@
2022-06-30 Nick Clifton <nickc@redhat.com>
* dwarf.c (dwarf_select_sections_by_name): If the entry's value is
zero then clear the corresponding variable.
(dwarf_select_sections_by_letters): Likewise.
* testsuite/binutils-all/debuginfo.exp: Expect -WE and -wE
debuginfod tests to fail.
2022-06-28 Nick Clifton <nickc@redhat.com> 2022-06-28 Nick Clifton <nickc@redhat.com>
PR 29267 PR 29267

View File

@ -12169,7 +12169,10 @@ dwarf_select_sections_by_names (const char *names)
if (strncmp (p, entry->option, len) == 0 if (strncmp (p, entry->option, len) == 0
&& (p[len] == ',' || p[len] == '\0')) && (p[len] == ',' || p[len] == '\0'))
{ {
* entry->variable = entry->val; if (entry->val == 0)
* entry->variable = 0;
else
* entry->variable = entry->val;
result |= entry->val; result |= entry->val;
p += len; p += len;
@ -12213,7 +12216,10 @@ dwarf_select_sections_by_letters (const char *letters)
{ {
if (entry->letter == * letters) if (entry->letter == * letters)
{ {
* entry->variable |= entry->val; if (entry->val == 0)
* entry->variable = 0;
else
* entry->variable |= entry->val;
result |= entry->val; result |= entry->val;
break; break;
} }

View File

@ -189,7 +189,7 @@ if { [regexp ".*DEBUGINFOD.*" $conf_objdump] } {
test_fetch_debugaltlink $OBJDUMP "-Wk" test_fetch_debugaltlink $OBJDUMP "-Wk"
set test "disabling debuginfod access" set test "disabling debuginfod access"
# setup_xfail *-*-* setup_xfail *-*-*
test_fetch_debuglink $OBJDUMP "-W -WE" test_fetch_debuglink $OBJDUMP "-W -WE"
set test "debuginfod" set test "debuginfod"
@ -202,7 +202,7 @@ if { [regexp ".*DEBUGINFOD.*" $conf_readelf] } {
test_fetch_debugaltlink $READELF "-wk" test_fetch_debugaltlink $READELF "-wk"
set test "disabling debuginfod access" set test "disabling debuginfod access"
# setup_xfail *-*-* setup_xfail *-*-*
test_fetch_debuglink $READELF "-w -wE" test_fetch_debuglink $READELF "-w -wE"
set test "debuginfod" set test "debuginfod"