[cfe-dev] [LLVMdev] Windows debug builds require /bigobj

Samuel Benzaquen sbenza at google.com
Thu Sep 4 07:25:33 PDT 2014


Just submitted rL217152 that reduces the numbers of symbols significantly,
as well as compile time and object byte size.
Please let me know if that puts us back under the threshold for MSVC.

_Sam

On Tue, Aug 26, 2014 at 3:43 PM, Samuel Benzaquen <sbenza at google.com> wrote:

> On Tue, Aug 26, 2014 at 12:30 PM, Reid Kleckner <rnk at google.com> wrote:
>
>> Mmmm, delicious template instantiation. This has come up before, and the
>> solution was to reduce the complexity of the template to avoid follow-on
>> instantiations like SmallVector<T>.
>>
>
> In many cases, fixing this actually increases complexity of the code.
> For example, I have a change that removes ~16% of symbols by doing manual
> pointer deletion instead of using std::unique_ptr<>.
> I'll send the change for review.
>
> wrt whether LLVM should build without the /bigobj flag, that would be for
> someone else to decide.
>
> _Sam
>
>
>>
>> On Tue, Aug 26, 2014 at 6:57 AM, Oliver Stannard <oliver.stannard at arm.com
>> > wrote:
>>
>>> Hi all,
>>>
>>>
>>>
>>> Our windows debug builds of clang have started failing with this error
>>> message:
>>>
>>> …snip…\llvm\tools\clang\lib\ASTMatchers\Dynamic\Registry.cpp : fatal
>>> error C1128: number of sections exceeded object file format limit : compile
>>> with /bigobj
>>> […snip…\llvm\tools\clang\lib\ASTMatchers\Dynamic\clangDynamicASTMatchers.vcxproj]
>>>
>>>
>>>
>>> This is building the debug configuration using the MSVC from Visual
>>> Studio Pro 2012 update 4, the release build of the same source succeeded.
>>> The source used was LLVM/clang trunk as of about 0500 UTC. The build of the
>>> source from the same time a day before succeeded.
>>>
>>>
>>>
>>> The error is caused by one object file which would have to contain more
>>> than 2^16 sections. Adding /bigobj should fix this, but should LLVM be able
>>> to build without this option?
>>>
>>>
>>>
>>> The buildbots did not catch this because it only occurs for debug builds.
>>>
>>>
>>>
>>> Thanks,
>>>
>>> Oliver
>>>
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20140904/4551a57a/attachment.html>


More information about the cfe-dev mailing list