Skip to content

Releases: oriansj/stage0-posix

stage0-posix 1.7.0

24 Sep 18:44
Release_1.7.0
8ea80b6
Compare
Choose a tag to compare

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 and sal_rax,cl encoding.
  • Move the utsname struct definition to sys/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 for test12 and test13
  • 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

02 Nov 00:10
Release_1.6.0
a5c382e
Compare
Choose a tag to compare

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() and free().
  • Added getenv and setenv calls.
  • Added support for building UEFI applications.

mescc-tools

  • Set SHELL variable in kaem.
  • 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 in M1.
  • hex2 added support for signed and unsigned range_check behavior.
  • Fix kaem bug where unset removes the first environment variable when a token value is NULL.

mescc-tools-extra

  • Added unbz2.
  • Added replace utility to replace strings in file.
  • Added rm to remove files.
  • Added --file and --output to ungz.
  • Added --verbose to untar 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.