diff --git a/gdb-testsuite-fix-unset-of-debuginfod_urls-in-default_gdb_init.patch b/gdb-testsuite-fix-unset-of-debuginfod_urls-in-default_gdb_init.patch new file mode 100644 index 0000000..9e78d09 --- /dev/null +++ b/gdb-testsuite-fix-unset-of-debuginfod_urls-in-default_gdb_init.patch @@ -0,0 +1,33 @@ +[gdb/testsuite] Fix unset of DEBUGINFOD_URLS in default_gdb_init + +In commit cfcbd506fb0 "[gdb/testsuite] Ignore DEBUGINFOD_URLS" I added +unsetting of env(DEBUGINFOD_URLS), but it doesn't work because I forgot to +add :: in front. + +Fix this, and rewrite using "unset -nocomplain" instead of unsetenv, which +allows us to drop the "info exists" test. + +2021-04-01 Tom de Vries + + * lib/gdb.exp (default_gdb_init): Use ::env. Use unset + -nocomplain ::env(V) instead of unsetenv V. + +--- + gdb/testsuite/lib/gdb.exp | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp +index 6b0bc8c0af5..ee7358e7673 100644 +--- a/gdb/testsuite/lib/gdb.exp ++++ b/gdb/testsuite/lib/gdb.exp +@@ -5082,9 +5082,7 @@ proc default_gdb_init { test_file_name } { + + # If DEBUGINFOD_URLS is set, gdb will try to download sources and + # debug info for f.i. system libraries. Prevent this. +- if { [info exists env(DEBUGINFOD_URLS)] } { +- unsetenv DEBUGINFOD_URLS +- } ++ unset -nocomplain ::env(DEBUGINFOD_URLS) + + # Ensure that GDBHISTFILE and GDBHISTSIZE are removed from the + # environment, we don't want these modifications to the history diff --git a/gdb-testsuite-ignore-debuginfod_urls.patch b/gdb-testsuite-ignore-debuginfod_urls.patch new file mode 100644 index 0000000..d40f749 --- /dev/null +++ b/gdb-testsuite-ignore-debuginfod_urls.patch @@ -0,0 +1,49 @@ +[gdb/testsuite] Ignore DEBUGINFOD_URLS + +On openSUSE Tumbleweed, DEBUGINFOD_URLS is now defined by default: +... +$ echo $DEBUGINFOD_URLS +https://debuginfod.opensuse.org/ +... + +With DEBUGINFOD_URLS defined we run into: +... +FAIL: gdb.mi/mi-sym-info.exp: List all functions from debug information only \ + (timeout) +... +as reported in PR27667. + +There's a latency of ~0.5s per request, which is ok-ish for interactive usage. +But the symbol-info-functions command ends up issuing 21 source requests, +which means we easily run into the 10s timeout. + +Fix this by unsetting DEBUGINFOD_URLS in default_gdb_init. + +gdb/testsuite/ChangeLog: + +2021-03-31 Tom de Vries + + PR testsuite/27667 + * lib/gdb.exp (default_gdb_init): Unset DEBUGINFOD_URLS. + +--- + gdb/testsuite/lib/gdb.exp | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp +index 653f145c1ce..6b0bc8c0af5 100644 +--- a/gdb/testsuite/lib/gdb.exp ++++ b/gdb/testsuite/lib/gdb.exp +@@ -5080,6 +5080,12 @@ proc default_gdb_init { test_file_name } { + # tests. + setenv TERM "dumb" + ++ # If DEBUGINFOD_URLS is set, gdb will try to download sources and ++ # debug info for f.i. system libraries. Prevent this. ++ if { [info exists env(DEBUGINFOD_URLS)] } { ++ unsetenv DEBUGINFOD_URLS ++ } ++ + # Ensure that GDBHISTFILE and GDBHISTSIZE are removed from the + # environment, we don't want these modifications to the history + # settings. diff --git a/gdb.changes b/gdb.changes index acbe3e9..05b9585 100644 --- a/gdb.changes +++ b/gdb.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Apr 7 03:51:41 UTC 2021 - Tom de Vries + +- Backport fixes that ignore DEBUGINFOD_URLS during testing: + * gdb-testsuite-ignore-debuginfod_urls.patch + * gdb-testsuite-fix-unset-of-debuginfod_urls-in-default_gdb_init.patch + ------------------------------------------------------------------- Tue Apr 6 15:15:10 UTC 2021 - Tom de Vries diff --git a/gdb.spec b/gdb.spec index cad497e..d659067 100644 --- a/gdb.spec +++ b/gdb.spec @@ -314,6 +314,8 @@ Patch2012: gdb-breakpoints-handle-glibc-with-debuginfo-in-create_exception_ Patch2013: gdb-testsuite-fix-gdb.arch-amd64-stap-three-arg-disp.s.patch Patch2014: gdb-testsuite-fix-xfail-handling-in-gdb.threads-gcore-thread.exp.patch Patch2015: gdb-threads-fix-lin_thread_get_thread_signals-for-glibc-2.28.patch +Patch2016: gdb-testsuite-ignore-debuginfod_urls.patch +Patch2017: gdb-testsuite-fix-unset-of-debuginfod_urls-in-default_gdb_init.patch # Testsuite patches @@ -728,6 +730,8 @@ find -name "*.info*"|xargs rm -f %patch2013 -p1 %patch2014 -p1 %patch2015 -p1 +%patch2016 -p1 +%patch2017 -p1 %patch2500 -p1 %if 0%{?suse_version} > 1500