From: Khem Raj <raj.khem@gmail.com>
To: Martin Kelly <mkelly@xevo.com>
Cc: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>,
Patches and discussions about the oe-core layer
<openembedded-core@lists.openembedded.org>
Subject: Re: Default rpaths in BUILD_LDFLAGS
Date: Wed, 8 Mar 2017 14:23:33 -0800 [thread overview]
Message-ID: <20170308222333.GA2920@haswell> (raw)
In-Reply-To: <c239faec-410b-99ff-9f0e-8b4c350b460a@xevo.com>
On 17-03-08 13:56:12, Martin Kelly wrote:
> On 03/08/2017 01:46 PM, Khem Raj wrote:
> > On 17-03-07 16:43:47, Martin Kelly wrote:
> > > Hi,
> > >
> > > While debugging an issue with a package that uses llvm-config to compile
> > > with clang, I started hitting [rpaths] QA warnings because some output
> > > executables contained absolute rpaths pointing into my build directory.
> > > After tracing through the issue, I determined the rpaths to eventually be
> > > originating from the setting of BUILD_LDFLAGS in meta/conf/bitbake.conf. The
> > > rpath part of this was added in commit 35759f97 to the poky repo.
> >
> > thats for native packages alone.
> >
>
> You're right, it is for native packages only. That means this issue is
> really specific to clang or other toolchains with similar issues rather than
> being a general issue, which is good.
>
> In this case, because llvm-config is built natively (as it needs to be run
> on the build host), and because llvm-config populates its --ldflags argument
> with the contents of BUILD_LDFLAGS, then the target build ends up inheriting
> all these flags.
>
> > >
> > > In case you're curious about the background of the issue, my project is
> > > using the output of llvm-config --ldflags to set its linker flags.
> > > llvm-config is populating the output --ldflags with whatever it is given for
> > > CXX_LINK_FLAGS. CXX_LINK_FLAGS is being populated by the generic cmake logic
> > > in cmake.bbclass, which is getting its flags from BUILD_LDFLAGS in
> > > meta/conf/bitbake.conf.
> >
> > I think we shoud not need rpaths for target recipes. We should see if we
> > can just remove it atleast for /lib /usr/lib
> >
>
> I agree we should not need them. Of course I can run a sed line to remove
> the rpaths from LLVM_LDFLAGS from tools/llvm-config/BuildVariables.inc (and
> this works just fine). However, I think there's a deeper issue here: All the
> build-time flags that llvm-config spits out (--cppflags, --cflags,
> --cxxflags) probably need to be replaced with target versions of those
> variables.
Its fine to sed it out, we are trying to use llvm-confing in a cross env
and this seems to be less treaded path for it, it assumes you would use
it for building packages natively generally.
>
> Do you agree with replacing all of those, or do you think we should replace
> only the rpaths?
yes please
next prev parent reply other threads:[~2017-03-08 22:23 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-08 0:43 Default rpaths in BUILD_LDFLAGS Martin Kelly
2017-03-08 21:46 ` Khem Raj
2017-03-08 21:56 ` Martin Kelly
2017-03-08 22:23 ` Khem Raj [this message]
2017-03-08 23:44 ` Martin Kelly
2017-03-09 0:02 ` Khem Raj
2017-03-09 0:01 ` Martin Kelly
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170308222333.GA2920@haswell \
--to=raj.khem@gmail.com \
--cc=enrico.scholz@sigma-chemnitz.de \
--cc=mkelly@xevo.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.