[lld] r232448 - Make it compile with MSVC 2013.
Rafael Auler
rafaelauler at gmail.com
Tue Mar 17 11:10:46 PDT 2015
I was compiling with the x86 MSVC compiler. If I use the x86_64 MSVC
compiler, it looks like we are hitting another issue:
MipsLinkingContext.cpp: fatal error C1128: number of sections exceeded
object file format limit: compile with /bigobj
On Tue, Mar 17, 2015 at 2:35 PM, Rafael Auler <rafaelauler at gmail.com> wrote:
> Oh, I see. Mine is 18.00.31101. This must've been fixed.
>
> On Tue, Mar 17, 2015 at 2:26 PM, Rui Ueyama <ruiu at google.com> wrote:
>
>> I'm using this version of MSVC.
>>
>> Microsoft (R) C/C++ Optimizing Compiler Version 18.00.21005.1 for x64
>>
>> And the error I got is below.
>>
>> c:\cygwin\home\ruiu\llvm\tools\lld\lib\readerwriter\elf\DefaultLayout.h(440)
>> : fatal error C1001: An internal error has occurred in the compiler.
>> (compiler file 'msc1.cpp', line 1325)
>> To work around this problem, try simplifying or changing the program
>> near the locations listed above.
>> Please choose the Technical Support command on the Visual C++
>> Help menu, or open the Technical Support help file for more information
>>
>> c:\cygwin\home\ruiu\llvm\tools\lld\lib\readerwriter\elf\DefaultLayout.h(436)
>> : while compiling class template member function 'llvm::StringRef
>> lld::elf::DefaultLayout<ELFT>::getOutputSectionName(llvm::StringRef,llvm::StringRef,llvm::StringRef)
>> const'
>> with
>> [
>> ELFT=lld::elf::X86ELFType
>> ]
>>
>> c:\cygwin\home\ruiu\llvm\tools\lld\lib\readerwriter\elf\TargetLayout.h(21)
>> : see reference to class template instantiation
>> 'lld::elf::DefaultLayout<ELFT>' being compiled
>> with
>> [
>> ELFT=lld::elf::X86ELFType
>> ]
>>
>> c:\cygwin\home\ruiu\llvm\tools\lld\lib\readerwriter\elf\x86\X86TargetHandler.h(59)
>> : see reference to class template instantiation
>> 'lld::elf::TargetLayout<ELFT>' being compiled
>> with
>> [
>> ELFT=lld::elf::X86ELFType
>> ]
>> Internal Compiler Error in C:\PROGRA~2\MICROS~2.0\VC\bin\amd64\cl.exe.
>> You will be prompted to send an error report to Microsoft later.
>>
>>
>> On Tue, Mar 17, 2015 at 5:38 AM, Rafael Auler <rafaelauler at gmail.com>
>> wrote:
>>
>>> Thanks for fixing this, Rui. I find it odd because I test my patches in
>>> a MSVC 2013 box and I didn't get an error and I didn't receive any
>>> complaints from buildbots.
>>>
>>> On Mon, Mar 16, 2015 at 10:10 PM, Rui Ueyama <ruiu at google.com> wrote:
>>>
>>>> Author: ruiu
>>>> Date: Mon Mar 16 20:10:12 2015
>>>> New Revision: 232448
>>>>
>>>> URL: http://llvm.org/viewvc/llvm-project?rev=232448&view=rev
>>>> Log:
>>>> Make it compile with MSVC 2013.
>>>>
>>>> MSVC 2013 cannot compile this code because of C1001 "internal error".
>>>> Stop using initializer list without type name.
>>>>
>>>> Modified:
>>>> lld/trunk/lib/ReaderWriter/ELF/DefaultLayout.h
>>>>
>>>> Modified: lld/trunk/lib/ReaderWriter/ELF/DefaultLayout.h
>>>> URL:
>>>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/DefaultLayout.h?rev=232448&r1=232447&r2=232448&view=diff
>>>>
>>>> ==============================================================================
>>>> --- lld/trunk/lib/ReaderWriter/ELF/DefaultLayout.h (original)
>>>> +++ lld/trunk/lib/ReaderWriter/ELF/DefaultLayout.h Mon Mar 16 20:10:12
>>>> 2015
>>>> @@ -435,11 +435,12 @@ DefaultLayout<ELFT>::getOutputSectionNam
>>>> StringRef memberPath,
>>>> StringRef inputSectionName)
>>>> const {
>>>> StringRef outputSectionName;
>>>> - if (_linkerScriptSema.hasLayoutCommands() &&
>>>> - !(outputSectionName = _linkerScriptSema.getOutputSection(
>>>> - {archivePath, memberPath, inputSectionName})).empty())
>>>> - return outputSectionName;
>>>> -
>>>> + if (_linkerScriptSema.hasLayoutCommands()) {
>>>> + script::Sema::SectionKey key = {archivePath, memberPath,
>>>> inputSectionName};
>>>> + outputSectionName = _linkerScriptSema.getOutputSection(key);
>>>> + if (!outputSectionName.empty())
>>>> + return outputSectionName;
>>>> + }
>>>> return llvm::StringSwitch<StringRef>(inputSectionName)
>>>> .StartsWith(".text", ".text")
>>>> .StartsWith(".ctors", ".ctors")
>>>>
>>>>
>>>> _______________________________________________
>>>> llvm-commits mailing list
>>>> llvm-commits at cs.uiuc.edu
>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>>>
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150317/0c8a3ac4/attachment.html>
More information about the llvm-commits
mailing list