Commit Graph

245 Commits

Author SHA1 Message Date
Giacomo Tesio 6b473cd28f Merge months of work 2020-09-16 01:55:12 +02:00
Giacomo Tesio b11fca2d82 Merge branch 'port-gcc-restart' 2020-09-16 01:42:34 +02:00
Giacomo Tesio 2412657f20
Merge pull request #7 from istr/master
workaround for https://github.com/JehanneOS/jehanne/issues/13
2020-09-13 02:34:01 +02:00
Giacomo Tesio aa17d7cc8a gcc: map `-9` to a few flags in DRIVER_SELF_SPECS 2020-09-13 02:25:52 +02:00
Ingo Struck (git commits) 35aaf5b2f6
workaround for https://github.com/JehanneOS/jehanne/issues/13 2020-09-12 15:11:42 +02:00
Giacomo Tesio bab840a411 gcc: build works again 2020-09-10 22:39:10 +02:00
Giacomo Tesio f598a59d81 gcc: remove `--posixly`, add `-9`
The GCC option `--posixly` was introduced to enable the compilation
of POSIX code in Jehanne, assuming that building native C code
would have been the default.

However since

- GCC is itself a POSIX program and most programmers that use it
  assume a POSIX environment
- GCC is used as a cross compiler to build Jehanne from POSIX systems
- C++ will never be native in Jehanne (too much complexity for a
  system that want to be simple) and thus will always require a
  POSIX environment to build POSIX C++ code

I decided to invert the logic.

Thus now by default GCC, by default, will build POSIX programs,
loading required libraries and headers from /posix subdirectories.

The new option `-9` will remove such POSIX stuff when compiling
native C programs.
2020-09-06 12:22:37 +02:00
Giacomo Tesio 8e890d973c continuous-build.sh: update GCC version and paths 2020-09-03 00:58:28 +02:00
Giacomo Tesio 48f5a46734 gcc: fix cross/patch/gcc.patch 2020-09-02 18:53:45 +02:00
Giacomo Tesio 7278b664fc gcc: fix `--posixly` management in cross compiler 2020-09-02 18:52:23 +02:00
Giacomo Tesio 8d419405cb gcc native: remove cross/native.sh and unused patches in cross/pkgs/gcc/patch
Apparently we can use the patches created for the cross compiler.

cross/native.sh has been moved in cross/pkgs/gcc/build.sh to get some
coherence among the packages (in the hope of writing a reasonable
package manager in the future).
2020-09-01 13:10:17 +02:00
Giacomo Tesio 545076c6df gcc: introduce `--posixly` command line option to ease the compilation of POSIX software 2020-09-01 13:05:39 +02:00
Giacomo Tesio e0420eb690 newlib: add --disable-newlib-unbuf-stream-opt to avoid optimization causing fpu usage in note handler 2020-08-29 01:23:19 +02:00
Giacomo Tesio 18da65783b gcc native: add cross compilation of GCC to pkgs build (to setup proper POSIX headers in /posix) 2020-08-27 12:49:33 +02:00
Giacomo Tesio ed6ae29834 native.sh: fix $LIBS for binutils 2020-01-18 15:17:46 +01:00
Giacomo Tesio 86c03ba7e6 mksh: update subrepo 2020-01-17 02:43:04 +01:00
Giacomo Tesio 66a4602b6f newlib: update subrepo 2020-01-17 02:29:13 +01:00
Giacomo Tesio be4f2df614 runOver9P.sh: add reminder for debugging `ufs` 2020-01-17 02:03:11 +01:00
Giacomo Tesio 73fab2e6be gcc native: cleanup cross-compiler wrappers (needed to specify -lc and stuffs) 2020-01-17 01:39:21 +01:00
Giacomo Tesio 5734d59639 newlib: merge LibPOSIX into libc.a (and libg.a) so that you just need to specify -lc 2020-01-17 01:21:40 +01:00
Giacomo Tesio 6bcca46d9f gcc native: no __application_newlib_init (apparently there is no need for SIGCHLD) 2020-01-17 01:11:55 +01:00
Giacomo Tesio f25c95e76f gcc native: cleanup libgcc compilation 2020-01-17 00:46:59 +01:00
Giacomo Tesio 1addd6d56b gcc cross: cleanup init.sh 2020-01-17 00:21:05 +01:00
Giacomo Tesio fdc6a49fac newlib: do not rename libc.a anymore 2020-01-16 00:46:16 +01:00
Giacomo Tesio e645cbc104 gcc: LIB_SPEC includes -ljehanne instead of -lc 2020-01-13 13:09:53 +01:00
Giacomo Tesio c517407583 gcc native: add jehanne.o to executables (to check) 2020-01-07 23:28:43 +01:00
Giacomo Tesio 611044fcc8 Merge remote-tracking branch 'private/port-gcc-restart' into port-gcc-restart 2019-12-27 19:52:01 +01:00
Giacomo Tesio ef4aafa403 newlib: cleanup 2019-12-27 19:51:42 +01:00
Giacomo Tesio aff240b000 gcc native: add t-jehanne Makefile include 2019-12-27 19:50:31 +01:00
Giacomo Tesio 540a07726f gcc native: include jehanne.o in extra_gcc_objs (do we need this?) 2019-12-27 18:04:11 +01:00
Giacomo Tesio 18f33da3dd gcc native: wrap __application_newlib_init inside `extern "C" { }` 2019-12-27 17:53:21 +01:00
Giacomo Tesio 90272aea5a newlib: fix includes in CFLAGS_FOR_TARGET 2019-12-27 17:34:51 +01:00
Giacomo Tesio 5697f4bc7f gcc native: explicit --build 2019-12-27 17:34:05 +01:00
Giacomo Tesio da44acc091 mksh: use cross/wrappers 2019-12-23 18:06:59 +01:00
Giacomo Tesio 5d13eaeed9 gcc native: separate builds of gcc and libgcc 2019-12-19 00:11:25 +01:00
Giacomo Tesio d0ba1de890 gcc native: wrapper fix 2019-12-19 00:24:37 +01:00
Giacomo Tesio e600e2c57f gcc native: further corrections 2019-12-19 00:21:47 +01:00
Giacomo Tesio 57cedd3786 gcc native: initialize newlib (dedicated environment and SIGCHLD management) 2019-12-18 18:15:17 +01:00
Giacomo Tesio 905f03e6ae gcc native: separate gcc and libgcc compilation 2019-12-18 00:07:50 +01:00
Giacomo Tesio e7860adc5b gcc native: cleanup to native.sh script 2019-12-17 23:56:55 +01:00
Giacomo Tesio 4102d63058 gcc native: no --with-newlib; no CFLAGS_FOR_TAGET; cleanup 2019-12-17 00:32:01 +01:00
Giacomo Tesio 38eaa1ad99 gcc native: cleanup wrappers 2019-12-17 00:20:04 +01:00
Giacomo Tesio a96022f9bd wrappers/x86_64-jehanne-gcc: fix includes 2019-12-16 00:25:24 +01:00
Giacomo Tesio f61a6114e7 gcc native: update includes 2019-12-16 01:40:41 +01:00
Giacomo Tesio 7dc9bd0671 devshell.sh: export JEHANNE_TOOLCHAIN 2019-12-16 01:21:36 +01:00
Giacomo Tesio ba1541c359 gcc: remove APW from config/jehanne.h; adjust init.sh to include it on make 2019-12-16 01:02:15 +01:00
Giacomo Tesio 200961ec7c newlib: add -I to reach cross GCC's stddef.h; do not rename libm.a and libg.a 2019-12-16 00:15:12 +01:00
Giacomo Tesio 66ea00e263 gcc native: first successful compilation (with a few trick) 2019-12-15 23:39:06 +01:00
Giacomo Tesio 629d1eef1c gcc cross: configure --without-isl and --disable-nls 2019-12-15 23:35:01 +01:00
Giacomo Tesio f706eca22b gcc native: created cross/native.sh (and wrappers) to build libstdc++, binutils and gcc (still broken) 2019-12-13 01:12:08 +01:00