This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 1/3] Compile break-asm-file{0,1}.s without debug info


From: Yao Qi <yao.qi@linaro.org>

If I add some nop into break-asm-file1.s like this,

--- INDEX:/gdb/testsuite/gdb.linespec/break-asm-file1.s
+++ WORKDIR:/gdb/testsuite/gdb.linespec/break-asm-file1.s
@@ -31,8 +31,8 @@ _func:
 	.type func, %function
 func:
 .Lbegin_func:
-	.int 0
-	.int 0
+	nop
+	nop
 .Lend_func:
 	.size func, .-func
 .Lend_text1:

I get the following error:

Running gdb/testsuite/gdb.linespec/break-asm-file.exp ...
gdb/testsuite/gdb.linespec/break-asm-file1.s: Assembler messages:^M
gdb/testsuite/gdb.linespec/break-asm-file1.s: Fatal error: duplicate .debug_line sections

break-asm-file0.s and break-asm-file1.s have already had debug information
(written manually), so don't need to generate debug infor for them.

gdb/testsuite:

2015-03-19  Yao Qi  <yao.qi@linaro.org>

	* gdb.linespec/break-asm-file.exp: Don't call prepare_for_testing.
	Call gdb_compile instead to compile each .s files without debug
	information.
---
 gdb/testsuite/gdb.linespec/break-asm-file.exp | 23 ++++++++++++++++++-----
 1 file changed, 18 insertions(+), 5 deletions(-)

diff --git a/gdb/testsuite/gdb.linespec/break-asm-file.exp b/gdb/testsuite/gdb.linespec/break-asm-file.exp
index c3e18dc..b2f3056 100644
--- a/gdb/testsuite/gdb.linespec/break-asm-file.exp
+++ b/gdb/testsuite/gdb.linespec/break-asm-file.exp
@@ -28,11 +28,24 @@ if {![dwarf2_support]} {
     return 0
 }
 
-if {[prepare_for_testing ${testfile}.exp $execfile \
-	 [list $srcfile $asm_file1 $asm_file0] \
-	 {debug nowarnings optimize=-O0}]} {
-    untested "Skipping ${testfile}."
-    return
+if  {[gdb_compile ${srcdir}/${subdir}/${srcfile} ${binfile}1.o \
+	  object {debug nowarnings optimize=-O0}] != ""} {
+    return -1
+}
+
+# Compile .s files without debug information.
+if  {[gdb_compile ${srcdir}/${subdir}/$asm_file0 ${binfile}2.o \
+	  object {nodebug}] != ""} {
+    return -1
+}
+if  {[gdb_compile ${srcdir}/${subdir}/$asm_file1 ${binfile}3.o \
+	  object {nodebug}] != ""} {
+    return -1
+}
+
+if  {[gdb_compile [list ${binfile}1.o ${binfile}2.o ${binfile}3.o] \
+	  "${binfile}" executable {}] != ""} {
+    return -1
 }
 
 clean_restart $execfile
-- 
1.9.1


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]