~ubuntu-branches/debian/squeeze/ffcall/squeeze

« back to all changes in this revision

Viewing changes to .pc/debian-changes-1.10+2.41-4/ffcall/callback/trampoline_r/tramp-arm.s

  • Committer: Bazaar Package Importer
  • Author(s): Christoph Egger
  • Date: 2010-06-26 15:29:30 UTC
  • mfrom: (5.1.1 experimental)
  • Revision ID: james.westby@ubuntu.com-20100626152930-c09y01gk3szcnykn
Tags: 1.10+cvs20100619-2
Ship to unstable

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
@ Trampoline for arm CPU
2
 
 
3
 
@ Copyright 1995-1997 Bruno Haible, <bruno@clisp.org>
4
 
@
5
 
@ This is free software distributed under the GNU General Public Licence
6
 
@ described in the file COPYING. Contact the author if you don't have this
7
 
@ or can't live with it. There is ABSOLUTELY NO WARRANTY, explicit or implied,
8
 
@ on this software.
9
 
 
10
 
@ Available registers: ip.
11
 
 
12
 
rfp     .req    r9
13
 
sl      .req    r10
14
 
fp      .req    r11
15
 
ip      .req    r12
16
 
sp      .req    r13
17
 
lr      .req    r14
18
 
pc      .req    r15
19
 
.text
20
 
        .align  0
21
 
        .global _tramp
22
 
_tramp:
23
 
        @ Immediate constants are a problem. I take the indirect load approach
24
 
        @ because I don't want 4 instructions for each constant.
25
 
        ldr     ip,[pc,#_function-.-8]
26
 
        ldr     ip,[ip,#0]
27
 
        stmfd   sp!,{ip}
28
 
        ldr     ip,[pc,#_data-.-8]
29
 
        ldr     ip,[ip,#0]
30
 
        ldmfd   sp!,{pc}^
31
 
 
32
 
        .global _data
33
 
        .align  0
34
 
_data:
35
 
        .word   0x73554711
36
 
 
37
 
        .global _function
38
 
        .align  0
39
 
_function:
40
 
        .word   0xbabebec0