MMX and SSE enabled on _all_ x86 hosts, causing crash (SIGILL)

RESOLVED DUPLICATE of bug 446323

Status

()

Core
General
--
critical
RESOLVED DUPLICATE of bug 446323
9 years ago
9 years ago

People

(Reporter: Sascha Silbe, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(URL)

(Reporter)

Description

9 years ago
User-Agent:       w3m/0.5.2
Build Identifier: xulrunner-1.9.0.7


gfx/cairo/libpixman/src/Makefile.in activates MMX and SSE on _all_ x86 hosts:

=== Begin Makefile.in excerpt ===
ifdef GNU_CC
ifeq (86,$(findstring 86,$(OS_TEST)))
USE_MMX=1
MMX_CFLAGS=-mmmx -msse -Winline
ifneq ($(MOZ_WIDGET_TOOLKIT),os2)
MMX_CFLAGS+=--param inline-unit-growth=10000 --param large-function-growth=10000
endif
endif
endif
=== End Makefile.in excerpt ===


On hosts with processors without MMX and/or SSE support (like the Geode LX in the OLPC XO-1 which only supports MMX, but not SSE) this will cause xulrunner-based code to crash when viewing certain web pages.



Reproducible: Always

Steps to Reproduce:
1. compile xulrunner
2. use xulrunner-based program to access http://activities.sugarlabs.org/

Actual Results:  
SIGILL


Expected Results:  
No crash.



olpc@debxo:~/sugar-jhbuild/source/mozilla/gfx/cairo/libpixman/src$ cat /proc/cpuinfo 
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 5
model           : 10
model name      : Geode(TM) Integrated Processor by AMD PCS
stepping        : 2
cpu MHz         : 431.233
cache size      : 128 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu de pse tsc msr cx8 sep pge cmov clflush mmx mmxext 3dnowext 3dnow
bogomips        : 863.85
clflush size    : 32
dup of bug 410509?

For trunk tree, see bug 488851.
(Reporter)

Comment 2

9 years ago
While there's some overlap, I do think this one merits a bug report on it's own. Bug #410509 was about alignment issues, and #488851 is about SSE2, while this one is about invalid usage of SSE1 on non-SSE1 hosts.
Of course for #488851 care needs to be taken not to do the same mistake again (just for SSE2 instead of SSE1).
Oh!. I misunderstand this.

But, I believet that this report is invalid.  Although report adds -msse flag to makefile, it should not do it.  Because, it causes that gcc generates SSE code for pixman-mmx.c when he adds -msse flag to MMXFLAG of Makefile.in.
(Reporter)

Comment 4

9 years ago
> But, I believet that this report is invalid.  Although report adds -msse flag to makefile, it should not do it.  Because, it causes that gcc generates SSE code for pixman-mmx.c when he adds -msse flag to MMXFLAG of Makefile.in.
Sorry, I don't understand you. But perhaps my report was not clear enough and you think I'm requesting that xulrunner should add -msse? The exact opposite is true: Currently -msse is passed on _all_ x86 hosts and I want that changed (because it breaks on lots of computers).
Ahh. It was fixed by bug 446323.  Should dup of bug 446323

Updated

9 years ago
Status: UNCONFIRMED → RESOLVED
Last Resolved: 9 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 446323
You need to log in before you can comment on or make changes to this bug.