Internal compiler error when compile chromium on ARM

Bug #693686 reported by Jammy Zhou
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Linaro Binutils
Invalid
Undecided
Unassigned
gcc-4.5 (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Platform: Genisi Effika SmartBook (imx51)
OS: Ubuntu 10.10
Toolchain: both 4.4 and 4.5

- get the chromium browser code follow the instructions in http://dev.chromium.org/developers/how-tos/get-the-code
- export GYP_DEFINES="release_optimize=1 build_ffmpegsudo=0 werror= target_arch=arm disable_nacl=1 linux_use_tcmalloc=0 armv7=1 arm_neon=1 arm_thumb=1"
- in chromium/src directory, run "./build/gyp_chromium -f make"
- make -r BUILDTYPE=Release chrome
- get error below:

v8/src/bignum.cc: In member function 'void v8::internal::Bignum::Square()':
v8/src/bignum.cc:343:6: internal compiler error: Segmentation fault
Please submit a full bug report
with preprocessed source if appropriate.
...

Revision history for this message
Chung-Lin Tang (cltang) wrote :

Jammy, the Chromium build is really large to download and reproduce :)
Can you try to go to the v8 build directory, and add '-save-temps' to the compiler options to produce a 'bignum.ii' file for us?
Thanks!

Revision history for this message
Jammy Zhou (jammy-zhou) wrote :

bignum.ii is attached for your reference. Thanks!

Revision history for this message
Chung-Lin Tang (cltang) wrote :

Can you also give the gcc command line that executed to compile v8/src/bignum.cc (with all the compile options used)?
Thanks

Revision history for this message
Jammy Zhou (jammy-zhou) wrote :

g++ '-DENABLE_LOGGING_AND_PROFILING' '-DENABLE_DEBUGGER_SUPPORT' '-DENABLE_VMSTATE_TRACKING' '-DNO_TCMALLOC' '-DNO_HEAPCHECKER' '-DDISABLE_NACL' '-DV8_TARGET_ARCH_ARM' '-DCHROMIUM_BUILD' '-DENABLE_REMOTING=1' '-DENABLE_GPU=1' '-DNDEBUG' '-DNVALGRIND' '-DDYNAMIC_ANNOTATIONS_ENABLED=0' -Iv8/src -Iv8/src/arm -pthread -fno-exceptions -Wno-unused-parameter -Wno-missing-field-initializers -D_FILE_OFFSET_BITS=64 -fvisibility=hidden -pipe -fPIC -fno-strict-aliasing -mthumb -Wa,-mimplicit-it=thumb -march=armv7-a -mtune=cortex-a8 -mfloat-abi=softfp -mfpu=neon -O1 -fno-ident -fdata-sections -ffunction-sections -fomit-frame-pointer -O3 -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -save-temps -Wno-abi -MMD -MF out/Release/.deps/out/Release/obj.target/v8_base/v8/src/bignum.o.d.raw -c -o out/Release/obj.target/v8_base/v8/src/bignum.o v8/src/bignum.cc

Revision history for this message
Jammy Zhou (jammy-zhou) wrote :

If we comment out "bigits_[i] = static_cast<Chunk>(accumulator) & kBigitMask;" at line #401 of attached bignum.cc, this problem disappeared.

Revision history for this message
Chung-Lin Tang (cltang) wrote :

I can't reproduce this yet. Jammy, exactly what compiler are you using? A Linaro release?
Thanks

Revision history for this message
Jammy Zhou (jammy-zhou) wrote :

I am currently using (Ubuntu/Linaro 4.5.1-7ubuntu2) 4.5.1 shipped with Maverick. It seems that (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5 doesn't have this problem.

Revision history for this message
Chung-Lin Tang (cltang) wrote :

This seems to be a vectorizor issue, triggerable by -O1 -mfpu=neon -ftree-vectorize, segfault in tree-vect-stmts.c:supportable_widening_operation().

Revision history for this message
Alexander Sack (asac) wrote :

shouldnt this be filed against gcc-linaro? (rather than binutils?)

Revision history for this message
Chung-Lin Tang (cltang) wrote :

Yes, this is a GCC problem.
Though take note this occurs on the Maverick GCC 4.5 package; Linaro 4.5 does not have this problem.

Revision history for this message
Loïc Minier (lool) wrote :

Is this an issue with gcc-4.5 4.5.2-1ubuntu2 from Ubuntu natty (development series)?

Changed in binutils-linaro:
status: New → Invalid
Revision history for this message
Michael Hope (michaelh1) wrote :

(For my reference)

Confirmed under Maverick using the minimal command line:
 g++-4.5 -mfpu=neon -O3 -c bignum.ii

on g++-4.5 4.5.1-7ubuntu2

Does not occur in gcc-linaro-4.5-2010.12-0.

Does not occur under Natty with g++-4.5 4.5.1-10ubuntu3

Loic, where does 4.5.2-1ubuntu2 live?

Revision history for this message
Loïc Minier (lool) wrote :

4.5.2-1ubuntu2 is the current version in natty

   gcc-4.5 | 4.5.2-1ubuntu2 | natty | source, amd64, i386

Revision history for this message
Matthias Klose (doko) wrote :

unreproducible with gcc-4.5 in natty.
unreproducible with gcc-4.5 and gcc-4.6 in oneiric.

Changed in gcc-4.5 (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.