Summary: | Fix linking failure on EFL and GTK for the jsCStack branch merge | ||
---|---|---|---|
Product: | WebKit | Reporter: | Csaba Osztrogonác <ossy> |
Component: | JavaScriptCore | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | Blocker | CC: | mhahnenberg, msaboff, ossy |
Priority: | P1 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Bug Depends on: | 127782 | ||
Bug Blocks: | 127763 |
Description
Csaba Osztrogonác
2014-01-28 06:53:06 PST
Additional info: The build fails on GTK always and fails on EFL bots, because ENABLE_DRT=1 environment variable forces the SHARED_CORE=ON build. After reading a little bit about this error, it seems that gcc requires that code linked into a shared library should, by default, be compiled with -fpic due to the constraints of the small code model and the size of the address space on 64-bit platforms. I can see two obvious solutions: (1) Use -fpic to enable position independent code when building shared libraries. (2) Use -mcmodel=large to enable the large code model when building shared libraries. Either one of these should work. (In reply to comment #2) > After reading a little bit about this error, it seems that gcc requires that code linked into a shared library should, by default, be compiled with -fpic due to the constraints of the small code model and the size of the address space on 64-bit platforms. I can see two obvious solutions: > > (1) Use -fpic to enable position independent code when building shared libraries. > (2) Use -mcmodel=large to enable the large code model when building shared libraries. > > Either one of these should work. This also might be the result of a lack of proper extern-ing for these symbols. Let me try that first. It seems https://bugs.webkit.org/show_bug.cgi?id=127782 solved the linking problem. Thanks for the quick fix. |