scripts: resurrect x86 ./doit build -- 22floating_point.c works!
This commit is contained in:
parent
20b1a1d001
commit
40e6c2595a
|
@ -0,0 +1,6 @@
|
||||||
|
long long __fixdfdi (double a1)
|
||||||
|
{
|
||||||
|
long long ret; int s;
|
||||||
|
ret = __fixunsdfdi((s = a1 >= 0) ? a1 : -a1);
|
||||||
|
return s ? ret : -ret;
|
||||||
|
}
|
10
boot.sh
10
boot.sh
|
@ -55,7 +55,7 @@ if [ "$PROGRAM_PREFIX" = "boot0-" ]; then
|
||||||
-D TCC_MES_LIBC=1
|
-D TCC_MES_LIBC=1
|
||||||
"}
|
"}
|
||||||
LIBTCC1=-ltcc1
|
LIBTCC1=-ltcc1
|
||||||
LIBTCC1=
|
#LIBTCC1=
|
||||||
elif [ "$PROGRAM_PREFIX" = "boot1-" ]; then
|
elif [ "$PROGRAM_PREFIX" = "boot1-" ]; then
|
||||||
BOOT_CPPFLAGS=${BOOT_CPPFLAGS-"
|
BOOT_CPPFLAGS=${BOOT_CPPFLAGS-"
|
||||||
-D BOOTSTRAP=1
|
-D BOOTSTRAP=1
|
||||||
|
@ -66,7 +66,7 @@ elif [ "$PROGRAM_PREFIX" = "boot1-" ]; then
|
||||||
-D TCC_MES_LIBC=1
|
-D TCC_MES_LIBC=1
|
||||||
"}
|
"}
|
||||||
LIBTCC1=-ltcc1
|
LIBTCC1=-ltcc1
|
||||||
LIBTCC1=
|
#LIBTCC1=
|
||||||
elif [ "$PROGRAM_PREFIX" = "boot2-" ]; then
|
elif [ "$PROGRAM_PREFIX" = "boot2-" ]; then
|
||||||
BOOT_CPPFLAGS=${BOOT_CPPFLAGS-"
|
BOOT_CPPFLAGS=${BOOT_CPPFLAGS-"
|
||||||
-D BOOTSTRAP=1
|
-D BOOTSTRAP=1
|
||||||
|
@ -78,7 +78,7 @@ elif [ "$PROGRAM_PREFIX" = "boot2-" ]; then
|
||||||
-D TCC_MES_LIBC=1
|
-D TCC_MES_LIBC=1
|
||||||
"}
|
"}
|
||||||
LIBTCC1=-ltcc1
|
LIBTCC1=-ltcc1
|
||||||
LIBTCC1=
|
#LIBTCC1=
|
||||||
elif [ "$PROGRAM_PREFIX" = "boot3-" ]; then
|
elif [ "$PROGRAM_PREFIX" = "boot3-" ]; then
|
||||||
BOOT_CPPFLAGS=${BOOT_CPPFLAGS-"
|
BOOT_CPPFLAGS=${BOOT_CPPFLAGS-"
|
||||||
-D BOOTSTRAP=1
|
-D BOOTSTRAP=1
|
||||||
|
@ -90,7 +90,7 @@ elif [ "$PROGRAM_PREFIX" = "boot3-" ]; then
|
||||||
-D TCC_MES_LIBC=1
|
-D TCC_MES_LIBC=1
|
||||||
"}
|
"}
|
||||||
LIBTCC1=-ltcc1
|
LIBTCC1=-ltcc1
|
||||||
LIBTCC1=
|
#LIBTCC1=
|
||||||
else
|
else
|
||||||
BOOT_CPPFLAGS=${BOOT_CPPFLAGS-"
|
BOOT_CPPFLAGS=${BOOT_CPPFLAGS-"
|
||||||
-D BOOTSTRAP=1
|
-D BOOTSTRAP=1
|
||||||
|
@ -102,7 +102,7 @@ else
|
||||||
-D TCC_MES_LIBC=1
|
-D TCC_MES_LIBC=1
|
||||||
"}
|
"}
|
||||||
LIBTCC1=-ltcc1
|
LIBTCC1=-ltcc1
|
||||||
LIBTCC1=
|
#LIBTCC1=
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo $TCC\
|
echo $TCC\
|
||||||
|
|
|
@ -67,3 +67,5 @@ $CC -g -o i686-unknown-linux-gnu-tcc\
|
||||||
tcc.c\
|
tcc.c\
|
||||||
libtcc1.a\
|
libtcc1.a\
|
||||||
libc.a
|
libc.a
|
||||||
|
|
||||||
|
./i686-unknown-linux-gnu-tcc -c __fixdfdi.c
|
||||||
|
|
56
build.sh
56
build.sh
|
@ -18,12 +18,12 @@ verbose=
|
||||||
if test "$V" = 1; then
|
if test "$V" = 1; then
|
||||||
MESCCFLAGS="$MESCCFLAGS -v"
|
MESCCFLAGS="$MESCCFLAGS -v"
|
||||||
elif test "$V" = 2; then
|
elif test "$V" = 2; then
|
||||||
MESCCFLAGS="$MESCCFLAGS -vv"
|
MESCCFLAGS="$MESCCFLAGS -v -v"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
unset CPATH C_INCLUDE_PATH LIBRARY_PATH
|
unset CPATH C_INCLUDE_PATH LIBRARY_PATH
|
||||||
prefix=${prefix-/usr/local}
|
prefix=${prefix-./usr}
|
||||||
mescc=${mescc-$(command -v mescc)}
|
MESCC=${MESCC-$(command -v mescc)}
|
||||||
|
|
||||||
GUIX=${GUIX-$(command -v guix||:)}
|
GUIX=${GUIX-$(command -v guix||:)}
|
||||||
CC=${mescc-mescc}
|
CC=${mescc-mescc}
|
||||||
|
@ -47,7 +47,7 @@ export interpreter
|
||||||
mkdir -p $prefix/lib
|
mkdir -p $prefix/lib
|
||||||
|
|
||||||
if test "$V" = 2; then
|
if test "$V" = 2; then
|
||||||
sh $mescc --help
|
sh $MESCC --help
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -n "$ONE_SOURCE" ]; then
|
if [ -n "$ONE_SOURCE" ]; then
|
||||||
|
@ -86,6 +86,7 @@ $MESCC\
|
||||||
$files\
|
$files\
|
||||||
-l c+tcc
|
-l c+tcc
|
||||||
|
|
||||||
|
host=x86-linux
|
||||||
host=${host-$($CC -dumpmachine 2>/dev/null)}
|
host=${host-$($CC -dumpmachine 2>/dev/null)}
|
||||||
if test -z "$host$host_type"; then
|
if test -z "$host$host_type"; then
|
||||||
mes_cpu=${arch-$(get_machine || uname -m)}
|
mes_cpu=${arch-$(get_machine || uname -m)}
|
||||||
|
@ -125,44 +126,47 @@ REBUILD_LIBC=${REBUILD_LIBC-t}
|
||||||
if [ -n "$REBUILD_LIBC" ]; then
|
if [ -n "$REBUILD_LIBC" ]; then
|
||||||
for i in 1 i n; do
|
for i in 1 i n; do
|
||||||
rm -f crt$i.o;
|
rm -f crt$i.o;
|
||||||
cp -f $MES_PREFIX/lib/crt$i.c .
|
##cp -f $MES_PREFIX/lib/crt$i.c .
|
||||||
##cp -f $MES_PREFIX/gcc-lib/x86-mes/crt$i.c .
|
cp -f $MES_PREFIX/gcc-lib/x86-mes/crt$i.c .
|
||||||
$CC $CPPFLAGS $CFLAGS -static -nostdlib -nostdinc -c crt$i.c
|
$CC $CPPFLAGS $CFLAGS -static -nostdlib -nostdinc -c crt$i.c
|
||||||
done
|
done
|
||||||
|
|
||||||
rm -f libc.a
|
rm -f libc.a
|
||||||
cp -f ${MES_PREFIX}/lib/libc+gnu.c libc.c
|
##cp -f ${MES_PREFIX}/lib/libc+gnu.c libc.c
|
||||||
## cp -f ${MES_PREFIX}/gcc-lib/x86-mes/libc+gnu.c libc.c
|
cp -f ${MES_PREFIX}/gcc-lib/x86-mes/libc+gnu.c libc.c
|
||||||
$CC -c $CPPFLAGS $CFLAGS libc.c
|
$CC -c $CPPFLAGS $CFLAGS libc.c
|
||||||
$AR cr libc.a libc.o
|
$AR cr libc.a libc.o
|
||||||
|
|
||||||
rm -f libtcc1.a
|
rm -f libtcc1.a
|
||||||
cp -f ${MES_PREFIX}/lib/libtcc1.c .
|
##cp -f ${MES_PREFIX}/lib/libtcc1.c .
|
||||||
## cp -f ${MES_PREFIX}/gcc-lib/x86-mes/libtcc1.c .
|
cp -f ${MES_PREFIX}/gcc-lib/x86-mes/libtcc1.c .
|
||||||
$CC -c $CPPFLAGS $CFLAGS libtcc1.c
|
$CC -c $CPPFLAGS $CFLAGS libtcc1.c
|
||||||
$AR cr libtcc1.a libtcc1.o
|
$AR cr libtcc1.a libtcc1.o
|
||||||
|
|
||||||
rm -f libgetopt.a
|
rm -f libgetopt.a
|
||||||
cp -f ${MES_PREFIX}/lib/libgetopt.c .
|
##cp -f ${MES_PREFIX}/lib/libgetopt.c .
|
||||||
## cp -f ${MES_PREFIX}/gcc-lib/x86-mes/libgetopt.c .
|
cp -f ${MES_PREFIX}/gcc-lib/x86-mes/libgetopt.c .
|
||||||
$CC -c $CPPFLAGS $CFLAGS libgetopt.c
|
$CC -c $CPPFLAGS $CFLAGS libgetopt.c
|
||||||
$AR cr libgetopt.a libgetopt.o
|
$AR cr libgetopt.a libgetopt.o
|
||||||
|
|
||||||
else
|
else
|
||||||
cp -f $MES_PREFIX/lib/crt1.o .
|
# cp -f $MES_PREFIX/lib/crt1.o .
|
||||||
cp -f $MES_PREFIX/lib/crti.o .
|
# cp -f $MES_PREFIX/lib/crti.o .
|
||||||
cp -f $MES_PREFIX/lib/crtn.o .
|
# cp -f $MES_PREFIX/lib/crtn.o .
|
||||||
cp -f $MES_PREFIX/lib/libc+gnu.a .
|
# cp -f $MES_PREFIX/lib/libc+gnu.a .
|
||||||
cp -f $MES_PREFIX/lib/libtcc1.a .
|
# cp -f $MES_PREFIX/lib/libtcc1.a .
|
||||||
|
|
||||||
## cp -f $MES_PREFIX/gcc-lib/libc+gnu.a libc.a
|
cp -f $MES_PREFIX/gcc-lib/libc+gnu.a libc.a
|
||||||
## cp -f $MES_PREFIX/gcc-lib/libtcc1.a .
|
cp -f $MES_PREFIX/gcc-lib/libtcc1.a .
|
||||||
## cp -f $MES_PREFIX/gcc-lib/crt1.o .
|
cp -f $MES_PREFIX/gcc-lib/crt1.o .
|
||||||
## cp -f $MES_PREFIX/gcc-lib/crti.o .
|
cp -f $MES_PREFIX/gcc-lib/crti.o .
|
||||||
## cp -f $MES_PREFIX/gcc-lib/crtn.o .
|
cp -f $MES_PREFIX/gcc-lib/crtn.o .
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sh boot.sh
|
mkdir -p usr/lib/tcc
|
||||||
|
cp -f libtcc1.a usr/lib/tcc
|
||||||
|
|
||||||
|
TCC=./mes-tcc sh boot.sh
|
||||||
TCC=./boot0-tcc sh boot.sh
|
TCC=./boot0-tcc sh boot.sh
|
||||||
TCC=./boot1-tcc sh boot.sh
|
TCC=./boot1-tcc sh boot.sh
|
||||||
TCC=./boot2-tcc sh boot.sh
|
TCC=./boot2-tcc sh boot.sh
|
||||||
|
@ -175,8 +179,8 @@ AR='./tcc -ar'
|
||||||
if true; then
|
if true; then
|
||||||
for i in 1 i n; do
|
for i in 1 i n; do
|
||||||
rm -f crt$i.o;
|
rm -f crt$i.o;
|
||||||
cp -f $MES_PREFIX/lib/crt$i.c .
|
##cp -f $MES_PREFIX/lib/crt$i.c .
|
||||||
##cp -f $MES_PREFIX/gcc-lib/x86-mes/crt$i.c .
|
cp -f $MES_PREFIX/gcc-lib/x86-mes/crt$i.c .
|
||||||
$CC $CPPFLAGS $CFLAGS -static -nostdlib -nostdinc -c crt$i.c
|
$CC $CPPFLAGS $CFLAGS -static -nostdlib -nostdinc -c crt$i.c
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@ -197,4 +201,6 @@ if true; then
|
||||||
cp -f libgetopt.a $prefix/lib
|
cp -f libgetopt.a $prefix/lib
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
./tcc -c __fixdfdi.c
|
||||||
|
|
||||||
echo "build.sh: done"
|
echo "build.sh: done"
|
||||||
|
|
2
check.sh
2
check.sh
|
@ -5,7 +5,7 @@ MES=${MES-mes}
|
||||||
MESCC=${MESCC-mescc}
|
MESCC=${MESCC-mescc}
|
||||||
|
|
||||||
MES_PREFIX=${MES_PREFIX-../mes}
|
MES_PREFIX=${MES_PREFIX-../mes}
|
||||||
MES_SOURCE=${MES_SOURCE-../mes-source}
|
MES_SOURCE=${MES_SOURCE-mes-source}
|
||||||
|
|
||||||
tests="
|
tests="
|
||||||
lib/tests/scaffold/t.c
|
lib/tests/scaffold/t.c
|
||||||
|
|
13
doit
13
doit
|
@ -15,18 +15,19 @@ export PREFIX
|
||||||
export PREPROCESS
|
export PREPROCESS
|
||||||
|
|
||||||
PREFIX=usr
|
PREFIX=usr
|
||||||
HEX2=../mescc-tools/bin/hex2
|
HEX2=${HEX2-hex2}
|
||||||
M1=../mescc-tools/bin/M1
|
M1=${M1-M1}
|
||||||
BLOOD_ELF=../mescc-tools/bin/blood-elf
|
BLOOD_ELF=${BLOOD_ELF-blood-elf}
|
||||||
MES=${MES-../mes/src/mes}
|
MES=${MES-../mes/src/mes}
|
||||||
MES_ARENA=70000000
|
MES_ARENA=70000000
|
||||||
MES_MAX_ARENA=70000000
|
MES_MAX_ARENA=70000000
|
||||||
export MES_ARENA MES_MAX_ARENA
|
export MES_ARENA MES_MAX_ARENA
|
||||||
|
|
||||||
MES=guile
|
MES=guile
|
||||||
#MES=${MES-../mes/src/mes.gcc}
|
MES=${MES-mes-source/bin/mes}
|
||||||
#MES=${MES-../mes/src/mes.mlibc-gcc}
|
MESCC=${MESCC-mes-source/pre-inst-env mescc}
|
||||||
MESCC=${MESCC-../mes/pre-inst-env mescc}
|
export MES
|
||||||
|
export MESCC
|
||||||
|
|
||||||
#GUILE_LOAD_PATH=/home/janneke/src/nyacc/module:$GUILE_LOAD_PATH
|
#GUILE_LOAD_PATH=/home/janneke/src/nyacc/module:$GUILE_LOAD_PATH
|
||||||
GUILE_LOAD_PATH=nyacc
|
GUILE_LOAD_PATH=nyacc
|
||||||
|
|
5
tcc.h
5
tcc.h
|
@ -21,6 +21,11 @@
|
||||||
#ifndef _TCC_H
|
#ifndef _TCC_H
|
||||||
#define _TCC_H
|
#define _TCC_H
|
||||||
|
|
||||||
|
#if BOOTSTRAP
|
||||||
|
typedef long long int64_t;
|
||||||
|
typedef unsigned long long uint64_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
#define _GNU_SOURCE
|
#define _GNU_SOURCE
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
|
|
10
test.sh
10
test.sh
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
TCC=${TCC-./mes-tcc}
|
TCC=${TCC-./tcc}
|
||||||
MESCC=${MESCC-mescc}
|
MESCC=${MESCC-mescc}
|
||||||
MES_PREFIX=${MES_PREFIX-../mes}
|
MES_PREFIX=${MES_PREFIX-../mes}
|
||||||
MES_PREFIX=${MES_PREFIX-${MESCC%/*}}
|
MES_PREFIX=${MES_PREFIX-${MESCC%/*}}
|
||||||
|
@ -35,7 +35,9 @@ if [ -x ./i686-unknown-linux-gnu-tcc ]; then
|
||||||
-static\
|
-static\
|
||||||
-o "$b".mes-gcc-out\
|
-o "$b".mes-gcc-out\
|
||||||
-L .\
|
-L .\
|
||||||
"$b".mes-gcc-o &> 1.link
|
"$b".mes-gcc-o\
|
||||||
|
__fixdfdi.o -ltcc1\
|
||||||
|
&> 1.link
|
||||||
set +e
|
set +e
|
||||||
"$b".mes-gcc-out arg1 arg2 arg3 arg4 arg5 > "$b".mes-gcc-stdout
|
"$b".mes-gcc-out arg1 arg2 arg3 arg4 arg5 > "$b".mes-gcc-stdout
|
||||||
m=$?
|
m=$?
|
||||||
|
@ -67,7 +69,9 @@ $TCC\
|
||||||
-I $MES_PREFIX/include\
|
-I $MES_PREFIX/include\
|
||||||
-I $MES_PREFIX/scaffold/tests\
|
-I $MES_PREFIX/scaffold/tests\
|
||||||
-I $MES_PREFIX/scaffold/tinycc\
|
-I $MES_PREFIX/scaffold/tinycc\
|
||||||
"$t" &> 2.link
|
"$t"\
|
||||||
|
__fixdfdi.o -ltcc1\
|
||||||
|
&> 2.link
|
||||||
set +e
|
set +e
|
||||||
"$b".mes-out arg1 arg2 arg3 arg4 arg5 > "$b".mes-stdout
|
"$b".mes-out arg1 arg2 arg3 arg4 arg5 > "$b".mes-stdout
|
||||||
m=$?
|
m=$?
|
||||||
|
|
Loading…
Reference in New Issue