[LLVMdev] Compiling glibc on Linux

Babak Salamat bsalamat at uci.edu
Wed May 9 13:38:58 PDT 2007


I am convinced to use llvm-gcc. As I mentioned in my previous email,  
I have changed native code generation in llc to generate code with a  
different stack organization. In order to have working binaries, the  
libraries must be compiled with the new tool and have the same stack  
organization. Now that I cannot use llc, it seems that I have to  
modify llvm-gcc to have it generate code with the stack organization  
that I want.

For X86 target I have particularly changed  
X86RegisterInfo::eliminateFrameIndex, X86RegisterInfo::emitPrologue  
and X86RegisterInfo::emitEpilogue in the llc source code.

Can I find equivalent functions in the llvm-gcc source, so that I can  
implement the needed stack organization?

Thank you,
Babak


On May 9, 2007, at 12:47 PM, Reid Spencer wrote:

> Babak,
>
> I strongly suggest you drop trying to use llvmc.  Instead, probably  
> just
> compiling your library with llvm-gcc should be sufficient. The llvm- 
> gcc
> tool has much of llc's functionality built in to it so you're going to
> get the same output.  If that doesn't work for you, then please  
> describe
> what you're trying to do in more detail and we'll tell you how it  
> can be
> done. Coming at it from the "llvmc doesn't work" angle, doesn't  
> help us
> solve your actual problem (because we don't know what it is).
>
> Thanks,
>
> Reid.
>
> On Wed, 2007-05-09 at 00:08 -0700, Babak Salamat wrote:
>> Thank you Chris.
>>
>> Actually, I have changed the stack organization in the "llc" source
>> codes for x86 target. Thus, I need libraries compiled with the new
>> stack organization. If I use llvm-gcc (and apparently also llvmc),
>> llc will not be invoked. I was hoping that llvmc would call llvm-gcc
>> to compile to bc file and then call llc to compile to native
>> assembly, but apparently this doesn't happen.
>> Do you know of any possible ways to involve llc in compilation of
>> libraries?
>>
>> --Babak
>>
>> On May 8, 2007, at 11:33 PM, Chris Lattner wrote:
>>
>>> On Tue, 8 May 2007, Babak Salamat wrote:
>>>> Yes, I have built and installed llvm-gcc and "llvm-gcc --print- 
>>>> prog-
>>>> name=cc1" return the correct path for cc1, so I assume its path is
>>>> set correctly in the config files, but I haven't installed config
>>>> files separately. Do I need to do that? Is there any documentation
>>>> about it?
>>>
>>> I'd strongly suggest just building with CC=llvm-gcc CXX=llvm-g++.
>>>
>>> llvmc is extremely experimental and has not seen wide use.
>>>
>>> -Chris
>>>
>>>> On May 8, 2007, at 7:33 PM, Reid Spencer wrote:
>>>>
>>>>> Babak,
>>>>>
>>>>> As its manual page (http://llvm.org/docs/CommandGuide/html/
>>>>> llvmc.html)
>>>>> states, llvmc is an experimental tool:
>>>>>
>>>>> llvmc is considered an experimental LLVM tool because it has these
>>>>> deficiencies:
>>>>>
>>>>> Poor configuration support
>>>>>         The support for configuring new languages, etc. is weak.
>>>>> There
>>>>>         are many command line configurations that cannot be  
>>>>> achieved
>>>>>         with the current support. Furthermore the grammar is
>>>>> cumbersome
>>>>>         for configuration files. Please see http://llvm.org/PR686
>>>>> for
>>>>>         further details.
>>>>>
>>>>> That said, you should be able to get it to work with llvm-gcc.
>>>>>
>>>>> Did you build llvm-gcc? Did you check the paths in the "c" config
>>>>> file?
>>>>> Did you install the config files?
>>>>>
>>>>> All of these things need to be done in order for the standard  
>>>>> config
>>>>> file to work.
>>>>>
>>>>> Reid.
>>>>>
>>>>> On Tue, 2007-05-08 at 18:40 -0700, Babak Salamat wrote:
>>>>>>   Hi,
>>>>>>
>>>>>> I am trying to compile glibc on Linux using llvm. I need to do  
>>>>>> this
>>>>>> for a research project.
>>>>>> The problem is that llvmc doesn't work, and I guess I have to set
>>>>>> CC=llvmc to get the glic compiled. For some reason llvmc  
>>>>>> complains
>>>>>> that it cannot find %llvmcc1%. I have this problem both on my
>>>>>> Mac and
>>>>>> my Linux system. Other tools that I have tested including llvm- 
>>>>>> gcc
>>>>>> work without any problem.
>>>>>> First, I appreciate it if you let me know what can cause this
>>>>>> problem
>>>>>> and second, tell me if you think I have any chance to compile  
>>>>>> glibc
>>>>>> using LLVM.
>>>>>>
>>>>>> Thank you,
>>>>>> Babak
>>>>>>
>>>>>> ---------------------------------------------------------------
>>>>>> Babak Salamat
>>>>>> PhD Student
>>>>>> Department of Computer Science
>>>>>> School of Information and Computer Sciences
>>>>>> University of California, Irvine
>>>>>> email: bsalamat at uci.edu
>>>>>> web: www.ics.uci.edu/~bsalamat
>>>>>> ---------------------------------------------------------------
>>>>>>
>>>>>> _______________________________________________
>>>>>> LLVM Developers mailing list
>>>>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>>>>
>>>>> _______________________________________________
>>>>> LLVM Developers mailing list
>>>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>>>
>>>> _______________________________________________
>>>> LLVM Developers mailing list
>>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>>>
>>>
>>> -Chris
>>>
>>> -- 
>>> http://nondot.org/sabre/
>>> http://llvm.org/
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list