diff options
-rw-r--r-- | libc/sysdeps/linux/m68k/Makefile | 23 | ||||
-rw-r--r-- | libc/sysdeps/linux/m68k/crt0.s | 68 | ||||
-rw-r--r-- | libc/sysdeps/linux/m68k/errno.i | 282 | ||||
-rw-r--r-- | libc/sysdeps/linux/m68k/errno.s | 27 | ||||
-rw-r--r-- | libc/sysdeps/linux/m68k/setjmp.s | 66 |
5 files changed, 15 insertions, 451 deletions
diff --git a/libc/sysdeps/linux/m68k/Makefile b/libc/sysdeps/linux/m68k/Makefile index 6ee35f780..fd55d7944 100644 --- a/libc/sysdeps/linux/m68k/Makefile +++ b/libc/sysdeps/linux/m68k/Makefile @@ -27,29 +27,36 @@ ASFLAGS=$(CFLAGS) # If you're looking for vfork(), it is defined in include/unistd.h -SSRC=crt0.S setjmp.S # longjmp.S _start.S clone.S +CRT0=crt0.S +CRT0_OBJ=$(patsubst %.S,%.o, $(CRT0)) + +SSRC=setjmp.S # longjmp.S _start.S clone.S SOBJS=$(patsubst %.S,%.o, $(SSRC)) CSRC=errno.c COBJS=$(patsubst %.c,%.o, $(CSRC)) -OBJS=$(SOBJS) $(COBJS) +OBJS=$(SOBJS) $(MOBJ) $(COBJS) -all: $(OBJS) $(LIBC) - cp crt0.o $(TOPDIR) +all: $(OBJS) $(CRT0_OBJ) $(LIBC) $(LIBC): ar-target ar-target: $(OBJS) $(AR) $(ARFLAGS) $(LIBC) $(OBJS) -$(SOBJS): - $(CC) $(CFLAGS) $< -c $*.S -o $*.o +$(CRT0_OBJ): %.o : %.S + $(CC) $(CFLAGS) -c $< -o $@ + $(STRIPTOOL) -x -R .note -R .comment $*.o + cp $*.o $(TOPDIR)/libcrt0.o + +$(SOBJS): %.o : %.S + $(CC) $(CFLAGS) -c $< -o $@ $(STRIPTOOL) -x -R .note -R .comment $*.o -$(COBJS): - $(CC) $(CFLAGS) $< -c $*.c -o $*.o +$(COBJS): %.o : %.c + $(CC) $(CFLAGS) -c $< -o $@ $(STRIPTOOL) -x -R .note -R .comment $*.o clean: diff --git a/libc/sysdeps/linux/m68k/crt0.s b/libc/sysdeps/linux/m68k/crt0.s deleted file mode 100644 index 87bc173d8..000000000 --- a/libc/sysdeps/linux/m68k/crt0.s +++ /dev/null @@ -1,68 +0,0 @@ -# 1 "crt0.S" - - - - - - - - - - - - - - - - - - - - .global _start - .global __main - .global _end - - - .bss - .global environ -environ: - .long 0 - - .text -_start: - nop - nop - - movea.l %d5, %a5 - - lea __bss_start(%a5), %a0 - lea end(%a5), %a1 - - - - - - - - - - - - - - move.l 8(%sp), %d5 - move.l %d5, environ(%a5) - - bsr main - - move.l %d0,%sp@- - bsr exit - -# 69 "crt0.S" - - - .global _cleanup -_cleanup: - rts - - diff --git a/libc/sysdeps/linux/m68k/errno.i b/libc/sysdeps/linux/m68k/errno.i deleted file mode 100644 index b26fd2f19..000000000 --- a/libc/sysdeps/linux/m68k/errno.i +++ /dev/null @@ -1,282 +0,0 @@ -# 1 "errno.c" -# 1 "../../../include/errno.h" 1 - - - -# 1 "../../../include/features.h" 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# 51 "../../../include/features.h" - - - - - - - - - - - - - - - - - - - - - - -# 1 "../../../include/sys/cdefs.h" 1 - - - -# 1 "../../../include/features.h" 1 - -# 76 "../../../include/features.h" - - -# 4 "../../../include/sys/cdefs.h" 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# 73 "../../../include/features.h" 2 - - - - - -# 4 "../../../include/errno.h" 2 - -# 1 "../../../include/linux/errno.h" 1 - - - -# 1 "../../../include/asm/errno.h" 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# 4 "../../../include/linux/errno.h" 2 - - -# 14 "../../../include/linux/errno.h" - - - -# 5 "../../../include/errno.h" 2 - - -extern int sys_nerr; -extern char * sys_errlist[]; - - - - -extern int errno; -extern void perror ( char* __s) ; -extern char* strerror (int __errno) ; - - -# 1 "errno.c" 2 - - -int errno = 0; - -int * -__errno_location ( void ) -{ - return &errno; -} diff --git a/libc/sysdeps/linux/m68k/errno.s b/libc/sysdeps/linux/m68k/errno.s deleted file mode 100644 index bfd80af73..000000000 --- a/libc/sysdeps/linux/m68k/errno.s +++ /dev/null @@ -1,27 +0,0 @@ - .file "errno.c" -gcc2_compiled.: -__gnu_compiled_c: -.globl errno -.data - .even -errno: - .long 0 -.text - .even - .def __errno_location; .val __errno_location; .scl 2; .type 0144; .endef -.globl __errno_location -__errno_location: - .def .bf; .val .; .scl 101; .line 7; .endef - link.w %a6,#0 - .ln 2 - lea errno(%a5),%a0 - move.l %a0,%d1 - move.l %d1,%d0 - bra .L1 - .ln 3 -.L1: - .def .ef; .val .; .scl 101; .line 3; .endef - unlk %a6 - rts - .def __errno_location; .val .; .scl -1; .endef - .def errno; .val errno; .scl 2; .type 04; .endef diff --git a/libc/sysdeps/linux/m68k/setjmp.s b/libc/sysdeps/linux/m68k/setjmp.s deleted file mode 100644 index 2de2e1708..000000000 --- a/libc/sysdeps/linux/m68k/setjmp.s +++ /dev/null @@ -1,66 +0,0 @@ -# 1 "setjmp.S" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -.global setjmp -.global longjmp - - setjmp : - moveal %sp @(4), %a0 - movel %sp @(0), %a0 @(12) - movel %sp , %a0 @(8) - moveml %d2 - %d7 / %a2 - %a6 , %a0 @(20) - clrl %d0 - rts - - longjmp : - moveal %sp @(4), %a0 - movel %sp @(8), %d0 - bne 1f - movel #1, %d0 -1: - moveml %a0 @(20), %d2 - %d7 / %a2 - %a6 - moveal %a0 @(8), %sp - movel %a0 @(12), %sp @ - rts - -# 88 "setjmp.S" - |