native libraries

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

native libraries

Ryan M. Lefever
In a previous post (included at the end of the message), Reid stated
that in August 2006, llvm-ld did not support native libraries.  I have a
few questions about that.  Is it still true that llvm does not support
native libraries?  Furthermore, what exactly is meant by that?

In particular, I have bytecode that I want to turn into a native
executable and it needs to be linked against a dynamic (.so) library
that I've created.  So, I run the following command:

> llvm-ld -native -o mytmp.exe -L. -lmytmp1 mytmp2.bc mytmp3.bc

When I do so I get the following warning:

> llvm-ld: warning: Supposed library 'mytmp1' isn't a library.

However, the executable seems to work fine, and seems to find
libmytmp1.so through LD_LIBRARY_PATH just fine.  Is it safe to ignore
the warning?  What is meant by the warning?

Regards,
Ryan


> On Wed, 2006-08-16 at 18:01 +0200, Bram Adams wrote:
> > Hi,
> >
> > I'm using LLVM 1.8 with the GCC4-frontend on a Slackware 10.2 box (GCC
> > 3.3.6). When issuing the following command (line 14 in a script called
> > manual.sh):
> >
> > llvm-ld -O1 *.trans -L${SOME_LIB_DIR} -L${SOME_OTHER_LIB_DIR} -L
> > ${LLVM_FRONT}/lib -lSOME_LIB -lSOME_OTHER_LIB -load=
> > ${MY_LIB_DIR}/opt1.so -load=${MY_LIB_DIR}/opt2.so -debug-pass=Details
> > -debug -o test
> >
> > ... I get the following messages:
> >
> > llvm-ld: warning: Supposed library 'SOME_OTHER_LIB' isn't a library.
>
> The -l option is used to link libraries into the resulting executable.
> I'm hoping "SOME_OTHER_LIB" is not the actual name and you're just
> paraphrasing the actual command line. Note that native libraries are
> not
> supported by llvm-ld at this time. It is expecting a bytecode library
> that it can link into the program, hence the warning.


_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Reply | Threaded
Open this post in threaded view
|

Re: native libraries

Reid Spencer-2
Hi Ryan,

On Sat, 2007-03-31 at 18:33 -0500, Ryan M. Lefever wrote:
> In a previous post (included at the end of the message), Reid stated
> that in August 2006, llvm-ld did not support native libraries.  I have a
> few questions about that.  Is it still true that llvm does not support
> native libraries?  Furthermore, what exactly is meant by that?

llvm-ld has been worked on (by multiple people) since last August. I'm
actually not very clear on what its current state is wrt to generating
native executables. I know that the support (at some level) has been
added as it will just invoke the native linker to link all the
components. I'd have to go get familiar with the code again to know.

>
> In particular, I have bytecode that I want to turn into a native
> executable and it needs to be linked against a dynamic (.so) library
> that I've created.  So, I run the following command:
>
> > llvm-ld -native -o mytmp.exe -L. -lmytmp1 mytmp2.bc mytmp3.bc
>
> When I do so I get the following warning:
>
> > llvm-ld: warning: Supposed library 'mytmp1' isn't a library.
>
> However, the executable seems to work fine, and seems to find
> libmytmp1.so through LD_LIBRARY_PATH just fine.  Is it safe to ignore
> the warning?  

Probably.

> What is meant by the warning?

I think its a hold-over from when llvm-ld didn't recognize non-bytecode
libraries. Could you please file this as a code-cleanup bug so we don't
forget about it?

Thanks,

Reid.

>
> Regards,
> Ryan
>
>
> > On Wed, 2006-08-16 at 18:01 +0200, Bram Adams wrote:
> > > Hi,
> > >
> > > I'm using LLVM 1.8 with the GCC4-frontend on a Slackware 10.2 box (GCC
> > > 3.3.6). When issuing the following command (line 14 in a script called
> > > manual.sh):
> > >
> > > llvm-ld -O1 *.trans -L${SOME_LIB_DIR} -L${SOME_OTHER_LIB_DIR} -L
> > > ${LLVM_FRONT}/lib -lSOME_LIB -lSOME_OTHER_LIB -load=
> > > ${MY_LIB_DIR}/opt1.so -load=${MY_LIB_DIR}/opt2.so -debug-pass=Details
> > > -debug -o test
> > >
> > > ... I get the following messages:
> > >
> > > llvm-ld: warning: Supposed library 'SOME_OTHER_LIB' isn't a library.
> >
> > The -l option is used to link libraries into the resulting executable.
> > I'm hoping "SOME_OTHER_LIB" is not the actual name and you're just
> > paraphrasing the actual command line. Note that native libraries are
> > not
> > supported by llvm-ld at this time. It is expecting a bytecode library
> > that it can link into the program, hence the warning.
>
>
> _______________________________________________
> LLVM Developers mailing list
> [hidden email]         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Reply | Threaded
Open this post in threaded view
|

Re: native libraries

Ryan M. Lefever
Reid,

I have filed this as a code cleanup bug.

Reid Spencer wrote:

> Hi Ryan,
>
> On Sat, 2007-03-31 at 18:33 -0500, Ryan M. Lefever wrote:
>
>>In a previous post (included at the end of the message), Reid stated
>>that in August 2006, llvm-ld did not support native libraries.  I have a
>>few questions about that.  Is it still true that llvm does not support
>>native libraries?  Furthermore, what exactly is meant by that?
>
>
> llvm-ld has been worked on (by multiple people) since last August. I'm
> actually not very clear on what its current state is wrt to generating
> native executables. I know that the support (at some level) has been
> added as it will just invoke the native linker to link all the
> components. I'd have to go get familiar with the code again to know.
>
>
>>In particular, I have bytecode that I want to turn into a native
>>executable and it needs to be linked against a dynamic (.so) library
>>that I've created.  So, I run the following command:
>>
>>
>>>llvm-ld -native -o mytmp.exe -L. -lmytmp1 mytmp2.bc mytmp3.bc
>>
>>When I do so I get the following warning:
>>
>>
>>>llvm-ld: warning: Supposed library 'mytmp1' isn't a library.
>>
>>However, the executable seems to work fine, and seems to find
>>libmytmp1.so through LD_LIBRARY_PATH just fine.  Is it safe to ignore
>>the warning?  
>
>
> Probably.
>
>
>>What is meant by the warning?
>
>
> I think its a hold-over from when llvm-ld didn't recognize non-bytecode
> libraries. Could you please file this as a code-cleanup bug so we don't
> forget about it?
>
> Thanks,
>
> Reid.
>
>
>>Regards,
>>Ryan
>>
>>
>>
>>>On Wed, 2006-08-16 at 18:01 +0200, Bram Adams wrote:
>>>
>>>>Hi,
>>>>
>>>>I'm using LLVM 1.8 with the GCC4-frontend on a Slackware 10.2 box (GCC
>>>>3.3.6). When issuing the following command (line 14 in a script called
>>>>manual.sh):
>>>>
>>>>llvm-ld -O1 *.trans -L${SOME_LIB_DIR} -L${SOME_OTHER_LIB_DIR} -L
>>>>${LLVM_FRONT}/lib -lSOME_LIB -lSOME_OTHER_LIB -load=
>>>>${MY_LIB_DIR}/opt1.so -load=${MY_LIB_DIR}/opt2.so -debug-pass=Details
>>>>-debug -o test
>>>>
>>>>... I get the following messages:
>>>>
>>>>llvm-ld: warning: Supposed library 'SOME_OTHER_LIB' isn't a library.
>>>
>>>The -l option is used to link libraries into the resulting executable.
>>>I'm hoping "SOME_OTHER_LIB" is not the actual name and you're just
>>>paraphrasing the actual command line. Note that native libraries are
>>>not
>>>supported by llvm-ld at this time. It is expecting a bytecode library
>>>that it can link into the program, hence the warning.
>>
>>
>>_______________________________________________
>>LLVM Developers mailing list
>>[hidden email]         http://llvm.cs.uiuc.edu
>>http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
> _______________________________________________
> LLVM Developers mailing list
> [hidden email]         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

--
Ryan M. Lefever  [http://www.ews.uiuc.edu/~lefever]
_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev