Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Patches and discussions about the oe-core layer
	<openembedded-core@lists.openembedded.org>
Subject: Re: help with gcc-configure-common bug
Date: Wed, 03 Aug 2011 13:25:41 +0100	[thread overview]
Message-ID: <1312374341.2344.661.camel@rex> (raw)
In-Reply-To: <A8C5CE71-29E0-4C18-9D66-7CE0EFAE4782@kernel.crashing.org>

On Tue, 2011-08-02 at 10:36 -0500, Kumar Gala wrote:
> On Aug 1, 2011, at 1:58 PM, Kumar Gala wrote:
> 
> > I'm trying to track down a bug related the following in gcc-configure-common.inc.  I know there is one bug in the sed line, but when I fix that I run into a second issue.  I'm trying to understand what we think the following two lines are trying to attempt:
> > 
> >        SYSTEMLIBS_DIR=`dirname ${SYSTEMLIBS}`
> >        [ "$SYSTEMLIBS_DIR" = "/" ] && SYSTEMLIBS_DIR=""
> > 
> > any ideas?
> > 
> >> From the commit log we expect something like:
> >        #define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR"/ld-linux-x86-64.so.2"
> >        and we define SYSTEMLIBS_DIR in defaults.h.
> > 
> > so its seems if SYSTEMLIBS = 'lib', that we end up with:
> > 	#define SYSTEMLIBS ""
> > 
> > and thus becomes:
> > 	GLIBC_DYNAMIC_LINKER64 "ld-linux-x86-64.so.2"
> > 
> > which ends up being wrong.
> > 
> > - k
> > 
> > do_configure_prepend () {
> >        # Change the default dynamic linker path, only useful for SDK, other's value
> >        # are not changed according to the SYSTEMLIBS_DIR
> >        sed -i ${S}/gcc/config/*/linux*.h -e \
> >                's#\(GLIBC_DYNAMIC_LINKER[^ ]*\)\( *"/lib.*\)#\1 SYSTEMLIBS_DIR\2#'
> > 
> >        SYSTEMLIBS_DIR=`dirname ${SYSTEMLIBS}`
> >        [ "$SYSTEMLIBS_DIR" = "/" ] && SYSTEMLIBS_DIR=""
> >        # teach gcc to find correct target includedir when checking libc ssp support
> >        mkdir -p ${B}/gcc
> >        echo "NATIVE_SYSTEM_HEADER_DIR = ${SYSTEMHEADERS}" > ${B}/gcc/t-oe
> >        cat ${S}/gcc/defaults.h | grep -v "\#endif.*GCC_DEFAULTS_H" > ${B}/gcc/defaults.h.new
> >        cat >>${B}/gcc/defaults.h.new <<_EOF
> > #ifndef STANDARD_INCLUDE_DIR
> > #define STANDARD_INCLUDE_DIR "${SYSTEMHEADERS}"
> > #endif
> > #ifndef STANDARD_STARTFILE_PREFIX_1
> > #define STANDARD_STARTFILE_PREFIX_1 "${SYSTEMLIBS}"
> > #endif
> > #ifndef STANDARD_STARTFILE_PREFIX_2
> > #define STANDARD_STARTFILE_PREFIX_2 "${SYSTEMLIBS1}"
> > #endif
> > #define SYSTEMLIBS_DIR "$SYSTEMLIBS_DIR"
> > #endif /* ! GCC_DEFAULTS_H */
> > _EOF
> >        mv ${B}/gcc/defaults.h.new ${B}/gcc/defaults.h
> > }
> 
> Would really love if anyone knows what is suppose to be going on with SYSTEMLIBS_DIR to chime in here.

Ah, I can help here :)

We only have one gcc source checkout with the shared work directory.
Each multilib (or sdk build) needs to customise SYSTEMLIBS depending on
its configuration. This is why its being done in the defaults.h file in
${B} instead of files in ${S}.

We likely should do the substitutions in ${S} at unpack time to make
this clearer.

Cheers,

Richard






  parent reply	other threads:[~2011-08-03 12:30 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-01 18:58 help with gcc-configure-common bug Kumar Gala
2011-08-02 15:36 ` Kumar Gala
2011-08-02 15:41   ` Phil Blundell
2011-08-02 15:51     ` Kumar Gala
2011-08-03 12:25   ` Richard Purdie [this message]
2011-08-03 12:50     ` Kumar Gala
2011-08-03 15:53       ` Khem Raj
2011-08-02 15:51 ` Kumar Gala

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=1312374341.2344.661.camel@rex \
    --to=richard.purdie@linuxfoundation.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox