Skip to content

Commit

Permalink
Add no-op .signal-state to x86-64 macOS and Linux
Browse files Browse the repository at this point in the history
This fixes the failure to build src/interpreter.ns due to not finding
last-signal.

While here, update copyright year for recently touched files.
  • Loading branch information
iru- committed May 23, 2024
1 parent be6387c commit 96c0a7a
Show file tree
Hide file tree
Showing 7 changed files with 15 additions and 16 deletions.
2 changes: 1 addition & 1 deletion src/arm64/Darwin.s
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: MIT
# Copyright (c) 2021-2022 Iruatã Martins dos Santos Souza
# Copyright (c) 2021-2024 Iruatã Martins dos Santos Souza

.text
#include "arm64/boot.s"
Expand Down
2 changes: 1 addition & 1 deletion src/arm64/boot.s
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: MIT
# Copyright (c) 2021-2022 Iruatã Martins dos Santos Souza
# Copyright (c) 2021-2024 Iruatã Martins dos Santos Souza

.data
.align 8
Expand Down
7 changes: 7 additions & 0 deletions src/arm64/signals.ns
Original file line number Diff line number Diff line change
Expand Up @@ -145,5 +145,12 @@ create sigdata
." return stack pointer (sp): " thread-state thread-state-sp @ .reg cr
." program counter (pc): " thread-state thread-state-pc @ .reg cr ;

: .signal-state
last-signal @ if
last-signal @ 0 last-signal !
.signal cr cr .stack cr .registers .backtrace
drop \ drop the value passed to siglongjmp(3)
(abort)
then ;

: segv!! $aaaa $bbbb $cccc $dddd $eeee $ffff $f0f0f0fa @ ;
12 changes: 1 addition & 11 deletions src/interpreter.ns
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
\ SPDX-License-Identifier: MIT
\ Copyright (c) 2018-2022 Iruatã Martins dos Santos Souza
\ Copyright (c) 2018-2024 Iruatã Martins dos Santos Souza

forth
0 value 'rel
Expand Down Expand Up @@ -42,16 +42,6 @@ forth
word dup 0 = if 2drop exit then
eval ?underflow evaluate ;

: .signal-state
NOPARCH " arm64" string= if
last-signal @ if
last-signal @ 0 last-signal !
.signal cr cr .stack cr .registers .backtrace
drop \ drop the value passed to siglongjmp(3)
(abort)
then
then ;

variable 'refill \ must be set before use
: refill 'refill @ execute ;
: refilled? ( -> n )
Expand Down
3 changes: 2 additions & 1 deletion src/x86_64/Darwin.s
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: MIT
# Copyright (c) 2018-2022 Iruatã Martins dos Santos Souza
# Copyright (c) 2018-2024 Iruatã Martins dos Santos Souza

.text
.include "x86_64/boot.s"
Expand Down Expand Up @@ -279,6 +279,7 @@ _kernbuf:
.incbin "memory.ns"
.incbin "string.ns"
.incbin "pictured.ns"
.incbin "x86_64/signals.ns"
.incbin "interpreter.ns"
.incbin "file.ns"
.incbin "shell.ns"
Expand Down
3 changes: 2 additions & 1 deletion src/x86_64/Linux.s
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: MIT
# Copyright (c) 2018-2022 Iruatã Martins dos Santos Souza
# Copyright (c) 2018-2024 Iruatã Martins dos Santos Souza

.equ MAP_ANONYMOUS, 0x20
errnoaddr = __errno_location
Expand All @@ -20,6 +20,7 @@ _kernbuf:
.incbin "memory.ns"
.incbin "string.ns"
.incbin "pictured.ns"
.incbin "x86_64/signals.ns"
.incbin "interpreter.ns"
.incbin "file.ns"
.incbin "shell.ns"
Expand Down
2 changes: 1 addition & 1 deletion src/x86_64/boot.s
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: MIT
# Copyright (c) 2018-2022 Iruatã Martins dos Santos Souza
# Copyright (c) 2018-2024 Iruatã Martins dos Santos Souza

.macro dup_
lea -8(%rbp), %rbp
Expand Down

0 comments on commit 96c0a7a

Please sign in to comment.