public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Tom de Vries <tdevries@suse.de>
To: gdb-patches@sourceware.org
Subject: [pushed] [gdb/testsuite] Handle attributes.h for remote host
Date: Sat, 18 Mar 2023 10:17:30 +0100	[thread overview]
Message-ID: <20230318091730.19754-1-tdevries@suse.de> (raw)

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


             reply	other threads:[~2023-03-18  9:17 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-18  9:17 Tom de Vries [this message]
2023-03-18 10:12 ` Andreas Schwab
2023-03-18 10:34   ` Tom de Vries

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230318091730.19754-1-tdevries@suse.de \
    --to=tdevries@suse.de \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).