Releases: oriansj/stage0-posix
Releases · oriansj/stage0-posix
stage0-posix 1.7.0
M2-Planet
- Added more advanced switch statement tests
- Fix a typo in the docs
- Remove
VPATH
from makefiles. - add missing make
${program}
targets - Add M2-planet and M2-minimal makefile targets to
.PHONY
- ensure arithmetic priority better matches the C spec
M2-Mesoplanet
- Ignore UEFI files if Linux; ignore linux files if UEFI
M2libc
- Add syscalls needed for a simple sandbox
- Fix function formatting to comply with existing standard
- Fix UEFI calling convention.
- Improve handling of relative paths in UEFI.
- Remove
/./
from paths rather than convert them to///
. - Fix file opening modes in UEFI (
==
has higher precedence than|
) - Add non-trivial access function to UEFI.
- Add UEFI task priority level defines.
- Add dummy
stdint.h
- Fix
sal_eax,cl
andsal_rax,cl
encoding. - Move the
utsname
struct definition tosys/utsname.h
- Add dummy
sys/wait.h
- A very rough prototype for
strstr
- ensure needed libraries are read first for
fcntl.h
mescc-tools
- Fix shebang of
check.sh
- makefile: Call
cleanup.sh
fortest12
andtest13
- Remove
VPATH
from makefile. - Also fix kaem's makefile
mescc-tools-extra
- Remove
VPATH
from makefile - Remove obsolete comment from makefile
- Add
wrap
- A small bubblewrap like program - clean up cc_*-isms
- Add a fully functional
unxz
program
bootstrap-seeds
- Reduced
POSIX/x86/hex0-seed
from 256 to 190 bytes. - Fix UEFI bootstrap binaries.
- Fix minor typos in comments in UEFI kaem-optional
- Make sure
read
function works if file descriptor is longer than 1 byte.
stage0-posix-x86
- Fix encoding for
sal_eax,cl
stage0-posix-amd64
- Fix encoding of some mov instructions to actually use 64-bit registers rather than 32
- Fix encoding for
sal_rax,cl
.
stage0-posix-aarch64
- Add
M2libc/stdio.h
to build sources. - Set
OPERATING_SYSTEM=Linux
environmental variable. - Fix a typo in a comment in
cc_aarch64
stage0-posix-riscv64
stage0-posix-riscv32
stage0-posix 1.6.0
M2-Planet
- Added support for
#warning
. - Added global structs (and
.
operator). - Added local structs.
- Added
(u)int8_t
,(u)int16_t
and(u)int32_t
. - Properly remove blocks that are not used (e.g. after
#if 0
) - Fixed doubly indirect structs.
- Fixed a few segfaults.
- Fixed macro expressions with
)
. - Add sufficient padding when assigning global constants on 64-bit architectures.
- Fix structs greater than 512bytes in size on armv7l.
M2-Mesoplanet
- Added
#warning
. - Added
-D
flags. - Added support for building UEFI binaries.
- Fixed macro expressions with
)
. - Fixed
--no-includes
option.
M2libc
- Added a memory manager for
malloc()
andfree()
. - Added
getenv
andsetenv
calls. - Added support for building UEFI applications.
mescc-tools
- Set
SHELL
variable inkaem
. - Fix
kaem
aliases that are longer than commands. kaem
now supports running commands with 510 command line arguments instead of 254.- Fix quoted
DEFINE
statements inM1
. hex2
added support for signed and unsignedrange_check
behavior.- Fix
kaem
bug whereunset
removes the first environment variable when a token value isNULL
.
mescc-tools-extra
- Added
unbz2
. - Added
replace
utility to replace strings in file. - Added
rm
to remove files. - Added
--file
and--output
toungz
. - Added
--verbose
tountar
and made default mode quiet. - Fixed some segfaults.
bootstrap-seeds
- Reduced
POSIX/x86/hex0-seed
from 357 to 256 bytes. - Reduced
POSIX/x86/kaem-optional-seed
from 757 to 640 bytes. - Reduced
POSIX/AMD64/hex0-seed
to from 405 to 292 bytes. - Reduced
POSIX/AMD64/kaem-optional-seed
from 896 to 618 bytes. - Add
NATIVE/x86/builder-hex0-x86-stage1.img
seed for kernel bootstrapping.
stage0-posix-x86
- Switched
M1
defines to GAS-like style.
stage0-posix-amd64
- All binaries except for
kaem-optional
are now position independent (PIE). - Switched
M1
defines to GAS-like style.
stage0-posix-aarch64
stage0-posix-riscv64
- Switch to lowercase
M1
defines.
stage0-posix-riscv32
- Switch to lowercase
M1
defines.