Bug 118887

Summary: WebKitExports.def.in needs 64-bit symbols
Product: WebKit Reporter: Alex Christensen <achristensen>
Component: WebKit Misc.Assignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: bfulgham, commit-queue, mkwst
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Windows 7   
Attachments:
Description Flags
Patch
none
Patch none

Description Alex Christensen 2013-07-18 21:19:41 PDT
WebKitExports.def.in contains many Visual Studio compiler symbols that are exported by WebKit.  Most of them contain pointers, which change size when compiling for x86_64 architecture, and they require a separate symbol.  They should be next to each other for easy maintenance.
Comment 1 Alex Christensen 2013-07-18 21:24:46 PDT
Created attachment 207056 [details]
Patch
Comment 2 Build Bot 2013-07-18 22:53:07 PDT
Comment on attachment 207056 [details]
Patch

Attachment 207056 [details] did not pass win-ews (win):
Output: http://webkit-queues.appspot.com/results/1131108
Comment 3 Brent Fulgham 2013-07-19 09:55:06 PDT
Comment on attachment 207056 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=207056&action=review

> Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:115
> +        symbolWithPointer(?fastMalloc@WTF@@YAPAXI@Z, ?fastMalloc@WTF@@YAPEAX_K@Z)

We are getting a compile failure when we attempt to compile the output of this macro (as processed by the build script).  Take a look at the intermediary output: WebKitExports.def.in gets converted to $(WebKitOutput)\obj(32|64)\WebKitExportGenerator\DerivedSources\WebKitExportsGenerator.cpp.  This is processed by the compiler as a series of 'printf' statements.  Somehow, the trailing end of the symbol is getting appended with a ")'".
Comment 4 Brent Fulgham 2013-07-19 09:55:36 PDT
(In reply to comment #3)
> (From update of attachment 207056 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=207056&action=review
> 
> > Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:115
> > +        symbolWithPointer(?fastMalloc@WTF@@YAPAXI@Z, ?fastMalloc@WTF@@YAPEAX_K@Z)
> 
> We are getting a compile failure when we attempt to compile the output of this macro (as processed by the build script).  Take a look at the intermediary output: WebKitExports.def.in gets converted to $(WebKitOutput)\obj(32|64)\WebKitExportGenerator\DerivedSources\WebKitExportsGenerator.cpp.  This is processed by the compiler as a series of 'printf' statements.  Somehow, the trailing end of the symbol is getting appended with a ")'".

Here's the specific error:

     1>C:\cygwin\home\buildbot\WebKit\WebKitBuild\Release\obj32\WebKitExportGenerator\WebKitExports.def(108): fatal error LNK1118: syntax error in '?fastMalloc@WTF@@YAPEAX_K@Z)' statement
     1>Done Building Project "C:\cygwin\home\buildbot\WebKit\Source\WebKit\WebKit.vcxproj\WebKit\WebKit.vcxproj" (build target(s)) -- FAILED.

Build FAILED.
Comment 5 Alex Christensen 2013-07-19 14:30:48 PDT
Created attachment 207145 [details]
Patch
Comment 6 Brent Fulgham 2013-07-19 14:45:23 PDT
Comment on attachment 207145 [details]
Patch

Very nice!  r=me
Comment 7 WebKit Commit Bot 2013-07-19 15:43:36 PDT
Comment on attachment 207145 [details]
Patch

Clearing flags on attachment: 207145

Committed r152930: <http://trac.webkit.org/changeset/152930>
Comment 8 WebKit Commit Bot 2013-07-19 15:43:37 PDT
All reviewed patches have been landed.  Closing bug.