First iteration
This commit is contained in:
commit
e07d65cd54
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
build/
|
15
bootstrap/entry.S
Normal file
15
bootstrap/entry.S
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
.section .text
|
||||||
|
.extern entry_point
|
||||||
|
.global _start
|
||||||
|
_start:
|
||||||
|
xor %ebp, %ebp
|
||||||
|
popq %rdi
|
||||||
|
mov %rsp, %rsi
|
||||||
|
and $~0xf, %rsp
|
||||||
|
pushq %rsp
|
||||||
|
pushq $0
|
||||||
|
call entry_point
|
||||||
|
mov $231, %eax
|
||||||
|
xor %edi, %edi
|
||||||
|
syscall
|
||||||
|
|
2933
bootstrap/main.cpp
Normal file
2933
bootstrap/main.cpp
Normal file
File diff suppressed because it is too large
Load Diff
23
run.sh
Executable file
23
run.sh
Executable file
@ -0,0 +1,23 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -ex
|
||||||
|
mkdir -p build
|
||||||
|
time clang++ \
|
||||||
|
-o build/hatch \
|
||||||
|
bootstrap/main.cpp \
|
||||||
|
bootstrap/entry.S \
|
||||||
|
-g \
|
||||||
|
-std=gnu++23 \
|
||||||
|
-Wall \
|
||||||
|
-Wextra \
|
||||||
|
-Wpedantic \
|
||||||
|
-Wno-nested-anon-types \
|
||||||
|
-pedantic \
|
||||||
|
-ffreestanding \
|
||||||
|
-nostdlib \
|
||||||
|
-static \
|
||||||
|
-fno-exceptions \
|
||||||
|
-fno-stack-protector \
|
||||||
|
-ferror-limit=1 \
|
||||||
|
`#-ftime-report` \
|
||||||
|
-MJ build/compile_commands.json
|
||||||
|
gf2 -ex r build/hatch
|
4
tests/first/main.nat
Normal file
4
tests/first/main.nat
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
fn[cc(.c)] main [export] () s32
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user