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]

[RFA] Fix gdb.asm/asm-source.exp for hppa64-hpux


On HPUX, the assembler requires that only labels can start at the first column (yes, really! <sigh>). This patch indents all the comments and macro usages in the asm-source test to comply with this requirement. I hope this does not conflict with requirements on another platform...

This patch also introduces a pa64.inc, currently for use with the hppa64-hp-hpux target, but should also be usable for other hppa64-* targets.

Tested ok on hppa64-hp-hpux11.11.

Comments? ok to check in?

randolph
2005-12-01  Randolph Chung  <tausq@debian.org>

	* gdb.asm/asm-source.exp (hppa64-*-hpux*): New.
	* gdb.asm/pa64.inc: New file.
	* gdb.asm/common.inc: Indent commands.
	* gdb.asm/asmsrc1.s: Likewise.
	* gdb.asm/asmsrc2.s: Likewise.

Index: asm-source.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.asm/asm-source.exp,v
retrieving revision 1.58
diff -u -p -r1.58 asm-source.exp
--- asm-source.exp	11 Nov 2005 11:18:53 -0000	1.58
+++ asm-source.exp	30 Nov 2005 23:46:55 -0000
@@ -144,6 +144,11 @@ switch -glob -- [istarget] {
         set asm-flags "-I${srcdir}/${subdir} -I${objdir}/${subdir}"
 	set debug-flags "-gdwarf-2"
     }
+    "hppa64-*-hpux*" {
+        set asm-arch pa64
+        set asm-flags "-I${srcdir}/${subdir} -I${objdir}/${subdir}"
+	set debug-flags "-gdwarf-2"
+    }
     "h83*-*" {
 	set asm-arch h8300
 	set asm-flags "-gdwarf2 -I${srcdir}/${subdir} -I${objdir}/${subdir}"
Index: asmsrc1.s
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.asm/asmsrc1.s,v
retrieving revision 1.6
diff -u -p -r1.6 asmsrc1.s
--- asmsrc1.s	29 Nov 2003 13:55:17 -0000	1.6
+++ asmsrc1.s	30 Nov 2005 23:46:55 -0000
@@ -1,69 +1,69 @@
 	.include "common.inc"
 	.include "arch.inc"
 
-comment "WARNING: asm-source.exp checks for line numbers printed by gdb."
-comment "Be careful about changing this file without also changing"
-comment "asm-source.exp."
+	comment "WARNING: asm-source.exp checks for line numbers printed by gdb."
+	comment "Be careful about changing this file without also changing"
+	comment "asm-source.exp."
 
 	
-comment	"This file is not linked with crt0."
-comment	"Provide very simplistic equivalent."
+	comment	"This file is not linked with crt0."
+	comment	"Provide very simplistic equivalent."
 	
 	.global _start
-gdbasm_declare _start
+	gdbasm_declare _start
 	gdbasm_startup
 	gdbasm_call main
 	gdbasm_exit0
 	gdbasm_end _start
 
-comment "main routine for assembly source debugging test"
-comment "This particular testcase uses macros in <arch>.inc to achieve"
-comment "machine independence."
+	comment "main routine for assembly source debugging test"
+	comment "This particular testcase uses macros in <arch>.inc to achieve"
+	comment "machine independence."
 
 	.global main
-gdbasm_declare main
+	gdbasm_declare main
 	gdbasm_enter
 
-comment "Call a macro that consists of several lines of assembler code."
+	comment "Call a macro that consists of several lines of assembler code."
 
 	gdbasm_several_nops
 
-comment "Call a subroutine in another file."
+	comment "Call a subroutine in another file."
 
 	gdbasm_call foo2
 
-comment "All done."
+	comment "All done."
 
 	gdbasm_exit0
 	gdbasm_end main
 
-comment "A routine for foo2 to call."
+	comment "A routine for foo2 to call."
 
 	.global foo3
-gdbasm_declare foo3
+	gdbasm_declare foo3
 	gdbasm_enter
 	gdbasm_leave
 	gdbasm_end foo3
 
 	.global exit
-gdbasm_declare exit
+	gdbasm_declare exit
 	gdbasm_exit0
 	gdbasm_end exit
 
-comment "A static function"
+	comment "A static function"
 
-gdbasm_declare foostatic
+	gdbasm_declare foostatic
 	gdbasm_enter
 	gdbasm_leave
 	gdbasm_end foostatic
 
-comment "A global variable"
+	comment "A global variable"
 
 	.global globalvar
-gdbasm_datavar	globalvar	11
+	gdbasm_datavar	globalvar	11
 
-comment "A static variable"
+	comment "A static variable"
 
-gdbasm_datavar	staticvar	5
+	gdbasm_datavar	staticvar	5
 
 	.include "note.inc"
Index: asmsrc2.s
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.asm/asmsrc2.s,v
retrieving revision 1.4
diff -u -p -r1.4 asmsrc2.s
--- asmsrc2.s	22 Oct 2002 01:43:37 -0000	1.4
+++ asmsrc2.s	30 Nov 2005 23:46:55 -0000
@@ -1,18 +1,18 @@
 	.include "common.inc"
 	.include "arch.inc"
 
-comment "Second file in assembly source debugging testcase."
+	comment "Second file in assembly source debugging testcase."
 
 	.global foo2
-gdbasm_declare foo2
+	gdbasm_declare foo2
 	gdbasm_enter
 
-comment "Call someplace else (several times)."
+	comment "Call someplace else (several times)."
 
 	gdbasm_call foo3
 	gdbasm_call foo3
 
-comment "All done, return."
+	comment "All done, return."
 
 	gdbasm_leave
 	gdbasm_end foo2
Index: common.inc
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.asm/common.inc,v
retrieving revision 1.3
diff -u -p -r1.3 common.inc
--- common.inc	22 Oct 2002 01:43:37 -0000	1.3
+++ common.inc	30 Nov 2005 23:46:55 -0000
@@ -23,14 +23,14 @@
 	.macro gdbasm_end name
 	.endm
 
-comment "arch.inc is responsible for defining the following macros:"
-comment "enter - subroutine prologue"
-comment "leave - subroutine epilogue"
-comment "call - call a named subroutine"
-comment "several_nops - execute several (typically 4) nops"
-comment "exit0 - exit (0)"
+	comment "arch.inc is responsible for defining the following macros:"
+	comment "enter - subroutine prologue"
+	comment "leave - subroutine epilogue"
+	comment "call - call a named subroutine"
+	comment "several_nops - execute several (typically 4) nops"
+	comment "exit0 - exit (0)"
 
-comment "arch.inc may also override the default definitions of:"
-comment "datavar - define a data variable"
-comment "declare - declare the start of a subroutine"
-comment "end - end a subroutine"
+	comment "arch.inc may also override the default definitions of:"
+	comment "datavar - define a data variable"
+	comment "declare - declare the start of a subroutine"
+	comment "end - end a subroutine"
--- pa64.inc	Wed Nov 30 18:47:45 2005
+++ pa64.inc	Wed Nov 30 18:45:18 2005
@@ -0,0 +1,46 @@
+	comment "subroutine prologue"
+	.macro gdbasm_enter
+	std %rp, -16(%sp)
+	copy %r3, %r1
+	copy %sp, %r3
+	std,ma %r1, 128(%sp)
+	.endm
+
+	comment "subroutine epilogue"
+	.macro gdbasm_leave
+	ldd -16(%r3), %rp
+	bve (%rp)
+	ldd,mb -128(%sp), %r3
+	.endm
+
+	.macro gdbasm_call subr
+	b,l	\subr , %rp
+	nop
+	.endm
+
+	.macro gdbasm_several_nops
+	nop
+	nop
+	nop
+	nop
+	.endm
+
+	comment "exit (0)"
+	.macro gdbasm_exit0
+	comment "Don't know how to exit, but this will certainly halt..."
+	ldw	0(%r0), %r1
+	.endm
+
+	comment "crt0 startup"
+	.macro gdbasm_startup
+	.align 8
+	.endm
+
+	comment "Declare a data variable"
+	.purgem gdbasm_datavar
+	.macro gdbasm_datavar name value
+	.data
+\name:
+	.long	\value
+	.endm
+

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