diff options
-rw-r--r-- | gas/testsuite/gas/hppa/reloc/.Sanitize | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/hppa/reloc/longcall.s | 40 |
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 |