Support gdb.asm/asm-source.exp on powerpc64le
authorUlrich Weigand <ulrich.weigand@de.ibm.com>
Tue, 25 Mar 2014 14:39:32 +0000 (15:39 +0100)
committerUlrich Weigand <ulrich.weigand@de.ibm.com>
Tue, 25 Mar 2014 14:39:32 +0000 (15:39 +0100)
Add new powerpc64le.inc file appropriate for the ELFv2 ABI and
use it to support the asm-source.exp test case on powerpc64le.

gdb/testsuite/
2014-03-25  Ulrich Weigand  <uweigand@de.ibm.com>

* gdb.asm/asm-source.exp: Handle powerpc64le-* targets.
* gdb.asm/powerpc64le.inc: New file.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.asm/asm-source.exp
gdb/testsuite/gdb.asm/powerpc64le.inc [new file with mode: 0644]

index b7bc990754cdc40fed2d53b7103d8f3ff9e510ff..678be17c382ac0e00f044daef82abe78bfefaac1 100644 (file)
@@ -1,3 +1,8 @@
+2014-03-25  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * gdb.asm/asm-source.exp: Handle powerpc64le-* targets.
+       * gdb.asm/powerpc64le.inc: New file.
+
 2014-03-25  Pedro Alves  <palves@redhat.com>
            Doug Evans  <dje@google.com>
 
index 51aca8ef4e89a41eee293652af6cba12dcad3709..fa4585c188194574d7d14c03bc5255453dfa28b4 100644 (file)
@@ -97,6 +97,11 @@ switch -glob -- [istarget] {
     "mips*-*" {
         set asm-arch mips
     }
+    "powerpc64le-*" {
+        set asm-arch powerpc64le
+        set asm-flags "-a64 -I${srcdir}/${subdir} $obj_include"
+        append link-flags " -m elf64lppc"
+    }
     "powerpc*-*" {
         if { [is_lp64_target] } {
             set asm-arch powerpc64
diff --git a/gdb/testsuite/gdb.asm/powerpc64le.inc b/gdb/testsuite/gdb.asm/powerpc64le.inc
new file mode 100644 (file)
index 0000000..d559f66
--- /dev/null
@@ -0,0 +1,47 @@
+       comment "subroutine prologue"
+       .macro gdbasm_enter
+       stdu 1, -32(1)
+       mflr 0
+       std 0, 48(1)
+       .endm
+
+       comment "subroutine epilogue"
+       .macro gdbasm_leave
+       ld 0, 48(1)
+       mtlr 0
+       ld 1, 0(1)
+       blr
+       .endm
+
+       .macro gdbasm_call subr
+       bl \subr
+       nop
+       .endm
+
+       .macro gdbasm_several_nops
+       nop
+       nop
+       nop
+       nop
+       .endm
+
+       comment "exit (0)"
+       .macro gdbasm_exit0
+       comment "sys_exit"
+       li      0, 1
+       sc
+       .endm
+
+       comment "crt0 startup"
+       .macro gdbasm_startup
+       .abiversion 2
+       .p2align 2
+       .endm
+
+       comment "Declare a data variable"
+       .purgem gdbasm_datavar
+       .macro gdbasm_datavar name value
+       .section        ".data"
+\name:
+       .long \value
+       .endm