1 |
Hello *, |
2 |
|
3 |
There was a bug #526194 - dev-lisp/sbcl does not respect CFLAGS. It was |
4 |
"fixed" by Mark Wright <gienah@g.o> on Jan 31 - Feb 1. However, |
5 |
after this fix the upstream CFLAGS were appended to the user-supplyed |
6 |
${CFLAGS}. And the upstream CFLAGS contain -O3. So, is a user has, e.g., |
7 |
-O2 in his/her ${CFLAGS}, it was silently replaced by -O3. For some time, |
8 |
nobody noticed this: gcc-4.8 happily compiled the C stuff in sbcl with |
9 |
-O3. |
10 |
|
11 |
However, after the upgrade to gcc-4.9 problems began (bug #544070). On |
12 |
amd64, gcc is still happy co compile sbcl with -O3. However, on x86 this |
13 |
leads to a crash of a freshly compiled sbcl runtime. Namely, the |
14 |
combinations |
15 |
|
16 |
-O2 -march=<something> |
17 |
-O3 |
18 |
|
19 |
behave correctly, and produce a working sbcl; but |
20 |
|
21 |
-O3 -march=<something> |
22 |
|
23 |
lead to the crush. I have changed the above "fix" in sbcl-1.2.10 in such a |
24 |
way that now it appends only -g -Wall -Wsign-compare to ${CFLAGS}, but |
25 |
not -O3. This resolves the bug #544070, unless a user has -O3 |
26 |
-march=<something> in his/her ${CFLAGS}. |
27 |
|
28 |
Shouldn't gcc-4.9 on x86 produce with -O3 something functionally |
29 |
equivalent to the -O2 case, only more optimized? Should this be considered |
30 |
a gcc-4.9 bug? |
31 |
|
32 |
Andrey |