Commit 712c940d authored by Arjan Oortgiese's avatar Arjan Oortgiese

Added ARM graph copy interface from SVN...

Added ARM graph copy interface from SVN (https://svn.cs.ru.nl/repos/clean-libraries/trunk/Libraries/graph_copy/)
parent b1f7bcfe
# Build graph_copy for Linux ARM devices (e.g. Android or Raspberry Pi)
CC=gcc
AS=as
OUTDIR="Clean System Files"
all: copy_graph_to_string.o copy_string_to_graph.o copy_graph_to_string_interface.o copy_string_to_graph_interface.o
copy_graph_to_string.o: ../common/copy_graph_to_string.c
mkdir -p $(OUTDIR)
$(CC) $(CFLAGS) -fomit-frame-pointer -O -c -DLINUX32 ../common/copy_graph_to_string.c -o $(OUTDIR)/copy_graph_to_string.o
copy_string_to_graph.o: ../common/copy_string_to_graph.c
mkdir -p $(OUTDIR)
$(CC) $(CFLAGS) -fomit-frame-pointer -O -c -DLINUX32 ../common/copy_string_to_graph.c -o $(OUTDIR)/copy_string_to_graph.o
copy_graph_to_string_interface.o: copy_graph_to_string_interface_linux_arm.s
mkdir -p $(OUTDIR)
$(AS) $(ASFLAGS) copy_graph_to_string_interface_linux_arm.s -o $(OUTDIR)/copy_graph_to_string_interface.o
copy_string_to_graph_interface.o: copy_string_to_graph_interface_linux_arm.s
mkdir -p $(OUTDIR)
$(AS) $(ASFLAGS) copy_string_to_graph_interface_linux_arm.s -o $(OUTDIR)/copy_string_to_graph_interface.o
.globl copy_graph_to_string
.globl remove_forwarding_pointers_from_graph
.globl collect_1
.text
.globl __copy__graph__to__string
__copy__graph__to__string:
add r2,r10,r5,lsl #2
mov r1,r10
mov r0,r6
mov r11,sp
bic sp,sp,#4
bl copy_graph_to_string
mov sp,r11
str r0,[sp,#-4]!
add r1,r10,r5,lsl #2
mov r0,r6
mov r11,sp
bic sp,sp,#4
bl remove_forwarding_pointers_from_graph
mov sp,r11
ldr r7,[sp],#4
cmp r7,#0
bne __copy__graph__to__string_1
add r4,r5,#1
sub r5,r5,r4
bl collect_1
add r5,r5,r4
b __copy__graph__to__string
__copy__graph__to__string_1:
ldr r4,[r7,#4]
mov r6,r7
add r4,r4,#8+3
and r3,r4,#-4
add r10,r10,r3
sub r5,r5,r4,lsr #2
ldr pc,[sp],#4
.globl collect_1
.globl copy_string_to_graph
.globl remove_forwarding_pointers_from_string
.text
.globl __copy__string__to__graph
__copy__string__to__graph:
sub sp,sp,#4
mov r3,sp
add r2,r10,r5,lsl #2
mov r1,r10
mov r0,r6
mov r11,sp
bic sp,sp,#4
bl copy_string_to_graph
mov sp,r11
tst r0,#1
beq __copy__string__to__graph_1
ldr r7,[sp],#4
and r1,r0,#-4
mov r0,r6
mov r11,sp
bic sp,sp,#4
bl remove_forwarding_pointers_from_string
mov sp,r11
sub r4,r7,r10
sub r5,r5,r4
bl collect_1
add r5,r5,r4
b __copy__string__to__graph
__copy__string__to__graph_1:
ldr r12,[sp],#4
mov r6,r0
sub r4,r12,r10
mov r10,r12
sub r5,r5,r4,lsr #2
ldr pc,[sp],#4
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment