diff --git a/seed/configurator.x86.checksums b/seed/configurator.x86.checksums index b1f037be..35029df0 100644 --- a/seed/configurator.x86.checksums +++ b/seed/configurator.x86.checksums @@ -1 +1 @@ -87bd49d43cbd73a12ba50d26d6aa370bdc4b86bbbd7761b4138e3d39d8b307fd configurator +600dd7dbf560534fb26219cd1a9062b5f23f7033603e469ce64f195fe556af63 configurator diff --git a/seed/script-generator.x86.checksums b/seed/script-generator.x86.checksums index 36175af1..a3db949e 100644 --- a/seed/script-generator.x86.checksums +++ b/seed/script-generator.x86.checksums @@ -1 +1 @@ -fbec25d987c89e66fd7dd89d780be0629bab84f78ebf1878fd2528fca9e46c45 script-generator +5218232def7b612c3ad067157d095f2f69afa551457b9c29cc545daa92e72cd1 script-generator diff --git a/seed/seed.kaem b/seed/seed.kaem index 5fd74491..94b01aca 100755 --- a/seed/seed.kaem +++ b/seed/seed.kaem @@ -61,6 +61,7 @@ M2LIBC_PATH=/M2libc # mes envars NYACC_PKG=nyacc-1.00.2 MES_PKG=mes-0.27.1 +PNUT_PKG=pnut-1.0 MES_PREFIX=${SRCDIR}/${MES_PKG}/build/${MES_PKG} GUILE_LOAD_PATH=${MES_PREFIX}/mes/module:${MES_PREFIX}/module:${SRCDIR}/${MES_PKG}/build/${NYACC_PKG}/module diff --git a/seed/stage0-posix b/seed/stage0-posix index 45d90f59..ff56e43b 160000 --- a/seed/stage0-posix +++ b/seed/stage0-posix @@ -1 +1 @@ -Subproject commit 45d90f5955b6907dc6cdea9ebafce558359edcd3 +Subproject commit ff56e43b90cce195650a1f26a5227e31203eb770 diff --git a/steps/checksum-transcriber-1.0/checksum-transcriber-1.0.x86.checksums b/steps/checksum-transcriber-1.0/checksum-transcriber-1.0.x86.checksums index 269f907b..4d7a9047 100644 --- a/steps/checksum-transcriber-1.0/checksum-transcriber-1.0.x86.checksums +++ b/steps/checksum-transcriber-1.0/checksum-transcriber-1.0.x86.checksums @@ -1 +1 @@ -3b43fcfe665d48c7041292bc78b3de0c5e7fe17fab425837bc5c596856d20bf8 /usr/bin/checksum-transcriber +c101f553150558b1bb6986da34f3850245c867dc9be32958fa5dd2731ff961c5 /usr/bin/checksum-transcriber diff --git a/steps/manifest b/steps/manifest index 21778657..c6a48b95 100644 --- a/steps/manifest +++ b/steps/manifest @@ -34,6 +34,7 @@ build: checksum-transcriber-1.0 build: simple-patch-1.0 build: mes-0.27.1 +build: pnut-exe-1.0 build: tcc-0.9.26 build: tcc-0.9.27 define: BUILD_FIWIX = ( KERNEL_BOOTSTRAP == True || BUILD_KERNELS == True ) diff --git a/steps/mes-0.27.1/pass1.kaem b/steps/mes-0.27.1/pass1.kaem index c833f7cb..1fc4908b 100755 --- a/steps/mes-0.27.1/pass1.kaem +++ b/steps/mes-0.27.1/pass1.kaem @@ -63,243 +63,243 @@ cp mes/module/srfi/srfi-9-struct.mes mes/module/srfi/srfi-9.mes cp mes/module/srfi/srfi-9/gnu-struct.mes mes/module/srfi/srfi-9/gnu.mes # Build mes-m2 -kaem --verbose --strict --file kaem.${MES_ARCH} -cp bin/mes-m2 ${BINDIR}/mes-m2 -chmod 755 ${BINDIR}/mes-m2 +# kaem --verbose --strict --file kaem.${MES_ARCH} +# cp bin/mes-m2 ${BINDIR}/mes-m2 +# chmod 755 ${BINDIR}/mes-m2 # Rebuild pregenerated files in nyacc -cd ../${NYACC_PKG} -rm module/nyacc/lang/c99/mach.d/c99-act.scm module/nyacc/lang/c99/mach.d/c99-tab.scm \ - module/nyacc/lang/c99/mach.d/c99cx-act.scm module/nyacc/lang/c99/mach.d/c99cx-tab.scm \ - module/nyacc/lang/c99/mach.d/c99x-act.scm module/nyacc/lang/c99/mach.d/c99x-tab.scm \ - module/nyacc/lang/c99/mach.d/cpp-act.scm module/nyacc/lang/c99/mach.d/cpp-tab.scm -${MES} -L module gen-cpp-files.scm -# More RAM for this one! -MES_ARENA=32000000 -${MES} -L module gen-c99-files.scm -MES_ARENA=20000000 -${MES} -L module gen-c99cx-files.scm -cd ../${MES_PKG} - -# Create mescc.scm -mescc_in=scripts/mescc.scm.in -replace --file ${mescc_in} --output ${mescc_in} --match-on @prefix@ --replace-with ${PREFIX} -replace --file ${mescc_in} --output ${mescc_in} --match-on @VERSION@ --replace-with ${MES_VERSION} -replace --file ${mescc_in} --output ${mescc_in} --match-on @mes_cpu@ --replace-with ${MES_ARCH} -replace --file ${mescc_in} --output ${mescc_in} --match-on @mes_kernel@ --replace-with linux - -mescc_scm=${BINDIR}/mescc.scm -cp ${mescc_in} ${mescc_scm} -chmod 755 ${mescc_scm} +# cd ../${NYACC_PKG} +# rm module/nyacc/lang/c99/mach.d/c99-act.scm module/nyacc/lang/c99/mach.d/c99-tab.scm \ +# module/nyacc/lang/c99/mach.d/c99cx-act.scm module/nyacc/lang/c99/mach.d/c99cx-tab.scm \ +# module/nyacc/lang/c99/mach.d/c99x-act.scm module/nyacc/lang/c99/mach.d/c99x-tab.scm \ +# module/nyacc/lang/c99/mach.d/cpp-act.scm module/nyacc/lang/c99/mach.d/cpp-tab.scm +# ${MES} -L module gen-cpp-files.scm +# # More RAM for this one! +# MES_ARENA=32000000 +# ${MES} -L module gen-c99-files.scm +# MES_ARENA=20000000 +# ${MES} -L module gen-c99cx-files.scm +# cd ../${MES_PKG} + +# # Create mescc.scm +# mescc_in=scripts/mescc.scm.in +# replace --file ${mescc_in} --output ${mescc_in} --match-on @prefix@ --replace-with ${PREFIX} +# replace --file ${mescc_in} --output ${mescc_in} --match-on @VERSION@ --replace-with ${MES_VERSION} +# replace --file ${mescc_in} --output ${mescc_in} --match-on @mes_cpu@ --replace-with ${MES_ARCH} +# replace --file ${mescc_in} --output ${mescc_in} --match-on @mes_kernel@ --replace-with linux + +# mescc_scm=${BINDIR}/mescc.scm +# cp ${mescc_in} ${mescc_scm} +# chmod 755 ${mescc_scm} # Recompile Mes and Mes C library using mes-m2 bootstrapped Mes -alias mescc="${MES} -e main ${BINDIR}/mescc.scm -D HAVE_CONFIG_H=1 -I include -I include/linux/${MES_ARCH} -c" +# alias mescc="${MES} -e main ${BINDIR}/mescc.scm -D HAVE_CONFIG_H=1 -I include -I include/linux/${MES_ARCH} -c" # Start with crt1.o -mescc lib/linux/${MES_ARCH}-mes-mescc/crt1.c -o lib/${MES_ARCH}-mes/crt1.o - -# Now for libc-mini.a -catm libc-mini.c \ - lib/mes/__init_io.c \ - lib/mes/eputs.c \ - lib/mes/oputs.c \ - lib/mes/globals.c \ - lib/stdlib/exit.c \ - lib/linux/${MES_ARCH}-mes-mescc/_exit.c \ - lib/linux/${MES_ARCH}-mes-mescc/_write.c \ - lib/stdlib/puts.c \ - lib/string/strlen.c -mescc libc-mini.c -cp libc-mini.o ${LIBDIR}/${MES_ARCH}-mes/libc-mini.a -cp libc-mini.s ${LIBDIR}/${MES_ARCH}-mes/libc-mini.s - -# libmescc.a -catm libmescc.c \ - lib/mes/globals.c \ - lib/linux/${MES_ARCH}-mes-mescc/syscall-internal.c -mescc libmescc.c -cp libmescc.o ${LIBDIR}/${MES_ARCH}-mes/libmescc.a -cp libmescc.s ${LIBDIR}/${MES_ARCH}-mes/libmescc.s +# mescc lib/linux/${MES_ARCH}-mes-mescc/crt1.c -o lib/${MES_ARCH}-mes/crt1.o + +# # Now for libc-mini.a +# catm libc-mini.c \ +# lib/mes/__init_io.c \ +# lib/mes/eputs.c \ +# lib/mes/oputs.c \ +# lib/mes/globals.c \ +# lib/stdlib/exit.c \ +# lib/linux/${MES_ARCH}-mes-mescc/_exit.c \ +# lib/linux/${MES_ARCH}-mes-mescc/_write.c \ +# lib/stdlib/puts.c \ +# lib/string/strlen.c +# mescc libc-mini.c +# cp libc-mini.o ${LIBDIR}/${MES_ARCH}-mes/libc-mini.a +# cp libc-mini.s ${LIBDIR}/${MES_ARCH}-mes/libc-mini.s + +# # libmescc.a +# catm libmescc.c \ +# lib/mes/globals.c \ +# lib/linux/${MES_ARCH}-mes-mescc/syscall-internal.c +# mescc libmescc.c +# cp libmescc.o ${LIBDIR}/${MES_ARCH}-mes/libmescc.a +# cp libmescc.s ${LIBDIR}/${MES_ARCH}-mes/libmescc.s # libc.a -catm libc.c \ - lib/ctype/isnumber.c \ - lib/mes/abtol.c \ - lib/mes/cast.c \ - lib/mes/eputc.c \ - lib/mes/fdgetc.c \ - lib/mes/fdputc.c \ - lib/mes/fdputs.c \ - lib/mes/fdungetc.c \ - lib/mes/itoa.c \ - lib/mes/ltoa.c \ - lib/mes/ltoab.c \ - lib/mes/mes_open.c \ - lib/mes/ntoab.c \ - lib/mes/oputc.c \ - lib/mes/ultoa.c \ - lib/mes/utoa.c \ - lib/ctype/isdigit.c \ - lib/ctype/isspace.c \ - lib/ctype/isxdigit.c \ - lib/mes/assert_msg.c \ - lib/posix/write.c \ - lib/stdlib/atoi.c \ - lib/linux/lseek.c \ - lib/mes/__assert_fail.c \ - lib/mes/__buffered_read.c \ - lib/mes/__mes_debug.c \ - lib/posix/execv.c \ - lib/posix/getcwd.c \ - lib/posix/getenv.c \ - lib/posix/isatty.c \ - lib/posix/open.c \ - lib/posix/buffered-read.c \ - lib/posix/setenv.c \ - lib/posix/wait.c \ - lib/dirent/closedir.c \ - lib/dirent/opendir.c \ - lib/stdio/fgetc.c \ - lib/stdio/fputc.c \ - lib/stdio/fputs.c \ - lib/stdio/getc.c \ - lib/stdio/getchar.c \ - lib/stdio/putc.c \ - lib/stdio/putchar.c \ - lib/stdio/ungetc.c \ - lib/stdlib/calloc.c \ - lib/stdlib/free.c \ - lib/stdlib/realloc.c \ - lib/string/memchr.c \ - lib/string/memcmp.c \ - lib/string/memcpy.c \ - lib/string/memmove.c \ - lib/string/memset.c \ - lib/string/strcmp.c \ - lib/string/strcpy.c \ - lib/string/strncmp.c \ - lib/posix/raise.c \ - lib/linux/access.c \ - lib/linux/brk.c \ - lib/linux/chdir.c \ - lib/linux/chmod.c \ - lib/linux/clock_gettime.c \ - lib/linux/dup.c \ - lib/linux/dup2.c \ - lib/linux/execve.c \ - lib/linux/fork.c \ - lib/linux/fsync.c \ - lib/linux/_getcwd.c \ - lib/linux/gettimeofday.c \ - lib/linux/ioctl3.c \ - lib/linux/malloc.c \ - lib/linux/_open3.c \ - lib/linux/_read.c \ - lib/linux/readdir.c \ - lib/linux/rename.c \ - lib/linux/time.c \ - lib/linux/umask.c \ - lib/linux/uname.c \ - lib/linux/unlink.c \ - lib/linux/utimensat.c \ - lib/linux/wait4.c \ - lib/linux/waitpid.c \ - lib/linux/${MES_ARCH}-mes-mescc/syscall.c \ - lib/linux/getpid.c \ - lib/linux/kill.c \ - lib/linux/pipe.c \ - lib/linux/stat.c \ - lib/linux/lstat.c \ - lib/linux/mkdir.c \ - lib/linux/rmdir.c \ - lib/linux/link.c \ - lib/linux/symlink.c \ - lib/linux/close.c \ - lib/linux/nanosleep.c \ - lib/linux/fcntl.c \ - lib/linux/fstat.c \ - lib/linux/getdents.c -mescc libc.c -catm ${LIBDIR}/${MES_ARCH}-mes/libc.a ${LIBDIR}/${MES_ARCH}-mes/libc-mini.a libc.o -catm ${LIBDIR}/${MES_ARCH}-mes/libc.s ${LIBDIR}/${MES_ARCH}-mes/libc-mini.s libc.s +# catm libc.c \ +# lib/ctype/isnumber.c \ +# lib/mes/abtol.c \ +# lib/mes/cast.c \ +# lib/mes/eputc.c \ +# lib/mes/fdgetc.c \ +# lib/mes/fdputc.c \ +# lib/mes/fdputs.c \ +# lib/mes/fdungetc.c \ +# lib/mes/itoa.c \ +# lib/mes/ltoa.c \ +# lib/mes/ltoab.c \ +# lib/mes/mes_open.c \ +# lib/mes/ntoab.c \ +# lib/mes/oputc.c \ +# lib/mes/ultoa.c \ +# lib/mes/utoa.c \ +# lib/ctype/isdigit.c \ +# lib/ctype/isspace.c \ +# lib/ctype/isxdigit.c \ +# lib/mes/assert_msg.c \ +# lib/posix/write.c \ +# lib/stdlib/atoi.c \ +# lib/linux/lseek.c \ +# lib/mes/__assert_fail.c \ +# lib/mes/__buffered_read.c \ +# lib/mes/__mes_debug.c \ +# lib/posix/execv.c \ +# lib/posix/getcwd.c \ +# lib/posix/getenv.c \ +# lib/posix/isatty.c \ +# lib/posix/open.c \ +# lib/posix/buffered-read.c \ +# lib/posix/setenv.c \ +# lib/posix/wait.c \ +# lib/dirent/closedir.c \ +# lib/dirent/opendir.c \ +# lib/stdio/fgetc.c \ +# lib/stdio/fputc.c \ +# lib/stdio/fputs.c \ +# lib/stdio/getc.c \ +# lib/stdio/getchar.c \ +# lib/stdio/putc.c \ +# lib/stdio/putchar.c \ +# lib/stdio/ungetc.c \ +# lib/stdlib/calloc.c \ +# lib/stdlib/free.c \ +# lib/stdlib/realloc.c \ +# lib/string/memchr.c \ +# lib/string/memcmp.c \ +# lib/string/memcpy.c \ +# lib/string/memmove.c \ +# lib/string/memset.c \ +# lib/string/strcmp.c \ +# lib/string/strcpy.c \ +# lib/string/strncmp.c \ +# lib/posix/raise.c \ +# lib/linux/access.c \ +# lib/linux/brk.c \ +# lib/linux/chdir.c \ +# lib/linux/chmod.c \ +# lib/linux/clock_gettime.c \ +# lib/linux/dup.c \ +# lib/linux/dup2.c \ +# lib/linux/execve.c \ +# lib/linux/fork.c \ +# lib/linux/fsync.c \ +# lib/linux/_getcwd.c \ +# lib/linux/gettimeofday.c \ +# lib/linux/ioctl3.c \ +# lib/linux/malloc.c \ +# lib/linux/_open3.c \ +# lib/linux/_read.c \ +# lib/linux/readdir.c \ +# lib/linux/rename.c \ +# lib/linux/time.c \ +# lib/linux/umask.c \ +# lib/linux/uname.c \ +# lib/linux/unlink.c \ +# lib/linux/utimensat.c \ +# lib/linux/wait4.c \ +# lib/linux/waitpid.c \ +# lib/linux/${MES_ARCH}-mes-mescc/syscall.c \ +# lib/linux/getpid.c \ +# lib/linux/kill.c \ +# lib/linux/pipe.c \ +# lib/linux/stat.c \ +# lib/linux/lstat.c \ +# lib/linux/mkdir.c \ +# lib/linux/rmdir.c \ +# lib/linux/link.c \ +# lib/linux/symlink.c \ +# lib/linux/close.c \ +# lib/linux/nanosleep.c \ +# lib/linux/fcntl.c \ +# lib/linux/fstat.c \ +# lib/linux/getdents.c +# mescc libc.c +# catm ${LIBDIR}/${MES_ARCH}-mes/libc.a ${LIBDIR}/${MES_ARCH}-mes/libc-mini.a libc.o +# catm ${LIBDIR}/${MES_ARCH}-mes/libc.s ${LIBDIR}/${MES_ARCH}-mes/libc-mini.s libc.s # libc+tcc.a -catm libc+tcc.c \ - lib/ctype/islower.c \ - lib/ctype/isupper.c \ - lib/ctype/tolower.c \ - lib/ctype/toupper.c \ - lib/mes/abtod.c \ - lib/mes/dtoab.c \ - lib/mes/search-path.c \ - lib/posix/execvp.c \ - lib/stdio/fclose.c \ - lib/stdio/fdopen.c \ - lib/stdio/ferror.c \ - lib/stdio/fflush.c \ - lib/stdio/fopen.c \ - lib/stdio/fprintf.c \ - lib/stdio/fread.c \ - lib/stdio/fseek.c \ - lib/stdio/ftell.c \ - lib/stdio/fwrite.c \ - lib/stdio/printf.c \ - lib/stdio/remove.c \ - lib/stdio/snprintf.c \ - lib/stdio/sprintf.c \ - lib/stdio/sscanf.c \ - lib/stdio/vfprintf.c \ - lib/stdio/vprintf.c \ - lib/stdio/vsnprintf.c \ - lib/stdio/vsprintf.c \ - lib/stdio/vsscanf.c \ - lib/stdlib/abort.c \ - lib/stdlib/qsort.c \ - lib/stdlib/strtod.c \ - lib/stdlib/strtof.c \ - lib/stdlib/strtol.c \ - lib/stdlib/strtold.c \ - lib/stdlib/strtoll.c \ - lib/stdlib/strtoul.c \ - lib/stdlib/strtoull.c \ - lib/string/memmem.c \ - lib/string/strcat.c \ - lib/string/strchr.c \ - lib/string/strlwr.c \ - lib/string/strncpy.c \ - lib/string/strrchr.c \ - lib/string/strstr.c \ - lib/string/strupr.c \ - lib/stub/sigaction.c \ - lib/stub/ldexp.c \ - lib/stub/mprotect.c \ - lib/stub/localtime.c \ - lib/stub/sigemptyset.c \ - lib/${MES_ARCH}-mes-mescc/setjmp.c \ - lib/linux/close.c \ - lib/linux/rmdir.c \ - lib/linux/stat.c -mescc libc+tcc.c -catm ${LIBDIR}/${MES_ARCH}-mes/libc+tcc.a ${LIBDIR}/${MES_ARCH}-mes/libc.a libc+tcc.o -catm ${LIBDIR}/${MES_ARCH}-mes/libc+tcc.s ${LIBDIR}/${MES_ARCH}-mes/libc.s libc+tcc.s +# catm libc+tcc.c \ +# lib/ctype/islower.c \ +# lib/ctype/isupper.c \ +# lib/ctype/tolower.c \ +# lib/ctype/toupper.c \ +# lib/mes/abtod.c \ +# lib/mes/dtoab.c \ +# lib/mes/search-path.c \ +# lib/posix/execvp.c \ +# lib/stdio/fclose.c \ +# lib/stdio/fdopen.c \ +# lib/stdio/ferror.c \ +# lib/stdio/fflush.c \ +# lib/stdio/fopen.c \ +# lib/stdio/fprintf.c \ +# lib/stdio/fread.c \ +# lib/stdio/fseek.c \ +# lib/stdio/ftell.c \ +# lib/stdio/fwrite.c \ +# lib/stdio/printf.c \ +# lib/stdio/remove.c \ +# lib/stdio/snprintf.c \ +# lib/stdio/sprintf.c \ +# lib/stdio/sscanf.c \ +# lib/stdio/vfprintf.c \ +# lib/stdio/vprintf.c \ +# lib/stdio/vsnprintf.c \ +# lib/stdio/vsprintf.c \ +# lib/stdio/vsscanf.c \ +# lib/stdlib/abort.c \ +# lib/stdlib/qsort.c \ +# lib/stdlib/strtod.c \ +# lib/stdlib/strtof.c \ +# lib/stdlib/strtol.c \ +# lib/stdlib/strtold.c \ +# lib/stdlib/strtoll.c \ +# lib/stdlib/strtoul.c \ +# lib/stdlib/strtoull.c \ +# lib/string/memmem.c \ +# lib/string/strcat.c \ +# lib/string/strchr.c \ +# lib/string/strlwr.c \ +# lib/string/strncpy.c \ +# lib/string/strrchr.c \ +# lib/string/strstr.c \ +# lib/string/strupr.c \ +# lib/stub/sigaction.c \ +# lib/stub/ldexp.c \ +# lib/stub/mprotect.c \ +# lib/stub/localtime.c \ +# lib/stub/sigemptyset.c \ +# lib/${MES_ARCH}-mes-mescc/setjmp.c \ +# lib/linux/close.c \ +# lib/linux/rmdir.c \ +# lib/linux/stat.c +# mescc libc+tcc.c +# catm ${LIBDIR}/${MES_ARCH}-mes/libc+tcc.a ${LIBDIR}/${MES_ARCH}-mes/libc.a libc+tcc.o +# catm ${LIBDIR}/${MES_ARCH}-mes/libc+tcc.s ${LIBDIR}/${MES_ARCH}-mes/libc.s libc+tcc.s # Make directories mkdir ${PREFIX}/lib/linux ${INCDIR}/mes ${INCDIR}/sys ${INCDIR}/linux ${INCDIR}/arch mkdir ${PREFIX}/lib/${MES_ARCH}-mes ${PREFIX}/lib/linux/${MES_ARCH}-mes ${INCDIR}/linux/${MES_ARCH} # Install libraries -cp ${LIBDIR}/${MES_ARCH}-mes/libc.a ${PREFIX}/lib/${MES_ARCH}-mes/ -cp ${LIBDIR}/${MES_ARCH}-mes/libc+tcc.a ${PREFIX}/lib/${MES_ARCH}-mes/ -cp ${LIBDIR}/${MES_ARCH}-mes/libmescc.a ${PREFIX}/lib/${MES_ARCH}-mes/ -cp ${LIBDIR}/${MES_ARCH}-mes/libc.s ${PREFIX}/lib/${MES_ARCH}-mes/ -cp ${LIBDIR}/${MES_ARCH}-mes/libc+tcc.s ${PREFIX}/lib/${MES_ARCH}-mes/ -cp ${LIBDIR}/${MES_ARCH}-mes/libmescc.s ${PREFIX}/lib/${MES_ARCH}-mes/ -cp ${LIBDIR}/${MES_ARCH}-mes/${MES_ARCH}.M1 ${PREFIX}/lib/${MES_ARCH}-mes/ -cp ${LIBDIR}/${MES_ARCH}-mes/crt1.o ${PREFIX}/lib/${MES_ARCH}-mes/ -cp ${LIBDIR}/${MES_ARCH}-mes/crt1.s ${PREFIX}/lib/${MES_ARCH}-mes/ -cp ${LIBDIR}/linux/${MES_ARCH}-mes/elf${ARCH_BITS}-footer-single-main.hex2 ${PREFIX}/lib/linux/${MES_ARCH}-mes/ -cp ${LIBDIR}/linux/${MES_ARCH}-mes/elf${ARCH_BITS}-header.hex2 ${PREFIX}/lib/linux/${MES_ARCH}-mes/ +# cp ${LIBDIR}/${MES_ARCH}-mes/libc.a ${PREFIX}/lib/${MES_ARCH}-mes/ +# cp ${LIBDIR}/${MES_ARCH}-mes/libc+tcc.a ${PREFIX}/lib/${MES_ARCH}-mes/ +# cp ${LIBDIR}/${MES_ARCH}-mes/libmescc.a ${PREFIX}/lib/${MES_ARCH}-mes/ +# cp ${LIBDIR}/${MES_ARCH}-mes/libc.s ${PREFIX}/lib/${MES_ARCH}-mes/ +# cp ${LIBDIR}/${MES_ARCH}-mes/libc+tcc.s ${PREFIX}/lib/${MES_ARCH}-mes/ +# cp ${LIBDIR}/${MES_ARCH}-mes/libmescc.s ${PREFIX}/lib/${MES_ARCH}-mes/ +# cp ${LIBDIR}/${MES_ARCH}-mes/${MES_ARCH}.M1 ${PREFIX}/lib/${MES_ARCH}-mes/ +# cp ${LIBDIR}/${MES_ARCH}-mes/crt1.o ${PREFIX}/lib/${MES_ARCH}-mes/ +# cp ${LIBDIR}/${MES_ARCH}-mes/crt1.s ${PREFIX}/lib/${MES_ARCH}-mes/ +# cp ${LIBDIR}/linux/${MES_ARCH}-mes/elf${ARCH_BITS}-footer-single-main.hex2 ${PREFIX}/lib/linux/${MES_ARCH}-mes/ +# cp ${LIBDIR}/linux/${MES_ARCH}-mes/elf${ARCH_BITS}-header.hex2 ${PREFIX}/lib/linux/${MES_ARCH}-mes/ # Install header files cp include/alloca.h ${INCDIR}/alloca.h @@ -375,24 +375,24 @@ cp include/sys/wait.h ${INCDIR}/sys/wait.h cd ../.. -# Checksums -if match x${UPDATE_CHECKSUMS} xTrue; then - sha256sum -o ${pkg}.${ARCH}.checksums \ - /usr/bin/mes-m2 \ - /usr/bin/mescc.scm \ - /usr/lib/${MES_ARCH}-mes/crt1.s \ - /usr/lib/${MES_ARCH}-mes/crt1.o \ - /usr/lib/${MES_ARCH}-mes/${MES_ARCH}.M1 \ - /usr/lib/${MES_ARCH}-mes/libmescc.s \ - /usr/lib/${MES_ARCH}-mes/libc+tcc.s \ - /usr/lib/${MES_ARCH}-mes/libc.s \ - /usr/lib/${MES_ARCH}-mes/libmescc.a \ - /usr/lib/${MES_ARCH}-mes/libc+tcc.a \ - /usr/lib/${MES_ARCH}-mes/libc.a \ - /usr/lib/linux/${MES_ARCH}-mes/elf${ARCH_BITS}-header.hex2 \ - /usr/lib/linux/${MES_ARCH}-mes/elf${ARCH_BITS}-footer-single-main.hex2 - - cp ${pkg}.${ARCH}.checksums ${SRCDIR} -else - sha256sum -c ${pkg}.${ARCH}.checksums -fi +# # Checksums +# if match x${UPDATE_CHECKSUMS} xTrue; then +# sha256sum -o ${pkg}.${ARCH}.checksums \ +# /usr/bin/mes-m2 \ +# /usr/bin/mescc.scm \ +# /usr/lib/${MES_ARCH}-mes/crt1.s \ +# /usr/lib/${MES_ARCH}-mes/crt1.o \ +# /usr/lib/${MES_ARCH}-mes/${MES_ARCH}.M1 \ +# /usr/lib/${MES_ARCH}-mes/libmescc.s \ +# /usr/lib/${MES_ARCH}-mes/libc+tcc.s \ +# /usr/lib/${MES_ARCH}-mes/libc.s \ +# /usr/lib/${MES_ARCH}-mes/libmescc.a \ +# /usr/lib/${MES_ARCH}-mes/libc+tcc.a \ +# /usr/lib/${MES_ARCH}-mes/libc.a \ +# /usr/lib/linux/${MES_ARCH}-mes/elf${ARCH_BITS}-header.hex2 \ +# /usr/lib/linux/${MES_ARCH}-mes/elf${ARCH_BITS}-footer-single-main.hex2 + +# cp ${pkg}.${ARCH}.checksums ${SRCDIR} +# else +# sha256sum -c ${pkg}.${ARCH}.checksums +# fi diff --git a/steps/pnut-exe-1.0/pass1.kaem b/steps/pnut-exe-1.0/pass1.kaem new file mode 100755 index 00000000..b1eea8ab --- /dev/null +++ b/steps/pnut-exe-1.0/pass1.kaem @@ -0,0 +1,74 @@ +#!/bin/sh + +# SPDX-FileCopyrightText: 2025 Laurent Huberdeau +# +# SPDX-License-Identifier: GPL-3.0-or-later + +set -ex + +# Variables +M2LIB="../../../M2-Planet/M2libc/" +PNUT_BRANCH="laurent-small-fixes-for-TCC" +PNUT_DIR="pnut-${PNUT_BRANCH}" + +# Check tarball checksums +checksum-transcriber sources +sha256sum -c sources.SHA256SUM + +# Unpack +mkdir build +cd build +# ungz --file ${DISTFILES}/${PNUT_PKG}.tar.gz --output ${PNUT_PKG}.tar +untar --file ${DISTFILES}/${PNUT_PKG}.tar + +M2-Planet \ + --architecture x86 \ + --debug \ + --expand-includes \ + -I ${M2LIB} \ + --file ${PNUT_DIR}/pnut.c \ + -D target_i386_linux=1 \ + -D NO_TERNARY_SUPPORT=1 \ + -D ONE_PASS_GENERATOR=1 \ + -D SMALL_HEAP=1 \ + -o pnut-exe.M1 + +# Generate basic DWARF debug info (optional) +blood-elf \ + --file pnut-exe.M1 \ + --little-endian \ + --entry _start \ + --output pnut-exe-footer.M1 + +# Compile to hex2 (for debug: -f pnut-footer.M1) +M1 \ + --file ${M2LIB}/x86/x86_defs.M1 \ + --file ${M2LIB}/x86/libc-full.M1 \ + --file pnut-exe.M1 \ + --file pnut-exe-footer.M1 \ + --architecture x86 \ + --little-endian \ + --output pnut-exe.hex2 + +# Assemble +mkdir -p bin + +hex2 \ + --architecture x86 \ + --little-endian \ + --file ${M2LIB}/x86/ELF-x86-debug.hex2 \ + --file pnut-exe.hex2 \ + --base-address 0x8048000 \ + --output bin/pnut-exe + +# Recompile pnut with itself, this time +./bin/pnut-exe \ + -D target_i386_linux=1 \ + -D ONE_PASS_GENERATOR=1 \ + -D BOOTSTRAP_TCC=1 \ + ${PNUT_DIR}/pnut.c \ + -o bin/pnut-exe-for-tcc + +# Install pnut-exe +cp bin/pnut-exe-for-tcc ${BINDIR}/pnut +chmod 755 ${BINDIR}/pnut diff --git a/steps/pnut-exe-1.0/pnut-exe-1.0.x86.checksums b/steps/pnut-exe-1.0/pnut-exe-1.0.x86.checksums new file mode 100644 index 00000000..85e3ffde --- /dev/null +++ b/steps/pnut-exe-1.0/pnut-exe-1.0.x86.checksums @@ -0,0 +1,13 @@ +62895fcf68b21961e018c797b3144fc86f9dbd5a535776e9e68a01b3fd33de08 /usr/bin/mes-m2 +761fe4fbbee5bfd45506ea8dbd0aeecfe8855159bd794e07fca1988109510170 /usr/bin/mescc.scm +234c264965116a24583dd569050adc766d7cc2da83b1db38085210f26031b70c /usr/lib/x86-mes/crt1.s +494f184a87175abc485a898c250c3831b2b5dcf5aead46591e00b39d1c5529fc /usr/lib/x86-mes/crt1.o +8afe05c3e1e8848b6f3e8de751524de5f69818eb8524659827918e3fddde3e1e /usr/lib/x86-mes/x86.M1 +06c6e43ab7f09e7779df786c57ba5b8775468ae8a47a0426278e9adc52d675c8 /usr/lib/x86-mes/libmescc.s +ef79bc2c59768c172ff4806c6eff9c5e1373d5660c51b33ee4a513f9dda726bd /usr/lib/x86-mes/libc+tcc.s +69050424c9bd83cea8d9b878d5a7cbca01fd4a43b3722a34145843d80f4c8e40 /usr/lib/x86-mes/libc.s +bfb362848fc83a8a58421636a51b1514d1915b58a5a2354c703dfec64c899cad /usr/lib/x86-mes/libmescc.a +b00e8579329bf011bfccebaeb96c1fedb160a38cad63fd628d6b9110b6fb268a /usr/lib/x86-mes/libc+tcc.a +b31c6a0fe5feb53d2d8ba1989c936fd94f43967b8e655ae1c36392723dc8ae3d /usr/lib/x86-mes/libc.a +82cac4353375a52efecc6fda1f8b37373988fe41ed197b63d8e906321b105d77 /usr/lib/linux/x86-mes/elf32-header.hex2 +f9873d9aab12e70f24d97f8319e17a1e698ca60779ae9a6ab3ede648cd60fc61 /usr/lib/linux/x86-mes/elf32-footer-single-main.hex2 diff --git a/steps/pnut-exe-1.0/sources b/steps/pnut-exe-1.0/sources new file mode 100644 index 00000000..8d9a376b --- /dev/null +++ b/steps/pnut-exe-1.0/sources @@ -0,0 +1,3 @@ +f https://github.com/udem-dlteam/pnut/archive/refs/heads/laurent/small-fixes-for-TCC.tar.gz 6e662dbf450c8ec2b3be0bfd5db6e198c566f430e63c29edd7225dbdf09de17b pnut-1.0.tar.gz +f https://github.com/udem-dlteam/pnut/archive/refs/heads/laurent/small-fixes-for-TCC.tar.gz 66df0ebd8e2507cbab63c253b1911c5cbb9ba90635f88e9017a4adc83c90ecb0 pnut-1.0.tar +f https://mirrors.kernel.org/gnu/mes/mes-0.27.1.tar.gz 183a40ea47ea49f8a1e3bd1b9d12e676374d64d63bc79e7bc1ae7d673dfdf25d diff --git a/steps/simple-patch-1.0/simple-patch-1.0.x86.checksums b/steps/simple-patch-1.0/simple-patch-1.0.x86.checksums index de5f92d9..694919ff 100644 --- a/steps/simple-patch-1.0/simple-patch-1.0.x86.checksums +++ b/steps/simple-patch-1.0/simple-patch-1.0.x86.checksums @@ -1 +1 @@ -887c9270655ceb8a07b7b244d893ba9d0377d66bacd85b4cf9ceb28e5884000f /usr/bin/simple-patch +15571d42c67da92092fda7b0aaaa99c40dd58b7a43393b659ee67762f5e71900 /usr/bin/simple-patch diff --git a/steps/tcc-0.9.26/pass1.kaem b/steps/tcc-0.9.26/pass1.kaem index 3a5b669e..21e2354a 100755 --- a/steps/tcc-0.9.26/pass1.kaem +++ b/steps/tcc-0.9.26/pass1.kaem @@ -28,17 +28,31 @@ cd build ungz --file ${DISTFILES}/${TCC_TAR}.tar.gz --output ${TCC_TAR}.tar ungz --file ${DISTFILES}/${MES_PKG}.tar.gz --output ${MES_PKG}.tar untar --non-strict --file ${TCC_TAR}.tar + simple-patch ${TCC_PKG}/tcctools.c \ ../simple-patches/remove-fileopen.before ../simple-patches/remove-fileopen.after simple-patch ${TCC_PKG}/tcctools.c \ ../simple-patches/addback-fileopen.before ../simple-patches/addback-fileopen.after +# Patches to get tcc to compile with pnut, these are reverted after tcc-pnut is built +simple-patch ${TCC_PKG}/tccpp.c \ + ../simple-patches/array_sizeof.before ../simple-patches/array_sizeof.after +simple-patch ${TCC_PKG}/tccgen.c \ + ../simple-patches/fix_stack_64_bit_operands_on_32_bit.before ../simple-patches/fix_stack_64_bit_operands_on_32_bit.after +simple-patch ${TCC_PKG}/tccgen.c \ + ../simple-patches/float_negation.before ../simple-patches/float_negation.after +simple-patch ${TCC_PKG}/libtcc.c \ + ../simple-patches/sscanf_TCC_VERSION.before ../simple-patches/sscanf_TCC_VERSION.after +simple-patch ${TCC_PKG}/tcc.h \ + ../simple-patches/undefine_TCC_IS_NATIVE.before ../simple-patches/undefine_TCC_IS_NATIVE.after + untar --non-strict --file ${MES_PKG}.tar +# Prepare Mes header files + # Create config.h catm ${MES_PKG}/include/mes/config.h catm ${TCC_PKG}/config.h -cd ${TCC_PKG} if match ${ARCH} x86; then MES_ARCH=x86 @@ -56,43 +70,63 @@ if match ${ARCH} riscv64; then HAVE_LONG_LONG=1 fi +mkdir ${MES_PKG}/include/arch +cp ${MES_PKG}/include/linux/${MES_ARCH}/kernel-stat.h ${MES_PKG}/include/arch/kernel-stat.h +cp ${MES_PKG}/include/linux/${MES_ARCH}/signal.h ${MES_PKG}/include/arch/signal.h +cp ${MES_PKG}/include/linux/${MES_ARCH}/syscall.h ${MES_PKG}/include/arch/syscall.h -${MES} --no-auto-compile -e main ${BINDIR}/mescc.scm -- \ - -S \ - -o tcc.s \ - -I ${INCDIR} \ - -D BOOTSTRAP=1 \ - -D HAVE_LONG_LONG=${HAVE_LONG_LONG} \ - -I . \ - -D TCC_TARGET_${TCC_TARGET_ARCH}=1 \ - -D inline= \ - -D CONFIG_TCCDIR=\"${LIBDIR}/tcc\" \ - -D CONFIG_SYSROOT=\"/\" \ - -D CONFIG_TCC_CRTPREFIX=\"${LIBDIR}\" \ - -D CONFIG_TCC_ELFINTERP=\"/mes/loader\" \ - -D CONFIG_TCC_SYSINCLUDEPATHS=\"${PREFIX}/include/mes\" \ - -D TCC_LIBGCC=\"${LIBDIR}/libc.a\" \ - -D CONFIG_TCC_LIBTCC1_MES=0 \ - -D CONFIG_TCCBOOT=1 \ - -D CONFIG_TCC_STATIC=1 \ - -D CONFIG_USE_LIBGCC=1 \ - -D TCC_VERSION=\"0.9.26\" \ - -D ONE_SOURCE=1 \ - tcc.c -${MES} --no-auto-compile -e main ${BINDIR}/mescc.scm -- \ - --base-address 0x08048000 \ - -o tcc-mes \ - -L ${LIBDIR} \ - tcc.s \ - -l c+tcc -cp tcc-mes ${BINDIR}/ -chmod 755 ${BINDIR}/tcc-mes +# Unpack pnut's portable libc, only used to bootstrap tcc-pnut + +untar --file ${DISTFILES}/${PNUT_PKG}.tar + +# Here we go! -# test tcc-mes -tcc-mes -version +cd ${TCC_PKG} + +pnut \ + -I ../pnut-laurent-small-fixes-for-TCC/portable_libc/include/ \ + -D BOOTSTRAP=1 \ + -D HAVE_LONG_LONG=0 \ + -D TCC_TARGET_${TCC_TARGET_ARCH}=1 \ + -D CONFIG_SYSROOT=\"/\" \ + -D CONFIG_TCC_CRTPREFIX=\"${LIBDIR}\" \ + -D CONFIG_TCC_ELFINTERP=\"/mes/loader\" \ + -D CONFIG_TCC_SYSINCLUDEPATHS=\"${PREFIX}/include/mes\" \ + -D TCC_LIBGCC=\"${LIBDIR}/libc.a\" \ + -D CONFIG_TCC_LIBTCC1_MES=0 \ + -D CONFIG_TCCBOOT=1 \ + -D CONFIG_TCC_STATIC=1 \ + -D CONFIG_USE_LIBGCC=1 \ + -D TCC_VERSION=\"0.9.26\" \ + -D ONE_SOURCE=1 \ + -D CONFIG_TCCDIR=\"${LIBDIR}/tcc\" \ + -D __intptr_t_defined=1 \ + tcc.c \ + ../pnut-laurent-small-fixes-for-TCC/portable_libc/libc.c \ + -o tcc-pnut + +cp tcc-pnut ${BINDIR}/ +chmod 755 ${BINDIR}/tcc-pnut + +# test tcc-pnut +tcc-pnut -version + +cd .. + +# Revert patches +simple-patch ${TCC_PKG}/tccpp.c \ + ../simple-patches/array_sizeof.after ../simple-patches/array_sizeof.before +simple-patch ${TCC_PKG}/tccgen.c \ + ../simple-patches/fix_stack_64_bit_operands_on_32_bit.after ../simple-patches/fix_stack_64_bit_operands_on_32_bit.before +simple-patch ${TCC_PKG}/tccgen.c \ + ../simple-patches/float_negation.after ../simple-patches/float_negation.before +simple-patch ${TCC_PKG}/libtcc.c \ + ../simple-patches/sscanf_TCC_VERSION.after ../simple-patches/sscanf_TCC_VERSION.before +simple-patch ${TCC_PKG}/tcc.h \ + ../simple-patches/undefine_TCC_IS_NATIVE.after ../simple-patches/undefine_TCC_IS_NATIVE.before # Recompile the mes C library -cd ../${MES_PKG} +cd ${MES_PKG} # Create unified libc file cd lib @@ -100,41 +134,41 @@ catm ../unified-libc.c ctype/isalnum.c ctype/isalpha.c ctype/isascii.c ctype/isc cd .. # crt1.o -tcc-mes -c -D HAVE_CONFIG_H=1 -I include -I include/linux/${MES_ARCH} -o ${LIBDIR}/crt1.o lib/linux/${MES_ARCH}-mes-gcc/crt1.c +tcc-pnut -c -D HAVE_CONFIG_H=1 -I include -I include/linux/${MES_ARCH} -o ${LIBDIR}/crt1.o lib/linux/${MES_ARCH}-mes-gcc/crt1.c catm ${LIBDIR}/crtn.o catm ${LIBDIR}/crti.o if match ${ARCH} x86; then # crtn.o - tcc-mes -c -D HAVE_CONFIG_H=1 -I include -I include/linux/${MES_ARCH} -o ${LIBDIR}/crtn.o lib/linux/${MES_ARCH}-mes-gcc/crtn.c + tcc-pnut -c -D HAVE_CONFIG_H=1 -I include -I include/linux/${MES_ARCH} -o ${LIBDIR}/crtn.o lib/linux/${MES_ARCH}-mes-gcc/crtn.c # crti.o - tcc-mes -c -D HAVE_CONFIG_H=1 -I include -I include/linux/${MES_ARCH} -o ${LIBDIR}/crti.o lib/linux/${MES_ARCH}-mes-gcc/crti.c + tcc-pnut -c -D HAVE_CONFIG_H=1 -I include -I include/linux/${MES_ARCH} -o ${LIBDIR}/crti.o lib/linux/${MES_ARCH}-mes-gcc/crti.c fi # libc+gcc.a -tcc-mes -c -D HAVE_CONFIG_H=1 -I include -I include/linux/${MES_ARCH} -o unified-libc.o unified-libc.c -tcc-mes -ar cr ${LIBDIR}/libc.a unified-libc.o +tcc-pnut -c -D HAVE_CONFIG_H=1 -I include -I include/linux/${MES_ARCH} -I include/arch -o unified-libc.o unified-libc.c +tcc-pnut -ar cr ${LIBDIR}/libc.a unified-libc.o # libtcc1.a mkdir ${LIBDIR}/tcc -tcc-mes -c -D HAVE_CONFIG_H=1 -D HAVE_LONG_LONG=1 -D HAVE_FLOAT=1 -I include -I include/linux/${MES_ARCH} -o libtcc1.o lib/libtcc1.c +tcc-pnut -c -D HAVE_CONFIG_H=1 -D HAVE_LONG_LONG=1 -D HAVE_FLOAT=1 -I include -I include/linux/${MES_ARCH} -o libtcc1.o lib/libtcc1.c if match ${ARCH} riscv64; then - tcc-mes -c -D HAVE_CONFIG_H=1 -D HAVE_LONG_LONG=1 -D HAVE_FLOAT=1 -I include -I include/linux/${MES_ARCH} -o lib-arm64.o ../${TCC_PKG}/lib/lib-arm64.c - tcc-mes -ar cr ${LIBDIR}/tcc/libtcc1.a libtcc1.o lib-arm64.o + tcc-pnut -c -D HAVE_CONFIG_H=1 -D HAVE_LONG_LONG=1 -D HAVE_FLOAT=1 -I include -I include/linux/${MES_ARCH} -o lib-arm64.o ../${TCC_PKG}/lib/lib-arm64.c + tcc-pnut -ar cr ${LIBDIR}/tcc/libtcc1.a libtcc1.o lib-arm64.o else - tcc-mes -ar cr ${LIBDIR}/tcc/libtcc1.a libtcc1.o + tcc-pnut -ar cr ${LIBDIR}/tcc/libtcc1.a libtcc1.o fi # libgetopt.a -tcc-mes -c -D HAVE_CONFIG_H=1 -I include -I include/linux/${MES_ARCH} lib/posix/getopt.c -tcc-mes -ar cr ${LIBDIR}/libgetopt.a getopt.o +tcc-pnut -c -D HAVE_CONFIG_H=1 -I include -I include/linux/${MES_ARCH} lib/posix/getopt.c +tcc-pnut -ar cr ${LIBDIR}/libgetopt.a getopt.o cd ../${TCC_PKG} # boot0 (ref comments here for all boot*) # compile -tcc-mes \ +tcc-pnut \ -g \ -v \ -static \ @@ -307,10 +341,12 @@ tcc -ar cr ${LIBDIR}/libgetopt.a getopt.o cd ../.. +sha256sum /usr/bin/tcc-pnut + # Checksums if match x${UPDATE_CHECKSUMS} xTrue; then sha256sum -o ${pkg}.${ARCH}.checksums \ - /usr/bin/tcc-mes \ + /usr/bin/tcc-pnut \ /usr/bin/tcc-boot0 \ /usr/bin/tcc-boot1 \ /usr/bin/tcc \ diff --git a/steps/tcc-0.9.26/simple-patches/array_sizeof.after b/steps/tcc-0.9.26/simple-patches/array_sizeof.after new file mode 100644 index 00000000..8f8b6b5e --- /dev/null +++ b/steps/tcc-0.9.26/simple-patches/array_sizeof.after @@ -0,0 +1,5 @@ +#ifdef PNUT_CC + char buf1[1024]; +#else + char buf1[sizeof file->filename]; +#endif diff --git a/steps/tcc-0.9.26/simple-patches/array_sizeof.before b/steps/tcc-0.9.26/simple-patches/array_sizeof.before new file mode 100644 index 00000000..96b3c754 --- /dev/null +++ b/steps/tcc-0.9.26/simple-patches/array_sizeof.before @@ -0,0 +1 @@ + char buf1[sizeof file->filename]; diff --git a/steps/tcc-0.9.26/simple-patches/fix_stack_64_bit_operands_on_32_bit.after b/steps/tcc-0.9.26/simple-patches/fix_stack_64_bit_operands_on_32_bit.after new file mode 100644 index 00000000..cdda60f9 --- /dev/null +++ b/steps/tcc-0.9.26/simple-patches/fix_stack_64_bit_operands_on_32_bit.after @@ -0,0 +1,5 @@ +#if HAVE_LONG_LONG_STUB || HAVE_LONG_LONG + vtop[0].c.i >>= 32; +#else + vtop[0].c.i = 0; +#endif diff --git a/steps/tcc-0.9.26/simple-patches/fix_stack_64_bit_operands_on_32_bit.before b/steps/tcc-0.9.26/simple-patches/fix_stack_64_bit_operands_on_32_bit.before new file mode 100644 index 00000000..c5045fd8 --- /dev/null +++ b/steps/tcc-0.9.26/simple-patches/fix_stack_64_bit_operands_on_32_bit.before @@ -0,0 +1,3 @@ +#if HAVE_LONG_LONG_STUB || HAVE_LONG_LONG + vtop[0].c.i >>= 32; +#endif diff --git a/steps/tcc-0.9.26/simple-patches/float_negation.after b/steps/tcc-0.9.26/simple-patches/float_negation.after new file mode 100644 index 00000000..0e4e7d45 --- /dev/null +++ b/steps/tcc-0.9.26/simple-patches/float_negation.after @@ -0,0 +1,8 @@ +#if HAVE_FLOAT + if (t == VT_FLOAT) + vtop->c.f = (float) 0x80000000; + else if (t == VT_DOUBLE) + vtop->c.d = (double) 0x8000000000000000ULL; + else + vtop->c.ld = (long double) 0x8000000000000000ULL; +#endif diff --git a/steps/tcc-0.9.26/simple-patches/float_negation.before b/steps/tcc-0.9.26/simple-patches/float_negation.before new file mode 100644 index 00000000..b6b21f38 --- /dev/null +++ b/steps/tcc-0.9.26/simple-patches/float_negation.before @@ -0,0 +1,8 @@ +#if HAVE_FLOAT + if (t == VT_FLOAT) + vtop->c.f = -1.0 * 0.0; + else if (t == VT_DOUBLE) + vtop->c.d = -1.0 * 0.0; + else + vtop->c.ld = -1.0 * 0.0; +#endif diff --git a/steps/tcc-0.9.26/simple-patches/sscanf_TCC_VERSION.after b/steps/tcc-0.9.26/simple-patches/sscanf_TCC_VERSION.after new file mode 100644 index 00000000..eab0dbfe --- /dev/null +++ b/steps/tcc-0.9.26/simple-patches/sscanf_TCC_VERSION.after @@ -0,0 +1 @@ + a = 0; b = 9; c = 26; diff --git a/steps/tcc-0.9.26/simple-patches/sscanf_TCC_VERSION.before b/steps/tcc-0.9.26/simple-patches/sscanf_TCC_VERSION.before new file mode 100644 index 00000000..5a97cd23 --- /dev/null +++ b/steps/tcc-0.9.26/simple-patches/sscanf_TCC_VERSION.before @@ -0,0 +1 @@ + sscanf(TCC_VERSION, "%d.%d.%d", &a, &b, &c); diff --git a/steps/tcc-0.9.26/simple-patches/undefine_TCC_IS_NATIVE.after b/steps/tcc-0.9.26/simple-patches/undefine_TCC_IS_NATIVE.after new file mode 100644 index 00000000..5c4c31b1 --- /dev/null +++ b/steps/tcc-0.9.26/simple-patches/undefine_TCC_IS_NATIVE.after @@ -0,0 +1 @@ +#if defined _WIN32 == defined TCC_TARGET_PE && 0 diff --git a/steps/tcc-0.9.26/simple-patches/undefine_TCC_IS_NATIVE.before b/steps/tcc-0.9.26/simple-patches/undefine_TCC_IS_NATIVE.before new file mode 100644 index 00000000..aca9a026 --- /dev/null +++ b/steps/tcc-0.9.26/simple-patches/undefine_TCC_IS_NATIVE.before @@ -0,0 +1 @@ +#if defined _WIN32 == defined TCC_TARGET_PE diff --git a/steps/tcc-0.9.26/tcc-0.9.26.x86.checksums b/steps/tcc-0.9.26/tcc-0.9.26.x86.checksums index 574caca8..7f3f2e24 100644 --- a/steps/tcc-0.9.26/tcc-0.9.26.x86.checksums +++ b/steps/tcc-0.9.26/tcc-0.9.26.x86.checksums @@ -1,6 +1,6 @@ -b879b9101c837c77d0d51e6f5040bdc5f20964fe1f9f3506f77d49445967cef7 /usr/bin/tcc-mes -25698c9689995cad9dcf3dd834526e7ef97fba27cef6367c0e618b9ad6c0657d /usr/bin/tcc-boot0 -7121fee2d9b1b05a6dec06d193b8ddc61504c27a3eef251fc8a271b5001a7702 /usr/bin/tcc-boot1 +9486f581af1e879bbd22292d9c14c3be7c830535b9bb9a47eeac7eff9214fee1 /usr/bin/tcc-pnut +4c8ee015fe7d9faea4a7dd325f92daebcb4908fe7cf46d2bead736ecf1b77b38 /usr/bin/tcc-boot0 +35ae419041c0e5df707e23e2d1b6963227bbe2430cc616102ef5c60234d480bb /usr/bin/tcc-boot1 ae0293afce365667f6beacca537354e01925a5ae3f7c5428209bfc9894b864a1 /usr/bin/tcc bd63add2eb451854baf1a39cfc4780e86ae46128cd3d5b44c54b8a18aedb3c6d /usr/lib/mes/libc.a 12c07ae103e7e3b390150a79e5c600d88de14e9bb73a066f6342582729ef5a3f /usr/lib/mes/libgetopt.a