ported back to linux
This commit is contained in:
parent
c9516d07d6
commit
ce7b0d25cb
|
@ -1,7 +1,7 @@
|
|||
|
||||
CFLAGS = -Wall -DNDEBUG -O3
|
||||
CFLAGS = -I/opt/local/include -Wall -DNDEBUG -O3
|
||||
#CFLAGS = -Wall -g
|
||||
LDFLAGS = -g -ldl -lgmp -dynamic
|
||||
LDFLAGS = -L/opt/local/lib -g -ldl -lgmp -rdynamic
|
||||
CC = gcc
|
||||
all: ikarus
|
||||
|
||||
|
@ -49,4 +49,4 @@ ikarus.h: ikarus-data.h
|
|||
touch ikarus.h
|
||||
|
||||
clean:
|
||||
rm -f *.o ikarus
|
||||
rm -f *.o
|
||||
|
|
BIN
runtime/ikarus
BIN
runtime/ikarus
Binary file not shown.
|
@ -1,10 +1,14 @@
|
|||
|
||||
.text
|
||||
.globl ik_asm_enter
|
||||
.globl _ik_asm_enter
|
||||
.globl ik_underflow_handler
|
||||
.globl ik_foreign_call
|
||||
.globl _ik_foreign_call
|
||||
.globl ik_asm_reenter
|
||||
.globl _ik_asm_reenter
|
||||
.align 8
|
||||
ik_asm_enter:
|
||||
_ik_asm_enter:
|
||||
# ignored value is the third arg 12(%esp)
|
||||
# code is the second arg 8(%esp)
|
||||
|
@ -50,6 +54,7 @@ L_multivalue_underflow:
|
|||
jmp L_do_underflow
|
||||
|
||||
.align 8
|
||||
ik_asm_reenter:
|
||||
_ik_asm_reenter:
|
||||
# argc is at 12(%esp)
|
||||
# scheme stack is third arg 8(%esp)
|
||||
|
@ -74,6 +79,7 @@ L_multi_reentry:
|
|||
|
||||
|
||||
.align 8
|
||||
ik_foreign_call:
|
||||
_ik_foreign_call:
|
||||
movl %esp, 8(%esi) # (movl fpr (pcb-ref 'frame-pointer))
|
||||
movl %ebp, 0(%esi) # (movl apr (pcb-ref 'allocation-pointer))
|
||||
|
|
|
@ -13,6 +13,9 @@
|
|||
#include <sys/mman.h>
|
||||
#include <dlfcn.h>
|
||||
|
||||
#ifndef RTLD_DEFAULT
|
||||
#define RTLD_DEFAULT 0
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
char* membase;
|
||||
|
|
Loading…
Reference in New Issue