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

Rafael Auler rafaelauler at gmail.com
Thu Sep 4 13:12:01 PDT 2014


I just tested a MinGW debug build or your recent commit and it compiled
fine. Previously, it couldn't finish the compilation because my MinGW
gcc/binutils don't have support for /bigobj.


On Thu, Sep 4, 2014 at 11:25 AM, Samuel Benzaquen <sbenza at google.com> wrote:

> 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
>>>>
>>>>
>>>
>>
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20140904/7a23932f/attachment.html>


More information about the cfe-dev mailing list