From 8ab7217212af0e49cb18bb06e82ac9f2f428e76c Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Wed, 19 Oct 2016 20:53:48 +0100 Subject: [PATCH] 68000: add all the pieces for the signal return path helper --- Library/elf2flt.ld | 1 + Library/libs/Makefile.68000 | 2 +- Library/libs/signal68000.S | 12 ++++++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 Library/libs/signal68000.S diff --git a/Library/elf2flt.ld b/Library/elf2flt.ld index d9f26b40..82c97fa5 100644 --- a/Library/elf2flt.ld +++ b/Library/elf2flt.ld @@ -16,6 +16,7 @@ SECTIONS { . = . + 4; . = ALIGN(0x4) ; _stext = . ; + *(.signal) *(.literal .text) *(.literal.* .text.*) *(.gnu.warning) diff --git a/Library/libs/Makefile.68000 b/Library/libs/Makefile.68000 index 82e5a595..fd368b5c 100644 --- a/Library/libs/Makefile.68000 +++ b/Library/libs/Makefile.68000 @@ -11,7 +11,7 @@ KRN_HEADERS_SRC = $(addprefix ../../Kernel/include/,$(KRN_HEADERS)) KRN_HEADERS_COPY = $(addprefix ../include/sys/,$(KRN_HEADERS)) SRC_CRT0 = crt0_$(PLATFORM).s crt0nostdio_$(PLATFORM).s OBJ_CRT0 = $(SRC_CRT0:.s=.o) -SRC_ASM = setjmp_68000.S +SRC_ASM = setjmp_68000.S signal68000.S OBJ_ASM = $(SRC_ASM:.S=.o) SRC_C = __argv.c abort.c asctime.c assert.c atexit.c SRC_C += bcmp.c bcopy.c bsearch.c bzero.c calloc.c cfree.c clock.c closedir.c diff --git a/Library/libs/signal68000.S b/Library/libs/signal68000.S new file mode 100644 index 00000000..e02607fa --- /dev/null +++ b/Library/libs/signal68000.S @@ -0,0 +1,12 @@ + .section signal,"x" + + .globl _sigunwind + +.mri 1 +; +; Must be linked first (base + 0x40) +; +_sigunwind: + movem.l (sp)+,a0/a1/d0/d1 + move.w (sp)+,ccr + rts -- 2.34.1