When trying to build U-Boot under Buildroot and OpenEmbedded, I run into a problem:
When linking u-boot the linker seems to use the div0 from the C compiler libgcc instead of the u-boot div0. gcc div0 for ARM contains a call to "raise" which is not defined in libgcc.a (someone said it was part of glibc), so the linking process fails due to no "raise" symbol gcc/config/arm/lib1funcs.asm contains: FUNC_START div0 tmfd sp!, {r1, lr} mov r0, #SIGFPE bl SYM(raise) __PLT__ ... The problem can be fixed by patching the C compiler: + bl SYM(raise) __PLT__ + bl SYM(_div0) __PLT__ ------ What I'd like to know: Is there a way to fix this in u-boot? Tried creating a "raise" function in libarm/board.c void raise(void) { hang(); } which did not work. I later saw that raise needs a parameter, but it complained that raise is not found, and not that the parameters is wrong. Is board.c not included in the link? Anyone else got this problem? BR Ulf Samuelsson _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot