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