Commit Graph

2285 Commits

Author SHA1 Message Date
Jan (janneke) Nieuwenhuizen b2d10233a2
open3 2022-10-19 10:03:43 +02:00
Jan (janneke) Nieuwenhuizen c1172de272
mescc: Fix Guile warnings.
* module/mescc/mescc.scm (GUILE-with-output-to-file): Remove.n
(with-output-to-file): Rename to...
(with-output-to-file*): ...this.
(mescc:preprocess, mescc:compile, infos->hex2): Update callers.
2022-10-19 10:01:48 +02:00
Jan (janneke) Nieuwenhuizen 66309a2df7
!m2 2022-10-19 09:53:04 +02:00
Jan (janneke) Nieuwenhuizen 24b9afbd28
dun 2022-10-19 09:49:11 +02:00
Jan (janneke) Nieuwenhuizen 20442cae67
OK 2022-10-19 09:39:36 +02:00
Jan (janneke) Nieuwenhuizen 900bd8fc34
OK 2022-10-19 09:34:27 +02:00
Jan (janneke) Nieuwenhuizen 5f6f1039a5
lseek OK 2022-10-19 09:32:35 +02:00
Jan (janneke) Nieuwenhuizen 57bb5ae064
part lseek 2022-10-19 09:17:01 +02:00
Jan (janneke) Nieuwenhuizen 0695481526
waipit kast 2022-10-19 08:56:42 +02:00
Jan (janneke) Nieuwenhuizen 9b01ada0e4
ntoab stunts 2022-10-19 08:53:14 +02:00
Jan (janneke) Nieuwenhuizen 9be7cceddf
NEXT __M2__ 2022-10-19 08:49:24 +02:00
Jan (janneke) Nieuwenhuizen d6cf3b4e90
REMOVEME disable M2 2022-10-19 08:48:06 +02:00
Jan (janneke) Nieuwenhuizen 240da62bbc
next bit // CONSTANT 2022-10-19 08:43:32 +02:00
Jan (janneke) Nieuwenhuizen fd775493ce
FIRST BIT: M2 kaem.run: Remove --bootstrap-mode.
* include/linux/arm/syscall.h,
include/linux/x86/syscall.h,
include/mes/constants.h: Remove CONSTANTs.
* lib/m2/open.c: Move to...
* lib/linux/open.c: ...here.  Update to make gcc-compatible.
* scaffold/argv.kaem: Update accordingly.
* lib/linux/lseek.c (lseek): Suport M2-Planet.
* lib/linux/waitpid.c (waitpid): Suport M2-Planet.
* lib/m2/getcwd.c (PATH_MAX): Remove CONSTANT.
* lib/m2/isatty.c (TCGETS): Remove CONSTANT.
* lib/mes/ntoab.c: Support M2-Planet.
* lib/posix/getcwd.c (__getcwd_buf): Remove.
* lib/posix/getenv.c (M2_PTR_SIZE)[__M2__]: Update to #define.
* lib/posix/setenv.c: Likewise.
* lib/stub/__raise.c (SIGABRT): Remove CONSTANT.
* src/core.c (error): Use __M2__ instead of __M2_PLANET__.
* src/gc.c (M2_CELL_SIZE)[__M2__]: Update to #define.  Support
non-bootstrap-mode.
* src/posix.c: Likewise.
* src/symbol.c: Likewise.
* src/vector.c: Likewise.
* kaem.run: Remove --botstrap-mode.  Update source list accordingly.
* simple.make (M2_PLANET_FLAGS): Remove --bootstrap-mode.
* simple.make (M2_SOURCES, M2_PLANET_INCLUDES): Update source list
accordingly.
2022-10-19 08:40:11 +02:00
Jan (janneke) Nieuwenhuizen aa536a690f
Revert "kaem.run: Remove --bootstrap-mode."
This reverts commit b4405b54ea.
2022-10-19 08:21:55 +02:00
Jan (janneke) Nieuwenhuizen 78f4fff329
Revert "wip"
This reverts commit 87f0edc45b.
2022-10-19 08:21:52 +02:00
Jan (janneke) Nieuwenhuizen 87f0edc45b
wip 2022-10-19 08:21:14 +02:00
Jan (janneke) Nieuwenhuizen 54950f54bb
build When courageous, do build libgetopt and libtcc1.
* build-aux/build-lib.sh: Move building of libc+gnu and courageous exit
down.
2022-10-18 14:11:52 +02:00
Jan (janneke) Nieuwenhuizen b4405b54ea kaem.run: Remove --bootstrap-mode.
* include/linux/arm/syscall.h,
include/linux/x86/syscall.h,
include/mes/constants.h: Remove CONSTANTs.
* lib/m2/open.c: Move to...
* lib/linux/open.c: ...here.  Update to make gcc-compatible.
* scaffold/argv.kaem: Update accordingly.
* lib/linux/lseek.c (lseek): Suport M2-Planet.
* lib/linux/waitpid.c (waitpid): Suport M2-Planet.
* lib/m2/getcwd.c (PATH_MAX): Remove CONSTANT.
* lib/m2/isatty.c (TCGETS): Remove CONSTANT.
* lib/mes/ntoab.c: Support M2-Planet.
* lib/posix/getcwd.c (__getcwd_buf): Remove.
* lib/posix/getenv.c (M2_PTR_SIZE)[__M2__]: Update to #define.
* lib/posix/setenv.c: Likewise.
* lib/stub/__raise.c (SIGABRT): Remove CONSTANT.
* src/core.c (error): Use __M2__ instead of __M2_PLANET__.
* src/gc.c (M2_CELL_SIZE)[__M2__]: Update to #define.  Support
non-bootstrap-mode.
* src/posix.c: Likewise.
* src/symbol.c: Likewise.
* src/vector.c: Likewise.
* kaem.run: Remove --botstrap-mode.  Update source list accordingly.
* simple.make (M2_PLANET_FLAGS): Remove --bootstrap-mode.
* simple.make (M2_SOURCES, M2_PLANET_INCLUDES): Update source list
accordingly.
2022-10-17 13:58:45 +02:00
Jan (janneke) Nieuwenhuizen 27d17fec8a lib: posix/open: Support M2-Planet.
* lib/posix/open.c (open)[__M2__]: New function.
2022-10-17 13:58:45 +02:00
Jan (janneke) Nieuwenhuizen 550f765d04 lib: linux/_open3: Support M2-Planet.
* lib/linux/_open3.c (_open3): Use function casting.  Also call
__ungetc_init.
* lib/stub/__buffered_read.c: New file.
2022-10-17 13:58:45 +02:00
Jan (janneke) Nieuwenhuizen 8dec399965 kaem: read: Remove --bootstrap-mode.
* include/mes/lib.h[__M2__](__call_at_exit,abtod,dtoab,ultoa,
* include/sys/types.h[__M2__]: Fall back to unsigned instead of using
unsigned long.
* include/stdio.h[__M2__](fprintf, fscanf, printf, snprintf, sprintf,
sscanf): Hide prototypes.
* lib/stdlib/exit.c (exit)[__M2__]: Hide call to __call_at_exit.
* lib/linux/read.c (read)[__M2__]: Hide debugging.
* lib/linux/malloc.c (malloc)[__M2__]: Hide alignment.
__mesabi_umod, __mesabi_udiv, __mesabi_uldiv): Hide prototypes.
* scaffold/argv.kaem: Use them together with lib/mes/lib-mini.h instead of
lib/mes/* specializations.  Remove --bootstrap-mode from M2-Planet call.
2022-10-17 13:58:45 +02:00
Jan (janneke) Nieuwenhuizen dde844cc82 kaem: argv: Remove --bootstrap-mode.
* scaffold/argv.kaem: Use lib/mes/lib-mini.h instead of lib/m2/lib.h.
Remove --bootstrap-mode from M2-Planet call.
2022-10-17 13:58:45 +02:00
Jan (janneke) Nieuwenhuizen 59f7a39b8a kaem: hello: Remove --bootstrap-mode.
* include/mes/lib-mini.h: Remove M2 bootstrap constants.
[__M2__](size_t): Fall-back to unsigned instead of unsigned long.
* scaffold/hello.kaem: Use it instead of lib/m2/lib.h.  Remove
--bootstrap-mode from M2-Planet call.
2022-10-17 13:58:45 +02:00
Jan (janneke) Nieuwenhuizen 631c569967 kaem: main: Remove --bootstrap-mode.
* scaffold/main.kaem: Remove --bootstrap-mode from M2-Planet call.
2022-10-17 13:58:45 +02:00
Jan (janneke) Nieuwenhuizen 5db67d91ec simple.sh: Resurrect.
* simple.sh: Add src/globals.c, lib/stub/__raise.c.  Use
lib/linux/malloc.c instead of lib/stdlib/malloc.c.
2022-10-17 13:58:45 +02:00
Jan (janneke) Nieuwenhuizen b45acbfcbd simple.make: Resurrect.
* simple.make (M2_PLANET_FLAGS): Add --bootstrap-mode.
(M2_SOURCES): Use lib/mes/mini-write.c instead of lib/mes/write.c
2022-10-17 13:58:45 +02:00
Jan (janneke) Nieuwenhuizen 1c5158f170 lib: linux/read: Fix compile warnings.
* lib/linux/read.c (read): Cast filedes, buffer to long.
2022-10-17 13:58:45 +02:00
Jan (janneke) Nieuwenhuizen 49a14c9638 lib: mes/write: Rename from mes/mini-write.c
* lib/mes/mini-write.c: Move to...
* lib/mes/write.c: ...here.
* build-aux/configure-lib.sh,
kaem.run,
scaffold/argv.kaem,
scaffold/global-array.kaem,
scaffold/hello.kaem,
scaffold/local-array.kaem,
scaffold/local-static-array.kaem,
scaffold/read.kaem,
simple.make,
simple.sh: Update accordingly.
2022-10-17 13:58:45 +02:00
Jan (janneke) Nieuwenhuizen 31fa9e1685 build: Cater for colliding basename in C sources.
This is a follow-up to commit
    f785f8d560
    build: Fix --with-bootstrap build.

* build-aux/cc.sh: Retain directory name in object file name.
* build-aux/bootstrap.sh.in: Likewise.  Compile crt1.c from local
directory.
* build-aux/build-lib.sh: Likewise.
* build-aux/build.sh.in: Remove globals.o hack.
2022-10-17 13:58:45 +02:00
Jan (janneke) Nieuwenhuizen b3d82b81d8 guix: m2-planet: Update to 1.10.0.
* guix/git/mes.scm (m2-planet): Update to 1.10.0.
2022-10-17 13:58:45 +02:00
Gabriel Wicki 130dcc31f5 core: Simplify math expressions.
* src/gc.c (gc_up_arena): Use division instead of shift.
(gc_flip): Simplify (free-news) * 1.5.
2022-10-17 13:58:45 +02:00
Ekaitz 05ec42d307 doc: Fix typos.
* doc/mes.texi (Invoking mescc): Fix typo.
* module/mescc.scm (parse-opts): Likewise.
2022-10-17 13:58:45 +02:00
Ekaitz 08206b90b3 mescc: Add X86_64 assembly defines for TinyCC compilation.
* lib/x86_64-mes/x86_64.M1 ( mov____%si,(%rdi), mov____%sil,(%rdi),
mov____(%rax),%si, mov____(%rax),%sil): New defines.
2022-10-17 13:58:45 +02:00
Jan (janneke) Nieuwenhuizen 92b1cccb87 build: Support bootstrap build without kaem/M2-Planet.
* configure.sh (M2_PLANET): Typo.  Allow check to fail.
(KAEM): Allow check to fail.
2022-10-17 13:58:33 +02:00
Jan (janneke) Nieuwenhuizen 879399e766
guix: mes: Update to 0.24.1.
* guix/git/mes.scm (mes)[source]: Update to 0.24.1.
2022-10-16 10:14:43 +02:00
Jan (janneke) Nieuwenhuizen 550ef59cf0
doc: Enlarge guix graph bootstrap image.
* doc/mes.texi (The Mes Bootstrap Process): Use 6in width.
2022-10-16 11:06:37 +02:00
Jan (janneke) Nieuwenhuizen 678b23a2ca
doc: Typo.
* doc/announce/ANNOUNCE-0.24.1: Typo.
2022-10-16 10:09:26 +02:00
Jan (janneke) Nieuwenhuizen 343ac812ca
doc: Typo.
* doc/announce/ANNOUNCE-0.24.1 (Subject): Typo.
2022-10-16 10:04:48 +02:00
Jan (janneke) Nieuwenhuizen d6e3d26478
doc: Post-release update.
* doc/announce/ANNOUNCE-0.24.1 (Subject): Update Add gen-announce
checksums by running `make sum-announce'.
* build-aux/GNUmakefile.in (--previous-version): Update to 0.24.1.
2022-10-16 09:57:43 +02:00
Jan (janneke) Nieuwenhuizen 62fbe42c5c
guix: mes: Update to 0.24.1.
* guix/git/mes.scm (mes)[source]: Update to 0.24.1.
2022-10-16 09:56:31 +02:00
Jan (janneke) Nieuwenhuizen e37e564ae3
build: Release 0.24.1.
* configure (VERSION): Bump to 0.24.1.
* configure.sh (VERSION): Likewise.
2022-10-15 09:52:04 +02:00
Jan (janneke) Nieuwenhuizen cb39c832a5
doc: Update `ROADMAP'.
* ROADMAP (release 0.x, unsorted): Add Full Source bootstrap and
wip-aarch64-bootstrap branch.  Move DONE item...
(DONE): ...here.
2022-10-15 10:05:13 +02:00
Jan (janneke) Nieuwenhuizen 60965a172c
doc: Add ANNOUNCE-0.24.1.
* doc/announce/ANNOUNCE-0.24 (Subject): New file.
2022-10-15 10:13:09 +02:00
Jan (janneke) Nieuwenhuizen e70409d666
doc: Update `NEWS'.
* NEWS (Changes in 0.24.1 since 0.24): New section.
2022-10-15 10:01:10 +02:00
Jan (janneke) Nieuwenhuizen 074fa78f5e
lib/test: Cater for gcc-12.2.0.
These inexplicably avoid segfaults with gcc-12.2.0.

* lib/tests/posix/50-open-read.c (main)[__GNUC__ > 11]: Use malloc
instead of local allocated string.
* lib/tests/scaffold/7i-struct-struct.c (main)[__GNUC__ > 11]:
Initialize all fields of struct.
* lib/tests/scaffold/t.c (main): Likewise.
2022-09-15 13:56:38 +02:00
Jan (janneke) Nieuwenhuizen ac1fab97e5
doc: Update `PORTING'.
* PORTING (Setup environment): Update guile, gcc-toolchain, pin
nyacc@1.00.2.
2022-06-01 14:24:34 +02:00
Rick Masters fdac9fd3f2
lib: abtol: Fix number digits in hex number conversion.
After a letter based digit, number based digits are off.

* lib/mes/abtol.c (abtol): Reset "m" for number based digit.
* lib/tests/stdlib/70-strtoull.c (main): Test it.
* lib/tests/stdlib/90-strtol.c (main): Likewise.
2022-10-07 11:59:57 +02:00
Jan (janneke) Nieuwenhuizen 2cfce3186b
ARM: Use explicit remainder in __mesabi_uldiv call.
This inexplicably fixes a segfault in tcc-boot0.

* module/mescc/armv4/as.scm (armv4:r0/r1): Instead of using "push 0",
use explicit slot for remainder.
2022-09-13 13:52:03 +02:00
Jan (janneke) Nieuwenhuizen eee5398f3b
ARM: Fix unsigned modulo.
* lib/arm-mes/arm.M1 (mov____%esp,%r3): New macro.
* module/mescc/armv4/as.scm (armv4:r0%r1): Use it to avoid overwriting
%r0 before caling __mesabi_uldiv.
2022-09-12 09:47:28 +02:00