summaryrefslogtreecommitdiff
path: root/open_issues/gcc.mdwn
blob: 8d2fb1cf77d2730b31eb5a8955d9f97627e18136 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
[[!meta copyright="Copyright © 2008, 2009, 2010 Free Software Foundation,
Inc."]]

[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts.  A copy of the license
is included in the section entitled
[[GNU Free Documentation License|/fdl]]."]]"""]]

[[!tag open_issue_gcc]]

Includes an older variant of [[/Boehm_GC]] with own patches, etc.

For GCC trunk:

Debian package has patches (for 4.3).  Some have been forwarded upstream.  (And
have been ignored.)  [[Thomas_Schwinge|tschwinge]] is working on getting them
integrated.

  * [\[meta-bug\] bootstrap bugs for
    \*-gnu\*](http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21824)

  * [build system: gcc\_cv\_libc\_provides\_ssp and
    NATIVE\_SYSTEM\_HEADER\_DIR](http://gcc.gnu.org/ml/gcc/2008-10/msg00130.html)

  * [-fstack-protector shouldn't use TLS in freestanding
    mode](http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29838)

  * [Tool chain configuration: GNU/\* sharing stuff with
    GNU/Linux](http://gcc.gnu.org/ml/gcc/2007-11/msg00289.html)



Additionally:

  * Configure fragments that have `*linux*` cases might/should often contain
    those for us (and GNU/k*BSD) as well.

      * `libgcc/configure.ac` [might
        need](http://gcc.gnu.org/ml/gcc-patches/2008-10/msg00315.html) to be
        aligned for us to the `*linux*` cases.  As well as at the end of
        `libgcc/config.host`.  Check.

            checking whether decimal floating point is supported... no
            checking whether fixed-point is supported... no

      * `libgomp/configure.tgt`

  * [[`libmudflap`|libmudflap]].

  * [[Boehm_GC]].

  * Might [`-fsplit-stack`](http://nickclifton.livejournal.com/6889.html) be
    worthwhile w.r.t. our multithreaded libraries?


---

<http://gcc.gnu.org/install/configure.html>

  * `--enable-languages=[...]`

    GNAT is not yet ported / bootstrapped?

  * `--enable-frame-pointer`

    `gcc/configure.ac`: `enable_frame_pointer=no`

  * `--with-dwarf2`?

  * `--enable-werror`

  * `--enable-checking`

  * `--enable-build-with-cxx`

  * `--enable-decimal-float`, `--enable-fixed-point`, `--with-long-double-128`

    `configure: WARNING: decimal float is not supported for this target, ignored`

  * `--enable-linker-build-id`

  * `--enable-gnu-unique-object`

  * `--enable-lto`, `--enable-gold`

    [[binutils_gold]]

  * `--enable-indirect-function`

    [[IFUNC]]

---

Here's a log of a GCC build run; this is from
f07666e1203a50ae445025050b7e12311db6bbd0 (2010-11-04)
[[sources|source_repositories/gcc]], run on kepler.SCHWINGE and grubber.

    $ export LC_ALL=C
    $ ../hurd/configure --prefix="$PWD".install 2>&1 | tee log_build
    [...]
    $ make SHELL=/bin/bash 2>&1 | tee log_build_
    [...]

(kepler.SCHWINGE defaults to using /bin/sh, grubber to /bin/bash; thus
harmonized.)

On grubber, this takes roughly TODO minutes.

    $ diff -wu <(ssh kepler.SCHWINGE 'cd tmp/source/gcc/hurd.build/ && cat log_build* | sed -e "s%${PWD}%[...]%g"') <(ssh grubber 'cd tmp/gcc/hurd.build/ && cat log_build* | sed "s%${PWD}%[...]%g"') > open_issues/gcc/log_build-diff

[[log_build-diff]].

Build failure in Boehm GC.  Working on this; will need to backport
upstream patches / also have a look at Debian patches, and [[boehm_gc]].  Then
resume here.