What steps will reproduce the problem? ====================================== Followed instructions @ http://code.google.com/p/chromium/wiki/LinuxChromiumArm Building with "target_arch=arm arm_thumb=1". What is the expected result? ============================ Build Successfully. What happens instead? ===================== Build breaks during compile of third_party/WebKit/Source/WebCore/platform/graphics/filters/arm/ : ----- {standard input}: Assembler messages: {standard input}:21: Error: thumb conditional instruction should be in IT block -- `bxeq lr' ----- Explanation =========== The filters contain assembler code which cannot run with -mthumb but must be run with -marm instead. Changeset 89874 already addressed this issue by providing the "-marm" option especially for the assembler code parts: http://trac.webkit.org/changeset/89874 But "-marm" collides with an existing "-mthumb" and depending on the order of options the compiler might choose one over the other. So if -mthumb has been specified as default option the build still breaks. Changeset 95184 tried to fix it by matching the android version (android implicitely uses the arm build) and removing an existing "-mthumb": http://trac.webkit.org/browser/trunk/Source/WebCore/WebCore.gyp/WebCore.gyp?rev=95184 But this condition does not match non android arm builds. The last change in this area was with 110251 which removed the addititional match of linux/arm builds and placed the arm match in the sourrounding block: http://trac.webkit.org/changeset/110251/trunk/Source/WebCore/WebCore.gyp/WebCore.gyp So as an effect the special compile rule for the arm filters applied now for all arm builds, but only for android builds the "-mthumb" is removed correctly. I therefore propose to change WebCore.gyp once more and remove an existing "-mthumb" for all builds of the arm filters: --- WebCore.gyp (Revision 127236) +++ WebCore.gyp (Arbeitskopie) @@ -1927,11 +1927,7 @@ ['include', 'platform/graphics/filters/arm/.*NEON\\.(cpp|h)'], ], 'cflags': ['-marm'], - 'conditions': [ - ['OS=="android"', { - 'cflags!': ['-mthumb'], - }], - ], + 'cflags!': ['-mthumb'], },{ # target_arch!="arm" 'type': 'none', }],
Resolving as WontFix given that Chromium moved to Blink.