Bug 81063 - GTK 32-bit Linux Release build failing after r110580 (from bug 80338)
Summary: GTK 32-bit Linux Release build failing after r110580 (from bug 80338)
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-03-13 17:28 PDT by Max Vujovic
Modified: 2012-03-14 09:00 PDT (History)
1 user (show)

See Also:


Attachments
Prospective build fix patch after r110580 for GTK Linux 32-bit release. (1.38 KB, patch)
2012-03-13 17:35 PDT, Max Vujovic
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Max Vujovic 2012-03-13 17:28:08 PDT
GTK friends,

The GTK 64-bit bots are building fine, but the GTK 32-bit bot is failing with a linking error:

  CCLD   Programs/unittests/testcopyandpaste
./.libs/libWebCoreInternals.a(libWebCoreInternals_la-Internals.o):Internals.cpp:function WebCore::Internals::inspectorHighlightRects(WebCore::Document*, int&): error: undefined reference to 'WebCore::ClientRectList::ClientRectList(WTF::Vector<WebCore::FloatQuad, 0u> const&)'

(From GTK 32-bit log: http://build.webkit.org/builders/GTK%20Linux%2032-bit%20Release/builds/22245/steps/compile-webkit/logs/stdio)

In r110580 (bug 80338), I added a reference to ClientRectList(Vector<FloatQuad>) and I put its symbol in symbols.filter. This passed the GTK EWS bot, and the GTK 64-bit build bots after landing.

However, I think GTK 32-bit wants another symbol for ClientRectList(Vector<FloatQuad>).

I don't have a working environment set up to build GTK 32-bit on Linux and determine the required symbol. However, I have inferred a reasonable guess for what the symbol is, based on a very similar 32-bit build fix that Gustavo did: http://trac.webkit.org/changeset/105424/

Gustavo's fix also was related to method that took in a Vector.
In that fix, there was already a symbol:
_ZN7WebCore30overrideUserPreferredLanguagesERKN3WTF6VectorINS0_6StringELm0EEE;

And Gustavo added:
_ZN7WebCore30overrideUserPreferredLanguagesERKN3WTF6VectorINS0_6StringELj0EEE;

(Notice the first symbol ends with "ELm0EEE". The second symbol ends with "ELj0EEE".)

Currently, the symbol I have for the ClientRectList(Vector<FloatQuad>) constructor is:
_ZN7WebCore14ClientRectListC1ERKN3WTF6VectorINS_9FloatQuadELm0EEE;

Notice how this also ends with "ELm0EEE", like in Gustavo's fix.
I'm guessing that the symbol I need to add is almost the same, except with a "ELj0EEE" at the end, like this:

_ZN7WebCore14ClientRectListC1ERKN3WTF6VectorINS_9FloatQuadELj0EEE;
Comment 1 Max Vujovic 2012-03-13 17:35:18 PDT
Created attachment 131761 [details]
Prospective build fix patch after r110580 for GTK Linux 32-bit release. 

I've put a patch that adds the symbol that might fix the 32-bit build, based on the previous comment. If any GTK experts think I'm right, I would appreciate it if they reviewed and committed it. 

Thank you,
Max
Comment 2 WebKit Review Bot 2012-03-14 00:11:38 PDT
Comment on attachment 131761 [details]
Prospective build fix patch after r110580 for GTK Linux 32-bit release. 

Clearing flags on attachment: 131761

Committed r110668: <http://trac.webkit.org/changeset/110668>
Comment 3 WebKit Review Bot 2012-03-14 00:11:41 PDT
All reviewed patches have been landed.  Closing bug.
Comment 4 Max Vujovic 2012-03-14 09:00:11 PDT
Thank you for the review, Martin.

Looks like it fixed the GTK 32-bit build :)
http://build.webkit.org/builders/GTK%20Linux%2032-bit%20Release/builds/22282