* [PATCH] u-boot.inc: update linker arguments to pass --sysroot arg
@ 2012-07-26 16:21 Matthew McClintock
2012-07-29 9:29 ` Richard Purdie
0 siblings, 1 reply; 6+ messages in thread
From: Matthew McClintock @ 2012-07-26 16:21 UTC (permalink / raw)
To: openembedded-core
If we are building from sstate-cache it's possible to be building
from another folder on another machine, therefore the linker requires
that a proper --sysroot is passed too it so it can find things like
libgcc.a and avoid errors such as:
| arm-poky-linux-gnueabi-gcc -g -O2 -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x80008000 -I/local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/work/beagleboard-poky-linux-gnueabi/u-boot-v2011.06+git5+b1af6f532e0d348b153d5c148369229d24af361a-r0/git/include -fno-builtin -ffreestanding -nostdinc -isystem /local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/../../lib/armv7a-vfp-neon-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.3/include -pipe -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux -mno-thumb-interwork -march=armv5 -Wall -Wstrict-prototypes -fno-stack-protector -fno-toplevel-reorder -o hello_world.o hello_world.c -c
| arm-poky-linux-gnueabi-gcc -g -O2 -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x80008000 -I/local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/work/beagleboard-poky-linux-gnueabi/u-boot-v2011.06+git5+b1af6f532e0d348b153d5c148369229d24af361a-r0/git/include -fno-builtin -ffreestanding -nostdinc -isystem /local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/../../lib/armv7a-vfp-neon-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.3/include -pipe -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux -mno-thumb-interwork -march=armv5 -Wall -Wstrict-prototypes -fno-stack-protector -fno-toplevel-reorder -o stubs.o stubs.c -c
| arm-poky-linux-gnueabi-ld -r -o libstubs.o stubs.o
| arm-poky-linux-gnueabi-ld -g -Ttext 0x80300000 \
| -o hello_world -e hello_world hello_world.o libstubs.o \
| -L. -lgcc
| arm-poky-linux-gnueabi-ld: cannot find -lgcc
| make[1]: *** [hello_world] Error 1
Signed-off-by: Matthew McClintock <msm@freescale.com>
---
meta/recipes-bsp/u-boot/u-boot.inc | 2 +-
meta/recipes-bsp/u-boot/u-boot_2011.03.bb | 2 +-
meta/recipes-bsp/u-boot/u-boot_2011.06.bb | 2 +-
meta/recipes-bsp/u-boot/u-boot_2012.04.01.bb | 1 +
4 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-boot/u-boot.inc
index f794a2a..42bdde9 100644
--- a/meta/recipes-bsp/u-boot/u-boot.inc
+++ b/meta/recipes-bsp/u-boot/u-boot.inc
@@ -5,7 +5,7 @@ PROVIDES = "virtual/bootloader"
inherit deploy
-EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX}"
+EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}"'
python () {
if not d.getVar("UBOOT_MACHINE", True):
diff --git a/meta/recipes-bsp/u-boot/u-boot_2011.03.bb b/meta/recipes-bsp/u-boot/u-boot_2011.03.bb
index ed38f54..8465395 100644
--- a/meta/recipes-bsp/u-boot/u-boot_2011.03.bb
+++ b/meta/recipes-bsp/u-boot/u-boot_2011.03.bb
@@ -15,7 +15,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=1707d6db1d42237583f50183a5651ecb \
SRCREV = "19b54a701811220221fc4d5089a2bb18892018ca"
PV = "v2011.03+git${SRCPV}"
-PR = "r6"
+PR = "r7"
SRC_URI = "git://git.denx.de/u-boot.git;branch=master;protocol=git"
diff --git a/meta/recipes-bsp/u-boot/u-boot_2011.06.bb b/meta/recipes-bsp/u-boot/u-boot_2011.06.bb
index da61852..9654795 100644
--- a/meta/recipes-bsp/u-boot/u-boot_2011.06.bb
+++ b/meta/recipes-bsp/u-boot/u-boot_2011.06.bb
@@ -15,7 +15,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=1707d6db1d42237583f50183a5651ecb \
SRCREV = "b1af6f532e0d348b153d5c148369229d24af361a"
PV = "v2011.06+git${SRCPV}"
-PR = "r1"
+PR = "r2"
SRC_URI = "git://git.denx.de/u-boot.git;branch=master;protocol=git"
diff --git a/meta/recipes-bsp/u-boot/u-boot_2012.04.01.bb b/meta/recipes-bsp/u-boot/u-boot_2012.04.01.bb
index 25cc8c9..c4ec50d 100644
--- a/meta/recipes-bsp/u-boot/u-boot_2012.04.01.bb
+++ b/meta/recipes-bsp/u-boot/u-boot_2012.04.01.bb
@@ -20,6 +20,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=1707d6db1d42237583f50183a5651ecb"
SRCREV = "415d386877df49eb051b85ef74fa59a16dc17c7d"
PV = "v2012.04.01+git${SRCPV}"
+PR = "r1"
SRC_URI = "git://git.denx.de/u-boot.git;branch=master;protocol=git"
--
1.7.10
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] u-boot.inc: update linker arguments to pass --sysroot arg
2012-07-26 16:21 [PATCH] u-boot.inc: update linker arguments to pass --sysroot arg Matthew McClintock
@ 2012-07-29 9:29 ` Richard Purdie
2012-10-29 9:26 ` [PATCH] u-boot.inc: update linker arguments to pass --sysroot arg (BUILD BREAKAGE) Steffen Sledz
0 siblings, 1 reply; 6+ messages in thread
From: Richard Purdie @ 2012-07-29 9:29 UTC (permalink / raw)
To: Patches and discussions about the oe-core layer
On Thu, 2012-07-26 at 11:21 -0500, Matthew McClintock wrote:
> If we are building from sstate-cache it's possible to be building
> from another folder on another machine, therefore the linker requires
> that a proper --sysroot is passed too it so it can find things like
> libgcc.a and avoid errors such as:
>
> | arm-poky-linux-gnueabi-gcc -g -O2 -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x80008000 -I/local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/work/beagleboard-poky-linux-gnueabi/u-boot-v2011.06+git5+b1af6f532e0d348b153d5c148369229d24af361a-r0/git/include -fno-builtin -ffreestanding -nostdinc -isystem /local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/../../lib/armv7a-vfp-neon-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.3/include -pipe -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux -mno-thumb-interwork -march=armv5 -Wall -Wstrict-prototypes -fno-stack-protector -fno-toplevel-reorder -o hello_world.o hello_world.c -c
> | arm-poky-linux-gnueabi-gcc -g -O2 -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x80008000 -I/local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/work/beagleboard-poky-linux-gnueabi/u-boot-v2011.06+git5+b1af6f532e0d348b153d5c148369229d24af361a-r0/git/include -fno-builtin -ffreestanding -nostdinc -isystem /local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/../../lib/armv7a-vfp-neon-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.3/include -pipe -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux -mno-thumb-interwork -march=armv5 -Wall -Wstrict-prototypes -fno-stack-protector -fno-toplevel-reorder -o stubs.o stubs.c -c
> | arm-poky-linux-gnueabi-ld -r -o libstubs.o stubs.o
> | arm-poky-linux-gnueabi-ld -g -Ttext 0x80300000 \
> | -o hello_world -e hello_world hello_world.o libstubs.o \
> | -L. -lgcc
> | arm-poky-linux-gnueabi-ld: cannot find -lgcc
> | make[1]: *** [hello_world] Error 1
>
> Signed-off-by: Matthew McClintock <msm@freescale.com>
> ---
> meta/recipes-bsp/u-boot/u-boot.inc | 2 +-
> meta/recipes-bsp/u-boot/u-boot_2011.03.bb | 2 +-
> meta/recipes-bsp/u-boot/u-boot_2011.06.bb | 2 +-
> meta/recipes-bsp/u-boot/u-boot_2012.04.01.bb | 1 +
> 4 files changed, 4 insertions(+), 3 deletions(-)
Merged to master, thanks.
Richard
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] u-boot.inc: update linker arguments to pass --sysroot arg (BUILD BREAKAGE)
2012-07-29 9:29 ` Richard Purdie
@ 2012-10-29 9:26 ` Steffen Sledz
2012-10-29 14:36 ` McClintock Matthew-B29882
[not found] ` <CAEsOVNdBpH__03pF_M4eHbb+Etanx0AfAh3U-5vHAXoGcueKzQ@mail.gmail.com>
0 siblings, 2 replies; 6+ messages in thread
From: Steffen Sledz @ 2012-10-29 9:26 UTC (permalink / raw)
To: Patches and discussions about the oe-core layer,
Matthew McClintock
On 29.07.2012 11:29, Richard Purdie wrote:
> On Thu, 2012-07-26 at 11:21 -0500, Matthew McClintock wrote:
>> If we are building from sstate-cache it's possible to be building
>> from another folder on another machine, therefore the linker requires
>> that a proper --sysroot is passed too it so it can find things like
>> libgcc.a and avoid errors such as:
>>
>> | arm-poky-linux-gnueabi-gcc -g -O2 -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x80008000 -I/local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/work/beagleboard-poky-linux-gnueabi/u-boot-v2011.06+git5+b1af6f532e0d348b153d5c148369229d24af361a-r0/git/include -fno-builtin -ffreestanding -nostdinc -isystem /local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/../../lib/armv7a-vfp-neon-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.3/include -pipe -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux -mno-thumb-interwork -march=armv5 -Wall -Wstrict-prototypes -fno-stack-protector -fno-toplevel-reorder -o hello_world.o hello_world.c -c
>> | arm-poky-linux-gnueabi-gcc -g -O2 -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x80008000 -I/local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/work/beagleboard-poky-linux-gnueabi/u-boot-v2011.06+git5+b1af6f532e0d348b153d5c148369229d24af361a-r0/git/include -fno-builtin -ffreestanding -nostdinc -isystem /local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/../../lib/armv7a-vfp-neon-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.3/include -pipe -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux -mno-thumb-interwork -march=armv5 -Wall -Wstrict-prototypes -fno-stack-protector -fno-toplevel-reorder -o stubs.o stubs.c -c
>> | arm-poky-linux-gnueabi-ld -r -o libstubs.o stubs.o
>> | arm-poky-linux-gnueabi-ld -g -Ttext 0x80300000 \
>> | -o hello_world -e hello_world hello_world.o libstubs.o \
>> | -L. -lgcc
>> | arm-poky-linux-gnueabi-ld: cannot find -lgcc
>> | make[1]: *** [hello_world] Error 1
>>
>> Signed-off-by: Matthew McClintock <msm@freescale.com>
>> ---
>> meta/recipes-bsp/u-boot/u-boot.inc | 2 +-
>> meta/recipes-bsp/u-boot/u-boot_2011.03.bb | 2 +-
>> meta/recipes-bsp/u-boot/u-boot_2011.06.bb | 2 +-
>> meta/recipes-bsp/u-boot/u-boot_2012.04.01.bb | 1 +
>> 4 files changed, 4 insertions(+), 3 deletions(-)
>
>
> Merged to master, thanks.
While trying to migrate the u-boot support for our machine from oe-classic i hit a problem with this patch. :(
The
EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}"'
in u-boot.inc leads to compiling problems with some build support tools. The tools (e.g. bmp_logo) are now compiled with the target compiler (arm-oe-linux-gnueabi-gcc in our case) instead of the host compiler. This results in build errors like
| ./bmp_logo logos/denx.bmp >/pm/sledz/oe-core/build/tmp-eglibc/work/hipox-oe-linux-gnueabi/u-boot-v2009.03+git91+e60beb13cf0135dc71c541021487b5ccc4d269cb-r8/git/include/bmp_logo.h
| /bin/sh: ./bmp_logo: cannot execute binary file
Reverting to
EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX}'
seems to fix this problem.
Steffen
--
DResearch Fahrzeugelektronik GmbH
Otto-Schmirgal-Str. 3, 10319 Berlin, Germany
Tel: +49 30 515932-237 mailto:sledz@dresearch-fe.de
Fax: +49 30 515932-299
Geschäftsführer: Dr. Michael Weber, Werner Mögle;
Amtsgericht Berlin Charlottenburg; HRB 130120 B;
Ust.-IDNr. DE273952058
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] u-boot.inc: update linker arguments to pass --sysroot arg (BUILD BREAKAGE)
2012-10-29 9:26 ` [PATCH] u-boot.inc: update linker arguments to pass --sysroot arg (BUILD BREAKAGE) Steffen Sledz
@ 2012-10-29 14:36 ` McClintock Matthew-B29882
[not found] ` <CAEsOVNdBpH__03pF_M4eHbb+Etanx0AfAh3U-5vHAXoGcueKzQ@mail.gmail.com>
1 sibling, 0 replies; 6+ messages in thread
From: McClintock Matthew-B29882 @ 2012-10-29 14:36 UTC (permalink / raw)
To: Steffen Sledz; +Cc: Patches and discussions about the oe-core layer
On Mon, Oct 29, 2012 at 4:26 AM, Steffen Sledz <sledz@dresearch-fe.de> wrote:
> On 29.07.2012 11:29, Richard Purdie wrote:
>> On Thu, 2012-07-26 at 11:21 -0500, Matthew McClintock wrote:
>>> If we are building from sstate-cache it's possible to be building
>>> from another folder on another machine, therefore the linker requires
>>> that a proper --sysroot is passed too it so it can find things like
>>> libgcc.a and avoid errors such as:
>>>
>>> | arm-poky-linux-gnueabi-gcc -g -O2 -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x80008000 -I/local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/work/beagleboard-poky-linux-gnueabi/u-boot-v2011.06+git5+b1af6f532e0d348b153d5c148369229d24af361a-r0/git/include -fno-builtin -ffreestanding -nostdinc -isystem /local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/../../lib/armv7a-vfp-neon-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.3/include -pipe -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux -mno-thumb-interwork -march=armv5 -Wall -Wstrict-prototypes -fno-stack-protector -fno-toplevel-reorder -o hello_world.o hello_world.c -c
>>> | arm-poky-linux-gnueabi-gcc -g -O2 -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x80008000 -I/local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/work/beagleboard-poky-linux-gnueabi/u-boot-v2011.06+git5+b1af6f532e0d348b153d5c148369229d24af361a-r0/git/include -fno-builtin -ffreestanding -nostdinc -isystem /local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/../../lib/armv7a-vfp-neon-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.3/include -pipe -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux -mno-thumb-interwork -march=armv5 -Wall -Wstrict-prototypes -fno-stack-protector -fno-toplevel-reorder -o stubs.o stubs.c -c
>>> | arm-poky-linux-gnueabi-ld -r -o libstubs.o stubs.o
>>> | arm-poky-linux-gnueabi-ld -g -Ttext 0x80300000 \
>>> | -o hello_world -e hello_world hello_world.o libstubs.o \
>>> | -L. -lgcc
>>> | arm-poky-linux-gnueabi-ld: cannot find -lgcc
>>> | make[1]: *** [hello_world] Error 1
>>>
>>> Signed-off-by: Matthew McClintock <msm@freescale.com>
>>> ---
>>> meta/recipes-bsp/u-boot/u-boot.inc | 2 +-
>>> meta/recipes-bsp/u-boot/u-boot_2011.03.bb | 2 +-
>>> meta/recipes-bsp/u-boot/u-boot_2011.06.bb | 2 +-
>>> meta/recipes-bsp/u-boot/u-boot_2012.04.01.bb | 1 +
>>> 4 files changed, 4 insertions(+), 3 deletions(-)
>>
>>
>> Merged to master, thanks.
>
> While trying to migrate the u-boot support for our machine from oe-classic i hit a problem with this patch. :(
>
> The
>
> EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}"'
>
> in u-boot.inc leads to compiling problems with some build support tools. The tools (e.g. bmp_logo) are now compiled with the target compiler (arm-oe-linux-gnueabi-gcc in our case) instead of the host compiler. This results in build errors like
>
> | ./bmp_logo logos/denx.bmp >/pm/sledz/oe-core/build/tmp-eglibc/work/hipox-oe-linux-gnueabi/u-boot-v2009.03+git91+e60beb13cf0135dc71c541021487b5ccc4d269cb-r8/git/include/bmp_logo.h
> | /bin/sh: ./bmp_logo: cannot execute binary file
>
> Reverting to
>
> EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX}'
>
> seems to fix this problem.
That however will break building from sstate... we might need to patch
u-boot's Makefiles here...
-M
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] u-boot.inc: update linker arguments to pass --sysroot arg (BUILD BREAKAGE)
[not found] ` <CAEsOVNdBpH__03pF_M4eHbb+Etanx0AfAh3U-5vHAXoGcueKzQ@mail.gmail.com>
@ 2012-10-29 18:08 ` McClintock Matthew-B29882
2012-10-31 7:02 ` Steffen Sledz
0 siblings, 1 reply; 6+ messages in thread
From: McClintock Matthew-B29882 @ 2012-10-29 18:08 UTC (permalink / raw)
To: Steffen Sledz; +Cc: Patches and discussions about the oe-core layer
On Mon, Oct 29, 2012 at 9:36 AM, Matthew McClintock <msm@freescale.com> wrote:
> On Mon, Oct 29, 2012 at 4:26 AM, Steffen Sledz <sledz@dresearch-fe.de> wrote:
>> On 29.07.2012 11:29, Richard Purdie wrote:
>>> On Thu, 2012-07-26 at 11:21 -0500, Matthew McClintock wrote:
>>>> If we are building from sstate-cache it's possible to be building
>>>> from another folder on another machine, therefore the linker requires
>>>> that a proper --sysroot is passed too it so it can find things like
>>>> libgcc.a and avoid errors such as:
>>>>
>>>> | arm-poky-linux-gnueabi-gcc -g -O2 -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x80008000 -I/local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/work/beagleboard-poky-linux-gnueabi/u-boot-v2011.06+git5+b1af6f532e0d348b153d5c148369229d24af361a-r0/git/include -fno-builtin -ffreestanding -nostdinc -isystem /local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/../../lib/armv7a-vfp-neon-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.3/include -pipe -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux -mno-thumb-interwork -march=armv5 -Wall -Wstrict-prototypes -fno-stack-protector -fno-toplevel-reorder -o hello_world.o hello_world.c -c
>>>> | arm-poky-linux-gnueabi-gcc -g -O2 -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x80008000 -I/local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/work/beagleboard-poky-linux-gnueabi/u-boot-v2011.06+git5+b1af6f532e0d348b153d5c148369229d24af361a-r0/git/include -fno-builtin -ffreestanding -nostdinc -isystem /local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/../../lib/armv7a-vfp-neon-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.3/include -pipe -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux -mno-thumb-interwork -march=armv5 -Wall -Wstrict-prototypes -fno-stack-protector -fno-toplevel-reorder -o stubs.o stubs.c -c
>>>> | arm-poky-linux-gnueabi-ld -r -o libstubs.o stubs.o
>>>> | arm-poky-linux-gnueabi-ld -g -Ttext 0x80300000 \
>>>> | -o hello_world -e hello_world hello_world.o libstubs.o \
>>>> | -L. -lgcc
>>>> | arm-poky-linux-gnueabi-ld: cannot find -lgcc
>>>> | make[1]: *** [hello_world] Error 1
>>>>
>>>> Signed-off-by: Matthew McClintock <msm@freescale.com>
>>>> ---
>>>> meta/recipes-bsp/u-boot/u-boot.inc | 2 +-
>>>> meta/recipes-bsp/u-boot/u-boot_2011.03.bb | 2 +-
>>>> meta/recipes-bsp/u-boot/u-boot_2011.06.bb | 2 +-
>>>> meta/recipes-bsp/u-boot/u-boot_2012.04.01.bb | 1 +
>>>> 4 files changed, 4 insertions(+), 3 deletions(-)
>>>
>>>
>>> Merged to master, thanks.
>>
>> While trying to migrate the u-boot support for our machine from oe-classic i hit a problem with this patch. :(
>>
>> The
>>
>> EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}"'
>>
>> in u-boot.inc leads to compiling problems with some build support tools. The tools (e.g. bmp_logo) are now compiled with the target compiler (arm-oe-linux-gnueabi-gcc in our case) instead of the host compiler. This results in build errors like
>>
>> | ./bmp_logo logos/denx.bmp >/pm/sledz/oe-core/build/tmp-eglibc/work/hipox-oe-linux-gnueabi/u-boot-v2009.03+git91+e60beb13cf0135dc71c541021487b5ccc4d269cb-r8/git/include/bmp_logo.h
>> | /bin/sh: ./bmp_logo: cannot execute binary file
>>
>> Reverting to
>>
>> EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX}'
>>
>> seems to fix this problem.
>
> That however will break building from sstate... we might need to patch
> u-boot's Makefiles here...
Looking closer you are using a really old u-boot. Can you update? The
Makefile for bmp_logo uses HOSTCC so this should not be an issue with
a recent u-boot.
-M
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] u-boot.inc: update linker arguments to pass --sysroot arg (BUILD BREAKAGE)
2012-10-29 18:08 ` McClintock Matthew-B29882
@ 2012-10-31 7:02 ` Steffen Sledz
0 siblings, 0 replies; 6+ messages in thread
From: Steffen Sledz @ 2012-10-31 7:02 UTC (permalink / raw)
To: McClintock Matthew-B29882; +Cc: Patches and discussions about the oe-core layer
On 29.10.2012 19:08, McClintock Matthew-B29882 wrote:
> On Mon, Oct 29, 2012 at 9:36 AM, Matthew McClintock <msm@freescale.com> wrote:
>> On Mon, Oct 29, 2012 at 4:26 AM, Steffen Sledz <sledz@dresearch-fe.de> wrote:
>>> On 29.07.2012 11:29, Richard Purdie wrote:
>>>> On Thu, 2012-07-26 at 11:21 -0500, Matthew McClintock wrote:
>>>>> If we are building from sstate-cache it's possible to be building
>>>>> from another folder on another machine, therefore the linker requires
>>>>> that a proper --sysroot is passed too it so it can find things like
>>>>> libgcc.a and avoid errors such as:
>>>>>
>>>>> | arm-poky-linux-gnueabi-gcc -g -O2 -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x80008000 -I/local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/work/beagleboard-poky-linux-gnueabi/u-boot-v2011.06+git5+b1af6f532e0d348b153d5c148369229d24af361a-r0/git/include -fno-builtin -ffreestanding -nostdinc -isystem /local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/../../lib/armv7a-vfp-neon-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.3/include -pipe -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux -mno-thumb-interwork -march=armv5 -Wall -Wstrict-prototypes -fno-stack-protector -fno-toplevel-reorder -o hello_world.o hello_world.c -c
>>>>> | arm-poky-linux-gnueabi-gcc -g -O2 -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x80008000 -I/local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/work/beagleboard-poky-linux-gnueabi/u-boot-v2011.06+git5+b1af6f532e0d348b153d5c148369229d24af361a-r0/git/include -fno-builtin -ffreestanding -nostdinc -isystem /local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/../../lib/armv7a-vfp-neon-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.3/include -pipe -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux -mno-thumb-interwork -march=armv5 -Wall -Wstrict-prototypes -fno-stack-protector -fno-toplevel-reorder -o stubs.o stubs.c -c
>>>>> | arm-poky-linux-gnueabi-ld -r -o libstubs.o stubs.o
>>>>> | arm-poky-linux-gnueabi-ld -g -Ttext 0x80300000 \
>>>>> | -o hello_world -e hello_world hello_world.o libstubs.o \
>>>>> | -L. -lgcc
>>>>> | arm-poky-linux-gnueabi-ld: cannot find -lgcc
>>>>> | make[1]: *** [hello_world] Error 1
>>>>>
>>>>> Signed-off-by: Matthew McClintock <msm@freescale.com>
>>>>> ---
>>>>> meta/recipes-bsp/u-boot/u-boot.inc | 2 +-
>>>>> meta/recipes-bsp/u-boot/u-boot_2011.03.bb | 2 +-
>>>>> meta/recipes-bsp/u-boot/u-boot_2011.06.bb | 2 +-
>>>>> meta/recipes-bsp/u-boot/u-boot_2012.04.01.bb | 1 +
>>>>> 4 files changed, 4 insertions(+), 3 deletions(-)
>>>>
>>>>
>>>> Merged to master, thanks.
>>>
>>> While trying to migrate the u-boot support for our machine from oe-classic i hit a problem with this patch. :(
>>>
>>> The
>>>
>>> EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}"'
>>>
>>> in u-boot.inc leads to compiling problems with some build support tools. The tools (e.g. bmp_logo) are now compiled with the target compiler (arm-oe-linux-gnueabi-gcc in our case) instead of the host compiler. This results in build errors like
>>>
>>> | ./bmp_logo logos/denx.bmp >/pm/sledz/oe-core/build/tmp-eglibc/work/hipox-oe-linux-gnueabi/u-boot-v2009.03+git91+e60beb13cf0135dc71c541021487b5ccc4d269cb-r8/git/include/bmp_logo.h
>>> | /bin/sh: ./bmp_logo: cannot execute binary file
>>>
>>> Reverting to
>>>
>>> EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX}'
>>>
>>> seems to fix this problem.
>>
>> That however will break building from sstate... we might need to patch
>> u-boot's Makefiles here...
>
> Looking closer you are using a really old u-boot. Can you update? The
> Makefile for bmp_logo uses HOSTCC so this should not be an issue with
> a recent u-boot.
You're right. We use a rather old version. Unfortunatly we are bound to it for the moment. :(
Until we can switch to a newer version i'll use a machine specific override for EXTRA_OEMAKE. I think this will be reasonable solution for this case.
Regards,
Steffen
--
DResearch Fahrzeugelektronik GmbH
Otto-Schmirgal-Str. 3, 10319 Berlin, Germany
Tel: +49 30 515932-237 mailto:sledz@dresearch-fe.de
Fax: +49 30 515932-299
Geschäftsführer: Dr. Michael Weber, Werner Mögle;
Amtsgericht Berlin Charlottenburg; HRB 130120 B;
Ust.-IDNr. DE273952058
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2012-10-31 7:16 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-26 16:21 [PATCH] u-boot.inc: update linker arguments to pass --sysroot arg Matthew McClintock
2012-07-29 9:29 ` Richard Purdie
2012-10-29 9:26 ` [PATCH] u-boot.inc: update linker arguments to pass --sysroot arg (BUILD BREAKAGE) Steffen Sledz
2012-10-29 14:36 ` McClintock Matthew-B29882
[not found] ` <CAEsOVNdBpH__03pF_M4eHbb+Etanx0AfAh3U-5vHAXoGcueKzQ@mail.gmail.com>
2012-10-29 18:08 ` McClintock Matthew-B29882
2012-10-31 7:02 ` Steffen Sledz
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox