Summary: | [EFL] build error when adjusting attachment 198015 | ||
---|---|---|---|
Product: | WebKit | Reporter: | Gyuyoung Kim <gyuyoung.kim> |
Component: | New Bugs | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | ktf.kim, laszlo.gombos, rakuco |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Bug Depends on: | |||
Bug Blocks: | 97268 |
Description
Gyuyoung Kim
2013-04-15 09:34:58 PDT
CC'ing KyungTae. The gcc bug related with that is like below: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49938 The modified sources for that is like below: http://gcc.gnu.org/viewcvs/gcc?view=revision&revision=177267 Someone said because that occurs during optimization, compiling with "-O0" will not make the error. When I modified bug 97268's code like below, the error did not occur : #if GCC_VERSION_AT_LEAST(4, 7, 0) unsigned m_size; #else size_t m_size; #endif But, in this case, VectorSizeOffset in javascriptcore/llint/LowLevelInterpreter.asm can't have correct value, because we can't use GSS_VERSION option in .asm (In reply to comment #3) Typo: GSS_VERSION -> GCC_VERSION Based on the explanation this does not look EFL specific to me. Would be useful to find out why other Linux ports (e.g. GTK or Qt) does not run into this problem. (In reply to comment #5) > Based on the explanation this does not look EFL specific to me. Would be useful to find out why other Linux ports (e.g. GTK or Qt) does not run into this problem. In GTK port case, it already checks GCC version during the configuration. checking for _FILE_OFFSET_BITS value needed for large files... no configure: error: Compiler GCC >= 4.7 or Clang >= 3.0 is required for C compilation It looks like something specific to the 4.6 series (I tried 4.4, 4.5, 4.6, 4.7 and 4.8 here), and this crash only happens when building in Release mode because only -O3 makes the compiler crash. The GCC bug report KyungTae may be related, but it's about a 4.7.0 regression that does not crash 4.6 here. GTK+ seems to require GCC 4.7.0, and my guess is that qmake doesn't pass -O3 in its equivalent to Release mode. How about doing something like this in Source/WebCore/CMakeLists.txt: # Detailed explaination of why we need this. if (CMAKE_COMPILER_IS_GNUCXX) # Can restrict based on the version. set_source_files_properties(Modules/websocket/WebSocketDeflater.cpp PROPERTIES COMPILE_FLAGS "-O2") endif () This would end up passing -O2 to g++ at the end and fixes the issue. (In reply to comment #7) > It looks like something specific to the 4.6 series (I tried 4.4, 4.5, 4.6, 4.7 and 4.8 here), and this crash only happens when building in Release mode because only -O3 makes the compiler crash. > > The GCC bug report KyungTae may be related, but it's about a 4.7.0 regression that does not crash 4.6 here. > > GTK+ seems to require GCC 4.7.0, and my guess is that qmake doesn't pass -O3 in its equivalent to Release mode. > > How about doing something like this in Source/WebCore/CMakeLists.txt: > > # Detailed explaination of why we need this. > if (CMAKE_COMPILER_IS_GNUCXX) # Can restrict based on the version. > set_source_files_properties(Modules/websocket/WebSocketDeflater.cpp > PROPERTIES COMPILE_FLAGS "-O2") > endif () > > This would end up passing -O2 to g++ at the end and fixes the issue. Could you prepare a patch ? I don't want to block Bug 97268 anymore. Then, as I said, let's consider to move 13.04. :) |