Compare commits
44 Commits
Author | SHA1 | Date |
---|---|---|
Jan (janneke) Nieuwenhuizen | 03019f6ddd | |
Jan (janneke) Nieuwenhuizen | c3ec4e5414 | |
Danny Milosavljevic | ad038b356d | |
Jan Nieuwenhuizen | feafc49ad6 | |
Jan Nieuwenhuizen | 10e65e2ad0 | |
Jan Nieuwenhuizen | 9fe7e05ffd | |
Jan Nieuwenhuizen | 48b12cbd52 | |
Jan (janneke) Nieuwenhuizen | b80f0d82c2 | |
Jan Nieuwenhuizen | 550a1e595b | |
Jan Nieuwenhuizen | 948590425b | |
Jan Nieuwenhuizen | 23abd8e2b7 | |
Jan Nieuwenhuizen | 2395703971 | |
Jan Nieuwenhuizen | 95ba472302 | |
Jan Nieuwenhuizen | 6f71f2da02 | |
Jan Nieuwenhuizen | c669116a7b | |
Jan Nieuwenhuizen | a05c4f8748 | |
Jan Nieuwenhuizen | 2f23211660 | |
Jan Nieuwenhuizen | 379c96c90c | |
Jan (janneke) Nieuwenhuizen | ba92886a4e | |
Jan (janneke) Nieuwenhuizen | 17a19c985d | |
Jan (janneke) Nieuwenhuizen | 602f14e560 | |
Jan (janneke) Nieuwenhuizen | fbb82dc65d | |
Jan (janneke) Nieuwenhuizen | cade49c699 | |
Jan (janneke) Nieuwenhuizen | 46b1158ee4 | |
Jan (janneke) Nieuwenhuizen | 2777d67e35 | |
Jan (janneke) Nieuwenhuizen | e3489c6abc | |
Jan (janneke) Nieuwenhuizen | 1ba7a0dc80 | |
Jan (janneke) Nieuwenhuizen | 95c80acffc | |
Jan (janneke) Nieuwenhuizen | f3d0d229f4 | |
Jan (janneke) Nieuwenhuizen | 2b62ad7931 | |
Jan (janneke) Nieuwenhuizen | 03df5c6361 | |
Jan (janneke) Nieuwenhuizen | 404b23b2bb | |
Jan (janneke) Nieuwenhuizen | dcf334a136 | |
Jan (janneke) Nieuwenhuizen | a07a3bd48a | |
Jan (janneke) Nieuwenhuizen | 038baa117e | |
Jan (janneke) Nieuwenhuizen | 15e0f82f20 | |
Jan (janneke) Nieuwenhuizen | 56ad9187a4 | |
Jan (janneke) Nieuwenhuizen | c618713d8f | |
Gabriel Wicki | 87b684ec75 | |
Ekaitz | a31a35369f | |
Ekaitz | aa6d6e07de | |
Jan (janneke) Nieuwenhuizen | 3c9ec14c6e | |
Jan (janneke) Nieuwenhuizen | cc8b9ff537 | |
Jan (janneke) Nieuwenhuizen | cada47f2ab |
|
@ -1,21 +1,3 @@
|
||||||
# GNU Mes --- Maxwell Equations of Software
|
|
||||||
# Copyright © 2016,2017,2019,2020,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
|
||||||
#
|
|
||||||
# This file is part of GNU Mes.
|
|
||||||
#
|
|
||||||
# GNU Mes is free software; you can redistribute it and/or modify it
|
|
||||||
# under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation; either version 3 of the License, or (at
|
|
||||||
# your option) any later version.
|
|
||||||
#
|
|
||||||
# GNU Mes is distributed in the hope that it will be useful, but
|
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
*-
|
*-
|
||||||
*~
|
*~
|
||||||
.#*
|
.#*
|
||||||
|
@ -135,7 +117,6 @@
|
||||||
/doc/images/gcc-mesboot-graph.pdf
|
/doc/images/gcc-mesboot-graph.pdf
|
||||||
/doc/web/
|
/doc/web/
|
||||||
/config.sh
|
/config.sh
|
||||||
/include/arch
|
|
||||||
/include/mes/config.h
|
/include/mes/config.h
|
||||||
/gcc-lib
|
/gcc-lib
|
||||||
/mescc-lib
|
/mescc-lib
|
||||||
|
|
18
NEWS
18
NEWS
|
@ -2,7 +2,7 @@
|
||||||
#+TITLE: GNU Mes NEWS – history of user-visible changes
|
#+TITLE: GNU Mes NEWS – history of user-visible changes
|
||||||
#+STARTUP: content hidestars
|
#+STARTUP: content hidestars
|
||||||
|
|
||||||
Copyright © 2016,2017,2018,2019,2021,2022,2023 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
Copyright © 2016,2017,2018,2019,2021,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
|
|
||||||
Copying and distribution of this file, with or without modification,
|
Copying and distribution of this file, with or without modification,
|
||||||
are permitted in any medium without royalty provided the copyright
|
are permitted in any medium without royalty provided the copyright
|
||||||
|
@ -10,22 +10,6 @@ Copyright © 2016,2017,2018,2019,2021,2022,2023 Jan (janneke) Nieuwenhuizen <jan
|
||||||
|
|
||||||
Please send Mes bug reports to bug-mes@gnu.org.
|
Please send Mes bug reports to bug-mes@gnu.org.
|
||||||
|
|
||||||
* Changes in 0.24.2 since 0.24.1
|
|
||||||
** Build
|
|
||||||
*** A number of compile warnings have been fixed.
|
|
||||||
*** The `simple.make' and `simple.sh' builds have been resurrected.
|
|
||||||
** MesCC
|
|
||||||
*** Some assembly defines were added for building TinyCC for x86_64.
|
|
||||||
*** `__assert_fail' has been updated to use the standard signature.
|
|
||||||
** Noteworthy bug fixes
|
|
||||||
*** A bootstrap build without M2-Planet is now supported again.
|
|
||||||
*** `gettimeofday' no longer segfaults in the M2-Planet build.
|
|
||||||
*** `stat64' and friends are now used on 32bit platforms.
|
|
||||||
This fixes https://debbugs.gnu.org/41264, and should also fix
|
|
||||||
https://debbugs.gnu.org/49985,
|
|
||||||
https://debbugs.gnu.org/53415,
|
|
||||||
https://debbugs.gnu.org/53416.
|
|
||||||
*** The Mes C Library now supports uppercase hex conversions.
|
|
||||||
* Changes in 0.24.1 since 0.24
|
* Changes in 0.24.1 since 0.24
|
||||||
** Build
|
** Build
|
||||||
*** Support M2-Planet bootstrap for ARM.
|
*** Support M2-Planet bootstrap for ARM.
|
||||||
|
|
5
ROADMAP
5
ROADMAP
|
@ -1,7 +1,7 @@
|
||||||
-*- org -*-
|
-*- org -*-
|
||||||
#+TITLE: Tentative GNU Mes Road Map
|
#+TITLE: Tentative GNU Mes Road Map
|
||||||
|
|
||||||
Copyright © 2016,2017,2018,2019,2020,2022,2023 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
Copyright © 2016,2017,2018,2019,2020,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
|
|
||||||
Copying and distribution of this file, with or without modification,
|
Copying and distribution of this file, with or without modification,
|
||||||
are permitted in any medium without royalty provided the copyright
|
are permitted in any medium without royalty provided the copyright
|
||||||
|
@ -23,9 +23,6 @@ on Libera Chat!
|
||||||
|
|
||||||
* TODO
|
* TODO
|
||||||
** release 0.x, unsorted
|
** release 0.x, unsorted
|
||||||
- Full Guile module support.
|
|
||||||
- Run Gash and Gash-Utils on Mes.
|
|
||||||
- Remove Guile as a dependency for the Guix Full Source Bootstrap.
|
|
||||||
- Integrate Full Source bootstrap for ARM on GNU Guix;
|
- Integrate Full Source bootstrap for ARM on GNU Guix;
|
||||||
see branch wip-aarch64-bootstrap.
|
see branch wip-aarch64-bootstrap.
|
||||||
- Integrate Reduced Binary Seed bootstrap for ARM on GNU Guix;
|
- Integrate Reduced Binary Seed bootstrap for ARM on GNU Guix;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# GNU Mes --- Maxwell Equations of Software
|
# GNU Mes --- Maxwell Equations of Software
|
||||||
# Copyright © 2018,2019,2021,2022,2023 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
# Copyright © 2018,2019,2021,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
#
|
#
|
||||||
# This file is part of GNU Mes.
|
# This file is part of GNU Mes.
|
||||||
#
|
#
|
||||||
|
@ -85,26 +85,17 @@ PHONY_TARGETS:=\
|
||||||
|
|
||||||
.PHONY: $(PHONY_TARGETS)
|
.PHONY: $(PHONY_TARGETS)
|
||||||
|
|
||||||
X86_ARCH_HEADERS = $(wildcard $(scrdest)include/linux/x86/*.h)
|
|
||||||
ARCH_HEADERS = $(X86_ARCH_HEADERS:$(srcdest)include/linux/x86/%=include/arch/%)
|
|
||||||
|
|
||||||
default: all
|
default: all
|
||||||
|
|
||||||
all: doc
|
all: doc
|
||||||
|
|
||||||
doc: build
|
doc: build
|
||||||
|
|
||||||
build: | $(ARCH_HEADERS)
|
build:
|
||||||
$(SHELL) build.sh
|
$(SHELL) build.sh
|
||||||
|
|
||||||
src/${program_prefix}mes: build
|
src/${program_prefix}mes: build
|
||||||
|
|
||||||
include/arch/%.h: $(srcdest)include/$(mes_kernel)/$(mes_cpu)/%.h | arch-dir
|
|
||||||
cp -f $< $@
|
|
||||||
|
|
||||||
arch-dir:
|
|
||||||
mkdir -p include/arch
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *.o *.s bin/mes bin/mes-gcc bin/mes-mescc
|
rm -f *.o *.s bin/mes bin/mes-gcc bin/mes-mescc
|
||||||
rm -f mes.{aux,cp,cps,fn,info,log,tmp,toc,vr,vrs}
|
rm -f mes.{aux,cp,cps,fn,info,log,tmp,toc,vr,vrs}
|
||||||
|
@ -357,7 +348,6 @@ tag:
|
||||||
# 1. Tag for release
|
# 1. Tag for release
|
||||||
# make tag VERSION=0.23
|
# make tag VERSION=0.23
|
||||||
# 2. Create signed tarball
|
# 2. Create signed tarball
|
||||||
# ./configure
|
|
||||||
# make sign-dist
|
# make sign-dist
|
||||||
# 3. Update Guix package description
|
# 3. Update Guix package description
|
||||||
# make release
|
# make release
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#! @SHELL@
|
#! @SHELL@
|
||||||
|
|
||||||
# GNU Mes --- Maxwell Equations of Software
|
# GNU Mes --- Maxwell Equations of Software
|
||||||
# Copyright © 2019,2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
# Copyright © 2019,2020,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
#
|
#
|
||||||
# This file is part of GNU Mes.
|
# This file is part of GNU Mes.
|
||||||
#
|
#
|
||||||
|
@ -50,20 +50,22 @@ srcdest=../${srcdest}
|
||||||
ln -sf ${srcdest}mes .
|
ln -sf ${srcdest}mes .
|
||||||
ln -sf ${srcdest}module .
|
ln -sf ${srcdest}module .
|
||||||
ln -sf ${srcdest}src .
|
ln -sf ${srcdest}src .
|
||||||
AM_CPPFLAGS="-D HAVE_CONFIG_H=1 -I ${srcdest}include -I ../include -I include"
|
AM_CPPFLAGS="-D HAVE_CONFIG_H=1 -I ${srcdest}include -I ${srcdest}include/$mes_kernel/$mes_cpu"
|
||||||
AM_CFLAGS="-L ${srcdest}lib"
|
AM_CFLAGS="-L ${srcdest}lib"
|
||||||
|
|
||||||
mkdir -p $mes_cpu-mes
|
mkdir -p $mes_cpu-mes
|
||||||
$CC -c $AM_CPPFLAGS $CPPFLAGS $AM_CFLAGS $CFLAGS ${srcdest}lib/$mes_kernel/$mes_cpu-mes-$compiler/crt1.c
|
cp ${srcdest}lib/$mes_kernel/$mes_cpu-mes-$compiler/crt1.c .
|
||||||
|
$CC -c $AM_CPPFLAGS $CPPFLAGS $AM_CFLAGS $CFLAGS crt1.c
|
||||||
cp crt1.o $mes_cpu-mes
|
cp crt1.o $mes_cpu-mes
|
||||||
cp crt1.s $mes_cpu-mes
|
cp crt1.s $mes_cpu-mes
|
||||||
|
|
||||||
objects=
|
objects=
|
||||||
for c in $libc_mini_SOURCES; do
|
for c in $libc_mini_SOURCES; do
|
||||||
o=$(basename $c .c).o
|
b=$(echo $c | sed -re s,^[.]+/,, -e s,/,-,g -e s,[.]c$,,)
|
||||||
|
o=$b.o
|
||||||
if test ! -e $o -o ${srcdest}$c -nt $o; then
|
if test ! -e $o -o ${srcdest}$c -nt $o; then
|
||||||
echo " CC $c"
|
echo " CC $c"
|
||||||
$CC -c $AM_CPPFLAGS $CPPFLAGS $AM_CFLAGS $CFLAGS ${srcdest}$c
|
$CC -c $AM_CPPFLAGS $CPPFLAGS $AM_CFLAGS $CFLAGS -o $o ${srcdest}$c
|
||||||
fi
|
fi
|
||||||
objects="$objects $o"
|
objects="$objects $o"
|
||||||
done
|
done
|
||||||
|
@ -72,10 +74,11 @@ $AR crD $mes_cpu-mes/libc-mini.a $objects
|
||||||
|
|
||||||
objects=
|
objects=
|
||||||
for c in $libmescc_SOURCES; do
|
for c in $libmescc_SOURCES; do
|
||||||
o=$(basename $c .c).o
|
b=$(echo $c | sed -re s,^[.]+/,, -e s,/,-,g -e s,[.]c$,,)
|
||||||
|
o=$b.o
|
||||||
if test ! -e $o -o ${srcdest}$c -nt $o; then
|
if test ! -e $o -o ${srcdest}$c -nt $o; then
|
||||||
echo " CC $c"
|
echo " CC $c"
|
||||||
$CC -c $AM_CPPFLAGS $CPPFLAGS $AM_CFLAGS $CFLAGS ${srcdest}$c
|
$CC -c $AM_CPPFLAGS $CPPFLAGS $AM_CFLAGS $CFLAGS -o $o ${srcdest}$c
|
||||||
fi
|
fi
|
||||||
objects="$objects $o"
|
objects="$objects $o"
|
||||||
done
|
done
|
||||||
|
@ -84,10 +87,11 @@ $AR crD $mes_cpu-mes/libmescc.a $objects
|
||||||
|
|
||||||
objects=
|
objects=
|
||||||
for c in $libc_SOURCES; do
|
for c in $libc_SOURCES; do
|
||||||
o=$(basename $c .c).o
|
b=$(echo $c | sed -re s,^[.]+/,, -e s,/,-,g -e s,[.]c$,,)
|
||||||
|
o=$b.o
|
||||||
if test ! -e $o -o ${srcdest}$c -nt $o; then
|
if test ! -e $o -o ${srcdest}$c -nt $o; then
|
||||||
echo " CC $c"
|
echo " CC $c"
|
||||||
$CC -c $AM_CPPFLAGS $CPPFLAGS $AM_CFLAGS $CFLAGS ${srcdest}$c
|
$CC -c $AM_CPPFLAGS $CPPFLAGS $AM_CFLAGS $CFLAGS -o $o ${srcdest}$c
|
||||||
fi
|
fi
|
||||||
objects="$objects $o"
|
objects="$objects $o"
|
||||||
done
|
done
|
||||||
|
@ -96,10 +100,11 @@ $AR crD $mes_cpu-mes/libc.a $objects
|
||||||
|
|
||||||
objects=
|
objects=
|
||||||
for c in $libc_tcc_SOURCES; do
|
for c in $libc_tcc_SOURCES; do
|
||||||
o=$(basename $c .c).o
|
b=$(echo $c | sed -re s,^[.]+/,, -e s,/,-,g -e s,[.]c$,,)
|
||||||
|
o=$b.o
|
||||||
if test ! -e $o -o ${srcdest}$c -nt $o; then
|
if test ! -e $o -o ${srcdest}$c -nt $o; then
|
||||||
echo " CC $c"
|
echo " CC $c"
|
||||||
$CC -c $AM_CPPFLAGS $CPPFLAGS $AM_CFLAGS $CFLAGS ${srcdest}$c
|
$CC -c $AM_CPPFLAGS $CPPFLAGS $AM_CFLAGS $CFLAGS -o $o ${srcdest}$c
|
||||||
fi
|
fi
|
||||||
objects="$objects $o"
|
objects="$objects $o"
|
||||||
done
|
done
|
||||||
|
@ -108,15 +113,16 @@ $AR crD $mes_cpu-mes/libc+tcc.a $objects
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
srcdest=
|
srcdest=
|
||||||
AM_CPPFLAGS="-D HAVE_CONFIG_H=1 -I ${srcdest}include -I ../include -I include"
|
CPPFLAGS="-D HAVE_CONFIG_H=1 -I ${srcdest}include -I ${srcdest}include/$mes_kernel/$mes_cpu"
|
||||||
AM_CFLAGS="-L ${srcdest}lib"
|
AM_CFLAGS="-L ${srcdest}lib"
|
||||||
|
|
||||||
objects=
|
objects=
|
||||||
for c in $mes_SOURCES; do
|
for c in $mes_SOURCES; do
|
||||||
o=$(basename $c .c).o
|
b=$(echo $c | sed -re s,^[.]+/,, -e s,/,-,g -e s,[.]c$,,)
|
||||||
|
o=$b.o
|
||||||
if test ! -e $o -o ${srcdest}$c -nt $o; then
|
if test ! -e $o -o ${srcdest}$c -nt $o; then
|
||||||
echo " CC $c"
|
echo " CC $c"
|
||||||
$CC -c $AM_CPPFLAGS $CPPFLAGS $AM_CFLAGS $CFLAGS ${srcdest}$c
|
$CC -c $AM_CPPFLAGS $CPPFLAGS $AM_CFLAGS $CFLAGS -o $o ${srcdest}$c
|
||||||
fi
|
fi
|
||||||
objects="$objects $o"
|
objects="$objects $o"
|
||||||
done
|
done
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
|
|
||||||
# GNU Mes --- Maxwell Equations of Software
|
# GNU Mes --- Maxwell Equations of Software
|
||||||
# Copyright © 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
# Copyright © 2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
#
|
#
|
||||||
# This file is part of GNU Mes.
|
# This file is part of GNU Mes.
|
||||||
#
|
#
|
||||||
|
@ -26,7 +26,8 @@
|
||||||
trap 'test -f .log && cat .log' EXIT
|
trap 'test -f .log && cat .log' EXIT
|
||||||
|
|
||||||
mkdir -p $mes_cpu-mes
|
mkdir -p $mes_cpu-mes
|
||||||
compile lib/$mes_kernel/$mes_cpu-mes-$compiler/crt1.c
|
cp ${srcdest}lib/$mes_kernel/$mes_cpu-mes-$compiler/crt1.c .
|
||||||
|
compile crt1.c
|
||||||
cp crt1.o $mes_cpu-mes
|
cp crt1.o $mes_cpu-mes
|
||||||
if test -e crt1.s; then
|
if test -e crt1.s; then
|
||||||
cp crt1.s $mes_cpu-mes
|
cp crt1.s $mes_cpu-mes
|
||||||
|
|
|
@ -66,8 +66,9 @@ fi
|
||||||
AM_CPPFLAGS="
|
AM_CPPFLAGS="
|
||||||
-D HAVE_CONFIG_H=1
|
-D HAVE_CONFIG_H=1
|
||||||
-I ${srcdest}lib
|
-I ${srcdest}lib
|
||||||
|
-I include
|
||||||
-I ${srcdest}include
|
-I ${srcdest}include
|
||||||
-I ../include
|
-I ${srcdest}include/$mes_kernel/$mes_cpu
|
||||||
"
|
"
|
||||||
if test $mes_kernel = gnu; then
|
if test $mes_kernel = gnu; then
|
||||||
AM_CPPFLAGS="$AM_CPPFLAGS
|
AM_CPPFLAGS="$AM_CPPFLAGS
|
||||||
|
@ -92,9 +93,9 @@ fi
|
||||||
AM_CPPFLAGS="
|
AM_CPPFLAGS="
|
||||||
-D HAVE_CONFIG_H=1
|
-D HAVE_CONFIG_H=1
|
||||||
-I ${srcdest}lib
|
-I ${srcdest}lib
|
||||||
-I ${srcdest}include
|
|
||||||
-I ../include
|
|
||||||
-I include
|
-I include
|
||||||
|
-I ${srcdest}include
|
||||||
|
-I ${srcdest}include/$mes_kernel/$mes_cpu
|
||||||
"
|
"
|
||||||
if test "$compiler" != bootstrap; then
|
if test "$compiler" != bootstrap; then
|
||||||
${SHELL} ${srcdest}build-aux/build-mes.sh
|
${SHELL} ${srcdest}build-aux/build-mes.sh
|
||||||
|
@ -136,9 +137,9 @@ fi
|
||||||
AM_CPPFLAGS="
|
AM_CPPFLAGS="
|
||||||
-D HAVE_CONFIG_H=1
|
-D HAVE_CONFIG_H=1
|
||||||
-I ${srcdest}lib
|
-I ${srcdest}lib
|
||||||
-I ${srcdest}include
|
|
||||||
-I ../include
|
|
||||||
-I include
|
-I include
|
||||||
|
-I ${srcdest}include
|
||||||
|
-I ${srcdest}include/$mes_kernel/$mes_cpu
|
||||||
"
|
"
|
||||||
compiler=mescc
|
compiler=mescc
|
||||||
AR=${MESAR-"${srcdest}pre-inst-env mesar"}
|
AR=${MESAR-"${srcdest}pre-inst-env mesar"}
|
||||||
|
@ -150,7 +151,6 @@ fi
|
||||||
${SHELL} ${srcdest}build-aux/build-lib.sh
|
${SHELL} ${srcdest}build-aux/build-lib.sh
|
||||||
${SHELL} ${srcdest}build-aux/build-source-lib.sh
|
${SHELL} ${srcdest}build-aux/build-source-lib.sh
|
||||||
if $bootstrap; then
|
if $bootstrap; then
|
||||||
rm -f globals.* # FIXME: avoid name clash with globals from lib
|
|
||||||
${SHELL} ${srcdest}build-aux/build-mes.sh
|
${SHELL} ${srcdest}build-aux/build-mes.sh
|
||||||
cp -f bin/mes-mescc ../bin
|
cp -f bin/mes-mescc ../bin
|
||||||
cp -f bin/mes ../bin
|
cp -f bin/mes ../bin
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# GNU Mes --- Maxwell Equations of Software
|
# GNU Mes --- Maxwell Equations of Software
|
||||||
# Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
# Copyright © 2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
#
|
#
|
||||||
# This file is part of GNU Mes.
|
# This file is part of GNU Mes.
|
||||||
#
|
#
|
||||||
|
@ -18,8 +18,12 @@
|
||||||
|
|
||||||
objects=
|
objects=
|
||||||
compile () {
|
compile () {
|
||||||
c=${srcdest}$1
|
if test $(dirname $1) = "."; then
|
||||||
b=$(basename $c .c)
|
c=$1
|
||||||
|
else
|
||||||
|
c=${srcdest}$1
|
||||||
|
fi
|
||||||
|
b=$(echo $c | sed -re s,^[.]+/,, -e s,/,-,g -e s,[.]c$,,)
|
||||||
o=$b.o
|
o=$b.o
|
||||||
objects="$objects $o"
|
objects="$objects $o"
|
||||||
if test ! -e $o -o $c -nt $o; then
|
if test ! -e $o -o $c -nt $o; then
|
||||||
|
@ -34,7 +38,7 @@ archive () {
|
||||||
sources="$@"
|
sources="$@"
|
||||||
objects=
|
objects=
|
||||||
for c in $sources; do
|
for c in $sources; do
|
||||||
b=$(basename $c .c)
|
b=$(echo $c | sed -re s,^[.]+/,, -e s,/,-,g -e s,[.]c$,,)
|
||||||
o=$b.o
|
o=$b.o
|
||||||
compile $c
|
compile $c
|
||||||
done
|
done
|
||||||
|
|
|
@ -215,6 +215,7 @@ lib/tests/io/90-stat.c
|
||||||
lib/tests/mes/90-abtod.c
|
lib/tests/mes/90-abtod.c
|
||||||
lib/tests/mes/90-dtoab.c
|
lib/tests/mes/90-dtoab.c
|
||||||
lib/tests/posix/90-execlp.c
|
lib/tests/posix/90-execlp.c
|
||||||
|
lib/tests/posix/90-mmap.c
|
||||||
lib/tests/posix/90-unsetenv.c
|
lib/tests/posix/90-unsetenv.c
|
||||||
lib/tests/signal/90-signal.c
|
lib/tests/signal/90-signal.c
|
||||||
lib/tests/stdio/90-fopen.c
|
lib/tests/stdio/90-fopen.c
|
||||||
|
@ -222,6 +223,7 @@ lib/tests/stdio/90-fopen-append.c
|
||||||
lib/tests/stdio/90-fread-fwrite.c
|
lib/tests/stdio/90-fread-fwrite.c
|
||||||
lib/tests/stdio/90-fseek.c
|
lib/tests/stdio/90-fseek.c
|
||||||
lib/tests/stdio/90-sprintf.c
|
lib/tests/stdio/90-sprintf.c
|
||||||
|
lib/tests/stdio/90-sscanf.c
|
||||||
lib/tests/stdlib/90-strtol.c
|
lib/tests/stdlib/90-strtol.c
|
||||||
lib/tests/string/90-snprintf.c
|
lib/tests/string/90-snprintf.c
|
||||||
lib/tests/string/90-strpbrk.c
|
lib/tests/string/90-strpbrk.c
|
||||||
|
@ -290,6 +292,7 @@ lib/tests/scaffold/70-extern.c
|
||||||
lib/tests/stdio/80-sscanf.c
|
lib/tests/stdio/80-sscanf.c
|
||||||
lib/tests/posix/90-execlp.c
|
lib/tests/posix/90-execlp.c
|
||||||
lib/tests/string/90-snprintf.c
|
lib/tests/string/90-snprintf.c
|
||||||
|
lib/tests/stdio/90-sscanf.c
|
||||||
"
|
"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -74,7 +74,7 @@ libc_mini_SOURCES="$libc_mini_shared_SOURCES"
|
||||||
|
|
||||||
if test $mes_libc = mes; then
|
if test $mes_libc = mes; then
|
||||||
libc_mini_SOURCES="$libc_mini_SOURCES
|
libc_mini_SOURCES="$libc_mini_SOURCES
|
||||||
lib/mes/mini-write.c
|
lib/mes/write.c
|
||||||
"
|
"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -215,6 +215,7 @@ lib/linux/malloc.c
|
||||||
lib/linux/_read.c
|
lib/linux/_read.c
|
||||||
lib/linux/time.c
|
lib/linux/time.c
|
||||||
lib/linux/unlink.c
|
lib/linux/unlink.c
|
||||||
|
lib/linux/wait4.c
|
||||||
lib/linux/waitpid.c
|
lib/linux/waitpid.c
|
||||||
lib/linux/$mes_cpu-mes-$compiler/syscall.c
|
lib/linux/$mes_cpu-mes-$compiler/syscall.c
|
||||||
lib/linux/getpid.c
|
lib/linux/getpid.c
|
||||||
|
@ -322,6 +323,7 @@ lib/dirent/readdir.c
|
||||||
lib/math/ceil.c
|
lib/math/ceil.c
|
||||||
lib/math/fabs.c
|
lib/math/fabs.c
|
||||||
lib/math/floor.c
|
lib/math/floor.c
|
||||||
|
lib/math/labs.c
|
||||||
lib/mes/fdgets.c
|
lib/mes/fdgets.c
|
||||||
lib/posix/alarm.c
|
lib/posix/alarm.c
|
||||||
lib/posix/execl.c
|
lib/posix/execl.c
|
||||||
|
@ -337,6 +339,7 @@ lib/stdio/fileno.c
|
||||||
lib/stdio/freopen.c
|
lib/stdio/freopen.c
|
||||||
lib/stdio/fscanf.c
|
lib/stdio/fscanf.c
|
||||||
lib/stdio/perror.c
|
lib/stdio/perror.c
|
||||||
|
lib/stdio/rewind.c
|
||||||
lib/stdio/vfscanf.c
|
lib/stdio/vfscanf.c
|
||||||
lib/stdlib/__exit.c
|
lib/stdlib/__exit.c
|
||||||
lib/stdlib/abort.c
|
lib/stdlib/abort.c
|
||||||
|
@ -357,7 +360,9 @@ lib/string/strerror.c
|
||||||
lib/string/strncat.c
|
lib/string/strncat.c
|
||||||
lib/string/strpbrk.c
|
lib/string/strpbrk.c
|
||||||
lib/string/strspn.c
|
lib/string/strspn.c
|
||||||
|
lib/string/strtok.c
|
||||||
lib/stub/__cleanup.c
|
lib/stub/__cleanup.c
|
||||||
|
lib/stub/asctime.c
|
||||||
lib/stub/atan2.c
|
lib/stub/atan2.c
|
||||||
lib/stub/bsearch.c
|
lib/stub/bsearch.c
|
||||||
lib/stub/chown.c
|
lib/stub/chown.c
|
||||||
|
@ -382,7 +387,6 @@ lib/stub/pclose.c
|
||||||
lib/stub/popen.c
|
lib/stub/popen.c
|
||||||
lib/stub/pow.c
|
lib/stub/pow.c
|
||||||
lib/stub/rand.c
|
lib/stub/rand.c
|
||||||
lib/stub/rewind.c
|
|
||||||
lib/stub/setbuf.c
|
lib/stub/setbuf.c
|
||||||
lib/stub/setgrent.c
|
lib/stub/setgrent.c
|
||||||
lib/stub/setlocale.c
|
lib/stub/setlocale.c
|
||||||
|
@ -419,6 +423,8 @@ lib/linux/link.c
|
||||||
lib/linux/lstat.c
|
lib/linux/lstat.c
|
||||||
lib/linux/mkdir.c
|
lib/linux/mkdir.c
|
||||||
lib/linux/mknod.c
|
lib/linux/mknod.c
|
||||||
|
lib/linux/mmap.c
|
||||||
|
lib/linux/munmap.c
|
||||||
lib/linux/nanosleep.c
|
lib/linux/nanosleep.c
|
||||||
lib/linux/pipe.c
|
lib/linux/pipe.c
|
||||||
lib/linux/readlink.c
|
lib/linux/readlink.c
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#! @SHELL@
|
#! @SHELL@
|
||||||
|
|
||||||
# GNU Mes --- Maxwell Equations of Software
|
# GNU Mes --- Maxwell Equations of Software
|
||||||
# Copyright © 2017,2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
# Copyright © 2017,2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
#
|
#
|
||||||
# This file is part of GNU Mes.
|
# This file is part of GNU Mes.
|
||||||
#
|
#
|
||||||
|
@ -99,7 +99,6 @@ mkdir -p $DESTDIR$includedir
|
||||||
mkdir -p $DESTDIR$libdir
|
mkdir -p $DESTDIR$libdir
|
||||||
mkdir -p $DESTDIR$pkgdatadir
|
mkdir -p $DESTDIR$pkgdatadir
|
||||||
tar -cf- -C ${srcdir}/include . | tar -${v}xf- -C $DESTDIR$includedir
|
tar -cf- -C ${srcdir}/include . | tar -${v}xf- -C $DESTDIR$includedir
|
||||||
tar -cf- -C include . | tar -${v}xf- -C $DESTDIR$includedir
|
|
||||||
tar -cf- -C ${srcdir}/lib $mes_cpu-mes | tar -${v}xf- -C $DESTDIR$libdir
|
tar -cf- -C ${srcdir}/lib $mes_cpu-mes | tar -${v}xf- -C $DESTDIR$libdir
|
||||||
tar -cf- -C ${srcdir}/lib $mes_kernel/$mes_cpu-mes | tar -${v}xf- -C $DESTDIR$libdir
|
tar -cf- -C ${srcdir}/lib $mes_kernel/$mes_cpu-mes | tar -${v}xf- -C $DESTDIR$libdir
|
||||||
if test -z "$srcdest"; then
|
if test -z "$srcdest"; then
|
||||||
|
|
|
@ -48,7 +48,6 @@ sed -ri \
|
||||||
include/mes/mes.h \
|
include/mes/mes.h \
|
||||||
include/mes/symbols.h \
|
include/mes/symbols.h \
|
||||||
include/mes/builtins.h \
|
include/mes/builtins.h \
|
||||||
include/m2/lib.h \
|
|
||||||
src/builtins.c \
|
src/builtins.c \
|
||||||
src/cc.c \
|
src/cc.c \
|
||||||
src/core.c \
|
src/core.c \
|
||||||
|
|
|
@ -4,7 +4,7 @@ MES_ARENA=100000000 exec ${SCHEME-guile} -L . --no-auto-compile -e '(configure)'
|
||||||
!#
|
!#
|
||||||
|
|
||||||
;;; GNU Mes --- Maxwell Equations of Software
|
;;; GNU Mes --- Maxwell Equations of Software
|
||||||
;;; Copyright © 2016,2017,2018,2019,2020,2021,2022,2023 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
;;; Copyright © 2016,2017,2018,2019,2020,2021,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
;;; Copyright © 2020 Vagrant Cascadian <vagrant@reproducible-builds.org>
|
;;; Copyright © 2020 Vagrant Cascadian <vagrant@reproducible-builds.org>
|
||||||
;;;
|
;;;
|
||||||
;;; configure: This file is part of GNU Mes.
|
;;; configure: This file is part of GNU Mes.
|
||||||
|
@ -37,7 +37,7 @@ MES_ARENA=100000000 exec ${SCHEME-guile} -L . --no-auto-compile -e '(configure)'
|
||||||
(define PACKAGE "mes")
|
(define PACKAGE "mes")
|
||||||
(define PACKAGE-NAME "GNU Mes")
|
(define PACKAGE-NAME "GNU Mes")
|
||||||
(define PACKAGE-BUGREPORT "bug-mes@gnu.org")
|
(define PACKAGE-BUGREPORT "bug-mes@gnu.org")
|
||||||
(define VERSION "0.24.2")
|
(define VERSION "0.24.1")
|
||||||
|
|
||||||
(cond-expand
|
(cond-expand
|
||||||
(guile)
|
(guile)
|
||||||
|
@ -707,13 +707,6 @@ See \"Porting GNU Mes\" in the manual, or try --with-courage\n" mes-system)
|
||||||
#define MES_VERSION \"" VERSION "\"
|
#define MES_VERSION \"" VERSION "\"
|
||||||
")))))
|
")))))
|
||||||
(substitute (string-append srcdest "build-aux/config.make.in") pairs #:target ".config.make"))
|
(substitute (string-append srcdest "build-aux/config.make.in") pairs #:target ".config.make"))
|
||||||
(let ((arch-dir (string-append srcdest "include/" mes-kernel "/" mes-cpu)))
|
|
||||||
(define (copy-header file-name)
|
|
||||||
(system* "cp" "-f" "-v"
|
|
||||||
(string-append arch-dir "/" file-name)
|
|
||||||
(string-append "include/arch/" file-name)))
|
|
||||||
(system* "mkdir" "-p" "include/arch")
|
|
||||||
(for-each copy-header '("kernel-stat.h" "syscall.h")))
|
|
||||||
|
|
||||||
(let ((make (and=> (file-name "make" deps) basename)))
|
(let ((make (and=> (file-name "make" deps) basename)))
|
||||||
(display (string-append "
|
(display (string-append "
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
|
|
||||||
# GNU Mes --- Maxwell Equations of Software
|
# GNU Mes --- Maxwell Equations of Software
|
||||||
# Copyright © 2018,2019,2021,2022,2023 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
# Copyright © 2018,2019,2021,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
#
|
#
|
||||||
# This file is part of GNU Mes.
|
# This file is part of GNU Mes.
|
||||||
#
|
#
|
||||||
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
VERSION=0.24.2
|
VERSION=0.24.1
|
||||||
srcdir=${srcdir-$(dirname $0)}
|
srcdir=${srcdir-$(dirname $0)}
|
||||||
srcdest=
|
srcdest=
|
||||||
if test "$srcdir" != "."; then
|
if test "$srcdir" != "."; then
|
||||||
|
@ -271,10 +271,6 @@ cat >> include/mes/config.h <<EOF
|
||||||
#define MES_VERSION "$VERSION"
|
#define MES_VERSION "$VERSION"
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
mkdir -p include/arch
|
|
||||||
cp -f -v ${srcdest}include/${mes_kernel}/${mes_cpu}/kernel-stat.h include/arch
|
|
||||||
cp -f -v ${srcdest}include/${mes_kernel}/${mes_cpu}/syscall.h include/arch
|
|
||||||
|
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
GNU Mes is configured for
|
GNU Mes is configured for
|
||||||
compiler: $compiler
|
compiler: $compiler
|
||||||
|
|
|
@ -1,117 +0,0 @@
|
||||||
|
|
||||||
Subject: GNU Mes 0.24.2 released
|
|
||||||
|
|
||||||
<#secure method=pgpmime mode=sign>
|
|
||||||
|
|
||||||
We are happy to announce the release of GNU Mes 0.24.2, representing 25
|
|
||||||
commits over nine months by four people.
|
|
||||||
|
|
||||||
This release should fix the long standing `stat64' bug #41264[0].
|
|
||||||
|
|
||||||
We are very grateful that the NLnet Foundation[1] is sponsoring this
|
|
||||||
work!
|
|
||||||
|
|
||||||
What's next?
|
|
||||||
|
|
||||||
Work to prototype this so-called "Full Source Bootstrap" for ARM on
|
|
||||||
Aarch64 is happening on the wip-aarch64-bootstrap[2] branch. Also, full
|
|
||||||
Guile compatible module support, and RISC-V support.
|
|
||||||
|
|
||||||
Enjoy!
|
|
||||||
|
|
||||||
* About
|
|
||||||
|
|
||||||
GNU Mes[3] is a Scheme interpreter and C compiler for bootstrapping
|
|
||||||
the GNU System. Since version 0.22 it has again helped to halve the
|
|
||||||
size of opaque, uninspectable binary seeds that are currently being
|
|
||||||
used in the Reduced Binary Seed bootstrap[4] of GNU Guix[5]. The
|
|
||||||
final goal is to help create a full source bootstrap as part of the
|
|
||||||
bootstrappable builds[6] effort for UNIX-like operating systems.
|
|
||||||
|
|
||||||
The Scheme interpreter is written in ~5,000 LOC of simple C, and the C
|
|
||||||
compiler written in Scheme and these are mutual self-hosting. Mes can
|
|
||||||
now be bootstrapped from M2-Planet[7] and Mescc-Tools[8].
|
|
||||||
|
|
||||||
Mes has a Garbage Collector, a library of loadable Scheme modules--
|
|
||||||
notably Dominique Boucher's LALR[9], Pre-R6RS portable
|
|
||||||
syntax-case[10] with R7RS ellipsis, Matt Wette's Nyacc[11] --and test
|
|
||||||
suite, just enough to support a REPL and a C99 compiler: mescc.
|
|
||||||
|
|
||||||
Mes + MesCC + Mes C Library can build a bootstrappable TinyCC[12] that
|
|
||||||
is self-hosting. Using this tcc and the Mes C library we now have a
|
|
||||||
Reduced Binary Seed bootstrap for the gnutools triplet: glibc-2.2.5,
|
|
||||||
binutils-2.20.1, gcc-2.95.3. This is enough to bootstrap Guix for
|
|
||||||
i686-linux, x86_64-linux, armhf-linux and aarch64-linux.
|
|
||||||
|
|
||||||
Mes is inspired by The Maxwell Equations of Software: LISP-1.5[13] --
|
|
||||||
John McCarthy page 13, GNU Guix's source/binary packaging transparency
|
|
||||||
and Jeremiah Orians's stage0[14] 357-byte self-hosting hex assembler.
|
|
||||||
|
|
||||||
* Download
|
|
||||||
|
|
||||||
git clone git://git.savannah.gnu.org/mes.git
|
|
||||||
|
|
||||||
Here are the compressed sources and a GPG detached signature[*]:
|
|
||||||
https://ftp.gnu.org/gnu/mes/mes-0.24.2.tar.gz
|
|
||||||
https://ftp.gnu.org/gnu/mes/mes-0.24.2.tar.gz.sig
|
|
||||||
|
|
||||||
Use a mirror for higher download bandwidth:
|
|
||||||
https://ftpmirror.gnu.org/mes/mes-0.24.2.tar.gz
|
|
||||||
https://ftpmirror.gnu.org/mes/mes-0.24.2.tar.gz.sig
|
|
||||||
|
|
||||||
Here are the SHA1 and SHA256 checksums:
|
|
||||||
|
|
||||||
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx mes-0.24.2.tar.gz
|
|
||||||
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx mes-0.24.2.tar.gz
|
|
||||||
|
|
||||||
[*] Use a .sig file to verify that the corresponding file (without the
|
|
||||||
.sig suffix) is intact. First, be sure to download both the .sig file
|
|
||||||
and the corresponding tarball. Then, run a command like this:
|
|
||||||
|
|
||||||
gpg --verify mes-0.24.2.tar.gz.sig
|
|
||||||
|
|
||||||
If that command fails because you don't have the required public key,
|
|
||||||
or that public key has expired, try the following commands to update
|
|
||||||
or refresh it, and then rerun the 'gpg --verify' command.
|
|
||||||
|
|
||||||
gpg --recv-keys 1A858392E331EAFDB8C27FFBF3C1A0D9C1D65273
|
|
||||||
|
|
||||||
* Get informed, get involved
|
|
||||||
|
|
||||||
See https://bootstrappable.org
|
|
||||||
Join #bootstrappable on irc.libera.chat
|
|
||||||
|
|
||||||
* NEWS
|
|
||||||
* Changes in 0.24.2 since 0.24.1
|
|
||||||
** Build
|
|
||||||
*** A number of compile warnings have been fixed.
|
|
||||||
*** The `simple.make' and `simple.sh' builds have been resurrected.
|
|
||||||
** MesCC
|
|
||||||
*** Some assembly defines were added for building TinyCC for x86_64.
|
|
||||||
*** `__assert_fail' has been updated to use the standard signature.
|
|
||||||
** Noteworthy bug fixes
|
|
||||||
*** A bootstrap build without M2-Planet is now supported again.
|
|
||||||
*** `gettimeofday' no longer segfaults in the M2-Planet build.
|
|
||||||
*** `stat64' and friends are now used on 32bit platforms.
|
|
||||||
This fixes https://debbugs.gnu.org/41264, and should also fix
|
|
||||||
https://debbugs.gnu.org/49985,
|
|
||||||
https://debbugs.gnu.org/53415,
|
|
||||||
https://debbugs.gnu.org/53416.
|
|
||||||
*** The Mes C Library now supports uppercase hex conversions.
|
|
||||||
|
|
||||||
* Links
|
|
||||||
[0] https://debbugs.gnu.org/41264
|
|
||||||
[1] https://nlnet.nl/project/GNUMes-ARM_RISC-V
|
|
||||||
[2] https://git.savannah.gnu.org/cgit/guix.git/log/?h=wip-aarch64-bootstrap
|
|
||||||
[3] https://www.gnu.org/software/mes
|
|
||||||
[4] https://guix.gnu.org/blog/2020/guix-further-reduces-bootstrap-seed-to-25
|
|
||||||
[5] https://www.gnu.org/software/guix
|
|
||||||
[6] https://bootstrappable.org
|
|
||||||
[7] https://github.com/oriansj/m2-planet
|
|
||||||
[8] https://savannah.nongnu.org/projects/mescc-tools
|
|
||||||
[9] https://github.com/schemeway/lalr-scm
|
|
||||||
[10] https://www.cs.indiana.edu/chezscheme/syntax-case/old-psyntax.html
|
|
||||||
[11] https://www.nongnu.org/nyacc
|
|
||||||
[12] https://gitlab.com/janneke/tinycc
|
|
||||||
[13] http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf
|
|
||||||
[14] https://github.com/oriansj/stage0-posix
|
|
|
@ -87,7 +87,7 @@ get_machine.")
|
||||||
(define-public m2-planet
|
(define-public m2-planet
|
||||||
(package
|
(package
|
||||||
(name "m2-planet")
|
(name "m2-planet")
|
||||||
(version "1.9.0")
|
(version "1.10.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
|
@ -97,7 +97,7 @@ get_machine.")
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0cgvvq91cbxxm93k8ayyvhpaf3c2lv10qw4wyqwn3hc1qb1cfyvr"))))
|
"03ixvfdzhyy1d94iqpwl0p924pdvdp7yq4ggm05w3c013kzy2y12"))))
|
||||||
(native-inputs (list mescc-tools))
|
(native-inputs (list mescc-tools))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
|
@ -183,13 +183,13 @@ extensive examples, including parsers for the Javascript and C99 languages.")
|
||||||
(define-public mes
|
(define-public mes
|
||||||
(package
|
(package
|
||||||
(name "mes")
|
(name "mes")
|
||||||
(version #!mes!# "0.24.2")
|
(version #!mes!# "0.24.1")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
"https://ftp.gnu.org/pub/gnu/mes/mes-" version ".tar.gz"))
|
"https://ftp.gnu.org/pub/gnu/mes/mes-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 #!mes!# "0vp8v88zszh1imm3dvdfi3m8cywshdj7xcrsq4cgmss69s2y1nkx"))))
|
(base32 #!mes!# "0246sy5zm49zw4zs87hrq1j1x74mchijh4rlj2mzlwjccha5cybs"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(supported-systems '("aarch64-linux" "armhf-linux" "i686-linux" "x86_64-linux"))
|
(supported-systems '("aarch64-linux" "armhf-linux" "i686-linux" "x86_64-linux"))
|
||||||
(propagated-inputs (list mescc-tools nyacc))
|
(propagated-inputs (list mescc-tools nyacc))
|
||||||
|
@ -238,7 +238,7 @@ Guile.")
|
||||||
(license gpl3+)))
|
(license gpl3+)))
|
||||||
|
|
||||||
(define-public mes.git
|
(define-public mes.git
|
||||||
(let ((version #!mes!# "0.24.2")
|
(let ((version #!mes!# "0.24.1")
|
||||||
(revision "0")
|
(revision "0")
|
||||||
(commit (read-string (open-pipe "git show HEAD | head -1 | cut -d ' ' -f 2" OPEN_READ))))
|
(commit (read-string (open-pipe "git show HEAD | head -1 | cut -d ' ' -f 2" OPEN_READ))))
|
||||||
(package
|
(package
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2017,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2017 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -27,9 +27,8 @@
|
||||||
#undef __MES_ASSERT_H
|
#undef __MES_ASSERT_H
|
||||||
#include_next <assert.h>
|
#include_next <assert.h>
|
||||||
#else // ! SYSTEM_LIBC
|
#else // ! SYSTEM_LIBC
|
||||||
#define assert(x) ((x) ? (void)0 : __assert_fail (#x, 0, 0, 0))
|
#define assert(x) ((x) ? (void)0 : __assert_fail (#x))
|
||||||
void __assert_fail (char const *s, char const *file, unsigned line,
|
void __assert_fail (char *s);
|
||||||
char const *function);
|
|
||||||
#endif // ! SYSTEM_LIBC
|
#endif // ! SYSTEM_LIBC
|
||||||
|
|
||||||
#endif // __MES_ASSERT_H
|
#endif // __MES_ASSERT_H
|
||||||
|
|
|
@ -69,8 +69,11 @@
|
||||||
#define creat(file_name, mode) open (file_name, O_WRONLY | O_CREAT | O_TRUNC, mode)
|
#define creat(file_name, mode) open (file_name, O_WRONLY | O_CREAT | O_TRUNC, mode)
|
||||||
int dup (int old);
|
int dup (int old);
|
||||||
int dup2 (int old, int new);
|
int dup2 (int old, int new);
|
||||||
|
|
||||||
|
#if !__M2__
|
||||||
int fcntl (int filedes, int command, ...);
|
int fcntl (int filedes, int command, ...);
|
||||||
int open (char const *s, int flags, ...);
|
int open (char const *s, int flags, ...);
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif // ! SYSTEM_LIBC
|
#endif // ! SYSTEM_LIBC
|
||||||
|
|
||||||
|
|
|
@ -29,6 +29,19 @@
|
||||||
#define DBL_MIN_EXP -1021
|
#define DBL_MIN_EXP -1021
|
||||||
#define LDBL_MIN_EXP -1021
|
#define LDBL_MIN_EXP -1021
|
||||||
|
|
||||||
|
// gcc-4.6
|
||||||
|
#define DBL_EPSILON 1
|
||||||
|
#define DBL_MANT_DIG 1
|
||||||
|
#define DBL_MAX INT_MAX
|
||||||
|
#define DBL_MIN INT_MIN
|
||||||
|
|
||||||
|
#define FLT_RADIX 10
|
||||||
|
|
||||||
|
#define LDBL_EPSILON 1
|
||||||
|
#define LDBL_MANT_DIG 1
|
||||||
|
#define LDBL_MAX INT_MAX
|
||||||
|
#define LDBL_MIN INT_MIN
|
||||||
|
|
||||||
#endif // ! SYSTEM_LIBC
|
#endif // ! SYSTEM_LIBC
|
||||||
|
|
||||||
#endif // __MES_FLOAT_H
|
#endif // __MES_FLOAT_H
|
||||||
|
|
|
@ -1,79 +0,0 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
|
||||||
* Copyright © 2017,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
|
||||||
*
|
|
||||||
* This file is part of GNU Mes.
|
|
||||||
*
|
|
||||||
* GNU Mes is free software; you can redistribute it and/or modify it
|
|
||||||
* under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 3 of the License, or (at
|
|
||||||
* your option) any later version.
|
|
||||||
*
|
|
||||||
* GNU Mes is distributed in the hope that it will be useful, but
|
|
||||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
#ifndef __MES_LINUX_ARM_KERNEL_STAT_H
|
|
||||||
#define __MES_LINUX_ARM_KERNEL_STAT_H 1
|
|
||||||
|
|
||||||
// https://github.com/torvalds/linux/blob/master/arch/arm/include/uapi/asm/stat.h
|
|
||||||
|
|
||||||
#include <arch/syscall.h>
|
|
||||||
|
|
||||||
#if __SIZEOF_LONG_LONG__ != 8
|
|
||||||
|
|
||||||
// *INDENT-OFF*
|
|
||||||
struct stat
|
|
||||||
{
|
|
||||||
unsigned long st_dev;
|
|
||||||
unsigned long st_ino;
|
|
||||||
unsigned short st_mode;
|
|
||||||
unsigned short st_nlink;
|
|
||||||
unsigned short st_uid;
|
|
||||||
unsigned short st_gid;
|
|
||||||
unsigned long st_rdev;
|
|
||||||
unsigned long st_size;
|
|
||||||
unsigned long st_blksize;
|
|
||||||
unsigned long st_blocks;
|
|
||||||
unsigned long st_atime;
|
|
||||||
unsigned long st_atime_usec;
|
|
||||||
unsigned long st_mtime;
|
|
||||||
unsigned long st_mtime_usec;
|
|
||||||
unsigned long st_ctime;
|
|
||||||
unsigned long st_ctime_usec;
|
|
||||||
unsigned long __pad0;
|
|
||||||
unsigned long __pad1;
|
|
||||||
};
|
|
||||||
|
|
||||||
#else // __SIZEOF_LONG_LONG__ == 8
|
|
||||||
|
|
||||||
struct stat
|
|
||||||
{
|
|
||||||
unsigned long long st_dev;
|
|
||||||
unsigned char __pad0[4];
|
|
||||||
unsigned long __st_ino;
|
|
||||||
unsigned int st_mode;
|
|
||||||
unsigned int st_nlink;
|
|
||||||
unsigned long st_uid;
|
|
||||||
unsigned long st_gid;
|
|
||||||
unsigned long long st_rdev;
|
|
||||||
unsigned char __pad3[4];
|
|
||||||
long long st_size;
|
|
||||||
unsigned long st_blksize;
|
|
||||||
unsigned long long st_blocks;
|
|
||||||
unsigned long st_atime;
|
|
||||||
unsigned long st_atime_nsec;
|
|
||||||
unsigned long st_mtime;
|
|
||||||
unsigned int st_mtime_nsec;
|
|
||||||
unsigned long st_ctime;
|
|
||||||
unsigned long st_ctime_nsec;
|
|
||||||
unsigned long long st_ino;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // __SIZEOF_LONG_LONG__ == 8
|
|
||||||
|
|
||||||
#endif // __MES_LINUX_ARM_KERNEL_STAT_H
|
|
|
@ -25,47 +25,29 @@
|
||||||
|
|
||||||
/* libc-mini */
|
/* libc-mini */
|
||||||
#ifndef SYS_exit
|
#ifndef SYS_exit
|
||||||
// CONSTANT SYS_exit 0x01
|
|
||||||
#define SYS_exit 0x01
|
#define SYS_exit 0x01
|
||||||
#endif
|
#endif
|
||||||
#ifndef SYS_write
|
#ifndef SYS_write
|
||||||
// CONSTANT SYS_write 0x04
|
|
||||||
#define SYS_write 0x04
|
#define SYS_write 0x04
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* libc */
|
/* libc */
|
||||||
// CONSTANT SYS_fork 0x02
|
|
||||||
#define SYS_fork 0x02
|
#define SYS_fork 0x02
|
||||||
// CONSTANT SYS_read 0x03
|
|
||||||
#define SYS_read 0x03
|
#define SYS_read 0x03
|
||||||
// CONSTANT SYS_open 0x05
|
|
||||||
#define SYS_open 0x05
|
#define SYS_open 0x05
|
||||||
//#define SYS_waitpid
|
//#define SYS_waitpid
|
||||||
// CONSTANT SYS_wait4 0x72
|
|
||||||
#define SYS_wait4 0x72
|
#define SYS_wait4 0x72
|
||||||
// CONSTANT SYS_execve 0x0b
|
|
||||||
#define SYS_execve 0x0b
|
#define SYS_execve 0x0b
|
||||||
// CONSTANT SYS_chmod 0x0f
|
|
||||||
#define SYS_chmod 0x0f
|
#define SYS_chmod 0x0f
|
||||||
// CONSTANT SYS_access 0x21
|
|
||||||
#define SYS_access 0x21
|
#define SYS_access 0x21
|
||||||
// CONSTANT SYS_brk 0x2d
|
|
||||||
#define SYS_brk 0x2d
|
#define SYS_brk 0x2d
|
||||||
// CONSTANT SYS_ioctl 0x36
|
|
||||||
#define SYS_ioctl 0x36
|
#define SYS_ioctl 0x36
|
||||||
// CONSTANT SYS_fsync 0x76
|
|
||||||
#define SYS_fsync 0x76
|
#define SYS_fsync 0x76
|
||||||
// CONSTANT SYS_getcwd 0xb7
|
|
||||||
#define SYS_getcwd 0xb7
|
#define SYS_getcwd 0xb7
|
||||||
// CONSTANT SYS_dup 0x29
|
|
||||||
#define SYS_dup 0x29
|
#define SYS_dup 0x29
|
||||||
// CONSTANT SYS_dup2 0x3f
|
|
||||||
#define SYS_dup2 0x3f
|
#define SYS_dup2 0x3f
|
||||||
// CONSTANT SYS_unlink 0x0a
|
|
||||||
#define SYS_unlink 0x0a
|
#define SYS_unlink 0x0a
|
||||||
// CONSTANT SYS_gettimeofday 0x4e
|
|
||||||
#define SYS_gettimeofday 0x4e
|
#define SYS_gettimeofday 0x4e
|
||||||
// CONSTANT SYS_clock_gettime 0x107
|
|
||||||
#define SYS_clock_gettime 0x107
|
#define SYS_clock_gettime 0x107
|
||||||
|
|
||||||
/* libc+tcc */
|
/* libc+tcc */
|
||||||
|
@ -109,23 +91,8 @@
|
||||||
#define SYS_readlink 0x55
|
#define SYS_readlink 0x55
|
||||||
#define SYS_mknod 0x0e
|
#define SYS_mknod 0x0e
|
||||||
|
|
||||||
#if __SIZEOF_LONG_LONG__ == 8
|
// gcc-4.6.4
|
||||||
|
#define SYS_mmap 0x5a
|
||||||
#define SYS_stat64 0xc3
|
#define SYS_munmap 0x5b
|
||||||
#define SYS_lstat64 0xc4
|
|
||||||
#define SYS_fstat64 0xc5
|
|
||||||
#define SYS_fcntl64 0xdd
|
|
||||||
#define SYS_getdents64 0xdc
|
|
||||||
|
|
||||||
#undef SYS_stat
|
|
||||||
#define SYS_stat SYS_stat64
|
|
||||||
|
|
||||||
#undef SYS_lstat
|
|
||||||
#define SYS_lstat SYS_lstat64
|
|
||||||
|
|
||||||
#undef SYS_fstat
|
|
||||||
#define SYS_fstat SYS_fstat64
|
|
||||||
|
|
||||||
#endif // __SIZEOF_LONG_LONG__ == 8
|
|
||||||
|
|
||||||
#endif /* __MES_LINUX_ARM_SYSCALL_H */
|
#endif /* __MES_LINUX_ARM_SYSCALL_H */
|
||||||
|
|
|
@ -1,47 +0,0 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
|
||||||
* Copyright © 2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
|
||||||
*
|
|
||||||
* This file is part of GNU Mes.
|
|
||||||
*
|
|
||||||
* GNU Mes is free software; you can redistribute it and/or modify it
|
|
||||||
* under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 3 of the License, or (at
|
|
||||||
* your option) any later version.
|
|
||||||
*
|
|
||||||
* GNU Mes is distributed in the hope that it will be useful, but
|
|
||||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
#ifndef __LINUX_M2_KERNEL_STAT_H
|
|
||||||
#define __LINUX_M2_KERNEL_STAT_H
|
|
||||||
|
|
||||||
/* https://github.com/torvalds/linux/blob/master/arch/x86/include/uapi/asm/stat.h */
|
|
||||||
|
|
||||||
/* *INDENT-OFF* */
|
|
||||||
struct stat
|
|
||||||
{
|
|
||||||
unsigned st_dev;
|
|
||||||
unsigned st_ino;
|
|
||||||
char st_mode[2];
|
|
||||||
char st_nlink[2];
|
|
||||||
char st_uid[2];
|
|
||||||
char st_gid[2];
|
|
||||||
unsigned st_rdev;
|
|
||||||
unsigned st_size;
|
|
||||||
unsigned st_blksize;
|
|
||||||
unsigned st_blocks;
|
|
||||||
unsigned st_atime;
|
|
||||||
unsigned st_atime_usec;
|
|
||||||
unsigned st_mtime;
|
|
||||||
unsigned st_mtime_usec;
|
|
||||||
unsigned st_ctime;
|
|
||||||
unsigned st_ctime_usec;
|
|
||||||
unsigned __pad0;
|
|
||||||
unsigned __pad1;
|
|
||||||
};
|
|
||||||
#endif /* __LINUX_M2_KERNEL_STAT_H */
|
|
|
@ -1,79 +0,0 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
|
||||||
* Copyright © 2017,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
|
||||||
*
|
|
||||||
* This file is part of GNU Mes.
|
|
||||||
*
|
|
||||||
* GNU Mes is free software; you can redistribute it and/or modify it
|
|
||||||
* under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 3 of the License, or (at
|
|
||||||
* your option) any later version.
|
|
||||||
*
|
|
||||||
* GNU Mes is distributed in the hope that it will be useful, but
|
|
||||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
#ifndef __MES_LINUX_X86_KERNEL_STAT_H
|
|
||||||
#define __MES_LINUX_X86_KERNEL_STAT_H 1
|
|
||||||
|
|
||||||
// https://github.com/torvalds/linux/blob/master/arch/x86/include/uapi/asm/stat.h
|
|
||||||
|
|
||||||
#include <arch/syscall.h>
|
|
||||||
|
|
||||||
#if __SIZEOF_LONG_LONG__ != 8
|
|
||||||
|
|
||||||
// *INDENT-OFF*
|
|
||||||
struct stat
|
|
||||||
{
|
|
||||||
unsigned long st_dev;
|
|
||||||
unsigned long st_ino;
|
|
||||||
unsigned short st_mode;
|
|
||||||
unsigned short st_nlink;
|
|
||||||
unsigned short st_uid;
|
|
||||||
unsigned short st_gid;
|
|
||||||
unsigned long st_rdev;
|
|
||||||
unsigned long st_size;
|
|
||||||
unsigned long st_blksize;
|
|
||||||
unsigned long st_blocks;
|
|
||||||
unsigned long st_atime;
|
|
||||||
unsigned long st_atime_usec;
|
|
||||||
unsigned long st_mtime;
|
|
||||||
unsigned long st_mtime_usec;
|
|
||||||
unsigned long st_ctime;
|
|
||||||
unsigned long st_ctime_usec;
|
|
||||||
unsigned long __pad0;
|
|
||||||
unsigned long __pad1;
|
|
||||||
};
|
|
||||||
|
|
||||||
#else // __SIZEOF_LONG_LONG__ == 8
|
|
||||||
|
|
||||||
struct stat
|
|
||||||
{
|
|
||||||
unsigned long long st_dev;
|
|
||||||
unsigned char __pad0[4];
|
|
||||||
unsigned long __st_ino;
|
|
||||||
unsigned int st_mode;
|
|
||||||
unsigned int st_nlink;
|
|
||||||
unsigned long st_uid;
|
|
||||||
unsigned long st_gid;
|
|
||||||
unsigned long long st_rdev;
|
|
||||||
unsigned char __pad3[4];
|
|
||||||
long long st_size;
|
|
||||||
unsigned long st_blksize;
|
|
||||||
unsigned long long st_blocks;
|
|
||||||
unsigned long st_atime;
|
|
||||||
unsigned long st_atime_nsec;
|
|
||||||
unsigned long st_mtime;
|
|
||||||
unsigned int st_mtime_nsec;
|
|
||||||
unsigned long st_ctime;
|
|
||||||
unsigned long st_ctime_nsec;
|
|
||||||
unsigned long long st_ino;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // __SIZEOF_LONG_LONG__ == 8
|
|
||||||
|
|
||||||
#endif // __MES_LINUX_X86_KERNEL_STAT_H
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2017 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2017,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -22,50 +22,30 @@
|
||||||
|
|
||||||
/* libc-mini */
|
/* libc-mini */
|
||||||
#ifndef SYS_exit
|
#ifndef SYS_exit
|
||||||
// CONSTANT SYS_exit 0x01
|
|
||||||
#define SYS_exit 0x01
|
#define SYS_exit 0x01
|
||||||
#endif
|
#endif
|
||||||
#ifndef SYS_write
|
#ifndef SYS_write
|
||||||
// CONSTANT SYS_write 0x04
|
|
||||||
#define SYS_write 0x04
|
#define SYS_write 0x04
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* libc */
|
/* libc */
|
||||||
// CONSTANT SYS_fork 0x02
|
|
||||||
#define SYS_fork 0x02
|
#define SYS_fork 0x02
|
||||||
// CONSTANT SYS_read 0x03
|
|
||||||
#define SYS_read 0x03
|
#define SYS_read 0x03
|
||||||
// CONSTANT SYS_open 0x05
|
|
||||||
#define SYS_open 0x05
|
#define SYS_open 0x05
|
||||||
// CONSTANT SYS_waitpid 0x07
|
|
||||||
#define SYS_waitpid 0x07
|
#define SYS_waitpid 0x07
|
||||||
// CONSTANT SYS_wait4 0x72
|
|
||||||
#define SYS_wait4 0x72
|
#define SYS_wait4 0x72
|
||||||
// CONSTANT SYS_execve 0x0b
|
|
||||||
#define SYS_execve 0x0b
|
#define SYS_execve 0x0b
|
||||||
// CONSTANT SYS_chmod 0x0f
|
|
||||||
#define SYS_chmod 0x0f
|
#define SYS_chmod 0x0f
|
||||||
// CONSTANT SYS_access 0x21
|
|
||||||
#define SYS_access 0x21
|
#define SYS_access 0x21
|
||||||
// CONSTANT SYS_brk 0x2d
|
|
||||||
#define SYS_brk 0x2d
|
#define SYS_brk 0x2d
|
||||||
// CONSTANT SYS_ioctl 0x36
|
|
||||||
#define SYS_ioctl 0x36
|
#define SYS_ioctl 0x36
|
||||||
// CONSTANT SYS_fsync 0x76
|
|
||||||
#define SYS_fsync 0x76
|
#define SYS_fsync 0x76
|
||||||
// CONSTANT SYS_getcwd 0xb7
|
|
||||||
#define SYS_getcwd 0xb7
|
#define SYS_getcwd 0xb7
|
||||||
// CONSTANT SYS_dup 0x29
|
|
||||||
#define SYS_dup 0x29
|
#define SYS_dup 0x29
|
||||||
// CONSTANT SYS_dup2 0x3f
|
|
||||||
#define SYS_dup2 0x3f
|
#define SYS_dup2 0x3f
|
||||||
// CONSTANT SYS_unlink 0x0a
|
|
||||||
#define SYS_unlink 0x0a
|
#define SYS_unlink 0x0a
|
||||||
// CONSTANT SYS_gettimeofday 0x4e
|
|
||||||
#define SYS_gettimeofday 0x4e
|
#define SYS_gettimeofday 0x4e
|
||||||
// CONSTANT SYS_clock_gettime 0x109
|
|
||||||
#define SYS_clock_gettime 0x109
|
#define SYS_clock_gettime 0x109
|
||||||
// CONSTANT SYS_time 0x0d
|
|
||||||
#define SYS_time 0x0d
|
#define SYS_time 0x0d
|
||||||
|
|
||||||
/* libc+tcc */
|
/* libc+tcc */
|
||||||
|
@ -75,6 +55,7 @@
|
||||||
#define SYS_stat 0x6a
|
#define SYS_stat 0x6a
|
||||||
|
|
||||||
/* libc+gnu */
|
/* libc+gnu */
|
||||||
|
|
||||||
#define SYS_chdir 0x0c
|
#define SYS_chdir 0x0c
|
||||||
#define SYS_link 0x09
|
#define SYS_link 0x09
|
||||||
#define SYS_getpid 0x14
|
#define SYS_getpid 0x14
|
||||||
|
@ -111,23 +92,8 @@
|
||||||
#define SYS_readlink 0x55
|
#define SYS_readlink 0x55
|
||||||
#define SYS_mknod 0x0e
|
#define SYS_mknod 0x0e
|
||||||
|
|
||||||
#if __SIZEOF_LONG_LONG__ == 8
|
// gcc-4.6.4
|
||||||
|
#define SYS_mmap 0x5a
|
||||||
#define SYS_stat64 0xc3
|
#define SYS_munmap 0x5b
|
||||||
#define SYS_lstat64 0xc4
|
|
||||||
#define SYS_fstat64 0xc5
|
|
||||||
#define SYS_fcntl64 0xdd
|
|
||||||
#define SYS_getdents64 0xdc
|
|
||||||
|
|
||||||
#undef SYS_stat
|
|
||||||
#define SYS_stat SYS_stat64
|
|
||||||
|
|
||||||
#undef SYS_lstat
|
|
||||||
#define SYS_lstat SYS_lstat64
|
|
||||||
|
|
||||||
#undef SYS_fstat
|
|
||||||
#define SYS_fstat SYS_fstat64
|
|
||||||
|
|
||||||
#endif // __SIZEOF_LONG_LONG__ == 8
|
|
||||||
|
|
||||||
#endif /* __MES_LINUX_X86_SYSCALL_H */
|
#endif /* __MES_LINUX_X86_SYSCALL_H */
|
||||||
|
|
|
@ -1,51 +0,0 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
|
||||||
* Copyright © 2017,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
|
||||||
*
|
|
||||||
* This file is part of GNU Mes.
|
|
||||||
*
|
|
||||||
* GNU Mes is free software; you can redistribute it and/or modify it
|
|
||||||
* under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 3 of the License, or (at
|
|
||||||
* your option) any later version.
|
|
||||||
*
|
|
||||||
* GNU Mes is distributed in the hope that it will be useful, but
|
|
||||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
#ifndef __MES_LINUX_X86_64_KERNEL_STAT_H
|
|
||||||
#define __MES_LINUX_X86_64_KERNEL_STAT_H 1
|
|
||||||
|
|
||||||
// https://github.com/torvalds/linux/blob/master/arch/x86/include/uapi/asm/stat.h
|
|
||||||
|
|
||||||
// *INDENT-OFF*
|
|
||||||
struct stat
|
|
||||||
{
|
|
||||||
unsigned long st_dev;
|
|
||||||
unsigned long st_ino;
|
|
||||||
unsigned long st_nlink;
|
|
||||||
unsigned int st_mode;
|
|
||||||
unsigned int st_uid;
|
|
||||||
unsigned int st_gid;
|
|
||||||
unsigned int __pad0;
|
|
||||||
unsigned long st_rdev;
|
|
||||||
unsigned long st_size;
|
|
||||||
unsigned long st_atime;
|
|
||||||
unsigned long st_atime_nsec;
|
|
||||||
unsigned long st_mtime;
|
|
||||||
unsigned long st_mtime_nsec;
|
|
||||||
unsigned long st_ctime;
|
|
||||||
unsigned long st_ctime_nsec;
|
|
||||||
unsigned long st_blksize;
|
|
||||||
long st_blocks;
|
|
||||||
unsigned long __pad1;
|
|
||||||
unsigned long __pad2;
|
|
||||||
unsigned long __pad3;
|
|
||||||
unsigned long __pad4;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // __MES_LINUX_X86_64_KERNEL_STAT_H
|
|
|
@ -85,4 +85,8 @@
|
||||||
#define SYS_readlink 0x59
|
#define SYS_readlink 0x59
|
||||||
#define SYS_mknod 0x85
|
#define SYS_mknod 0x85
|
||||||
|
|
||||||
|
// gcc-4.6.4
|
||||||
|
#define SYS_mmap 0x09
|
||||||
|
#define SYS_munmap 0x0b
|
||||||
|
|
||||||
#endif // __MES_LINUX_X86_64_SYSCALL_H
|
#endif // __MES_LINUX_X86_64_SYSCALL_H
|
||||||
|
|
|
@ -1,70 +0,0 @@
|
||||||
/*
|
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
|
||||||
* Copyright © 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
|
||||||
*
|
|
||||||
* This file is part of GNU Mes.
|
|
||||||
*
|
|
||||||
* GNU Mes is free software; you can redistribute it and/or modify it
|
|
||||||
* under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 3 of the License, or (at
|
|
||||||
* your option) any later version.
|
|
||||||
*
|
|
||||||
* GNU Mes is distributed in the hope that it will be useful, but
|
|
||||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __M2_LIB_H
|
|
||||||
#define __M2_LIB_H
|
|
||||||
|
|
||||||
char **environ;
|
|
||||||
int __stdin;
|
|
||||||
int __stdout;
|
|
||||||
int __stderr;
|
|
||||||
int errno;
|
|
||||||
|
|
||||||
// CONSTANT EOF 0xffffffff
|
|
||||||
// CONSTANT __FILEDES_MAX 512
|
|
||||||
|
|
||||||
char* cast_intp_to_charp (int *i);
|
|
||||||
char* cast_long_to_charp (long i);
|
|
||||||
long cast_charp_to_long (char const *);
|
|
||||||
long cast_int_to_long (int i);
|
|
||||||
long cast_voidp_to_long (void const *);
|
|
||||||
|
|
||||||
char *itoa (int number);
|
|
||||||
char *ltoa (long number);
|
|
||||||
int __ungetc_p (int filedes);
|
|
||||||
int eputs (char *s);
|
|
||||||
int oputs (char *s);
|
|
||||||
int puts (char *s);
|
|
||||||
size_t strlen (char *s);
|
|
||||||
ssize_t _write ();
|
|
||||||
ssize_t write (int filedes, void *buffer, size_t size);
|
|
||||||
void __ungetc_clear (int filedes);
|
|
||||||
void __ungetc_init ();
|
|
||||||
void __ungetc_set (int filedes, int c);
|
|
||||||
|
|
||||||
struct timezone
|
|
||||||
{
|
|
||||||
int tz_minuteswest;
|
|
||||||
int tz_dsttime;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct timespec
|
|
||||||
{
|
|
||||||
long tv_sec;
|
|
||||||
long tv_nsec;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct timeval
|
|
||||||
{
|
|
||||||
long tv_sec;
|
|
||||||
long tv_usec;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* __M2_LIB_H */
|
|
|
@ -1,138 +0,0 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
|
||||||
* Copyright © 2017,2022,2023 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
|
||||||
*
|
|
||||||
* This file is part of GNU Mes.
|
|
||||||
*
|
|
||||||
* GNU Mes is free software; you can redistribute it and/or modify it
|
|
||||||
* under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 3 of the License, or (at
|
|
||||||
* your option) any later version.
|
|
||||||
*
|
|
||||||
* GNU Mes is distributed in the hope that it will be useful, but
|
|
||||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
#ifndef __M2_TYPES_H
|
|
||||||
#define __M2_TYPES_H 1
|
|
||||||
|
|
||||||
/*
|
|
||||||
#ifndef __MES_CLOCK_T
|
|
||||||
#define __MES_CLOCK_T
|
|
||||||
#undef clock_t
|
|
||||||
typedef long clock_t;
|
|
||||||
#endif
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __MES_DEV_T
|
|
||||||
#define __MES_DEV_T
|
|
||||||
#undef dev_t
|
|
||||||
typedef long dev_t;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
#if !defined (__MES_FILE_T) && ! defined (_FILE_T)
|
|
||||||
#define __MES_FILE_T
|
|
||||||
#define _FILE_T
|
|
||||||
typedef long FILE;
|
|
||||||
#endif
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __MES_GID_T
|
|
||||||
#define __MES_GID_T
|
|
||||||
#undef gid_t
|
|
||||||
typedef unsigned gid_t;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __MES_INO_T
|
|
||||||
#define __MES_INO_T
|
|
||||||
#undef ino_t
|
|
||||||
typedef unsigned ino_t;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if __SIZEOF_LONG_LONG__ == 8
|
|
||||||
#ifndef __MES_INO64_T
|
|
||||||
#define __MES_INO64_T
|
|
||||||
#undef ino64_t
|
|
||||||
typedef unsigned ino64_t;
|
|
||||||
#endif
|
|
||||||
#endif // __SIZEOF_LONG_LONG__ == 8
|
|
||||||
|
|
||||||
#if !defined (__MES_INTPTR_T) && !defined (__intptr_t_defined)
|
|
||||||
#define __MES_INTPTR_T
|
|
||||||
#define __intptr_t_defined
|
|
||||||
#undef intptr_t
|
|
||||||
typedef long intptr_t;
|
|
||||||
#undef uintptr_t
|
|
||||||
typedef unsigned uintptr_t;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __MES_OFF_T
|
|
||||||
#define __MES_OFF_T
|
|
||||||
#undef off_t
|
|
||||||
typedef long off_t;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if __SIZEOF_LONG_LONG__ == 8
|
|
||||||
#ifndef __MES_OFF64_T
|
|
||||||
#define __MES_OFF64_T
|
|
||||||
#undef off64_t
|
|
||||||
typedef unsigned off64_t;
|
|
||||||
#endif
|
|
||||||
#endif // __SIZEOF_LONG_LONG__ == 8
|
|
||||||
|
|
||||||
#ifndef __MES_PID_T
|
|
||||||
#define __MES_PID_T
|
|
||||||
#undef pid_t
|
|
||||||
typedef int pid_t;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __PTRDIFF_T
|
|
||||||
#define __PTRDIFF_T
|
|
||||||
#ifndef __MES_PTRDIFF_T
|
|
||||||
#define __MES_PTRDIFF_T
|
|
||||||
#undef ptrdiff_t
|
|
||||||
typedef long ptrdiff_t;
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __MES_SIGVAL_T
|
|
||||||
#define __MES_SIGVAL_T
|
|
||||||
#undef clock_t
|
|
||||||
typedef long sigval_t;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __SIZE_T
|
|
||||||
#define __SIZE_T
|
|
||||||
#ifndef __MES_SIZE_T
|
|
||||||
#define __MES_SIZE_T
|
|
||||||
typedef unsigned size_t;
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __MES_SSIZE_T
|
|
||||||
#define __MES_SSIZE_T
|
|
||||||
#undef ssize_t
|
|
||||||
typedef long ssize_t;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __MES_UID_T
|
|
||||||
#define __MES_UID_T
|
|
||||||
#undef uid_t
|
|
||||||
typedef unsigned uid_t;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __WCHAR_T
|
|
||||||
#define __WCHAR_T
|
|
||||||
#ifndef __MES_WCHAR_T
|
|
||||||
#define __MES_WCHAR_T
|
|
||||||
#undef wchar_t
|
|
||||||
typedef int wchar_t;
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif // __M2_TYPES_H
|
|
|
@ -31,6 +31,7 @@ double cos (double x);
|
||||||
double exp (double x);
|
double exp (double x);
|
||||||
double fabs (double number);
|
double fabs (double number);
|
||||||
double floor (double x);
|
double floor (double x);
|
||||||
|
long int labs (long int number);
|
||||||
double ldexp (double value, int exponent);
|
double ldexp (double value, int exponent);
|
||||||
double log (double x);
|
double log (double x);
|
||||||
double modf (double value, double *integer_part);
|
double modf (double value, double *integer_part);
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2016,2017,2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2016,2017,2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -23,76 +23,32 @@
|
||||||
|
|
||||||
/* Cell types */
|
/* Cell types */
|
||||||
|
|
||||||
// CONSTANT TCHAR 0
|
|
||||||
#define TCHAR 0
|
#define TCHAR 0
|
||||||
|
|
||||||
// CONSTANT TBYTES 1
|
|
||||||
#define TBYTES 1
|
#define TBYTES 1
|
||||||
// CONSTANT TCLOSURE 2
|
|
||||||
#define TCLOSURE 2
|
#define TCLOSURE 2
|
||||||
// CONSTANT TCONTINUATION 3
|
|
||||||
#define TCONTINUATION 3
|
#define TCONTINUATION 3
|
||||||
// CONSTANT TKEYWORD 4
|
|
||||||
#define TKEYWORD 4
|
#define TKEYWORD 4
|
||||||
// CONSTANT TMACRO 5
|
|
||||||
#define TMACRO 5
|
#define TMACRO 5
|
||||||
// CONSTANT TNUMBER 6
|
|
||||||
#define TNUMBER 6
|
#define TNUMBER 6
|
||||||
// CONSTANT TPAIR 7
|
|
||||||
#define TPAIR 7
|
#define TPAIR 7
|
||||||
// CONSTANT TPORT 8
|
|
||||||
#define TPORT 8
|
#define TPORT 8
|
||||||
// CONSTANT TREF 9
|
|
||||||
#define TREF 9
|
#define TREF 9
|
||||||
// CONSTANT TSPECIAL 10
|
|
||||||
#define TSPECIAL 10
|
#define TSPECIAL 10
|
||||||
// CONSTANT TSTRING 11
|
|
||||||
#define TSTRING 11
|
#define TSTRING 11
|
||||||
// CONSTANT TSTRUCT 12
|
|
||||||
#define TSTRUCT 12
|
#define TSTRUCT 12
|
||||||
// CONSTANT TSYMBOL 13
|
|
||||||
#define TSYMBOL 13
|
#define TSYMBOL 13
|
||||||
// CONSTANT TVALUES 14
|
|
||||||
#define TVALUES 14
|
#define TVALUES 14
|
||||||
// CONSTANT TVARIABLE 15
|
|
||||||
#define TVARIABLE 15
|
#define TVARIABLE 15
|
||||||
// CONSTANT TVECTOR 16
|
|
||||||
#define TVECTOR 16
|
#define TVECTOR 16
|
||||||
// CONSTANT TBROKEN_HEART 17
|
|
||||||
#define TBROKEN_HEART 17
|
#define TBROKEN_HEART 17
|
||||||
|
|
||||||
/* Struct types */
|
/* Struct types */
|
||||||
|
|
||||||
// CONSTANT STRUCT_TYPE 0
|
|
||||||
#define STRUCT_TYPE 0
|
#define STRUCT_TYPE 0
|
||||||
// CONSTANT STRUCT_PRINTER 1
|
|
||||||
#define STRUCT_PRINTER 1
|
#define STRUCT_PRINTER 1
|
||||||
|
|
||||||
// CONSTANT GC_FRAME_SIZE 5
|
|
||||||
#define GC_FRAME_SIZE 5
|
#define GC_FRAME_SIZE 5
|
||||||
// CONSTANT GC_FRAME_PROCEDURE 4
|
|
||||||
#define GC_FRAME_PROCEDURE 4
|
#define GC_FRAME_PROCEDURE 4
|
||||||
|
|
||||||
// CONSTANT STDIN 0
|
|
||||||
// CONSTANT STDOUT 1
|
|
||||||
// CONSTANT STDERR 2
|
|
||||||
|
|
||||||
/* Unknown type 1
|
|
||||||
// CONSTANT EOF -1
|
|
||||||
*/
|
|
||||||
|
|
||||||
// CONSTANT O_RDONLY 0
|
|
||||||
// CONSTANT O_WRONLY 1
|
|
||||||
// CONSTANT O_CREAT 0x40
|
|
||||||
// CONSTANT O_TRUNC 0x200
|
|
||||||
|
|
||||||
// CONSTANT PATH_MAX 1024
|
|
||||||
// CONSTANT __FILEDES_MAX 512
|
|
||||||
|
|
||||||
// CONSTANT S_IRUSR 00400
|
|
||||||
// CONSTANT S_IWUSR 00200
|
|
||||||
|
|
||||||
// CONSTANT CLOCK_PROCESS_CPUTIME_ID 2
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* __MES_CONSTANTS_H */
|
#endif /* __MES_CONSTANTS_H */
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2016,2017,2018,2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2016,2017,2018,2020,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -25,21 +25,27 @@
|
||||||
#include <mes/config.h>
|
#include <mes/config.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// CONSTANT STDIN 0
|
|
||||||
#ifndef STDIN
|
#ifndef STDIN
|
||||||
#define STDIN 0
|
#define STDIN 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// CONSTANT STDOUT 1
|
|
||||||
#ifndef STDOUT
|
#ifndef STDOUT
|
||||||
#define STDOUT 1
|
#define STDOUT 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// CONSTANT STDERR 2
|
|
||||||
#ifndef STDERR
|
#ifndef STDERR
|
||||||
#define STDERR 2
|
#define STDERR 2
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* M2-Planet does not support pointer arithmetic. Explicitly compensate
|
||||||
|
for that by multiplying with M2_PTR_SIZE when using (char)
|
||||||
|
pointers. */
|
||||||
|
#if __M2__
|
||||||
|
#define M2_PTR_SIZE 4
|
||||||
|
#else
|
||||||
|
#define M2_PTR_SIZE 1
|
||||||
|
#endif
|
||||||
|
|
||||||
extern char **environ;
|
extern char **environ;
|
||||||
extern int __stdin;
|
extern int __stdin;
|
||||||
extern int __stdout;
|
extern int __stdout;
|
||||||
|
@ -63,10 +69,14 @@ int oputs (char const *s);
|
||||||
#ifndef __MES_SIZE_T
|
#ifndef __MES_SIZE_T
|
||||||
#define __MES_SIZE_T
|
#define __MES_SIZE_T
|
||||||
#undef size_t
|
#undef size_t
|
||||||
|
#if __M2__
|
||||||
|
typedef unsigned size_t;
|
||||||
|
#else
|
||||||
typedef unsigned long size_t;
|
typedef unsigned long size_t;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef _SSIZE_T
|
#ifndef _SSIZE_T
|
||||||
#define _SSIZE_T
|
#define _SSIZE_T
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2016,2017,2018,2019,2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2016,2017,2018,2019,2020,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -23,6 +23,9 @@
|
||||||
|
|
||||||
#include <mes/lib-mini.h>
|
#include <mes/lib-mini.h>
|
||||||
|
|
||||||
|
#define __FILEDES_MAX 512
|
||||||
|
extern char *__brk;
|
||||||
|
|
||||||
char *cast_intp_to_charp (int const *i);
|
char *cast_intp_to_charp (int const *i);
|
||||||
char *cast_long_to_charp (long i);
|
char *cast_long_to_charp (long i);
|
||||||
long cast_charp_to_long (char const *);
|
long cast_charp_to_long (char const *);
|
||||||
|
@ -34,14 +37,11 @@ void __ungetc_init ();
|
||||||
void __ungetc_clear (int filedes);
|
void __ungetc_clear (int filedes);
|
||||||
void __ungetc_set (int filedes, int c);
|
void __ungetc_set (int filedes, int c);
|
||||||
int __ungetc_p (int filedes);
|
int __ungetc_p (int filedes);
|
||||||
double abtod (char const **p, int base);
|
|
||||||
long abtol (char const **p, int base);
|
long abtol (char const **p, int base);
|
||||||
char *dtoab (double number, int base, int signed_p);
|
|
||||||
char *itoa (int number);
|
char *itoa (int number);
|
||||||
char *ltoa (long number);
|
char *ltoa (long number);
|
||||||
char *ltoab (long x, int base);
|
char *ltoab (long x, int base);
|
||||||
char *ntoab (long number, unsigned base, int signed_p);
|
char *ntoab (long number, unsigned base, int signed_p);
|
||||||
char *ultoa (unsigned long number);
|
|
||||||
char *utoa (unsigned number);
|
char *utoa (unsigned number);
|
||||||
int eputc (int c);
|
int eputc (int c);
|
||||||
int fdgetc (int fd);
|
int fdgetc (int fd);
|
||||||
|
@ -61,30 +61,30 @@ char *search_path (char const *file_name);
|
||||||
ssize_t _read (int fd, void *buffer, size_t size);
|
ssize_t _read (int fd, void *buffer, size_t size);
|
||||||
void assert_msg (int check, char *msg);
|
void assert_msg (int check, char *msg);
|
||||||
|
|
||||||
extern char *__brk;
|
long __mesabi_imod (long a, long b);
|
||||||
extern void (*__call_at_exit) (void);
|
long __mesabi_idiv (long a, long b);
|
||||||
|
void *__memcpy (void *dest, void const *src, size_t n);
|
||||||
#define __FILEDES_MAX 512
|
void *__memmove (void *dest, void const *src, size_t n);
|
||||||
|
void *__memset (void *s, int c, size_t n);
|
||||||
|
int __raise (int signal);
|
||||||
|
|
||||||
#if !SYSTEM_LIBC
|
#if !SYSTEM_LIBC
|
||||||
void __assert_fail (char const *s, char const *file, unsigned line,
|
void __assert_fail (char *s);
|
||||||
char const *function);
|
|
||||||
ssize_t __buffered_read (int filedes, void *buffer, size_t size);
|
ssize_t __buffered_read (int filedes, void *buffer, size_t size);
|
||||||
size_t __buffered_read_clear (int filedes);
|
size_t __buffered_read_clear (int filedes);
|
||||||
void _exit (int code);
|
void _exit (int code);
|
||||||
long brk (void *addr);
|
long brk (void *addr);
|
||||||
#endif // !SYSTEM_LIBC
|
#endif // !SYSTEM_LIBC
|
||||||
|
|
||||||
long __mesabi_imod (long a, long b);
|
#if !__M2__
|
||||||
long __mesabi_idiv (long a, long b);
|
extern void (*__call_at_exit) (void);
|
||||||
|
double abtod (char const **p, int base);
|
||||||
|
char *dtoab (double number, int base, int signed_p);
|
||||||
|
char *ultoa (unsigned long number);
|
||||||
unsigned long __mesabi_umod (unsigned long a, unsigned long b);
|
unsigned long __mesabi_umod (unsigned long a, unsigned long b);
|
||||||
unsigned long __mesabi_udiv (unsigned long a, unsigned long b);
|
unsigned long __mesabi_udiv (unsigned long a, unsigned long b);
|
||||||
unsigned long __mesabi_uldiv (unsigned long a, unsigned long b,
|
unsigned long __mesabi_uldiv (unsigned long a, unsigned long b,
|
||||||
unsigned long *remainder);
|
unsigned long *remainder);
|
||||||
|
#endif
|
||||||
void *__memcpy (void *dest, void const *src, size_t n);
|
|
||||||
void *__memmove (void *dest, void const *src, size_t n);
|
|
||||||
void *__memset (void *s, int c, size_t n);
|
|
||||||
int __raise (int signal);
|
|
||||||
|
|
||||||
#endif //__MES_LIB_H
|
#endif //__MES_LIB_H
|
||||||
|
|
|
@ -53,6 +53,15 @@ struct scm
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* M2-Planet does not support pointer arithmetic. Explicitly compensate
|
||||||
|
for that by multiplying with M2_CELL_SIZE when using cell
|
||||||
|
pointers. */
|
||||||
|
#if __M2__
|
||||||
|
#define M2_CELL_SIZE 12
|
||||||
|
#else
|
||||||
|
#define M2_CELL_SIZE 1
|
||||||
|
#endif
|
||||||
|
|
||||||
/* mes */
|
/* mes */
|
||||||
extern char *g_datadir;
|
extern char *g_datadir;
|
||||||
extern int g_debug;
|
extern int g_debug;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2016,2017,2018,2019,2021 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2016,2017,2018,2019,2021,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -137,14 +137,8 @@ extern struct scm *cell_type_broken_heart;
|
||||||
extern struct scm *cell_symbol_program;
|
extern struct scm *cell_symbol_program;
|
||||||
extern struct scm *cell_symbol_test;
|
extern struct scm *cell_symbol_test;
|
||||||
|
|
||||||
// CONSTANT SYMBOL_MAX 114
|
|
||||||
#define SYMBOL_MAX 114
|
#define SYMBOL_MAX 114
|
||||||
|
|
||||||
// CONSTANT CELL_UNSPECIFIED 7
|
|
||||||
#define CELL_UNSPECIFIED 7
|
#define CELL_UNSPECIFIED 7
|
||||||
|
|
||||||
// CONSTANT CELL_SYMBOL_RECORD_TYPE 82
|
|
||||||
#define CELL_SYMBOL_RECORD_TYPE 82
|
#define CELL_SYMBOL_RECORD_TYPE 82
|
||||||
|
|
||||||
|
|
||||||
#endif /* __MES_SYMBOLS_H */
|
#endif /* __MES_SYMBOLS_H */
|
||||||
|
|
|
@ -29,9 +29,12 @@
|
||||||
|
|
||||||
#define _SIGSET_NITEMS (_NSIG / (8 * sizeof(unsigned long)))
|
#define _SIGSET_NITEMS (_NSIG / (8 * sizeof(unsigned long)))
|
||||||
|
|
||||||
typedef struct {
|
#if !__M2__
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
unsigned long items[_SIGSET_NITEMS];
|
unsigned long items[_SIGSET_NITEMS];
|
||||||
} sigset_t;
|
} sigset_t;
|
||||||
|
#endif
|
||||||
typedef long stack_t;
|
typedef long stack_t;
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
@ -91,6 +94,7 @@ typedef long stack_t;
|
||||||
#define SA_NOMASK SA_NODEFER
|
#define SA_NOMASK SA_NODEFER
|
||||||
#define SA_ONESHOT SA_RESETHAND
|
#define SA_ONESHOT SA_RESETHAND
|
||||||
|
|
||||||
|
#if !__M2__ // lacks short, casts
|
||||||
typedef struct siginfo_t
|
typedef struct siginfo_t
|
||||||
{
|
{
|
||||||
int si_signo;
|
int si_signo;
|
||||||
|
@ -120,7 +124,7 @@ typedef struct siginfo_t
|
||||||
} siginfo_t;
|
} siginfo_t;
|
||||||
// *INDENT-ON*
|
// *INDENT-ON*
|
||||||
|
|
||||||
#if __MESC__
|
#if __M2__ || __MESC__
|
||||||
typedef long sighandler_t;
|
typedef long sighandler_t;
|
||||||
#else
|
#else
|
||||||
typedef void (*sighandler_t) (int);
|
typedef void (*sighandler_t) (int);
|
||||||
|
@ -255,6 +259,7 @@ int sigemptyset (sigset_t * set);
|
||||||
#endif
|
#endif
|
||||||
int sigprocmask (int how, sigset_t const *set, sigset_t * oldset);
|
int sigprocmask (int how, sigset_t const *set, sigset_t * oldset);
|
||||||
|
|
||||||
|
#endif // !__M2__
|
||||||
#endif //! SYSTEM_LIBC
|
#endif //! SYSTEM_LIBC
|
||||||
|
|
||||||
#endif // __MES_SIGNAL_H
|
#endif // __MES_SIGNAL_H
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2017,2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2017,2020,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
* Copyright © 2018 Peter De Wachter <pdewacht@gmail.com>
|
* Copyright © 2018 Peter De Wachter <pdewacht@gmail.com>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
|
@ -87,6 +87,12 @@ typedef unsigned uintmax_t;
|
||||||
|
|
||||||
#define INT_MIN -2147483648
|
#define INT_MIN -2147483648
|
||||||
#define INT_MAX 2147483647
|
#define INT_MAX 2147483647
|
||||||
|
|
||||||
|
#define SHRT_MAX INT16_MAX
|
||||||
|
#define SHRT_MIN INT16_MIN
|
||||||
|
#define USHRT_MAX UINT16_MAX
|
||||||
|
#define USHRT_MIN UINT16_MIN
|
||||||
|
|
||||||
#if __i386__ || __arm__
|
#if __i386__ || __arm__
|
||||||
#define LONG_MIN INT_MIN
|
#define LONG_MIN INT_MIN
|
||||||
#define LONG_MAX INT_MAX
|
#define LONG_MAX INT_MAX
|
||||||
|
@ -105,6 +111,8 @@ typedef unsigned uintmax_t;
|
||||||
#define SIZE_MAX UINT64_MAX
|
#define SIZE_MAX UINT64_MAX
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define SSIZE_MAX LONG_MAX
|
||||||
|
|
||||||
#endif // ! SYSTEM_LIBC
|
#endif // ! SYSTEM_LIBC
|
||||||
|
|
||||||
#endif // __MES_STDINT_H
|
#endif // __MES_STDINT_H
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2016,2017 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2016,2017,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -65,30 +65,34 @@ int ferror (FILE * stream);
|
||||||
int fflush (FILE * stream);
|
int fflush (FILE * stream);
|
||||||
int fgetc (FILE * stream);
|
int fgetc (FILE * stream);
|
||||||
char *fgets (char *s, int size, FILE * stream);
|
char *fgets (char *s, int size, FILE * stream);
|
||||||
int fprintf (FILE * stream, char const *format, ...);
|
|
||||||
int fpurge (FILE * stream);
|
int fpurge (FILE * stream);
|
||||||
int fputc (int c, FILE * stream);
|
int fputc (int c, FILE * stream);
|
||||||
int fputs (char const *s, FILE * stream);
|
int fputs (char const *s, FILE * stream);
|
||||||
int fscanf (FILE * stream, char const *template, ...);
|
|
||||||
int fseek (FILE * stream, long offset, int whence);
|
int fseek (FILE * stream, long offset, int whence);
|
||||||
int getc (FILE * stream);
|
int getc (FILE * stream);
|
||||||
int getchar (void);
|
int getchar (void);
|
||||||
char *getlogin (void);
|
char *getlogin (void);
|
||||||
int printf (char const *format, ...);
|
|
||||||
int putc (int c, FILE * stream);
|
int putc (int c, FILE * stream);
|
||||||
int putchar (int c);
|
int putchar (int c);
|
||||||
int puts (char const *s);
|
int puts (char const *s);
|
||||||
int remove (char const *file_name);
|
int remove (char const *file_name);
|
||||||
|
void rewind (FILE * stream);
|
||||||
int setvbuf (FILE * stream, char *buf, int mode, size_t size);
|
int setvbuf (FILE * stream, char *buf, int mode, size_t size);
|
||||||
int snprintf (char *str, size_t size, char const *format, ...);
|
|
||||||
int sprintf (char *str, char const *format, ...);
|
|
||||||
int sscanf (char const *str, char const *format, ...);
|
|
||||||
int ungetc (int c, FILE * stream);
|
int ungetc (int c, FILE * stream);
|
||||||
long ftell (FILE * stream);
|
long ftell (FILE * stream);
|
||||||
size_t fread (void *ptr, size_t size, size_t count, FILE * stream);
|
size_t fread (void *ptr, size_t size, size_t count, FILE * stream);
|
||||||
size_t freadahead (FILE * fp);
|
size_t freadahead (FILE * fp);
|
||||||
size_t fwrite (void const *ptr, size_t size, size_t count, FILE * stream);
|
size_t fwrite (void const *ptr, size_t size, size_t count, FILE * stream);
|
||||||
|
|
||||||
|
#if !__M2__
|
||||||
|
int fprintf (FILE * stream, char const *format, ...);
|
||||||
|
int fscanf (FILE * stream, char const *template, ...);
|
||||||
|
int printf (char const *format, ...);
|
||||||
|
int snprintf (char *str, size_t size, char const *format, ...);
|
||||||
|
int sprintf (char *str, char const *format, ...);
|
||||||
|
int sscanf (char const *str, char const *format, ...);
|
||||||
|
#endif // !__M2__
|
||||||
|
|
||||||
#endif // ! SYSTEM_LIBC
|
#endif // ! SYSTEM_LIBC
|
||||||
|
|
||||||
#endif // __MES_STDIO_H
|
#endif // __MES_STDIO_H
|
||||||
|
|
|
@ -48,6 +48,7 @@ char *strncpy (char *to, char const *from, size_t size);
|
||||||
int strncmp (char const *, char const *, size_t);
|
int strncmp (char const *, char const *, size_t);
|
||||||
char *strrchr (char const *s, int c);
|
char *strrchr (char const *s, int c);
|
||||||
char *strstr (char const *haystack, char const *needle);
|
char *strstr (char const *haystack, char const *needle);
|
||||||
|
char *strtok (char *new_string, char const *delimiters);
|
||||||
char *strlwr (char *string);
|
char *strlwr (char *string);
|
||||||
char *strupr (char *string);
|
char *strupr (char *string);
|
||||||
|
|
||||||
|
|
|
@ -28,8 +28,13 @@
|
||||||
|
|
||||||
#define TCGETS 0x5401
|
#define TCGETS 0x5401
|
||||||
#define TCGETA 0x5405
|
#define TCGETA 0x5405
|
||||||
|
#if __M2__
|
||||||
|
int ioctl (int fd, unsigned request, long data);
|
||||||
|
int ioctl3 (int fd, unsigned request, long data);
|
||||||
|
#else
|
||||||
int ioctl (int fd, unsigned long request, ...);
|
int ioctl (int fd, unsigned long request, ...);
|
||||||
int ioctl3 (int fd, unsigned long request, long data);
|
int ioctl3 (int fd, unsigned long request, long data);
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif // ! SYSTEM_LIBC
|
#endif // ! SYSTEM_LIBC
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2017 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2017,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -25,19 +25,25 @@
|
||||||
#include_next <sys/mman.h>
|
#include_next <sys/mman.h>
|
||||||
#else // ! SYSTEM_LIBC
|
#else // ! SYSTEM_LIBC
|
||||||
|
|
||||||
#ifndef __MES_SIZE_T
|
#include <sys/types.h>
|
||||||
#define __MES_SIZE_T
|
|
||||||
typedef unsigned long size_t;
|
#define MAP_SHARED 0x01
|
||||||
#endif
|
#define MAP_PRIVATE 0x02
|
||||||
|
#define MAP_ANONYMOUS 0x20
|
||||||
|
#define MAP_POPULATE 0x08000
|
||||||
|
|
||||||
|
#define MAP_ANON MAP_ANONYMOUS
|
||||||
|
#define MAP_FAILED ((void*)-1)
|
||||||
|
|
||||||
#define PROT_NONE 0
|
#define PROT_NONE 0
|
||||||
#define PROT_READ 1
|
#define PROT_READ 1
|
||||||
#define PROT_WRITE 2
|
#define PROT_WRITE 2
|
||||||
#define PROT_EXEC 4
|
#define PROT_EXEC 4
|
||||||
|
|
||||||
|
void *mmap (void *address, size_t length, int protect, int flags, int filedes, off_t offset);
|
||||||
int mprotect (void *addr, size_t len, int prot);
|
int mprotect (void *addr, size_t len, int prot);
|
||||||
|
int munmap (void *addr, size_t length);
|
||||||
|
|
||||||
#endif // ! SYSTEM_LIBC
|
#endif // ! SYSTEM_LIBC
|
||||||
|
|
||||||
#endif // __MES_SYS_MMAN_H
|
#endif // __MES_SYS_MMAN_H
|
||||||
|
|
||||||
|
|
|
@ -32,20 +32,20 @@ struct rusage
|
||||||
{
|
{
|
||||||
struct timeval ru_utime;
|
struct timeval ru_utime;
|
||||||
struct timeval ru_stime;
|
struct timeval ru_stime;
|
||||||
long int ru_maxrss;
|
long ru_maxrss;
|
||||||
long int ru_ixrss;
|
long ru_ixrss;
|
||||||
long int ru_idrss;
|
long ru_idrss;
|
||||||
long int ru_isrss;
|
long ru_isrss;
|
||||||
long int ru_minflt;
|
long ru_minflt;
|
||||||
long int ru_majflt;
|
long ru_majflt;
|
||||||
long int ru_nswap;
|
long ru_nswap;
|
||||||
long int ru_inblock;
|
long ru_inblock;
|
||||||
long int ru_oublock;
|
long ru_oublock;
|
||||||
long int ru_msgsnd;
|
long ru_msgsnd;
|
||||||
long int ru_msgrcv;
|
long ru_msgrcv;
|
||||||
long int ru_nsignals;
|
long ru_nsignals;
|
||||||
long int ru_nvcsw;
|
long ru_nvcsw;
|
||||||
long int ru_nivcsw;
|
long ru_nivcsw;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define RUSAGE_SELF 0
|
#define RUSAGE_SELF 0
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
* along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
|
* along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
#ifndef __MES_SYS_STAT_H
|
#ifndef __MES_SYS_STAT_H
|
||||||
#define __MES_SYS_STAT_H 1
|
#define __MES_SYS_STAT_H 1lei
|
||||||
|
|
||||||
#if SYSTEM_LIBC
|
#if SYSTEM_LIBC
|
||||||
#undef __MES_SYS_STAT_H
|
#undef __MES_SYS_STAT_H
|
||||||
|
@ -29,13 +29,82 @@
|
||||||
|
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <arch/kernel-stat.h>
|
|
||||||
|
|
||||||
#ifndef __MES_MODE_T
|
#ifndef __MES_MODE_T
|
||||||
#define __MES_MODE_T
|
#define __MES_MODE_T
|
||||||
typedef int mode_t;
|
typedef int mode_t;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// *INDENT-OFF*
|
||||||
|
#if __M2__
|
||||||
|
struct stat
|
||||||
|
{
|
||||||
|
unsigned st_dev;
|
||||||
|
unsigned st_ino;
|
||||||
|
char st_mode[2];
|
||||||
|
char st_nlink[2];
|
||||||
|
char st_uid[2];
|
||||||
|
char st_gid[2];
|
||||||
|
unsigned st_rdev;
|
||||||
|
long st_size; /* Linux: unsigned long; glibc: off_t (i.e. signed) */
|
||||||
|
unsigned st_blksize;
|
||||||
|
unsigned st_blocks;
|
||||||
|
time_t st_atime; /* Linux: unsigned long; glibc: time_t */
|
||||||
|
unsigned st_atime_usec;
|
||||||
|
time_t st_mtime; /* Linux: unsigned long; glibc: time_t */
|
||||||
|
unsigned st_mtime_usec;
|
||||||
|
time_t st_ctime; /* Linux: unsigned long; glibc: time_t */
|
||||||
|
unsigned st_ctime_usec;
|
||||||
|
unsigned __foo0;
|
||||||
|
unsigned __foo1;
|
||||||
|
};
|
||||||
|
#elif __i386__ || __arm__
|
||||||
|
struct stat
|
||||||
|
{
|
||||||
|
unsigned long st_dev;
|
||||||
|
unsigned long st_ino;
|
||||||
|
unsigned short st_mode;
|
||||||
|
unsigned short st_nlink;
|
||||||
|
unsigned short st_uid;
|
||||||
|
unsigned short st_gid;
|
||||||
|
unsigned long st_rdev;
|
||||||
|
long st_size; /* Linux: unsigned long; glibc: off_t (i.e. signed) */
|
||||||
|
unsigned long st_blksize;
|
||||||
|
unsigned long st_blocks;
|
||||||
|
time_t st_atime; /* Linux: unsigned long; glibc: time_t */
|
||||||
|
unsigned long st_atime_usec;
|
||||||
|
time_t st_mtime; /* Linux: unsigned long; glibc: time_t */
|
||||||
|
unsigned long st_mtime_usec;
|
||||||
|
time_t st_ctime; /* Linux: unsigned long; glibc: time_t */
|
||||||
|
unsigned long st_ctime_usec;
|
||||||
|
unsigned long __foo0;
|
||||||
|
unsigned long __foo1;
|
||||||
|
};
|
||||||
|
#elif __x86_64__
|
||||||
|
struct stat
|
||||||
|
{
|
||||||
|
unsigned long st_dev;
|
||||||
|
unsigned long st_ino;
|
||||||
|
unsigned int st_mode;
|
||||||
|
unsigned int st_nlink;
|
||||||
|
unsigned int st_uid;
|
||||||
|
unsigned int st_gid;
|
||||||
|
unsigned long st_rdev;
|
||||||
|
long st_size;
|
||||||
|
unsigned long st_blksize;
|
||||||
|
unsigned long st_blocks;
|
||||||
|
time_t st_atime;
|
||||||
|
unsigned long st_atime_usec;
|
||||||
|
time_t st_mtime;
|
||||||
|
unsigned long st_mtime_usec;
|
||||||
|
time_t st_ctime;
|
||||||
|
unsigned long st_ctime_usec;
|
||||||
|
unsigned long __foo0;
|
||||||
|
unsigned long __foo1;
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
// *INDENT-ON*
|
||||||
|
|
||||||
int chmod (char const *file_name, mode_t mode);
|
int chmod (char const *file_name, mode_t mode);
|
||||||
int fstat (int filedes, struct stat *buf);
|
int fstat (int filedes, struct stat *buf);
|
||||||
int mkdir (char const *file_name, mode_t mode);
|
int mkdir (char const *file_name, mode_t mode);
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2017 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2017,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -32,7 +32,12 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef EOF
|
#ifndef EOF
|
||||||
#define EOF -1
|
// FIXME M2_Planet chokes on -1, even inside #if ! __M2__
|
||||||
|
#if __arm__ || __i386__
|
||||||
|
#define EOF 0xffffffff
|
||||||
|
#else
|
||||||
|
#define EOF 0xffffffffffffffff
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef NULL
|
#ifndef NULL
|
||||||
|
@ -66,15 +71,23 @@ typedef unsigned gid_t;
|
||||||
#ifndef __MES_INO_T
|
#ifndef __MES_INO_T
|
||||||
#define __MES_INO_T
|
#define __MES_INO_T
|
||||||
#undef ino_t
|
#undef ino_t
|
||||||
|
#if __M2__
|
||||||
|
typedef unsigned ino_t;
|
||||||
|
#else
|
||||||
typedef unsigned long ino_t;
|
typedef unsigned long ino_t;
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if __SIZEOF_LONG_LONG__ == 8
|
#if __SIZEOF_LONG_LONG__ == 8
|
||||||
#ifndef __MES_INO64_T
|
#ifndef __MES_INO64_T
|
||||||
#define __MES_INO64_T
|
#define __MES_INO64_T
|
||||||
#undef ino64_t
|
#undef ino64_t
|
||||||
|
#if __M2__
|
||||||
|
typedef unsigned ino64_t;
|
||||||
|
#else
|
||||||
typedef unsigned long long ino64_t;
|
typedef unsigned long long ino64_t;
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
#endif // __SIZEOF_LONG_LONG__ == 8
|
#endif // __SIZEOF_LONG_LONG__ == 8
|
||||||
|
|
||||||
#if !defined (__MES_INTPTR_T) && !defined (__intptr_t_defined)
|
#if !defined (__MES_INTPTR_T) && !defined (__intptr_t_defined)
|
||||||
|
@ -83,8 +96,12 @@ typedef unsigned long long ino64_t;
|
||||||
#undef intptr_t
|
#undef intptr_t
|
||||||
typedef long intptr_t;
|
typedef long intptr_t;
|
||||||
#undef uintptr_t
|
#undef uintptr_t
|
||||||
|
#if __M2__
|
||||||
|
typedef unsigned uintptr_t;
|
||||||
|
#else
|
||||||
typedef unsigned long uintptr_t;
|
typedef unsigned long uintptr_t;
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef __MES_OFF_T
|
#ifndef __MES_OFF_T
|
||||||
#define __MES_OFF_T
|
#define __MES_OFF_T
|
||||||
|
@ -96,8 +113,12 @@ typedef long off_t;
|
||||||
#ifndef __MES_OFF64_T
|
#ifndef __MES_OFF64_T
|
||||||
#define __MES_OFF64_T
|
#define __MES_OFF64_T
|
||||||
#undef off64_t
|
#undef off64_t
|
||||||
|
#if __M2__
|
||||||
|
typedef unsigned off64_t;
|
||||||
|
#else
|
||||||
typedef unsigned long long off64_t;
|
typedef unsigned long long off64_t;
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
#endif // __SIZEOF_LONG_LONG__ == 8
|
#endif // __SIZEOF_LONG_LONG__ == 8
|
||||||
|
|
||||||
#ifndef __MES_PID_T
|
#ifndef __MES_PID_T
|
||||||
|
@ -126,9 +147,13 @@ typedef long sigval_t;
|
||||||
#ifndef __MES_SIZE_T
|
#ifndef __MES_SIZE_T
|
||||||
#define __MES_SIZE_T
|
#define __MES_SIZE_T
|
||||||
#undef size_t
|
#undef size_t
|
||||||
|
#if __M2__
|
||||||
|
typedef unsigned size_t;
|
||||||
|
#else
|
||||||
typedef unsigned long size_t;
|
typedef unsigned long size_t;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef __MES_SSIZE_T
|
#ifndef __MES_SSIZE_T
|
||||||
#define __MES_SSIZE_T
|
#define __MES_SSIZE_T
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2017,2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2017,2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -20,6 +20,8 @@
|
||||||
#ifndef __MES_SYS_WAIT_H
|
#ifndef __MES_SYS_WAIT_H
|
||||||
#define __MES_SYS_WAIT_H 1
|
#define __MES_SYS_WAIT_H 1
|
||||||
|
|
||||||
|
#include <sys/resource.h>
|
||||||
|
|
||||||
#if SYSTEM_LIBC
|
#if SYSTEM_LIBC
|
||||||
#undef __MES_SYS_WAIT_H
|
#undef __MES_SYS_WAIT_H
|
||||||
#include_next <sys/wait.h>
|
#include_next <sys/wait.h>
|
||||||
|
@ -35,6 +37,8 @@ typedef int pid_t;
|
||||||
|
|
||||||
pid_t waitpid (pid_t pid, int *status_ptr, int options);
|
pid_t waitpid (pid_t pid, int *status_ptr, int options);
|
||||||
pid_t wait (int *status_ptr);
|
pid_t wait (int *status_ptr);
|
||||||
|
pid_t wait4 (pid_t pid, int *wstatus, int options,
|
||||||
|
struct rusage *rusage);
|
||||||
|
|
||||||
#endif // ! SYSTEM_LIBC
|
#endif // ! SYSTEM_LIBC
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2017 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2017,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -27,8 +27,8 @@
|
||||||
|
|
||||||
#ifndef __MES_TIME_T
|
#ifndef __MES_TIME_T
|
||||||
#define __MES_TIME_T 1
|
#define __MES_TIME_T 1
|
||||||
typedef long int clockid_t;
|
typedef long clockid_t;
|
||||||
typedef long int time_t;
|
typedef long time_t;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct tm
|
struct tm
|
||||||
|
@ -56,6 +56,7 @@ struct timespec
|
||||||
#endif // __MES_STRUCT_TIMESPEC
|
#endif // __MES_STRUCT_TIMESPEC
|
||||||
|
|
||||||
#define CLOCK_PROCESS_CPUTIME_ID 2
|
#define CLOCK_PROCESS_CPUTIME_ID 2
|
||||||
|
char *asctime (struct tm const *broken_time);
|
||||||
int clock_gettime (clockid_t clk_id, struct timespec *tp);
|
int clock_gettime (clockid_t clk_id, struct timespec *tp);
|
||||||
struct tm *localtime (time_t const *timep);
|
struct tm *localtime (time_t const *timep);
|
||||||
struct tm *gmtime (time_t const *time);
|
struct tm *gmtime (time_t const *time);
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
#! /bin/sh
|
||||||
|
# Copyright © 2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
|
#
|
||||||
|
# This file is part of GNU Mes.
|
||||||
|
#
|
||||||
|
# GNU Mes is free software; you can redistribute it and/or modify it
|
||||||
|
# under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 3 of the License, or (at
|
||||||
|
# your option) any later version.
|
||||||
|
#
|
||||||
|
# GNU Mes is distributed in the hope that it will be useful, but
|
||||||
|
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# Usage:
|
||||||
|
# kaem --verbose --strict
|
||||||
|
|
||||||
|
mes_cpu=arm
|
||||||
|
stage0_cpu=armv7l
|
||||||
|
kaem --verbose --strict
|
39
kaem.run
39
kaem.run
|
@ -25,35 +25,41 @@ stage0_cpu=${stage0_cpu:-x86}
|
||||||
mkdir -p m2
|
mkdir -p m2
|
||||||
|
|
||||||
M2-Planet \
|
M2-Planet \
|
||||||
--bootstrap-mode \
|
|
||||||
--debug \
|
--debug \
|
||||||
--architecture ${stage0_cpu} \
|
--architecture ${stage0_cpu} \
|
||||||
-f include/m2/lib.h \
|
-D __linux__=1 \
|
||||||
|
-f include/mes/config.h \
|
||||||
|
-f include/mes/lib-mini.h \
|
||||||
|
-f include/mes/lib.h \
|
||||||
-f lib/linux/${mes_cpu}-mes-m2/crt1.c \
|
-f lib/linux/${mes_cpu}-mes-m2/crt1.c \
|
||||||
-f lib/linux/${mes_cpu}-mes-m2/_exit.c \
|
-f lib/linux/${mes_cpu}-mes-m2/_exit.c \
|
||||||
-f lib/linux/${mes_cpu}-mes-m2/_write.c \
|
-f lib/linux/${mes_cpu}-mes-m2/_write.c \
|
||||||
-f lib/mes/globals.c \
|
-f lib/mes/globals.c \
|
||||||
-f lib/m2/cast.c \
|
-f lib/m2/cast.c \
|
||||||
-f lib/m2/exit.c \
|
-f lib/stdlib/exit.c \
|
||||||
-f lib/mes/mini-write.c \
|
-f lib/mes/write.c \
|
||||||
-f lib/linux/${mes_cpu}-mes-m2/syscall.c \
|
|
||||||
-f include/linux/${mes_cpu}/syscall.h \
|
-f include/linux/${mes_cpu}/syscall.h \
|
||||||
|
-f lib/linux/${mes_cpu}-mes-m2/syscall.c \
|
||||||
-f lib/stub/__raise.c \
|
-f lib/stub/__raise.c \
|
||||||
-f lib/linux/brk.c \
|
-f lib/linux/brk.c \
|
||||||
-f lib/m2/malloc.c \
|
-f lib/linux/malloc.c \
|
||||||
-f lib/string/memset.c \
|
-f lib/string/memset.c \
|
||||||
-f lib/m2/read.c \
|
-f lib/linux/read.c \
|
||||||
-f lib/mes/fdgetc.c \
|
-f lib/mes/fdgetc.c \
|
||||||
-f lib/stdio/getchar.c \
|
-f lib/stdio/getchar.c \
|
||||||
-f lib/stdio/putchar.c \
|
-f lib/stdio/putchar.c \
|
||||||
-f lib/m2/open.c \
|
-f lib/stub/__buffered_read.c \
|
||||||
-f lib/m2/mes_open.c \
|
-f lib/linux/_open3.c \
|
||||||
|
-f lib/linux/open.c \
|
||||||
|
-f lib/mes/mes_open.c \
|
||||||
-f lib/string/strlen.c \
|
-f lib/string/strlen.c \
|
||||||
-f lib/mes/eputs.c \
|
-f lib/mes/eputs.c \
|
||||||
-f lib/mes/fdputc.c \
|
-f lib/mes/fdputc.c \
|
||||||
-f lib/mes/eputc.c \
|
-f lib/mes/eputc.c \
|
||||||
\
|
\
|
||||||
-f include/m2/types.h \
|
-f include/time.h \
|
||||||
|
-f include/sys/time.h \
|
||||||
|
-f include/sys/types.h \
|
||||||
-f include/mes/mes.h \
|
-f include/mes/mes.h \
|
||||||
-f include/mes/builtins.h \
|
-f include/mes/builtins.h \
|
||||||
-f include/mes/constants.h \
|
-f include/mes/constants.h \
|
||||||
|
@ -82,19 +88,22 @@ M2-Planet \
|
||||||
-f lib/mes/fdungetc.c \
|
-f lib/mes/fdungetc.c \
|
||||||
-f lib/posix/setenv.c \
|
-f lib/posix/setenv.c \
|
||||||
-f lib/linux/access.c \
|
-f lib/linux/access.c \
|
||||||
-f include/linux/m2/kernel-stat.h \
|
|
||||||
-f include/sys/stat.h \
|
-f include/sys/stat.h \
|
||||||
-f lib/m2/chmod.c \
|
-f lib/linux/chmod.c \
|
||||||
-f lib/linux/ioctl3.c \
|
-f lib/linux/ioctl3.c \
|
||||||
|
-f include/sys/ioctl.h \
|
||||||
-f lib/m2/isatty.c \
|
-f lib/m2/isatty.c \
|
||||||
-f lib/linux/fork.c \
|
-f lib/linux/fork.c \
|
||||||
-f lib/m2/execve.c \
|
-f lib/m2/execve.c \
|
||||||
-f lib/m2/execv.c \
|
-f lib/m2/execv.c \
|
||||||
-f lib/m2/waitpid.c \
|
-f include/sys/resource.h \
|
||||||
|
-f lib/linux/wait4.c \
|
||||||
|
-f lib/linux/waitpid.c \
|
||||||
-f lib/linux/gettimeofday.c \
|
-f lib/linux/gettimeofday.c \
|
||||||
-f lib/m2/clock_gettime.c \
|
-f lib/linux/clock_gettime.c \
|
||||||
-f lib/m2/time.c \
|
-f lib/m2/time.c \
|
||||||
-f lib/linux/_getcwd.c \
|
-f lib/linux/_getcwd.c \
|
||||||
|
-f include/limits.h \
|
||||||
-f lib/m2/getcwd.c \
|
-f lib/m2/getcwd.c \
|
||||||
-f lib/linux/dup.c \
|
-f lib/linux/dup.c \
|
||||||
-f lib/linux/dup2.c \
|
-f lib/linux/dup2.c \
|
||||||
|
@ -105,6 +114,7 @@ M2-Planet \
|
||||||
-f src/core.c \
|
-f src/core.c \
|
||||||
-f src/display.c \
|
-f src/display.c \
|
||||||
-f src/eval-apply.c \
|
-f src/eval-apply.c \
|
||||||
|
-f include/fcntl.h \
|
||||||
-f src/gc.c \
|
-f src/gc.c \
|
||||||
-f src/hash.c \
|
-f src/hash.c \
|
||||||
-f src/lib.c \
|
-f src/lib.c \
|
||||||
|
@ -112,6 +122,7 @@ M2-Planet \
|
||||||
-f src/math.c \
|
-f src/math.c \
|
||||||
-f src/mes.c \
|
-f src/mes.c \
|
||||||
-f src/module.c \
|
-f src/module.c \
|
||||||
|
-f include/signal.h \
|
||||||
-f src/posix.c \
|
-f src/posix.c \
|
||||||
-f src/reader.c \
|
-f src/reader.c \
|
||||||
-f src/stack.c \
|
-f src/stack.c \
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
#! /bin/sh
|
||||||
|
# Copyright © 2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
|
#
|
||||||
|
# This file is part of GNU Mes.
|
||||||
|
#
|
||||||
|
# GNU Mes is free software; you can redistribute it and/or modify it
|
||||||
|
# under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 3 of the License, or (at
|
||||||
|
# your option) any later version.
|
||||||
|
#
|
||||||
|
# GNU Mes is distributed in the hope that it will be useful, but
|
||||||
|
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# Usage:
|
||||||
|
# kaem --verbose --strict
|
||||||
|
|
||||||
|
mes_cpu=x86
|
||||||
|
stage0_cpu=x86
|
||||||
|
kaem --verbose --strict
|
|
@ -1,7 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2016,2017,2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2016,2017,2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
* Copyright © 2023 Rick Masters <grick23@gmail.com>
|
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
|
|
@ -24,5 +24,5 @@
|
||||||
int
|
int
|
||||||
isxdigit (int c)
|
isxdigit (int c)
|
||||||
{
|
{
|
||||||
return isdigit (c) || (c >= 'a' && c <= 'f') || (c >= 'A' && c <= 'F');
|
return isdigit (c) || (c >= 'a' && c <= 'f');
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2016,2017,2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2016,2017,2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#include <mes/lib.h>
|
#include <mes/lib.h>
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
|
|
||||||
char *
|
char *
|
||||||
_getcwd (char *buffer, size_t size)
|
_getcwd (char *buffer, size_t size)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2016,2017,2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2016,2017,2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,14 +19,16 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <mes/lib.h>
|
#include <mes/lib.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
_open3 (char const *file_name, int flags, int mask)
|
_open3 (char const *file_name, int flags, int mask)
|
||||||
{
|
{
|
||||||
int r = _sys_call3 (SYS_open, (long) file_name, (int) flags, (int) mask);
|
long long_file_name = cast_voidp_to_long (file_name);
|
||||||
|
int r = _sys_call3 (SYS_open, long_file_name, flags, mask);
|
||||||
|
__ungetc_init ();
|
||||||
if (r > 2)
|
if (r > 2)
|
||||||
{
|
{
|
||||||
__ungetc_clear (r);
|
__ungetc_clear (r);
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2016,2017,2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2016,2017,2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <mes/lib.h>
|
#include <mes/lib.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2016,2017,2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2016,2017,2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#include <mes/lib.h>
|
#include <mes/lib.h>
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
access (char const *file_name, int how)
|
access (char const *file_name, int how)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2016,2017,2018,2019,2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2016,2017,2018,2019,2020,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <linux/x86/syscall.h>
|
#include <linux/arm/syscall.h>
|
||||||
|
|
||||||
#if !__TINYC__
|
#if !__TINYC__
|
||||||
// *INDENT-OFF*
|
// *INDENT-OFF*
|
||||||
|
@ -187,7 +187,6 @@ __sys_call4 (long sys_call, long one, long two, long three, long four)
|
||||||
}
|
}
|
||||||
#endif //__TINYC__
|
#endif //__TINYC__
|
||||||
|
|
||||||
#if 0
|
|
||||||
long
|
long
|
||||||
__sys_call6 (long sys_call, long one, long two, long three, long four, long five, long six)
|
__sys_call6 (long sys_call, long one, long two, long three, long four, long five, long six)
|
||||||
{
|
{
|
||||||
|
@ -208,7 +207,6 @@ __sys_call6 (long sys_call, long one, long two, long three, long four, long five
|
||||||
);
|
);
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
// *INDENT-ON*
|
// *INDENT-ON*
|
||||||
|
|
||||||
|
@ -282,7 +280,6 @@ _sys_call4 (long sys_call, long one, long two, long three, long four)
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
|
||||||
long
|
long
|
||||||
_sys_call6 (long sys_call, long one, long two, long three, long four, long five, long six)
|
_sys_call6 (long sys_call, long one, long two, long three, long four, long five, long six)
|
||||||
{
|
{
|
||||||
|
@ -296,4 +293,3 @@ _sys_call6 (long sys_call, long one, long two, long three, long four, long five,
|
||||||
errno = 0;
|
errno = 0;
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2016,2017,2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2016,2017,2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#include <mes/lib.h>
|
#include <mes/lib.h>
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
|
|
||||||
long
|
long
|
||||||
brk (void *addr)
|
brk (void *addr)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
chdir (char const *file_name)
|
chdir (char const *file_name)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2016,2017,2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2016,2017,2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#include <mes/lib.h>
|
#include <mes/lib.h>
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#include <mes/lib.h>
|
#include <mes/lib.h>
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2016,2017,2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2016,2017,2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <mes/lib.h>
|
#include <mes/lib.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2016,2017,2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2016,2017,2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
dup (int old)
|
dup (int old)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2016,2017,2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2016,2017,2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
dup2 (int old, int new)
|
dup2 (int old, int new)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2016,2017,2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2016,2017,2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
execve (char const *file_name, char *const argv[], char *const env[])
|
execve (char const *file_name, char *const argv[], char *const env[])
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2016,2017,2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2016,2017,2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
fork ()
|
fork ()
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2016,2017,2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2016,2017,2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
fsync (int filedes)
|
fsync (int filedes)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
gid_t
|
gid_t
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
uid_t
|
uid_t
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
gid_t
|
gid_t
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
pid_t
|
pid_t
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
pid_t
|
pid_t
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <sys/resource.h>
|
#include <sys/resource.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#include <mes/lib.h>
|
#include <mes/lib.h>
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
uid_t
|
uid_t
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include <sys/ioctl.h>
|
#include <sys/ioctl.h>
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <mes/lib.h>
|
#include <mes/lib.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
link (char const *old_name, char const *new_name)
|
link (char const *old_name, char const *new_name)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2016,2017,2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2016,2017,2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -20,27 +20,27 @@
|
||||||
|
|
||||||
#include <mes/lib.h>
|
#include <mes/lib.h>
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|
||||||
#if !__MESC__ /* FIXME: We want bin/mes-mescc's x86-linux sha256sum to stay the same. */
|
|
||||||
off_t
|
off_t
|
||||||
_lseek (int filedes, off_t offset, int whence)
|
_lseek (int filedes, off_t offset, int whence)
|
||||||
{
|
{
|
||||||
return _sys_call3 (SYS_lseek, (int) filedes, (long) offset, (int) whence);
|
long long_offset = offset;
|
||||||
|
return _sys_call3 (SYS_lseek, filedes, long_offset, whence);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
off_t
|
off_t
|
||||||
lseek (int filedes, off_t offset, int whence)
|
lseek (int filedes, off_t offset, int whence)
|
||||||
{
|
{
|
||||||
#if !__MESC__ /* FIXME: We want bin/mes-mescc's x86-linux sha256sum to stay the same. */
|
#if !__MESC__ && !__M2__
|
||||||
if (_lseek (filedes, 0, SEEK_CUR) == -1)
|
if (_lseek (filedes, 0, SEEK_CUR) == -1)
|
||||||
return -1;
|
return -1;
|
||||||
#endif
|
#endif
|
||||||
size_t skip = __buffered_read_clear (filedes);
|
size_t skip = __buffered_read_clear (filedes);
|
||||||
if (whence == SEEK_CUR)
|
if (whence == SEEK_CUR)
|
||||||
offset -= skip;
|
offset -= skip;
|
||||||
return _sys_call3 (SYS_lseek, (int) filedes, (long) offset, (int) whence);
|
long long_offset = offset;
|
||||||
|
return _sys_call3 (SYS_lseek, filedes, long_offset, whence);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2016,2017,2018,2019,2021 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2016,2017,2018,2019,2021,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
* Copyright © 2021 Danny Milosavljevic <dannym@scratchpost.org>
|
* Copyright © 2021 Danny Milosavljevic <dannym@scratchpost.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
|
@ -31,9 +31,11 @@ malloc (size_t size)
|
||||||
{
|
{
|
||||||
if (!__brk)
|
if (!__brk)
|
||||||
__brk = cast_long_to_charp (brk (0));
|
__brk = cast_long_to_charp (brk (0));
|
||||||
|
#if !__M2__
|
||||||
/* align what we give back. */
|
/* align what we give back. */
|
||||||
__brk = (char*) (((uintptr_t) __brk
|
__brk = (char*) (((uintptr_t) __brk
|
||||||
+ sizeof (max_align_t) - 1) & -sizeof (max_align_t));
|
+ sizeof (max_align_t) - 1) & -sizeof (max_align_t));
|
||||||
|
#endif
|
||||||
if (brk (__brk + size) == -1)
|
if (brk (__brk + size) == -1)
|
||||||
return 0;
|
return 0;
|
||||||
char *p = __brk;
|
char *p = __brk;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2019,2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -20,12 +20,10 @@
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <syscall.h>
|
#include <syscall.h>
|
||||||
#include <mes/lib.h>
|
#include <sys/mman.h>
|
||||||
#include <fcntl.h>
|
|
||||||
|
|
||||||
long
|
void *
|
||||||
read (int filedes, void *buffer, long size)
|
mmap (void *addr, size_t len, int prot, int flags, int fd, off_t offset)
|
||||||
{
|
{
|
||||||
long bytes = _sys_call3 (SYS_read, filedes, buffer, size);
|
return (void *)_sys_call6 (SYS_mmap, (long) addr, (long) len, (int) prot, (int) flags, (int) fd, (long) offset);
|
||||||
return bytes;
|
|
||||||
}
|
}
|
|
@ -20,11 +20,10 @@
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <syscall.h>
|
#include <syscall.h>
|
||||||
#include <time.h>
|
#include <sys/mman.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
clock_gettime (long clk_id, struct timespec *tp)
|
munmap (void *addr, size_t length)
|
||||||
{
|
{
|
||||||
long long_tp = tp;
|
return _sys_call2 (SYS_munmap, (long) addr, (long) length);
|
||||||
return _sys_call2 (SYS_clock_gettime, clk_id, tp);
|
|
||||||
}
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2016,2017,2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2016,2017,2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -18,12 +18,11 @@
|
||||||
* along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
|
* along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
|
||||||
#include <arch/syscall.h>
|
|
||||||
#include <mes/lib.h>
|
#include <mes/lib.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|
||||||
|
#if __M2__
|
||||||
int
|
int
|
||||||
open (char *file_name, int flags, int mask)
|
open (char *file_name, int flags, int mask)
|
||||||
{
|
{
|
||||||
|
@ -32,3 +31,17 @@ open (char *file_name, int flags, int mask)
|
||||||
__ungetc_clear (r);
|
__ungetc_clear (r);
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
#else // !__M2__
|
||||||
|
int
|
||||||
|
open (char const *file_name, int flags, ...)
|
||||||
|
{
|
||||||
|
va_list ap;
|
||||||
|
va_start (ap, flags);
|
||||||
|
int mask = va_arg (ap, int);
|
||||||
|
int r = _sys_call3 (SYS_open, (long) file_name, flags, mask);
|
||||||
|
va_end (ap);
|
||||||
|
if (r > 2)
|
||||||
|
__ungetc_clear (r);
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
#endif // __M2__
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2016,2017,2018,2019,2023 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2016,2017,2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -18,16 +18,18 @@
|
||||||
* along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
|
* along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
|
||||||
#include <arch/syscall.h>
|
|
||||||
#include <mes/lib.h>
|
#include <mes/lib.h>
|
||||||
|
#include <linux/syscall.h>
|
||||||
|
#include <syscall.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
|
||||||
ssize_t
|
ssize_t
|
||||||
read (int filedes, void *buffer, size_t size)
|
read (int filedes, void *buffer, size_t size)
|
||||||
{
|
{
|
||||||
long long_filedes = filedes;
|
long long_filedes = filedes;
|
||||||
ssize_t bytes = _sys_call3 (SYS_read, long_filedes, (long) buffer, (long) size);
|
long long_buffer = cast_voidp_to_long (buffer);
|
||||||
|
ssize_t bytes = _sys_call3 (SYS_read, long_filedes, long_buffer, size);
|
||||||
|
#if !__M2__
|
||||||
if (__mes_debug () > 4)
|
if (__mes_debug () > 4)
|
||||||
{
|
{
|
||||||
if (bytes == 1)
|
if (bytes == 1)
|
||||||
|
@ -48,5 +50,6 @@ read (int filedes, void *buffer, size_t size)
|
||||||
eputs ("\n");
|
eputs ("\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
return bytes;
|
return bytes;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
|
||||||
ssize_t
|
ssize_t
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2016,2017,2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2016,2017,2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
rmdir (char const *file_name)
|
rmdir (char const *file_name)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2018,2019,2022,2023 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ sighandler_t
|
||||||
signal (int signum, sighandler_t action)
|
signal (int signum, sighandler_t action)
|
||||||
{
|
{
|
||||||
#if __i386__
|
#if __i386__
|
||||||
return (sighandler_t) _sys_call2 (SYS_signal, signum, (long) action);
|
return _sys_call2 (SYS_signal, signum, action);
|
||||||
#else
|
#else
|
||||||
static struct sigaction setup_action = { 0 };
|
static struct sigaction setup_action = { 0 };
|
||||||
static struct sigaction old = { 0 };
|
static struct sigaction old = { 0 };
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2016,2017,2018,2019,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2016,2017,2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
* This file is part of GNU Mes.
|
* This file is part of GNU Mes.
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/syscall.h>
|
#include <linux/syscall.h>
|
||||||
#include <arch/syscall.h>
|
#include <syscall.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue