summaryrefslogtreecommitdiff
path: root/open_issues/gcc.mdwn
diff options
context:
space:
mode:
authorArne Babenhauserheide <arne_bab@web.de>2011-10-04 17:22:17 +0200
committerArne Babenhauserheide <arne_bab@web.de>2011-10-04 17:22:17 +0200
commitd0bdae24b59dde1783f928992d414f608a42b266 (patch)
tree052e5254f6207fa384bdddd64b5580d0718b83c4 /open_issues/gcc.mdwn
parentcf1d668a185777e48faa180f201f58f93dcf3950 (diff)
parent67f614c029ba729a9451e87c4885c198fc10251b (diff)
manual merge
Diffstat (limited to 'open_issues/gcc.mdwn')
-rw-r--r--open_issues/gcc.mdwn88
1 files changed, 65 insertions, 23 deletions
diff --git a/open_issues/gcc.mdwn b/open_issues/gcc.mdwn
index f0f2af51..a3b3a2d2 100644
--- a/open_issues/gcc.mdwn
+++ b/open_issues/gcc.mdwn
@@ -64,11 +64,15 @@ testsuite.
Looks OK.
+ * fe5ef4a01870545d0344e670cd528ad096ebab1d
+
+ OK.
+
# Configuration
-Last reviewed up to the [[Git mirror's 7c9f953a01d23c6b6885dc908d5b1dba8009efd4
-(2011-07-18) sources|source_repositories/gcc]].
+Last reviewed up to the [[Git mirror's 3d83581faf4eaf52c1cf52cc0d11cc7dd1264275
+(2011-09-05) sources|source_repositories/gcc]].
<http://gcc.gnu.org/install/configure.html> has documentation for the
`configure` switches.
@@ -95,7 +99,7 @@ Last reviewed up to the [[Git mirror's 7c9f953a01d23c6b6885dc908d5b1dba8009efd4
* [[`libmudflap`|libmudflap]].
* Might [`-fsplit-stack`](http://nickclifton.livejournal.com/6889.html) be
- worthwhile w.r.t. our multithreaded libraries?
+ worthwhile w.r.t. our [[multithreaded|multithreading]] libraries?
* Also see `libgcc/config/i386/morestack.S`: comments w.r.t
`TARGET_THREAD_SPLIT_STACK_OFFSET`; likely needs porting.
@@ -125,8 +129,6 @@ Last reviewed up to the [[Git mirror's 7c9f953a01d23c6b6885dc908d5b1dba8009efd4
* `--enable-checking`
- * `--enable-build-with-cxx`
-
* `--enable-linker-build-id`
* `--enable-gnu-unique-object`
@@ -170,32 +172,59 @@ Last reviewed up to the [[Git mirror's 7c9f953a01d23c6b6885dc908d5b1dba8009efd4
`check_effective_target_pie` should include `*-*-gnu*`, too.
- * [high] 9b0fef97f18ed5c9f2f9a361262fbb450f2b0b53
+ * [low] [[toolchain/cross-gnu]] toolchain bootstrap vs. `fenv.h` in libgcc's
+ libbid:
+
+ [...]/xgcc [...] -DIN_LIBGCC2 -fbuilding-libgcc [...] -Dinhibit_libc [...] -o bid_decimal_globals.o [...] -c [...]/libgcc/config/libbid/bid_decimal_globals.c
+ [...]/libgcc/config/libbid/bid_decimal_globals.c:47:18: fatal error: fenv.h: No such file or directory
+ compilation terminated.
+ make[1]: *** [bid_decimal_globals.o] Error 1
+ make[1]: Leaving directory `/media/boole-data/thomas/tmp/gnu-0/src/gcc.obj/i686-pc-gnu/libgcc'
+ make: *** [all-target-libgcc] Error 2
+
+ See threads at [[!message-id
+ "AANLkTinY1Cd4_qO_9euYJN8zev4hdr7_ANpjNG+yGRMn@mail.gmail.com"]],
+ [[!message-id "20110328225532.GE5293@synopsys.com"]], [[!message-id
+ "4D52D522.1040804@gmail.com"]]. Can simply configure the first GCC with
+ `--disable-decimal-float`.
- Very likely needed for us, too. Patch on gcc-patches and in
- *config/extra_parts* branch.
+ Alternatively, can we use `#ifndef inhibit_libc` for this (these?) file(s)?
+ See `generic-nonstrack.c`, for example. The latter (and also
+ `generic-morestack-thread.c`) also has a nice explanation of `inhibit_libc`
+ which could be centralized at one place, for example definition of
+ `inhibit_libc`.
+
+ * [low] [[toolchain/cross-gnu]]
+
+ The directory that should contain system headers does not exist:
+ /media/boole-data/thomas/tmp/gnu-0/sys_root/usr/include
+ make[2]: *** [stmp-fixinc] Error 1
+ make[2]: Leaving directory `/media/boole-data/thomas/tmp/gnu-0/src/gcc.obj/gcc'
+ make[1]: *** [all-gcc] Error 2
+ make[1]: Leaving directory `/media/boole-data/thomas/tmp/gnu-0/src/gcc.obj'
+
+ `mkdir` the directory for now, but what is really going on? GCC has *use
+ `/usr/include` patch*, but glibc still installs into `/include/`?
# Build
Here's a log of a GCC build run; this is from our [[Git repository's
-09ba3e78c07654e08c8bef82761dbbb26d3c00c9 (2011-07-18)
+93608b32ee627438dbe8a1844254bf8c305c5dc1 (2011-09-05)
sources|source_repositories/gcc]], run on kepler.SCHWINGE and coulomb.SCHWINGE.
$ export LC_ALL=C
$ (cd ../master/ && contrib/gcc_update --touch)
$ ../master/configure --prefix="$PWD".install SHELL=/bin/dash CC=gcc-4.6 CXX=g++-4.6 2>&1 | tee log_build
[...]
- $ LIBRARY_PATH=$(echo /usr/lib/i386*-gnu) make 2>&1 | tee log_build_
+ $ make 2>&1 | tee log_build_
[...]
Different hosts may default to different shells and compiler versions; thus
harmonized.
-Setting `LIBRARY_PATH` is needed until [[!debbug 629819]] is resolved.
-
-This takes up around 2.3 GiB, and needs roughly 2.75 h on kepler.SCHWINGE, and
-11 h on coulomb.SCHWINGE.
+This takes up around 2.9 GiB, and needs roughly 2.75 h on kepler.SCHWINGE and
+13.25 h on coulomb.SCHWINGE.
## Analysis
@@ -254,6 +283,9 @@ This takes up around 2.3 GiB, and needs roughly 2.75 h on kepler.SCHWINGE, and
-cat ../../hurd/gcc/config/i386/pmm_malloc.h > mm_malloc.h
+cat ../../hurd/gcc/config/i386/gmm_malloc.h > mm_malloc.h
+ Comes from `gcc/config.gcc`: `i386/t-pmm_malloc` vs. `i386/t-gmm_malloc`
+ for `i[34567]86-*-linux*` vs. `i[34567]86-*-*`.
+
* *libgomp*
* `libgomp/config/linux/`, `libgomp/config/linux/x86`
@@ -348,13 +380,11 @@ This takes up around 2.3 GiB, and needs roughly 2.75 h on kepler.SCHWINGE, and
# Install
- $ LIBRARY_PATH=$(echo /usr/lib/i386*-gnu) make install 2>&1 | tee log_install
+ $ make install 2>&1 | tee log_install
[...]
-Setting `LIBRARY_PATH` is needed until [[!debbug 629819]] is resolved.
-
-This takes up around 0.6 GiB, and needs roughly 4 min on kepler.SCHWINGE, and
-35 min on coulomb.SCHWINGE.
+This takes up around 630 MiB, and needs roughly 4 min on kepler.SCHWINGE and 35
+min on coulomb.SCHWINGE.
## Analysis
@@ -374,17 +404,29 @@ This takes up around 0.6 GiB, and needs roughly 4 min on kepler.SCHWINGE, and
<http://gcc.gnu.org/install/test.html>
- $ LIBRARY_PATH=$(echo /usr/lib/i386*-gnu) make -k check 2>&1 | tee log_check
+Testing on GNU/Hurd is blocked on
+[[fork_mach_port_mod_refs_ekern_urefs_owerflow]].
+
+ $ make -k check 2>&1 | tee log_check
[...]
-Setting `LIBRARY_PATH` is needed until [[!debbug 629819]] is resolved.
+This needs roughly TODO min on kepler.SCHWINGE and TODO min on
+coulomb.SCHWINGE.
-Testing on GNU/Hurd is blocked on
-[[fork_mach_port_mod_refs_ekern_urefs_owerflow]].
+ $ ssh kepler.SCHWINGE 'cd tmp/source/gcc/ && sed < hurd/master.build/gcc/TODO -e "s%\(/media/data\)\?${PWD}%[...]%g"' > open_issues/gcc/sum_linux
+ $ ssh coulomb.SCHWINGE 'cd tmp/gcc/ && sed < hurd/master.build/gcc/TODO -e "s%\(/media/erich\)\?${PWD}%[...]%g"' > open_issues/gcc/sum_hurd
+
+Comparing the results files, [[sum_linux]] to [[sum_hurd]]:
+
+ $ diff -u -F ^Running open_issues/gcc/sum_linux open_issues/gcc/sum_hurd > open_issues/gcc/sum.diff
+
+[[open_issues/gcc/sum.diff]].
## Analysis
+TODO.
+
# Specific Languages