Commit Graph

2299 Commits

Author SHA1 Message Date
Jan (janneke) Nieuwenhuizen 5bba73ccca
Add ROADMAP.
TODO
  - setjmp
  - possibly: commented-out HAVE_FLOAT? in tccgen.c
  - integrate ARM ./bootstrap.sh build into commencement.scm
    + build gcc-2.95.3 ...etc, etc.

DONE:

  - ./pre-inst-env guix build --system=armhf-linux -e tcc-boot
  - mes-tcc can be bootstrapped, build and and rebuild itself, until
    boot6-tcc, with long longs and floats
2020-12-24 18:39:53 +01:00
Jan (janneke) Nieuwenhuizen 9d675376ce
Revert "HACK bootstrap with arm-unknown-linux-gnueabihf-gcc."
This reverts commit c173a80c284d11f4ade5e6b6fa402a22f78bba9f.
2020-12-24 18:39:53 +01:00
Jan (janneke) Nieuwenhuizen 6b69b496ad
Revert "build-32.sh: Save bootX intermediate results."
This reverts commit af9ef83a3dc59f9456bedeb056fdf8e7d895e6e8.
2020-12-24 18:39:52 +01:00
Jan (janneke) Nieuwenhuizen 02c45923d5
build-32.sh: Save bootX intermediate results. 2020-12-24 18:39:52 +01:00
Jan (janneke) Nieuwenhuizen aab73482fe
HACK bootstrap with arm-unknown-linux-gnueabihf-gcc. 2020-12-24 18:39:52 +01:00
Jan (janneke) Nieuwenhuizen ebd1a5941f
HACK bootstrappable: ARM: "tccgen_ok". 2020-12-24 18:39:52 +01:00
Jan (janneke) Nieuwenhuizen 8d475711f1
HACK bootstrappable: ARM: "tccpp_ok". 2020-12-24 18:39:52 +01:00
Jan (janneke) Nieuwenhuizen 126174a3f6
build: Support building on Guix aarch64-linux. 2020-12-24 18:39:52 +01:00
Jan (janneke) Nieuwenhuizen b693ee0d30
doc: Update 'README'. 2020-12-24 18:39:51 +01:00
Jan (janneke) Nieuwenhuizen 8aa1a0ac36
build: Add support for ARM.
* doit,
bootstrap.sh,
build.sh,
cc.sh: Update and add support for ARM.
* build-x86.sh: Likewise.  Rename to ...
* build-32.sh: ... this.
.gitignore: Remove test output.
2020-12-24 18:39:51 +01:00
Jan (janneke) Nieuwenhuizen 7d55366627
Revert "lotsa debug printing."
This reverts commit 18a9e45500cdaf8dbb34aaab7a4753062a949af6.
2020-12-24 12:15:40 +01:00
Jan (janneke) Nieuwenhuizen 5eb85b0468
Revert "lotsa debug printing: reduce"
This reverts commit 412a9bbfc7d041fda021a86853930b3a90374458.
2020-12-24 12:15:39 +01:00
Jan (janneke) Nieuwenhuizen ad5a6bae59
lotsa debug printing: reduce 2020-12-24 12:15:39 +01:00
Jan Nieuwenhuizen 1d4b206c45
lotsa debug printing. 2020-12-24 12:15:39 +01:00
Jan (janneke) Nieuwenhuizen 8c6f0c2c61
ARM: allow fake asm in functions. 2020-12-24 12:15:39 +01:00
Jan (janneke) Nieuwenhuizen 523498ec01
bootstrappable: ARM: Force eabi header. 2020-12-24 12:15:39 +01:00
Jan (janneke) Nieuwenhuizen 5334d68ee2
bootstrappable: HAVE_LONG_LONG, part 3. 2020-12-24 12:15:39 +01:00
Jan (janneke) Nieuwenhuizen 2cb4f26e26
bootstrappable: ARM: HAVE_FLOAT? 2020-12-24 12:15:38 +01:00
Jan (janneke) Nieuwenhuizen 2613fb5d63
bootstrappable: ARM: generate __memcpy, __memmove, __memset.
* tccgen.c (vstore)[BOOTSTRAP && __arm__]: Generate TOK__memove.
(init_putz): Generate TOK__memset.
* tcctok.h[BOOTSTRAP && __arm__]: Add __memcpy, __memmove, __memset.
2020-12-24 12:15:38 +01:00
Jan (janneke) Nieuwenhuizen fc93202abe
bootstrappable: ARM: HAVE_SETJMP. 2020-12-24 12:15:38 +01:00
Jan (janneke) Nieuwenhuizen 35c9c24614
bootstrappable: HAVE_LONG_LONG_STUB. 2020-12-16 14:28:50 +01:00
Jan (janneke) Nieuwenhuizen bdec98dd01
bootstrappable: HAVE_LONG_LONG, part 2. 2020-12-16 14:28:50 +01:00
Jan (janneke) Nieuwenhuizen 2556e10583
bootstrappable: ARM: HAVE_FLOAT. 2020-12-16 14:28:50 +01:00
Jan (janneke) Nieuwenhuizen fcb48635ce
bootstrappable: ARM: Avoid ternary. 2020-12-16 14:28:49 +01:00
Jan (janneke) Nieuwenhuizen d0608d0d68
bootstrappable: ARM: Avoid ternary in argument.
This avoids depending on "70-ternary-arithmetic-argument.c"

* arm-gen.c (gcall_or_jmp): Split calculation and call.
2020-12-16 14:28:49 +01:00
Jan (janneke) Nieuwenhuizen f7e98b52a1
bootstrappable: ARM: HAVE_FLOAT. 2020-12-16 14:28:49 +01:00
Jan (janneke) Nieuwenhuizen e23023ec8a
bootstrappable: HAVE_FLOAT, part 2. 2020-12-16 14:28:49 +01:00
Jan (janneke) Nieuwenhuizen 907479d7ff
bootstrappable: Avoid function modulo. 2020-12-13 14:53:32 +01:00
Jan (janneke) Nieuwenhuizen 33403a4011
bootstrappable: Avoid using __clear_cache. 2020-12-13 14:53:31 +01:00
Jan (janneke) Nieuwenhuizen 94fa1710aa
bootstrappable: Use tmp initialization instead of for struct assigment. 2020-12-13 14:53:31 +01:00
Jan (janneke) Nieuwenhuizen 35ccd60989
bootstrappable: Support libtcc1-mes.a. 2020-12-13 14:53:31 +01:00
Jan (janneke) Nieuwenhuizen 0334950c24
Revert "bootstrappable: Handle libtcc1.a."
This reverts commit 274bd060fd.
2020-12-13 14:53:31 +01:00
Jan Nieuwenhuizen 20b1a1d001
README: Update to add info about GNU Mes and bootstrappable-tinycc.
* README: Add header on GNU Mes and bootstrappable-tinycc.
2020-02-22 16:31:24 +01:00
Jan Nieuwenhuizen 6e62e0e58b
makefile: Add dist target.
* Makefile (dist): Create reproducible tarball.
2019-11-17 12:06:06 +01:00
Jan Nieuwenhuizen 17df781f70
Revert "lotsa debug printing."
This reverts commit 09cecc93442f2f3b7dbd1bb5faf18b41f42103ff.
2019-10-10 22:40:48 +02:00
Jan Nieuwenhuizen ba1c47dbdb
lotsa debug printing. 2019-10-10 22:40:47 +02:00
Jan Nieuwenhuizen 0585122eb1
build: Update for mes-0.21. 2019-10-10 22:40:47 +02:00
Jan Nieuwenhuizen f90808b155
build: Update for mes-0.20. 2019-04-06 14:16:30 +02:00
Jan Nieuwenhuizen 1063d5a0dc
bootstrappable: Update tccelf.c for mes-0.20. 2019-04-05 14:13:05 +02:00
Jan Nieuwenhuizen 36c0af218f
build: Support gash. 2019-04-04 21:46:55 +02:00
Jan Nieuwenhuizen ec63de4990
test: run tests/tests2 tests. 2019-04-04 21:46:55 +02:00
Jan Nieuwenhuizen cee58e0963
build: Support building from bootstrap-mes. 2019-04-04 21:46:54 +02:00
Jan Nieuwenhuizen 39de35689e
bootstrappable: Force static link. 2019-04-04 21:46:54 +02:00
Jan Nieuwenhuizen 2b6271d1d5
bootstrappable: Work around MesCC bug.
* tccelf.c (squeeze_multi_relocs): Simplify expressions.
2019-04-04 21:46:54 +02:00
Jan Nieuwenhuizen 379c62d63f
bootstrappable: add tcc.h include guards to include location. 2019-04-04 21:46:54 +02:00
Jan Nieuwenhuizen 274bd060fd
bootstrappable: Handle libtcc1.a. 2018-10-04 09:07:18 +02:00
Jan Nieuwenhuizen 6ae9aa40c7
bootstrappable: Skip tidy_section_headers.
* tccelf.c (elf_output_file)[BOOTSTRAPPABLE]: Skip tidy_section_headers.
2018-10-04 09:07:18 +02:00
Jan Nieuwenhuizen a130ce1702
bootstrappable: HAVE_FLOAT. 2018-10-04 09:07:17 +02:00
Jan Nieuwenhuizen de906df43a
bootstrappable: HAVE_BITFIELD. 2018-10-04 09:07:17 +02:00
Jan Nieuwenhuizen 540ba0b456
bootstrappable: HAVE_LONG_LONG.
* tccpp.c (parse_number)[!HAVE_LONG_LONG]: Skip overflow test.  Do not
  set TOK_CCLONG.
2018-10-04 09:07:17 +02:00