From e2adba909e74b9c60c1e776d5d0e7079f502363c Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Fri, 16 Jun 2023 13:32:43 +0200 Subject: [PATCH] [gdb/testsuite] Clean up before compilation in gdb.ada/call-no-debug.exp Running test-case gdb.ada/call-no-debug.exp with target board unix/-m64 works fine, but if we run it again with target board unix-m32, we run into: ... gnatlink prog.ali -m32 -g -o prog^M ld: i386:x86-64 architecture of input file `b~prog.o' is incompatible with \ i386 output^M ... This is due to compiling with no-force. The test-case: - first compiles pck.adb into pck.o (without debug info), and - then compiles prog.adb and pck.o into prog (with debug info). Using no-force in the second compilation make sure that pck.adb is not compiled again, with debug info. But it also means it will pick up intermediate files related to prog.adb from a previous compilation. Fix this by removing prog.o and prog.ali before compilation. Tested on x86_64-linux. --- gdb/testsuite/gdb.ada/call-no-debug.exp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gdb/testsuite/gdb.ada/call-no-debug.exp b/gdb/testsuite/gdb.ada/call-no-debug.exp index 422b83761d9..df81c87ade2 100644 --- a/gdb/testsuite/gdb.ada/call-no-debug.exp +++ b/gdb/testsuite/gdb.ada/call-no-debug.exp @@ -21,6 +21,11 @@ require allow_ada_tests standard_ada_testfile prog +# Since we use no-force to compile prog, make sure we don't pick up files +# from a previous compilation. +remote_file host delete [standard_output_file prog.o] +remote_file host delete [standard_output_file prog.ali] + # Compile pck without debuginfo but prog with it. if {[gdb_compile_ada $srcdir/$subdir/$testdir/pck.adb \ [standard_output_file pck.o] object {}] != ""} { -- 2.30.2