[cfe-dev] Linking ProfileRT when using -nodefaultlibs

Alexey Samsonov vonosmas at gmail.com
Mon Nov 10 14:33:43 PST 2014


On Sun, Nov 9, 2014 at 10:39 PM, Eric Fiselier <eric at efcs.ca> wrote:

> Hello,
>
> I'm working on making libc++ generate code coverage data. This means that
> libclang_rt.profile.x86_64.a is put into the link command before '-lc' and
> other dependencies.
> I suspect this change in library order causes the linker errors I see
> while running the tests.
>
> I have a couple of questions:
>   - Should -ftest-coverage be passed when linking libc++?
>   - Is there a way to link libclang_rt.profile.x86_64.a after the given
> linker flags
>
>
> This file shows the ld invocation with and without -nodefaultlibs as well
> as the error produced when
> linking tests w/ -nodefaultlibs
> http://pastebin.com/QWagJpsW
>

Hm? On the contrary, in the attached file  "libclang_rt.profile.x86_64.a"
is listed *after* its dependencies, in particular, after "-lc".
I think this is wrong, and we should just fix it in the driver.
"-nodefautlibs" shouldn't be a problem here, as you seem to add "-lc",
"-lpthread"
etc. manually to your linker invocation.


>
>
> Any help is appreciated
>
> /Eric
>
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>
>


-- 
Alexey Samsonov
vonosmas at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20141110/5350a6fc/attachment.html>


More information about the cfe-dev mailing list