[gdb/testsuite] Handle attributes.h for remote host

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

Tested on x86_64-linux.
This commit is contained in:
Tom de Vries
2023-03-18 10:16:30 +01:00
parent 9e4b2a6697
commit f2259ae756
15 changed files with 81 additions and 25 deletions

View File

@@ -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 ()

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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;

View File

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

View File

@@ -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

View File

@@ -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
if {[prepare_for_testing "failed to prepare" ${exec_name} ${testfile}.c \
[concat $args nodebug optimize=-O2]]} {
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} $::srcfile \
$flags]} {
return -1
}

View File

@@ -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

View File

@@ -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] } {

View File

@@ -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;

View File

@@ -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
}

View File

@@ -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;

View File

@@ -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
}

View File

@@ -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;

View File

@@ -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
}