Jan (janneke) Nieuwenhuizen
1e14c26305
lib/m2: time: Fix segfault by allocating timeval struct.
...
Suggested by Meghan Denny <hello@nektro.net>.
* lib/m2/time.c (__tv): New global variable.
(time): Use it to allocate timeval struct.
2023-01-24 07:59:49 +01:00
Jan (janneke) Nieuwenhuizen
c1f93c1d71
doc: Use HTTPS.
...
* COPYING: Replace by new version (which uses HTTPS).
* HACKING,
README,
doc/fdl-1.3.texi,
doc/mes.texi: Use HTTPS.
2022-10-30 09:40:40 +01:00
Jan (janneke) Nieuwenhuizen
dbb446d906
doc: Update `HACKING'.
...
* HACKING (SETUP): Update arm triplet.
2022-10-16 23:19:36 +02:00
Jan (janneke) Nieuwenhuizen
cfb620567a
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
bc1fa57851
lib: stat: Use SYS_stat64 for 32bit platforms.
...
This fixes <https://debbugs.gnu.org/41264 >.
* include/linux/arm/syscall.h (SYS_stat64, SYS_lstat64,
SYS_fstat64)[__SIZEOF_LONG_LONG__ == 8]:
New defines.
(SYS_stat, SYS_lstat, SYS_fstat)[__SIZEOF_LONG_LONG__ == 8]: Redefine them.
* include/linux/x86/syscall.h (SYS_stat64, SYS_lstat64,
SYS_fstat64)[__SIZEOF_LONG_LONG__ == 8]:
New defines.
(SYS_stat, SYS_lstat, SYS_fstat)[__SIZEOF_LONG_LONG__ == 8]: Redefine them.
* include/sys/stat.h (struct stat): Move definition to...
* include/linux/arm/kernel-stat.h,
include/linux/m2/kernel-stat.h,
include/linux/x86/kernel-stat.h,
include/linux/x86_64/kernel-stat.h: These new files.
* include/gnu/x86/kernel-stat.h: New file.
* configure (main): Copy <srcdest>include/<kernel>/<arch>/*.h to
include/.
* configure.sh: Likewise.
* .gitignore: Ignore them. Add copyright header.
* build-aux/GNUmakefile.in (X86_ARCH_HEADERS, ARCH_HEADERS): New
variables.
(build): Use them.
(include/arch/%.h, arch-dir): New targets.
* build-aux/bootstrap.sh.in (AM_CPPFLAGS): Replace
<srcdest>include/<kernel>/<cpu> with built ../include.
* build-aux/build.sh.in (AM_CPPFLAGS): Likewise.
* build-aux/install.sh.in: Also install built include.
* include/m2/types.h: New file.
* kaem.run: Use it.
* simple.sh: Copy kernel-stat.h, syscall.h for kernel/cpu to
include/arch.
2022-10-29 13:17:58 +02:00
Jan (janneke) Nieuwenhuizen
25e0c4d119
lib: __assert_fail: Update to standard.
...
* lib/mes/__assert_fail.c (__assert_fail): Add file, line, function
parameters.
* include/assert.h (assert): Update caller.
(__assert_fail): Update prototype.
* include/mes/lib.h (__assert_fail): Likewise.
* lib/mes/assert_msg.c (assert_msg): Likewise. Include assert.h.
2022-10-26 21:14:05 +02:00
Jan (janneke) Nieuwenhuizen
84fd995f43
time.c: include sys/time for gettimeofday.
...
* lib/linux/time.c: Include <sys/time.h>.
2022-05-05 23:26:46 +02:00
Jan (janneke) Nieuwenhuizen
77602c2cde
lib: linux/time: Remove SYS_time specialization.
...
* lib/linux/time.c (time)[SYS_time]: Remove specialization.
[!SYS_time && !SYS_gettimeofday]: Remove fallback.
2022-05-04 14:14:51 +02:00
Jan (janneke) Nieuwenhuizen
fc6e88ab89
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-05-03 23:06:41 +02:00
Jan (janneke) Nieuwenhuizen
5f73e64480
simple.make: Resurrect.
...
* simple.make (M2_PLANET_FLAGS): Add --bootstrap-mode.
(M2_SOURCES): Add lib/mes/globals.c. Use lib/mes/mini-write.c instead
of lib/mes/write.c. Use lib/m2/malloc.c instead of lib/stdlib/malloc.c.
(GCC_SOURCES): Add lib/mes/globals.c
(check-mescc): Set LIBRARY_PATH.
(m2): New target.
(m2/mes-m2.M1): Use it.
(m2/mes-m2.blood-elf.M1): Likewise.
2022-05-03 22:51:21 +02:00
Gabriel Wicki
580782bb72
core: Simplify math expressions.
...
* src/gc.c (gc_up_arena): Use division instead of shift.
(gc_flip): Simplify (free-news) * 1.5.
2022-05-10 22:23:40 +02:00
Jan (janneke) Nieuwenhuizen
ec12220737
scaffold: Remove obsolete malloc.
...
* scaffold/lib/stdlib/malloc.c: Remove.
2022-05-07 08:45:06 +02:00
Ekaitz Zarraga
f89fed3c3b
doc: Fix typos.
...
* doc/mes.texi (Invoking mescc): Fix typo.
* module/mescc.scm (parse-opts): Likewise.
2022-09-22 11:14:34 +02:00
Ekaitz Zarraga
761420ac31
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-09-21 09:43:43 +02:00
Jan (janneke) Nieuwenhuizen
5fc5983e50
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 07:34:27 +02:00
Jan (janneke) Nieuwenhuizen
358ae145ab
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:10:48 +02:00
Jan (janneke) Nieuwenhuizen
2a1976b6de
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
Jan (janneke) Nieuwenhuizen
dbec0c3845
test: Add 60-math-modulo.c.
...
* lib/tests/scaffold/60-math-modulo.c: New test.
* build-aux/check-mescc.sh (mes_tests): Add it.
2022-09-11 23:34:20 +02:00
Jan (janneke) Nieuwenhuizen
e64d763ccd
ARM: ntoab: Do not include __mesabi_uldiv for bootstrap tcc.
...
* lib/mes/ntoab.c (__mesabi_uldiv): Exclude for tinycc arm bootstrap.
2022-09-13 19:12:31 +02:00
Jan (janneke) Nieuwenhuizen
06453020e6
build: Also use stage0_cpu detection in bootstrap.sh build.
...
* build-aux/build-scaffold.sh: Include cflags.sh.
(stage0_cpu): Move to...
* build-aux/cflags.sh (stage0_cpu): ...here.
* build-aux/build.sh.in (stage0_cpu): Remove.
2022-05-21 14:13:18 +02:00
Jan (janneke) Nieuwenhuizen
adb232edd9
kaem: Fix version.
...
* src/symbol.c (MES_VERSION): Update to 0.24.
2022-05-03 22:52:45 +02:00
Jan (janneke) Nieuwenhuizen
aa5f1533e1
build: Fix configure crashing when no compiler is present.
...
Reported by Andrius Štikonas <andrius@stikonas.eu> via IRC.
* configure (main): Cater for missing cc, actually set m2-planet when
found.
2022-05-14 21:09:06 +02:00
Gabriel Wicki
7b993b35b9
core: Remove code duplication.
...
* src/gc.c (copy_news): Remove copy of copy_cell.
(gc_copy): Use copy_cell instead.
2022-05-13 08:27:57 +02:00
Gabriel Wicki
c7777121e8
core: Remove code duplication.
...
* src/gc.c (news_bytes): Remove copy of cell_bytes.
(gc_copy): Use cell_bytes instead.
* include/mes/mes.h (news_bytes): Remove prototype.
2022-05-13 08:27:56 +02:00
Jan (janneke) Nieuwenhuizen
810451c76b
build: Add publish-local.
...
* build-aux/GNUmakefile.in (publish-local): New target.
2022-05-13 08:27:56 +02:00
Jan (janneke) Nieuwenhuizen
6301625cf6
doc: Update `README'.
...
* README: Update to mention Further Reduced Binary Seed bootstrap.
2022-05-13 08:27:50 +02:00
Dor Askayo
ce54ccc2c0
Fix definition of S_ISUID.
...
* include/sys/stat.h (S_ISUID: Append missing zero.
2022-05-09 07:01:01 +02:00
Jan (janneke) Nieuwenhuizen
f785f8d560
build: Fix --with-bootstrap build.
...
Reported by Vagrant Cascadian <vagrant@debian.org>.
* build-aux/build.sh.in: Before building mes using mescc, in bootstrap
mode, remove globals.o built for lib.
2022-05-06 12:27:46 +02:00
Jan (janneke) Nieuwenhuizen
1c2a504cee
doc: Post-release update.
...
* doc/announce/ANNOUNCE-0.24: Add gen-announce checksums.
* build-aux/GNUmakefile.in (--previous-version): Update to 0.24. Add
bug-mes to release announce.
2022-05-06 12:26:55 +02:00
Jan (janneke) Nieuwenhuizen
745017584a
guix: mes: Update to 0.24.
...
* guix/git/mes.scm (mes)[source]: Update to 0.24.
2022-05-02 18:54:33 +02:00
Jan (janneke) Nieuwenhuizen
a36eb013f8
build: Release 0.24.
...
* configure (VERSION): Bump to 0.24.
* configure.sh (VERSION): Likewise.
* build-aux/GNUmakefile.in (gen-announce): Update previous-version to
0.23.
* mes/module/mes/repl.mes (welcome): Update copyright years.
2022-04-30 16:14:55 +02:00
Jan (janneke) Nieuwenhuizen
1cb3b51625
doc: Update `ROADMAP'.
...
* ROADMAP (release 0.x, unsorted): Move done item...
(DONE): ...here.
2022-05-01 23:44:34 +02:00
Jan (janneke) Nieuwenhuizen
bf5b6a9052
doc: Add `ANNOUNCE-0.24'.
...
* doc/announce/ANNOUNCE-0.24: New file.
2022-05-01 22:49:51 +02:00
Jan (janneke) Nieuwenhuizen
2aced313c7
doc: Update `NEWS'.
...
* NEWS (Changes in 0.24 since 0.23): New section.
2022-04-30 16:02:01 +02:00
Jan (janneke) Nieuwenhuizen
76755d6be6
doc: Update `README'.
...
* README: Mention Mes can be bootstrapped using M2-Planet.
Mention Full Source Bootstrap sponsoring by NlNet.
2019-11-03 16:30:45 +01:00
Jan (janneke) Nieuwenhuizen
c82c8da8ed
doc: Update 'AUTHORS'.
...
* AUTHORS: Mention Jeremiah Orians as co-author on ELF heanders and
mention M2-Planet imports. Mention bug fixes by W.J. van der Laan.
2021-01-02 13:45:00 +01:00