mozilla's install hanging on amd64
Michael Nottebrock
michaelnottebrock at gmx.net
Tue Apr 12 17:37:17 UTC 2005
Mikhail Teterin wrote:
> So, now you accuse me of lying... The only potentially -march-related problem
> I had before was with mozilla and the flag was -march=p2.
Interesting.
> It would build and
> install, but would not start.
FWIW, a root-owned ~/.mozilla can cause this behaviour, too... I have been
bitten by that multiple times, both with mozilla and firefox. Building with
sudo lets this happen easily :-\.
> I still have the machine... When I reported
> this error to gnome@ a year or so ago, I was similarly "yelled" at, that
> -march setting is not supposed to work...
No, just not supported (by us, the porters). "Not supported" means "if it
breaks and turning off fixes it, then you have the choice of coming up with a
fix/workaround yourself and submitting it to the porters / upstream developers
which may or may not use it at their discretion or not use -march for the
respective port.
It should be obvious to you why almost everybody, be it upstream developer or
port-maintainer is so hesitant to make a commitment to all possible
code-generation options and other gimmicks that gcc offers - they *do*, like
it or not, occasionally trigger bugs, which usually are very hard to reproduce
and harder to nail down.
>>>make.conf(5) documents it, it should work. Period.
>>
>>make.conf(5) documents CFLAGS. What would you like to infer from that fact?
>
>
> In its documentation of CFLAGS, the man-page warns, that levels other than "-O
> and -O2" are not supported.
But it doesn't warn about all the other optimization switches you could specify.
> There is nothing about any risk of
> processor-specific flags like -march, and rightly so.
*sigh*. I don't get how can you seriously claim that using a specialised
code-generation setting, which obviously must receive less developer-side and
real-world testing than the standard one does not entail a risk.
> CPUTYPE's paragraph rightly encourages setting the variable to the actual CPU
> flavor. Everything except the mozilla port (and I have 222 ports installed on
> this machine already) built fine. Few things have self-test capabilities, but
> those, that do (Perl, lcms) passed their tests.
>
>
>>If a compiler optimization produces a bad binary while the same compiler
>>with the switch off does not (or a different version of the compiler with
>>the switch does not), the compiler usually *is* to blame.
>
>
> Scott has responded to this already.
Aliasing rules shouldn't be influenced by -march. In fact, I shouldn't have
said "optimization" there, since -march (should) not trigger
architecture-specific optimization, just code-generation (i.e. things like the
used instruction set, instruction scheduling, register allocation). And yet
that's plenty enough to hide bugs in, sometimes nasty enough to even cause
internal compiler errors. I myself have filed -march related bugreports
against gcc in the past.
--
,_, | Michael Nottebrock | lofi at freebsd.org
(/^ ^\) | FreeBSD - The Power to Serve | http://www.freebsd.org
\u/ | K Desktop Environment on FreeBSD | http://freebsd.kde.org
More information about the freebsd-doc
mailing list