This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[RFA] Fix gdb.asm/asm-source.exp for hppa64-hpux
- From: Randolph Chung <randolph at tausq dot org>
- To: gdb-patches at sources dot redhat dot com
- Date: Thu, 01 Dec 2005 07:56:22 +0800
- Subject: [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
+