* [PATCH v2] Warn for missing separate debug files only if needed
@ 2021-02-28 16:41 H.J. Lu
2021-03-01 13:32 ` Nick Clifton
0 siblings, 1 reply; 2+ messages in thread
From: H.J. Lu @ 2021-02-28 16:41 UTC (permalink / raw)
To: binutils
We shouldn't warn missing separate debug files when debug info isn't
needed.
PR binutils/27486
* dwarf.c (load_separate_debug_info): Issue warning only if
do_debug_links is set.
* testsuite/binutils-all/compress.exp: Run objdump and readelf
with missing debug file.
---
binutils/dwarf.c | 54 +++++++++++---------
binutils/testsuite/binutils-all/compress.exp | 15 ++++++
2 files changed, 46 insertions(+), 23 deletions(-)
diff --git a/binutils/dwarf.c b/binutils/dwarf.c
index 555e5e04b94..f50b7eeaeb1 100644
--- a/binutils/dwarf.c
+++ b/binutils/dwarf.c
@@ -11210,44 +11210,52 @@ load_separate_debug_info (const char * main_filename,
}
#endif
- /* Failed to find the file. */
- warn (_("could not find separate debug file '%s'\n"), separate_filename);
- warn (_("tried: %s\n"), debug_filename);
+ if (do_debug_links)
+ {
+ /* Failed to find the file. */
+ warn (_("could not find separate debug file '%s'\n"),
+ separate_filename);
+ warn (_("tried: %s\n"), debug_filename);
#ifdef EXTRA_DEBUG_ROOT2
- sprintf (debug_filename, "%s/%s", EXTRA_DEBUG_ROOT2, separate_filename);
- warn (_("tried: %s\n"), debug_filename);
+ sprintf (debug_filename, "%s/%s", EXTRA_DEBUG_ROOT2,
+ separate_filename);
+ warn (_("tried: %s\n"), debug_filename);
#endif
#ifdef EXTRA_DEBUG_ROOT1
- sprintf (debug_filename, "%s/%s/%s", EXTRA_DEBUG_ROOT1, canon_dir, separate_filename);
- warn (_("tried: %s\n"), debug_filename);
+ sprintf (debug_filename, "%s/%s/%s", EXTRA_DEBUG_ROOT1,
+ canon_dir, separate_filename);
+ warn (_("tried: %s\n"), debug_filename);
- sprintf (debug_filename, "%s/%s", EXTRA_DEBUG_ROOT1, separate_filename);
- warn (_("tried: %s\n"), debug_filename);
+ sprintf (debug_filename, "%s/%s", EXTRA_DEBUG_ROOT1,
+ separate_filename);
+ warn (_("tried: %s\n"), debug_filename);
#endif
- sprintf (debug_filename, "%s.debug/%s", canon_dir, separate_filename);
- warn (_("tried: %s\n"), debug_filename);
+ sprintf (debug_filename, "%s.debug/%s", canon_dir,
+ separate_filename);
+ warn (_("tried: %s\n"), debug_filename);
- sprintf (debug_filename, "%s%s", canon_dir, separate_filename);
- warn (_("tried: %s\n"), debug_filename);
+ sprintf (debug_filename, "%s%s", canon_dir, separate_filename);
+ warn (_("tried: %s\n"), debug_filename);
- sprintf (debug_filename, ".debug/%s", separate_filename);
- warn (_("tried: %s\n"), debug_filename);
+ sprintf (debug_filename, ".debug/%s", separate_filename);
+ warn (_("tried: %s\n"), debug_filename);
- sprintf (debug_filename, "%s", separate_filename);
- warn (_("tried: %s\n"), debug_filename);
+ sprintf (debug_filename, "%s", separate_filename);
+ warn (_("tried: %s\n"), debug_filename);
#if HAVE_LIBDEBUGINFOD
- {
- char *urls = getenv (DEBUGINFOD_URLS_ENV_VAR);
- if (urls == NULL)
- urls = "";
+ {
+ char *urls = getenv (DEBUGINFOD_URLS_ENV_VAR);
+ if (urls == NULL)
+ urls = "";
- warn (_("tried: DEBUGINFOD_URLS=%s\n"), urls);
- }
+ warn (_("tried: DEBUGINFOD_URLS=%s\n"), urls);
+ }
#endif
+ }
free (canon_dir);
free (debug_filename);
diff --git a/binutils/testsuite/binutils-all/compress.exp b/binutils/testsuite/binutils-all/compress.exp
index 98daf671552..88fef269905 100644
--- a/binutils/testsuite/binutils-all/compress.exp
+++ b/binutils/testsuite/binutils-all/compress.exp
@@ -676,6 +676,7 @@ proc test_gnu_debuglink {} {
global STRIP
global OBJCOPY
global OBJDUMP
+ global READELF
global gcc_gas_flag
set test "gnu-debuglink"
@@ -757,6 +758,20 @@ proc test_gnu_debuglink {} {
} else {
pass "$test (objdump 2)"
}
+
+ remote_file host delete tmpdir/testprog.compress
+ set got [remote_exec host [concat sh -c [list "$OBJDUMP --syms tmpdir/testprog > /dev/null"]]]
+ if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
+ fail "$test (objdump with missing link)"
+ } else {
+ pass "$test (objdump with missing link)"
+ }
+ set got [remote_exec host [concat sh -c [list "$READELF -S tmpdir/testprog > /dev/null"]]]
+ if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
+ fail "$test (readelf with missing link)"
+ } else {
+ pass "$test (readelf with missing link)"
+ }
}
if {[is_elf_format]} then {
--
2.29.2
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH v2] Warn for missing separate debug files only if needed
2021-02-28 16:41 [PATCH v2] Warn for missing separate debug files only if needed H.J. Lu
@ 2021-03-01 13:32 ` Nick Clifton
0 siblings, 0 replies; 2+ messages in thread
From: Nick Clifton @ 2021-03-01 13:32 UTC (permalink / raw)
To: H.J. Lu, binutils
Hi H.J.
> PR binutils/27486
> * dwarf.c (load_separate_debug_info): Issue warning only if
> do_debug_links is set.
> * testsuite/binutils-all/compress.exp: Run objdump and readelf
> with missing debug file.
Approved - please apply.
Cheers
Nick
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-03-01 13:32 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-28 16:41 [PATCH v2] Warn for missing separate debug files only if needed H.J. Lu
2021-03-01 13:32 ` Nick Clifton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).