Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] gcc-4.1.2 eabi softfloat toolchain, undefined reference to "raise"
@ 2007-04-26  8:02 Konstantin Kletschke
  2007-04-30 12:57 ` Bernhard Fischer
  0 siblings, 1 reply; 5+ messages in thread
From: Konstantin Kletschke @ 2007-04-26  8:02 UTC (permalink / raw)
  To: buildroot

I have a toolcahin working quite well: gcc-4.1.2 binutils-2.17, generic
arm softfloat supporting EABI. This works with kernel and userspace
well. Only on u-boot it fails at the final stage:

UNDEF_SYM=`arm-linux-objdump -x lib_generic/libgeneric.a board/scb9328/libscb9328.a cpu/arm920t/libarm920t.a cpu/arm920t/imx/libimx.a lib_arm/libarm.a fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a net/libnet.a disk/libdisk.a rtc/librtc.a dtt/libdtt.a drivers/libdrivers.a drivers/nand/libnand.a drivers/nand_legacy/libnand_legacy.a drivers/sk98lin/libsk98lin.a post/libpost.a post/cpu/libcpu.a common/libcommon.a |sed  -n -e 's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
                cd /usr/src/u-boot/1.2.0 && arm-linux-ld -Bstatic -T /usr/src/u-boot/1.2.0/board/scb9328/u-boot.lds -Ttext 0x08f00000  $UNDEF_SYM cpu/arm920t/start.o \
                        --start-group lib_generic/libgeneric.a board/scb9328/libscb9328.a cpu/arm920t/libarm920t.a cpu/arm920t/imx/libimx.a lib_arm/libarm.a fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a net/libnet.a disk/libdisk.a rtc/librtc.a dtt/libdtt.a drivers/libdrivers.a drivers/nand/libnand.a drivers/nand_legacy/libnand_legacy.a drivers/sk98lin/libsk98lin.a post/libpost.a post/cpu/libcpu.a common/libcommon.a --end-group -L /usr/local/arm/gcc-4.1.2/lib/gcc/arm-linux-uclibcgnueabi/4.1.2 -lgcc \
                        -Map u-boot.map -o u-boot
/usr/local/arm/gcc-4.1.2/lib/gcc/arm-linux-uclibcgnueabi/4.1.2/libgcc.a(_dvmd_lnx.o): In function `__div0':
/usr/src/br/buildroot-20070206/toolchain_build_arm_nofpu/gcc-4.1.2-20070128/gcc/config/arm/lib1funcs.asm:1000: undefined reference to `raise'
make: *** [u-boot] Error 1

Well, compiling u-boot works fine with another arch (pxa xscale), only my arm9 
i.MX arch triggers a bug here. Does somebody have an advise or tip for
me how to fix this?

Kind Regards, Konsti

-- 
GPG KeyID EF62FCEF
Fingerprint: 13C9 B16B 9844 EC15 CC2E  A080 1E69 3FDA EF62 FCEF

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] gcc-4.1.2 eabi softfloat toolchain, undefined reference to "raise"
  2007-04-26  8:02 [Buildroot] gcc-4.1.2 eabi softfloat toolchain, undefined reference to "raise" Konstantin Kletschke
@ 2007-04-30 12:57 ` Bernhard Fischer
  2007-05-03  8:35   ` Konstantin Kletschke
  0 siblings, 1 reply; 5+ messages in thread
From: Bernhard Fischer @ 2007-04-30 12:57 UTC (permalink / raw)
  To: buildroot

On Thu, Apr 26, 2007 at 10:02:59AM +0200, Konstantin Kletschke wrote:
>I have a toolcahin working quite well: gcc-4.1.2 binutils-2.17, generic
>arm softfloat supporting EABI. This works with kernel and userspace
>well. Only on u-boot it fails at the final stage:
>
>UNDEF_SYM=`arm-linux-objdump -x lib_generic/libgeneric.a board/scb9328/libscb9328.a cpu/arm920t/libarm920t.a cpu/arm920t/imx/libimx.a lib_arm/libarm.a fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a net/libnet.a disk/libdisk.a rtc/librtc.a dtt/libdtt.a drivers/libdrivers.a drivers/nand/libnand.a drivers/nand_legacy/libnand_legacy.a drivers/sk98lin/libsk98lin.a post/libpost.a post/cpu/libcpu.a common/libcommon.a |sed  -n -e 's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
>                cd /usr/src/u-boot/1.2.0 && arm-linux-ld -Bstatic -T /usr/src/u-boot/1.2.0/board/scb9328/u-boot.lds -Ttext 0x08f00000  $UNDEF_SYM cpu/arm920t/start.o \
>                        --start-group lib_generic/libgeneric.a board/scb9328/libscb9328.a cpu/arm920t/libarm920t.a cpu/arm920t/imx/libimx.a lib_arm/libarm.a fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a net/libnet.a disk/libdisk.a rtc/librtc.a dtt/libdtt.a drivers/libdrivers.a drivers/nand/libnand.a drivers/nand_legacy/libnand_legacy.a drivers/sk98lin/libsk98lin.a post/libpost.a post/cpu/libcpu.a common/libcommon.a --end-group -L /usr/local/arm/gcc-4.1.2/lib/gcc/arm-linux-uclibcgnueabi/4.1.2 -lgcc \
>                        -Map u-boot.map -o u-boot
>/usr/local/arm/gcc-4.1.2/lib/gcc/arm-linux-uclibcgnueabi/4.1.2/libgcc.a(_dvmd_lnx.o): In function `__div0':
>/usr/src/br/buildroot-20070206/toolchain_build_arm_nofpu/gcc-4.1.2-20070128/gcc/config/arm/lib1funcs.asm:1000: undefined reference to `raise'
>make: *** [u-boot] Error 1

This is a known bug with gcc. There is a bugfix (that i don't really
understand and consequently don't know if it is really accurate)
floating around for this one.

If in doubt, please file a PR in http://gcc.gnu.org/bugzilla/ about this bug
and perhaps add a pointer to the patch if this bug is not yet entered in
bugzilla.

TIA,
>
>Well, compiling u-boot works fine with another arch (pxa xscale), only my arm9 
>i.MX arch triggers a bug here. Does somebody have an advise or tip for
>me how to fix this?

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] gcc-4.1.2 eabi softfloat toolchain, undefined reference to "raise"
  2007-04-30 12:57 ` Bernhard Fischer
@ 2007-05-03  8:35   ` Konstantin Kletschke
  2007-05-03  9:57     ` Bernhard Fischer
  0 siblings, 1 reply; 5+ messages in thread
From: Konstantin Kletschke @ 2007-05-03  8:35 UTC (permalink / raw)
  To: buildroot

Am 2007-04-30 14:57 +0200 schrieb Bernhard Fischer:

> This is a known bug with gcc. There is a bugfix (that i don't really
> understand and consequently don't know if it is really accurate)
> floating around for this one.

Well I searched like mad but I did not find one.
I digged around and added an empty raise() function and my bootloader
compiled after that and the binary runs fine so far. Hmm...

> If in doubt, please file a PR in http://gcc.gnu.org/bugzilla/ about this bug
> and perhaps add a pointer to the patch if this bug is not yet entered in
> bugzilla.

I will enter it. 

Regards, Konsti

-- 
synertronixx GmbH
Dipl.-Ing. (FH) Konstantin Kletschke
Vahrenwalder Str. 7
30165 Hannover
Tel.    : 0511 / 3574 - 661
Fax     : 0511 / 93 57 - 679
E-mail  : kletschke at synertronixx.de
Internet: http://www.synertronixx.de
Vertretungsberechtigte Gesch?ftsf?hrer:
Marc-Oliver Borck, Dr. Matthias Blaschke
Registergericht: Amtsgericht Hannover
Registernummer: HRB 59670
USt-ID: DE 216 559 901

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] gcc-4.1.2 eabi softfloat toolchain, undefined reference to "raise"
  2007-05-03  8:35   ` Konstantin Kletschke
@ 2007-05-03  9:57     ` Bernhard Fischer
  2007-05-04  7:34       ` Konstantin Kletschke
  0 siblings, 1 reply; 5+ messages in thread
From: Bernhard Fischer @ 2007-05-03  9:57 UTC (permalink / raw)
  To: buildroot

On Thu, May 03, 2007 at 10:35:52AM +0200, Konstantin Kletschke wrote:
>Am 2007-04-30 14:57 +0200 schrieb Bernhard Fischer:
>
>> This is a known bug with gcc. There is a bugfix (that i don't really
>> understand and consequently don't know if it is really accurate)
>> floating around for this one.
>
>Well I searched like mad but I did not find one.

A quick google for these keywords:
__div0 raise arm softfloat

would have turned up said patch, fwiw.

>I digged around and added an empty raise() function and my bootloader
>compiled after that and the binary runs fine so far. Hmm...
>
>> If in doubt, please file a PR in http://gcc.gnu.org/bugzilla/ about this bug
>> and perhaps add a pointer to the patch if this bug is not yet entered in
>> bugzilla.
>
>I will enter it. 

TIA,

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] gcc-4.1.2 eabi softfloat toolchain, undefined reference to "raise"
  2007-05-03  9:57     ` Bernhard Fischer
@ 2007-05-04  7:34       ` Konstantin Kletschke
  0 siblings, 0 replies; 5+ messages in thread
From: Konstantin Kletschke @ 2007-05-04  7:34 UTC (permalink / raw)
  To: buildroot

Am 2007-05-03 11:57 +0200 schrieb Bernhard Fischer:

> A quick google for these keywords:
> __div0 raise arm softfloat

Well, one trace leads to an uClibc-gcc-41-raise-error.patch which yields
into a 404. But as I understand this "fixes" uClibc to compile but does
not change the toolchain itself.

Another trace yields into a discussion suggesting replacing u-boot's
__div(0) by a raise() stub. May be I did something like that with my
very ugly hack.

So did I understand right, that the libgcc calls raise() which is
provided by glibc not uClibc?

How comes only u-boot triggers that? I compiled many other stuff with
this toolchain, kernel and userspace leading into perfect working
binaries.

Kind regards, Konsti

-- 
synertronixx GmbH
Dipl.-Ing. (FH) Konstantin Kletschke
Vahrenwalder Str. 7
30165 Hannover
Tel.    : 0511 / 3574 - 661
Fax     : 0511 / 93 57 - 679
E-mail  : kletschke at synertronixx.de
Internet: http://www.synertronixx.de
Vertretungsberechtigte Gesch?ftsf?hrer:
Marc-Oliver Borck, Dr. Matthias Blaschke
Registergericht: Amtsgericht Hannover
Registernummer: HRB 59670
USt-ID: DE 216 559 901

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2007-05-04  7:34 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-04-26  8:02 [Buildroot] gcc-4.1.2 eabi softfloat toolchain, undefined reference to "raise" Konstantin Kletschke
2007-04-30 12:57 ` Bernhard Fischer
2007-05-03  8:35   ` Konstantin Kletschke
2007-05-03  9:57     ` Bernhard Fischer
2007-05-04  7:34       ` Konstantin Kletschke

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox