Bug 140384

Summary: The debug build of WebCore static archive is too large
Product: WebKit Reporter: Ting-Wei Lan <lantw44>
Component: WebCore Misc.Assignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: ajacoutot, Hironori.Fujii
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Other   

Description Ting-Wei Lan 2015-01-13 00:48:40 PST
I tried to build WebKit using the command `./Tools/Scripts/build-webkit --gtk --debug', but it failed with linking error:
../../lib/libWebCoreGTK.a: could not read symbols: Malformed archive

The size of the file `libWebCoreGTK.a' is 6.3 GiB on FreeBSD, but the file format of GNU ar uses 32-bit interger to store the position of objects, which can only support 4 GiB. There is no problem on GNU/Linux because GNU ar supports thin archive, so the size of archives is smaller than 100 MiB. However, we uses ar from elftoolchain on FreeBSD, which does not support thin archive, causing the file to grow over 4 GiB and generate a wrong symbol table.
Comment 1 Ting-Wei Lan 2019-10-12 07:28:39 PDT
FreeBSD ar added support for 64-bit archive several months ago: https://reviews.freebsd.org/D18793.

The patch for 64-bit archive has been backported to FreeBSD 11.3 and 12.1. Since older point releases will go EOL soon, I think we can close this bug now.
Comment 2 Fujii Hironori 2019-10-14 21:30:44 PDT
JFYI, Windows ports are using OBJECT library for WebCore.
> set(WebCore_LIBRARY_TYPE OBJECT)
See Bug 196866.