summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libc/sysdeps/linux/m68k/Makefile23
-rw-r--r--libc/sysdeps/linux/m68k/crt0.s68
-rw-r--r--libc/sysdeps/linux/m68k/errno.i282
-rw-r--r--libc/sysdeps/linux/m68k/errno.s27
-rw-r--r--libc/sysdeps/linux/m68k/setjmp.s66
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"
-