aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/testsuite/gas/hppa/reloc/.Sanitize1
-rw-r--r--gas/testsuite/gas/hppa/reloc/longcall.s40
2 files changed, 41 insertions, 0 deletions
diff --git a/gas/testsuite/gas/hppa/reloc/.Sanitize b/gas/testsuite/gas/hppa/reloc/.Sanitize
index baf760f..19b6d25 100644
--- a/gas/testsuite/gas/hppa/reloc/.Sanitize
+++ b/gas/testsuite/gas/hppa/reloc/.Sanitize
@@ -34,6 +34,7 @@ exitbug.s
fixupbug.s
funcrelocbug.s
labelopbug.s
+longcall.s
picreloc.s
plabelbug.s
reduce.s
diff --git a/gas/testsuite/gas/hppa/reloc/longcall.s b/gas/testsuite/gas/hppa/reloc/longcall.s
new file mode 100644
index 0000000..da62be7
--- /dev/null
+++ b/gas/testsuite/gas/hppa/reloc/longcall.s
@@ -0,0 +1,40 @@
+ .SPACE $PRIVATE$
+ .SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
+ .SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
+ .SPACE $TEXT$
+ .SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
+ .SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
+ .IMPORT $global$,DATA
+ .IMPORT $$dyncall,MILLICODE
+; gcc_compiled.:
+ .IMPORT bar,CODE
+ .SPACE $TEXT$
+ .SUBSPA $CODE$
+
+ .align 4
+ .EXPORT foo,CODE
+ .EXPORT foo,ENTRY,PRIV_LEV=3,RTNVAL=GR
+foo
+ .PROC
+ .CALLINFO FRAME=64,CALLS,SAVE_RP
+ .ENTRY
+ stw %r2,-20(0,%r30)
+ .CALL
+ bl bar,%r2
+ ldo 64(%r30),%r30
+ .blockz 262144
+ ldw -84(0,%r30),%r2
+ bv 0(%r2)
+ ldo -64(%r30),%r30
+ .EXIT
+ .PROCEND
+ .align 4
+ .EXPORT bar,CODE
+ .EXPORT bar,ENTRY,PRIV_LEV=3,RTNVAL=GR
+bar
+ .PROC
+ .CALLINFO FRAME=0,NO_CALLS
+ .ENTRY
+ bv,n 0(%r2)
+ .EXIT
+ .PROCEND