| Submitter | Khem Raj |
|---|---|
| Date | March 23, 2012, 12:50 p.m. |
| Message ID | <1332507041-30674-1-git-send-email-raj.khem@gmail.com> |
| Download | mbox | patch |
| Permalink | /patch/24261/ |
| State | New |
| Headers | show |
Comments
Le Fri, 23 Mar 2012 05:50:41 -0700, Khem Raj <raj.khem@gmail.com> a écrit : > gdb-cross-canadian was linking with static version of libpython > and looking for build host python when run. This could be mismatch > between python-nativesdk and build host provided python. So we > make it consistent to always use python-nativesdk > > Instead of adding bunch of -L we add -rpath and -rpath-link > so that gdb finds all needed libraries in SDK and does not > reach out into host > > This should fix yocto PR# 2077 as well. > > Signed-off-by: Khem Raj <raj.khem@gmail.com> Tested-by: Eric Bénard <eric@eukrea.com> > --- > meta/recipes-devtools/gdb/gdb-cross-canadian.inc | 7 ++++--- > .../recipes-devtools/gdb/gdb-cross-canadian_7.4.bb | 2 +- > 2 files changed, 5 insertions(+), 4 deletions(-) > > diff --git a/meta/recipes-devtools/gdb/gdb-cross-canadian.inc b/meta/recipes-devtools/gdb/gdb-cross-canadian.inc > index a7cac61..59412c4 100644 > --- a/meta/recipes-devtools/gdb/gdb-cross-canadian.inc > +++ b/meta/recipes-devtools/gdb/gdb-cross-canadian.inc > @@ -1,4 +1,5 @@ > inherit cross-canadian > +inherit python-dir > > DESCRIPTION = "cross-canadian gdb for ${TARGET_ARCH} target - GNU debugger" > PN = "gdb-cross-canadian-${TRANSLATED_TARGET_ARCH}" > @@ -14,9 +15,9 @@ do_configure_prepend() { > cat > ${WORKDIR}/python << EOF > #! /bin/sh > case "\$2" in > - --includes) echo "-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}/" ;; > - --ldflags) echo "-L${STAGING_LIBDIR}/../python${PYTHON_BASEVERSION}/config -lpthread -ldl -lutil -lm -lpython${PYTHON_BASEVERSION}" ;; > - --exec-prefix) echo "/usr" ;; > + --includes) echo "-I${STAGING_INCDIR}/${PYTHON_DIR}/" ;; > + --ldflags) echo "-Wl,-rpath-link,${STAGING_LIBDIR}/.. -Wl,-rpath,${libdir}/.. -lpthread -ldl -lutil -lm -lpython${PYTHON_BASEVERSION}" ;; > + --exec-prefix) echo "${exec_prefix}/bin" ;; > *) exit 1 ;; > esac > exit 0 > diff --git a/meta/recipes-devtools/gdb/gdb-cross-canadian_7.4.bb b/meta/recipes-devtools/gdb/gdb-cross-canadian_7.4.bb > index dbcffde..dfb7d81 100644 > --- a/meta/recipes-devtools/gdb/gdb-cross-canadian_7.4.bb > +++ b/meta/recipes-devtools/gdb/gdb-cross-canadian_7.4.bb > @@ -1,7 +1,7 @@ > require gdb-common.inc > require gdb-cross-canadian.inc > > -PR = "${INC_PR}.3" > +PR = "${INC_PR}.4" > > GDBPROPREFIX = "--program-prefix='${TARGET_PREFIX}'" > EXPAT = "--with-expat"
On Fri, 2012-03-23 at 05:50 -0700, Khem Raj wrote: > gdb-cross-canadian was linking with static version of libpython > and looking for build host python when run. This could be mismatch > between python-nativesdk and build host provided python. So we > make it consistent to always use python-nativesdk > > Instead of adding bunch of -L we add -rpath and -rpath-link > so that gdb finds all needed libraries in SDK and does not > reach out into host > > This should fix yocto PR# 2077 as well. > > Signed-off-by: Khem Raj <raj.khem@gmail.com> > --- > meta/recipes-devtools/gdb/gdb-cross-canadian.inc | 7 ++++--- > .../recipes-devtools/gdb/gdb-cross-canadian_7.4.bb | 2 +- > 2 files changed, 5 insertions(+), 4 deletions(-) Merged to master, thanks! Richard
> -----Original Message----- > From: openembedded-core-bounces@lists.openembedded.org > [mailto:openembedded-core-bounces@lists.openembedded.org] On Behalf Of > Khem Raj > > gdb-cross-canadian was linking with static version of libpython > and looking for build host python when run. This could be mismatch > between python-nativesdk and build host provided python. So we > make it consistent to always use python-nativesdk > Khem, In my debug effort, I did not find that gdb-cross-canadian was linking with static version of libpython. How did you find that out ? I think I can learn a lot from you :) Thanks, Nitin
On Fri, Mar 23, 2012 at 11:16 AM, Kamble, Nitin A <nitin.a.kamble@intel.com> wrote: >> -----Original Message----- >> From: openembedded-core-bounces@lists.openembedded.org >> [mailto:openembedded-core-bounces@lists.openembedded.org] On Behalf Of >> Khem Raj >> >> gdb-cross-canadian was linking with static version of libpython >> and looking for build host python when run. This could be mismatch >> between python-nativesdk and build host provided python. So we >> make it consistent to always use python-nativesdk >> > > > Khem, > In my debug effort, I did not find that gdb-cross-canadian was > linking with static version of libpython. How did you find that out ? > I think I can learn a lot from you :) Fire up gdb and persevere there is no secret sauce :) and hope for good luck that you see something. > > Thanks, > Nitin >
Patch
diff --git a/meta/recipes-devtools/gdb/gdb-cross-canadian.inc b/meta/recipes-devtools/gdb/gdb-cross-canadian.inc index a7cac61..59412c4 100644 --- a/meta/recipes-devtools/gdb/gdb-cross-canadian.inc +++ b/meta/recipes-devtools/gdb/gdb-cross-canadian.inc @@ -1,4 +1,5 @@ inherit cross-canadian +inherit python-dir DESCRIPTION = "cross-canadian gdb for ${TARGET_ARCH} target - GNU debugger" PN = "gdb-cross-canadian-${TRANSLATED_TARGET_ARCH}" @@ -14,9 +15,9 @@ do_configure_prepend() { cat > ${WORKDIR}/python << EOF #! /bin/sh case "\$2" in - --includes) echo "-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}/" ;; - --ldflags) echo "-L${STAGING_LIBDIR}/../python${PYTHON_BASEVERSION}/config -lpthread -ldl -lutil -lm -lpython${PYTHON_BASEVERSION}" ;; - --exec-prefix) echo "/usr" ;; + --includes) echo "-I${STAGING_INCDIR}/${PYTHON_DIR}/" ;; + --ldflags) echo "-Wl,-rpath-link,${STAGING_LIBDIR}/.. -Wl,-rpath,${libdir}/.. -lpthread -ldl -lutil -lm -lpython${PYTHON_BASEVERSION}" ;; + --exec-prefix) echo "${exec_prefix}/bin" ;; *) exit 1 ;; esac exit 0 diff --git a/meta/recipes-devtools/gdb/gdb-cross-canadian_7.4.bb b/meta/recipes-devtools/gdb/gdb-cross-canadian_7.4.bb index dbcffde..dfb7d81 100644 --- a/meta/recipes-devtools/gdb/gdb-cross-canadian_7.4.bb +++ b/meta/recipes-devtools/gdb/gdb-cross-canadian_7.4.bb @@ -1,7 +1,7 @@ require gdb-common.inc require gdb-cross-canadian.inc -PR = "${INC_PR}.3" +PR = "${INC_PR}.4" GDBPROPREFIX = "--program-prefix='${TARGET_PREFIX}'" EXPAT = "--with-expat"
gdb-cross-canadian was linking with static version of libpython and looking for build host python when run. This could be mismatch between python-nativesdk and build host provided python. So we make it consistent to always use python-nativesdk Instead of adding bunch of -L we add -rpath and -rpath-link so that gdb finds all needed libraries in SDK and does not reach out into host This should fix yocto PR# 2077 as well. Signed-off-by: Khem Raj <raj.khem@gmail.com> --- meta/recipes-devtools/gdb/gdb-cross-canadian.inc | 7 ++++--- .../recipes-devtools/gdb/gdb-cross-canadian_7.4.bb | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-)