aboutsummaryrefslogtreecommitdiff
path: root/boehm-gc/rs6000_mach_dep.s
diff options
context:
space:
mode:
authordje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>2002-01-25 18:06:24 +0000
committerdje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>2002-01-25 18:06:24 +0000
commitfeabd58cbf3080fee17e1792f821582bd08fd8d5 (patch)
treee5a833a73574d5e62d52532dad7b1f72cb709cba /boehm-gc/rs6000_mach_dep.s
parent85f6e5ea38ececad9926ac3f1895fb04951ed91e (diff)
* include/gc.h (GC_INIT): Add DATASTART and DATAEND roots on AIX.
* include/private/gcconfig.h (RS6000): Add 64-bit AIX support. Define USE_GENERIC_PUSH_REGS. Use AIX _data and _end symbols for DATASTART and DATAEND roots. * rs6000_mach_dep.s: Add function descriptor and traceback table. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49218 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'boehm-gc/rs6000_mach_dep.s')
-rw-r--r--boehm-gc/rs6000_mach_dep.s13
1 files changed, 11 insertions, 2 deletions
diff --git a/boehm-gc/rs6000_mach_dep.s b/boehm-gc/rs6000_mach_dep.s
index e0dbe808596..12bf9a84d51 100644
--- a/boehm-gc/rs6000_mach_dep.s
+++ b/boehm-gc/rs6000_mach_dep.s
@@ -1,4 +1,3 @@
- .csect
.set r0,0
.set r1,1
.set r2,2
@@ -32,10 +31,18 @@
.set r30,30
.set r31,31
+ .extern .GC_push_one
# Mark from machine registers that are saved by C compiler
.globl .GC_push_regs
+.csect .text[PR]
+ .align 2
+ .globl GC_push_regs
+ .globl .GC_push_regs
+.csect GC_push_regs[DS]
+GC_push_regs:
+ .long .GC_push_regs, TOC[tc0], 0
+.csect .text[PR]
.GC_push_regs:
- .extern .GC_push_one
stu r1,-64(r1) # reserve stack frame
mflr r0 # save link register
st r0,0x48(r1)
@@ -103,3 +110,5 @@
mtlr r0
ai r1,r1,64
br
+ .long 0
+ .byte 0,0,0,0,0,0,0,0