On Monday, September 1, 2014, Andrea Adami <[email protected]> wrote:
> For the recipes built with klcc-cross it is necessary to > pass --sysroot otherwise we default to the one encoded in gcc-cross which > actually is the 'first one' built. > The issue was revealed when building for armv4 after having built for > armv5te: > the produced binaries did contain Illegal Instruction (bx lr). > > Signed-off-by: Andrea Adami <[email protected] <javascript:;>> > --- > meta-initramfs/classes/klibc.bbclass | 4 ++-- > .../klibc/klibc-2.0.4/klcc-consider-sysroot.patch | 14 > ++++++++++++++ > meta-initramfs/recipes-devtools/klibc/klibc.inc | 1 + > 3 files changed, 17 insertions(+), 2 deletions(-) > create mode 100644 > meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-consider-sysroot.patch > > diff --git a/meta-initramfs/classes/klibc.bbclass > b/meta-initramfs/classes/klibc.bbclass > index ca741cd..8690472 100644 > --- a/meta-initramfs/classes/klibc.bbclass > +++ b/meta-initramfs/classes/klibc.bbclass > @@ -4,8 +4,8 @@ DEPENDS =+ "klcc-cross" > # Default for klcc is to build static binaries. > # Set CC = "${TARGET_PREFIX}klcc -shared" to build the dynamic version. > > -export CC = "${TARGET_PREFIX}klcc" > -export CC_armv4_linux-gnueabi = "${TARGET_PREFIX}klcc -march=armv4 > -mthumb-interwork" > +export CC = "${TARGET_PREFIX}klcc --sysroot=${STAGING_DIR_TARGET}" > +export CC_armv4_linux-gnueabi = "${TARGET_PREFIX}klcc > --sysroot=${STAGING_DIR_TARGET} -march=armv4 -mthumb-interwork" > > May be you can use TOOLCHAIN_OPTIONS here export CPP = "${CC} -E" > > diff --git > a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-consider-sysroot.patch > b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-consider-sysroot.patch > new file mode 100644 > index 0000000..9bc4835 > --- /dev/null > +++ > b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-consider-sysroot.patch > @@ -0,0 +1,14 @@ > +diff --git a/klcc/klcc.in b/klcc/klcc.in > +index 43d0984..61e9385 100644 > +--- a/klcc/klcc.in > ++++ b/klcc/klcc.in > +@@ -204,6 +204,9 @@ while ( defined($a = shift(@ARGV)) ) { > + # Libraries > + push(@libs, $a); > + push(@libs, shift(@ARGV)) if ( $2 eq '' ); > ++ } elsif ( $a =~ /^--([sysroot=])(.*)$/ ) { > ++ # Override gcc encoded sysroot > ++ push(@ccopt, $a); > + } else { > + die "$0: unknown option: $a\n"; > + } > diff --git a/meta-initramfs/recipes-devtools/klibc/klibc.inc > b/meta-initramfs/recipes-devtools/klibc/klibc.inc > index 0209b20..f3e9972 100644 > --- a/meta-initramfs/recipes-devtools/klibc/klibc.inc > +++ b/meta-initramfs/recipes-devtools/klibc/klibc.inc > @@ -16,6 +16,7 @@ SRC_URI_append_linux-uclibceabi = " > file://klibc-config-eabi.patch \ > " > SRC_URI += "file://klibc-linux-libc-dev.patch \ > file://staging.patch \ > + file://klcc-consider-sysroot.patch \ > " > > S = "${WORKDIR}/git" > -- > 1.9.1 > > -- > _______________________________________________ > Openembedded-devel mailing list > [email protected] <javascript:;> > http://lists.openembedded.org/mailman/listinfo/openembedded-devel > -- _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-devel
