Bug 23580

Summary: Add support for GNU mode RVCT compilation
Product: WebKit Reporter: Laszlo Gombos <laszlo.gombos>
Component: New BugsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: hausmann, mrowe, vestbo
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Other   
Bug Depends on:    
Bug Blocks: 27065    
Attachments:
Description Flags
Patch to support GNU mode RVCT compilation
none
Revised patch based on feedback
none
Revised patch to make it more future proof and readable hausmann: review+

Description Laszlo Gombos 2009-01-27 18:52:46 PST
WebKit today does not compile with RVCT. Various patches has been landed in the past to make steps toward a successful RVCT (ARM C) compilation. This is proposal for another step to the right direction.

RVCT has a compiler option (called --gnu) which turns on "GNU compatibility". The --gnu option makes RVCT behave more like (but not exactly as) GCC, and it compiles most (but not all) of the WebKit code without changes. 

However the RVCT --gnu option also defines __GNUC__, which makes COMPILER(GCC) defined as well (in addition to COMPILER(RVCT). This makes two compiler defined at the same time, which is confusing and also makes it harder to flag those few code blocks in WebKit that does not compile with GNU mode RVCT.

The proposal is not to define COMPILER(GCC) if WebKit is compiled with RVCT --gnu option. In addition, we should use COMPILER(GCC) consistently across WebKit to mark GCC specific code (instead of using defined __GNUC__).

Patch will follow.. Laszlo.
Comment 1 Laszlo Gombos 2009-01-27 19:00:12 PST
Created attachment 27093 [details]
Patch to support GNU mode RVCT compilation

Patch to support GNU mode RVCT compilation
Comment 2 Mark Rowe (bdash) 2009-01-27 21:18:17 PST
Checking both COMPILER(GCC) and defined(__GNUC__) seem redundant.
Comment 3 Laszlo Gombos 2009-01-28 06:03:21 PST
Created attachment 27103 [details]
Revised patch based on feedback
Comment 4 Laszlo Gombos 2009-01-30 05:23:52 PST
Created attachment 27179 [details]
Revised patch to make it more future proof and readable

Moved the COMPILER(RVCT) rules in from of the COMPILER(GCC) definition, so that when COMPILER(GCC) is defined, we can just check for !COMPILER(RVCT).

Extra comment added to make the code more readable !
Comment 5 Simon Hausmann 2009-01-30 07:16:52 PST
Comment on attachment 27179 [details]
Revised patch to make it more future proof and readable

Looks good to me. When landing I'll add a note to the ChangeLog, but otherwise it's ready to go.
Comment 6 Simon Hausmann 2009-01-30 07:17:58 PST
Landed in r40404