public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [pushed] [gdb/testsuite] Handle attributes.h for remote host
@ 2023-03-18  9:17 Tom de Vries
  2023-03-18 10:12 ` Andreas Schwab
  0 siblings, 1 reply; 3+ messages in thread
From: Tom de Vries @ 2023-03-18  9:17 UTC (permalink / raw)
  To: gdb-patches

Handle $srcdir/lib/attributes.h using lappend_include_dir.

Tested on x86_64-linux.
---
 gdb/testsuite/gdb.base/backtrace.c            |  2 +-
 gdb/testsuite/gdb.base/backtrace.exp          |  6 ++-
 .../gdb.base/frame-info-consistent.exp        |  6 ++-
 .../gdb.base/infcall-nested-structs.c         |  2 +-
 .../gdb.base/infcall-nested-structs.exp.tcl   |  2 +
 gdb/testsuite/gdb.base/stap-probe.c           |  2 +-
 gdb/testsuite/gdb.base/stap-probe.exp         | 23 +++++++++--
 gdb/testsuite/gdb.base/vla-optimized-out.c    |  2 +-
 gdb/testsuite/gdb.base/vla-optimized-out.exp  |  1 +
 gdb/testsuite/gdb.cp/cold-clone.cc            |  2 +-
 gdb/testsuite/gdb.cp/cold-clone.exp           |  9 ++++-
 .../gdb.dwarf2/dyn-type-unallocated.c         |  2 +-
 .../gdb.dwarf2/dyn-type-unallocated.exp       | 39 ++++++++++++++-----
 .../gdb.python/tui-window-disabled.c          |  2 +-
 .../gdb.python/tui-window-disabled.exp        |  6 ++-
 15 files changed, 81 insertions(+), 25 deletions(-)

diff --git a/gdb/testsuite/gdb.base/backtrace.c b/gdb/testsuite/gdb.base/backtrace.c
index f615d857110..4928bae05a4 100644
--- a/gdb/testsuite/gdb.base/backtrace.c
+++ b/gdb/testsuite/gdb.base/backtrace.c
@@ -15,7 +15,7 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#include "../lib/attributes.h"
+#include "attributes.h"
 
 int __attribute__((noinline)) ATTRIBUTE_NOCLONE
 baz ()
diff --git a/gdb/testsuite/gdb.base/backtrace.exp b/gdb/testsuite/gdb.base/backtrace.exp
index 4389273123c..c7355cef375 100644
--- a/gdb/testsuite/gdb.base/backtrace.exp
+++ b/gdb/testsuite/gdb.base/backtrace.exp
@@ -17,7 +17,11 @@
 
 standard_testfile
 
-if { [prepare_for_testing "failed to prepare" $testfile $srcfile] } {
+set flags {}
+lappend flags debug
+lappend_include_file flags $srcdir/lib/attributes.h
+
+if { [prepare_for_testing "failed to prepare" $testfile $srcfile $flags] } {
     return -1
 }
 
diff --git a/gdb/testsuite/gdb.base/frame-info-consistent.exp b/gdb/testsuite/gdb.base/frame-info-consistent.exp
index 4893c2227f3..30185c3c4f4 100644
--- a/gdb/testsuite/gdb.base/frame-info-consistent.exp
+++ b/gdb/testsuite/gdb.base/frame-info-consistent.exp
@@ -21,7 +21,11 @@
 
 standard_testfile backtrace.c
 
-if { [build_executable "failed to prepare" $testfile $srcfile] } {
+set flags {}
+lappend flags debug
+lappend_include_file flags $srcdir/lib/attributes.h
+
+if { [build_executable "failed to prepare" $testfile $srcfile $flags] } {
     return -1
 }
 
diff --git a/gdb/testsuite/gdb.base/infcall-nested-structs.c b/gdb/testsuite/gdb.base/infcall-nested-structs.c
index ff4b64f28c9..f741728d4cc 100644
--- a/gdb/testsuite/gdb.base/infcall-nested-structs.c
+++ b/gdb/testsuite/gdb.base/infcall-nested-structs.c
@@ -33,7 +33,7 @@
    in the structs.exp test script.  */
 
 #include <string.h>
-#include "../lib/attributes.h"
+#include "attributes.h"
 
 /* Useful abreviations.  */
 typedef char tc;
diff --git a/gdb/testsuite/gdb.base/infcall-nested-structs.exp.tcl b/gdb/testsuite/gdb.base/infcall-nested-structs.exp.tcl
index d9d2fa519d2..f7f036b4217 100644
--- a/gdb/testsuite/gdb.base/infcall-nested-structs.exp.tcl
+++ b/gdb/testsuite/gdb.base/infcall-nested-structs.exp.tcl
@@ -40,6 +40,8 @@ if { $lang == "c++" && [test_compiler_info clang*] } {
     lappend compile_flags "additional_flags=-Wno-tautological-compare"
 }
 
+lappend_include_file compile_flags $srcdir/lib/attributes.h
+
 # Given N (0..25), return the corresponding alphabetic letter in upper
 # case.
 
diff --git a/gdb/testsuite/gdb.base/stap-probe.c b/gdb/testsuite/gdb.base/stap-probe.c
index 5cd1fbfe36b..36ce2da7847 100644
--- a/gdb/testsuite/gdb.base/stap-probe.c
+++ b/gdb/testsuite/gdb.base/stap-probe.c
@@ -15,7 +15,7 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#include "../lib/attributes.h"
+#include "attributes.h"
 
 #if USE_SEMAPHORES
 
diff --git a/gdb/testsuite/gdb.base/stap-probe.exp b/gdb/testsuite/gdb.base/stap-probe.exp
index 1beb05203c1..06aa6665022 100644
--- a/gdb/testsuite/gdb.base/stap-probe.exp
+++ b/gdb/testsuite/gdb.base/stap-probe.exp
@@ -113,8 +113,15 @@ proc check_for_usable_xmm0_probe { binfile } {
 proc stap_test {exec_name {args ""}} {
     global testfile hex srcfile
 
+    set flags {}
+    lappend flags debug
+    lappend_include_file flags $::srcdir/lib/attributes.h
+    if { $args != "" } {
+	set flags [concat $flags $args]
+    }
+
     if {[prepare_for_testing "failed to prepare" ${exec_name} $srcfile \
-	   [concat $args debug]]} {
+	     $flags]} {
 	return -1
     }
 
@@ -233,10 +240,18 @@ proc stap_test {exec_name {args ""}} {
 }
 
 proc stap_test_no_debuginfo {exec_name {args ""}} {
-    global testfile hex
+    global hex
+
+    set flags {}
+    lappend flags nodebug
+    lappend flags optimize=-O2
+    lappend_include_file flags $::srcdir/lib/attributes.h
+    if { $args != "" } {
+	set flags [concat $flags $args]
+    }
 
-    if {[prepare_for_testing "failed to prepare" ${exec_name} ${testfile}.c \
-	   [concat $args nodebug optimize=-O2]]} {
+    if {[prepare_for_testing "failed to prepare" ${exec_name} $::srcfile \
+	     $flags]} {
 	return -1
     }
 
diff --git a/gdb/testsuite/gdb.base/vla-optimized-out.c b/gdb/testsuite/gdb.base/vla-optimized-out.c
index c1e7c609b5a..7ae7e612be9 100644
--- a/gdb/testsuite/gdb.base/vla-optimized-out.c
+++ b/gdb/testsuite/gdb.base/vla-optimized-out.c
@@ -18,7 +18,7 @@
 /* The version of this test-case with f1 tagged with noinline only is equivalent
    to gcc/testsuite/gcc.dg/guality/vla-1.c.  */
 
-#include "../lib/attributes.h"
+#include "attributes.h"
 
 int
 #ifdef NOCLONE
diff --git a/gdb/testsuite/gdb.base/vla-optimized-out.exp b/gdb/testsuite/gdb.base/vla-optimized-out.exp
index b31b9ec9706..c0681bc8904 100644
--- a/gdb/testsuite/gdb.base/vla-optimized-out.exp
+++ b/gdb/testsuite/gdb.base/vla-optimized-out.exp
@@ -26,6 +26,7 @@ proc vla_optimized_out {exe_suffix options} {
     global testfile srcfile
 
     lassign $options compile_flags sizeof_result
+    lappend_include_file compile_flags $::srcdir/lib/attributes.h
 
     if { [prepare_for_testing "failed to prepare" "$testfile-$exe_suffix" $srcfile \
 	      $compile_flags] } {
diff --git a/gdb/testsuite/gdb.cp/cold-clone.cc b/gdb/testsuite/gdb.cp/cold-clone.cc
index b45d93752af..533c1e97a4a 100644
--- a/gdb/testsuite/gdb.cp/cold-clone.cc
+++ b/gdb/testsuite/gdb.cp/cold-clone.cc
@@ -16,7 +16,7 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include <stdlib.h>
-#include "../lib/attributes.h"
+#include "attributes.h"
 
 int a;
 int b;
diff --git a/gdb/testsuite/gdb.cp/cold-clone.exp b/gdb/testsuite/gdb.cp/cold-clone.exp
index 0a2b0790ec0..415d7a64964 100644
--- a/gdb/testsuite/gdb.cp/cold-clone.exp
+++ b/gdb/testsuite/gdb.cp/cold-clone.exp
@@ -15,8 +15,13 @@
 
 standard_testfile .cc
 
-if {[prepare_for_testing "failed to prepare" $testfile $srcfile \
-	 {debug c++ optimize=-O2}]} {
+set flags {}
+lappend flags debug
+lappend flags c++
+lappend flags optimize=-O2
+lappend_include_file flags $srcdir/lib/attributes.h
+
+if {[prepare_for_testing "failed to prepare" $testfile $srcfile $flags]} {
     return -1
 }
 
diff --git a/gdb/testsuite/gdb.dwarf2/dyn-type-unallocated.c b/gdb/testsuite/gdb.dwarf2/dyn-type-unallocated.c
index 436c5698c46..843646652c0 100644
--- a/gdb/testsuite/gdb.dwarf2/dyn-type-unallocated.c
+++ b/gdb/testsuite/gdb.dwarf2/dyn-type-unallocated.c
@@ -15,7 +15,7 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#include "../lib/attributes.h"
+#include "attributes.h"
 
 /* Our fake dynamic object.  */
 void *dyn_object;
diff --git a/gdb/testsuite/gdb.dwarf2/dyn-type-unallocated.exp b/gdb/testsuite/gdb.dwarf2/dyn-type-unallocated.exp
index 88fd331781d..5d0dfcc291d 100644
--- a/gdb/testsuite/gdb.dwarf2/dyn-type-unallocated.exp
+++ b/gdb/testsuite/gdb.dwarf2/dyn-type-unallocated.exp
@@ -38,12 +38,30 @@ require dwarf2_support
 
 standard_testfile .c -dw.S
 
-if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile}] } {
+set flags {}
+lappend flags debug
+lappend_include_file flags $srcdir/lib/attributes.h
+
+if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} $flags] } {
     return -1
 }
 
+with_shared_gdb {
+    set func_info_vars [get_func_info main $flags]
+
+    set int_size [get_sizeof "int" "UNKNOWN"]
+    set voidp_size [get_sizeof "void *" "UNKNOWN"]
+}
+
 set asm_file [standard_output_file $srcfile2]
 Dwarf::assemble $asm_file {
+    global func_info_vars
+    foreach var $func_info_vars {
+       global $var
+    }
+    global int_size
+    global voidp_size
+
     cu {} {
 	global srcfile
 
@@ -55,9 +73,6 @@ Dwarf::assemble $asm_file {
         } {
 	    declare_labels array_type_label integer_type_label
 
-	    set int_size [get_sizeof "int" "UNKNOWN"]
-	    set voidp_size [get_sizeof "void *" "UNKNOWN"]
-
             integer_type_label: DW_TAG_base_type {
                 {DW_AT_byte_size $int_size DW_FORM_sdata}
                 {DW_AT_encoding  @DW_ATE_signed}
@@ -95,16 +110,22 @@ Dwarf::assemble $asm_file {
 		{name "dyn_object"}
 		{type :$array_type_label}
 	    }
-            subprogram {
-                {external 1 flag}
-                {MACRO_AT_func {main}}
-            }
+	   subprogram {
+	       {external 1 flag}
+	       {DW_AT_name main}
+	       {DW_AT_low_pc $main_start DW_FORM_addr}
+	       {DW_AT_high_pc $main_end DW_FORM_addr}
+	   }
         }
     }
 }
 
+set flags {}
+lappend flags {nodebug}
+lappend_include_file flags $srcdir/lib/attributes.h
+
 if { [prepare_for_testing "failed to prepare" "${testfile}" \
-	  [list $srcfile $asm_file] {nodebug}] } {
+	  [list $srcfile $asm_file] $flags] } {
     return -1
 }
 
diff --git a/gdb/testsuite/gdb.python/tui-window-disabled.c b/gdb/testsuite/gdb.python/tui-window-disabled.c
index 833c6a3a751..111f7adcdc1 100644
--- a/gdb/testsuite/gdb.python/tui-window-disabled.c
+++ b/gdb/testsuite/gdb.python/tui-window-disabled.c
@@ -15,7 +15,7 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see  <http://www.gnu.org/licenses/>.  */
 
-#include "../lib/attributes.h"
+#include "attributes.h"
 
 volatile int val;
 
diff --git a/gdb/testsuite/gdb.python/tui-window-disabled.exp b/gdb/testsuite/gdb.python/tui-window-disabled.exp
index 57d41cdbf8b..b2beb77c217 100644
--- a/gdb/testsuite/gdb.python/tui-window-disabled.exp
+++ b/gdb/testsuite/gdb.python/tui-window-disabled.exp
@@ -27,7 +27,11 @@ tuiterm_env
 
 standard_testfile
 
-if {[build_executable "failed to prepare" ${testfile} ${srcfile}] == -1} {
+set flags {}
+lappend flags debug
+lappend_include_file flags $srcdir/lib/attributes.h
+
+if {[build_executable "failed to prepare" ${testfile} ${srcfile} $flags] == -1} {
     return -1
 }
 

base-commit: 9e4b2a6697006f9ff39bce13edd640330e208c9f
-- 
2.35.3


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [pushed] [gdb/testsuite] Handle attributes.h for remote host
  2023-03-18  9:17 [pushed] [gdb/testsuite] Handle attributes.h for remote host Tom de Vries
@ 2023-03-18 10:12 ` Andreas Schwab
  2023-03-18 10:34   ` Tom de Vries
  0 siblings, 1 reply; 3+ messages in thread
From: Andreas Schwab @ 2023-03-18 10:12 UTC (permalink / raw)
  To: Tom de Vries via Gdb-patches; +Cc: Tom de Vries

On Mär 18 2023, Tom de Vries via Gdb-patches wrote:

> +set flags {}
> +lappend flags debug

aka set flags debug

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [pushed] [gdb/testsuite] Handle attributes.h for remote host
  2023-03-18 10:12 ` Andreas Schwab
@ 2023-03-18 10:34   ` Tom de Vries
  0 siblings, 0 replies; 3+ messages in thread
From: Tom de Vries @ 2023-03-18 10:34 UTC (permalink / raw)
  To: Andreas Schwab, Tom de Vries via Gdb-patches

On 3/18/23 11:12, Andreas Schwab wrote:
> On Mär 18 2023, Tom de Vries via Gdb-patches wrote:
> 
>> +set flags {}
>> +lappend flags debug
> 
> aka set flags debug
> 

Hi,

yes, though I prefer the form I'm using, for instance because it allows 
me to do:
...
  set flags {}
-lappend flags debug
+#lappend flags debug
...
while this:
...
-set flags debug
+#set flags debug
...
breaks the test-case because flags is no longer set.

Besides, for readability I prefer that each flag is added individually, 
and in the same way, so not:
...
set flags {opt-a opt-b opt-c}
...
and not:
...
set flags opt-a
lappend flags opt-b
lappend flags opt-c
...
but:
...
set flags {}
lappend flags opt-a
lappend flags opt-b
lappend flags opt-c
...

Thanks,
- Tom

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-03-18 10:34 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-18  9:17 [pushed] [gdb/testsuite] Handle attributes.h for remote host Tom de Vries
2023-03-18 10:12 ` Andreas Schwab
2023-03-18 10:34   ` Tom de Vries

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).