From: Denys Dmytriyenko <denys(a)ti.com>
libc.so linker script should use relative paths to not clash with host libs.
Using absolute paths in libc.so is fine with standalone toolchain or when
used inside a rootfs. But when used inside OE SDK for cross-compilation,
the absolute path confuses compiler with libs from host environment. In the
past, Linaro prebuilt toolchains always had relative paths inside libc.so
linker script. Adjust it the same for the Arm prebuilt toolchain.
Signed-off-by: Denys Dmytriyenko <denys(a)ti.com>
---
.../recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb
index 6fb5a4d..a4067d8 100644
--- a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb
+++ b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb
@@ -233,6 +233,7 @@ do_install() {
if [ -f ${D}${libdir}/libc.so ];then
sed -i -e "s# /${EAT_LIBDIR}/${EAT_TARGET_SYS}# ../../${EAT_LIBDIR}#g" -e "s# /usr/${EAT_LIBDIR}/# /usr/lib/#g" -e "s# /usr/${EAT_LIBDIR}/${EAT_TARGET_SYS}# .#g" -e "s# /${EAT_LIBDIR}/ld-linux# ../../${EAT_LIBDIR}/ld-linux#g" ${D}${libdir}/libc.so
sed -i -e "s# /${EAT_LIBDIR}/libc.so.6# /lib/libc.so.6#g" ${D}${libdir}/libc.so
+ sed -i -e "s# /lib# ../../lib#g" -e "s# /usr/lib# .#g" ${D}${libdir}/libc.so
fi
if [ -f ${D}${base_libdir}/libc.so ];then
--
2.7.4
From: Denys Dmytriyenko <denys(a)ti.com>
This set cleans up and adds additional features to external-arm-toolchain recipe.
It packages up libc binaries like ldconfig, locale, tzselect, ldd and so on.
That results in a proper non-empty glibc-utils package, which gets pulled by
LIBC_DEPENDENCIES variable defined in tclibc-glibc.inc in OE-Core
It also packages up necessary static libs, stubs and headers for -dev variants
of libgcc, libgfortran, etc., satisfying packagegroup-core-standalone-sdk-target
recipe from OE-Core.
Please merge this set to master and backport it to thud as well. Thanks.
Denys Dmytriyenko (3):
external-arm-toolchain: basic cleanup
external-arm-toolchain: package up toolchain binaries
external-arm-toolchain: also package up extra libs, stubs and headers
.../external-arm-toolchain.bb | 45 ++++++++++++++++------
1 file changed, 33 insertions(+), 12 deletions(-)
--
2.7.4
From: Denys Dmytriyenko <denys(a)ti.com>
When backporting Arm toolchain from master to thud, several commits were missed,
as well as one addition of crosssdk-inital recipe was missing. This series
addresses those issues.
Denys Dmytriyenko (2):
gcc-crosssdk-initial: add missing arm-8.2 version
tcmode-external-arm: uncomment preference for
virtual/${TARGET_PREFIX}binutils
Koen Kooi (4):
tcmode-external-arm.inc: fix some ELT⇒ EAT conversions that were
missed previously
tcmode-external-arm.inc: prefer virtual/libc-locale =
external-arm-toolchain
tcmode-external-arm.inc: set glibc override
tcmode-external-arm.inc: add 'libc-locales libc-locale-code
libc-charsets' to DISTRO_FEATURES_LIBC
.../conf/distro/include/tcmode-external-arm.inc | 18 ++++++++++--------
.../gcc/gcc-crosssdk-initial_arm-8.2.bb | 3 +++
2 files changed, 13 insertions(+), 8 deletions(-)
create mode 100644 meta-linaro-toolchain/recipes-devtools/gcc/gcc-crosssdk-initial_arm-8.2.bb
--
2.7.4
On Fri, Mar 15, 2019 at 05:16:06PM -0600, Anibal Limon wrote:
> I sent a review request,
>
> https://review.linaro.org/c/openembedded/meta-linaro/+/30779
Any updates? I'm still getting a lot of warnings during parsing, e.g.:
WARNING: .../meta-linaro/meta-linaro-toolchain/recipes-core/glibc/glibc_linaro-2.20.bb: Unable to get checksum for glibc SRC_URI entry ld.so.conf: file could not be found
WARNING: .../meta-linaro/meta-linaro-toolchain/recipes-core/glibc/glibc_linaro-2.20.bb: Unable to get checksum for glibc SRC_URI entry 0022-Add-ILP32-to-makefiles.patch: file could not be found
Denys
> On Fri, 15 Mar 2019 at 14:46, Anibal Limon <anibal.limon(a)linaro.org> wrote:
>
> >
> >
> > On Fri, Mar 15, 2019, 1:54 PM Denys Dmytriyenko <denis(a)denix.org> wrote:
> >
> >> On Fri, Mar 15, 2019 at 09:55:21AM -0600, Anibal Limon wrote:
> >> > Hi Denys,
> >> >
> >> > I'm not see a PV set on glibc_linaro-2.20.bb, there is a PV set on gcc
> >> > recipes with linaro-2.20.
> >>
> >> As my previous email states - PV is set by the filename. Moreover, you
> >> are
> >> erroneously referrring to the recipe as "glibc_linaro", while it's
> >> "glibc"
> >> instead. And "linaro-2.20" is actually recipe's PV. The underscore in the
> >> filename separates recipe name from recipe version. From the manual:
> >>
> >>
> >> https://www.yoctoproject.org/docs/1.6/bitbake-user-manual/bitbake-user-manu…
> >>
> >> | In this example, a recipe called "something_1.2.3.bb" sets PN to
> >> "something"
> >> | and PV to "1.2.3".
> >>
> >> Hence, in this case, glibc_linaro-2.20.bb used to set PN to "glibc" and
> >> PV to
> >> "linaro-2.20". And it used to work for years.
> >>
> >> Moreover, since ${FILESPATH} below expects ${FILE_DIRNAME}/glibc-${PV}
> >> and
> >> there's "glibc-linaro-2.20" directory with whole bunch of patches:
> >>
> >> https://git.linaro.org/openembedded/meta-linaro.git/tree/meta-linaro-toolch…
> >>
> >> So, with your change, it would instead try to look into "glibc-2.20" and
> >> fail
> >> to find any patches. Not even sure how it was tested...
> >>
> >
> > You are right, I not see the error because I'm using upstream glibc (2.29)
> > and the build didn't fail.
> >
> > I will update the PV in the common file.
> >
> > Regards,
> > Anibal
> >
> >
> >> --
> >> Denys
> >>
> >>
> >> > ...
> >> > $ git grep PV .
> >> > glibc-linaro-2.20/eglibc-ppc8xx-cache-line-workaround.patch:+ reads
> >> from
> >> > the PVR register. */
> >> > glibc-linaro-2.20/eglibc-ppc8xx-cache-line-workaround.patch:+
> >> emulates
> >> > PowerPC mfspr reads from the PVR register. */
> >> > glibc_linaro-2.20.bb:SRC_URI = "
> >> >
> >> http://releases.linaro.org/archive/${MMYY}/components/toolchain/glibc-linar…
> >> > \
> >> > glibc_linaro-2.20.bb:S = "${WORKDIR}/glibc-${PV}-${RELEASE}"
> >> > glibc_linaro-2.20.bb:FILESPATH = "${@base_set_filespath([
> >> > '${FILE_DIRNAME}/glibc-${PV}', '${FILE_DIRNAME}/glibc',
> >> > '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
> >> > glibc_linaro.inc:PV = "2.20"
> >> > ...
> >> >
> >> > What is the error that you have noticed?
> >> >
> >> > Regards,
> >> > Anibal
> >> >
> >> > On Fri, 8 Mar 2019 at 14:32, Denys Dmytriyenko <denis(a)denix.org> wrote:
> >> >
> >> > >
> >> > >
> >> https://git.linaro.org/openembedded/meta-linaro.git/commit/?id=768925270cc2…
> >> > >
> >> > > meta-linaro-toolchain: Set PV on glibc_linaro
> >> > > Recently a common file was introudced to set PV for glibc [1]
> >> > > in oe-core causing failures becuase glibc_linaro is trying
> >> > > to download the latest oe-core version (2.29).
> >> > >
> >> > > [1]
> >> https://git.openembedded.org/openembedded-core/commit/?id=41093cb6c6
> >> > >
> >> > > Change-Id: I5c99c25a953f00a64614046ba40e578795553bc1
> >> > > Signed-off-by: Aníbal Limón <anibal.limon(a)linaro.org>
> >> > >
> >> > >
> >> > > The problem is that all those modified recipes already had PV set in
> >> their
> >> > > filename and it was "linaro-2.20", not just "2.20".
> >
> > > >
> >> > > --
> >> > > Denys
> >> > >
> >>
> >
On Fri, Mar 15, 2019 at 09:55:21AM -0600, Anibal Limon wrote:
> Hi Denys,
>
> I'm not see a PV set on glibc_linaro-2.20.bb, there is a PV set on gcc
> recipes with linaro-2.20.
As my previous email states - PV is set by the filename. Moreover, you are
erroneously referrring to the recipe as "glibc_linaro", while it's "glibc"
instead. And "linaro-2.20" is actually recipe's PV. The underscore in the
filename separates recipe name from recipe version. From the manual:
https://www.yoctoproject.org/docs/1.6/bitbake-user-manual/bitbake-user-manu…
| In this example, a recipe called "something_1.2.3.bb" sets PN to "something"
| and PV to "1.2.3".
Hence, in this case, glibc_linaro-2.20.bb used to set PN to "glibc" and PV to
"linaro-2.20". And it used to work for years.
Moreover, since ${FILESPATH} below expects ${FILE_DIRNAME}/glibc-${PV} and
there's "glibc-linaro-2.20" directory with whole bunch of patches:
https://git.linaro.org/openembedded/meta-linaro.git/tree/meta-linaro-toolch…
So, with your change, it would instead try to look into "glibc-2.20" and fail
to find any patches. Not even sure how it was tested...
--
Denys
> ...
> $ git grep PV .
> glibc-linaro-2.20/eglibc-ppc8xx-cache-line-workaround.patch:+ reads from
> the PVR register. */
> glibc-linaro-2.20/eglibc-ppc8xx-cache-line-workaround.patch:+ emulates
> PowerPC mfspr reads from the PVR register. */
> glibc_linaro-2.20.bb:SRC_URI = "
> http://releases.linaro.org/archive/${MMYY}/components/toolchain/glibc-linar…
> \
> glibc_linaro-2.20.bb:S = "${WORKDIR}/glibc-${PV}-${RELEASE}"
> glibc_linaro-2.20.bb:FILESPATH = "${@base_set_filespath([
> '${FILE_DIRNAME}/glibc-${PV}', '${FILE_DIRNAME}/glibc',
> '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
> glibc_linaro.inc:PV = "2.20"
> ...
>
> What is the error that you have noticed?
>
> Regards,
> Anibal
>
> On Fri, 8 Mar 2019 at 14:32, Denys Dmytriyenko <denis(a)denix.org> wrote:
>
> >
> > https://git.linaro.org/openembedded/meta-linaro.git/commit/?id=768925270cc2…
> >
> > meta-linaro-toolchain: Set PV on glibc_linaro
> > Recently a common file was introudced to set PV for glibc [1]
> > in oe-core causing failures becuase glibc_linaro is trying
> > to download the latest oe-core version (2.29).
> >
> > [1] https://git.openembedded.org/openembedded-core/commit/?id=41093cb6c6
> >
> > Change-Id: I5c99c25a953f00a64614046ba40e578795553bc1
> > Signed-off-by: Aníbal Limón <anibal.limon(a)linaro.org>
> >
> >
> > The problem is that all those modified recipes already had PV set in their
> > filename and it was "linaro-2.20", not just "2.20".
> >
> > --
> > Denys
> >
https://git.linaro.org/openembedded/meta-linaro.git/commit/?id=768925270cc2…
meta-linaro-toolchain: Set PV on glibc_linaro
Recently a common file was introudced to set PV for glibc [1]
in oe-core causing failures becuase glibc_linaro is trying
to download the latest oe-core version (2.29).
[1] https://git.openembedded.org/openembedded-core/commit/?id=41093cb6c6
Change-Id: I5c99c25a953f00a64614046ba40e578795553bc1
Signed-off-by: Aníbal Limón <anibal.limon(a)linaro.org>
The problem is that all those modified recipes already had PV set in their
filename and it was "linaro-2.20", not just "2.20".
--
Denys