ARM EABI test image

Ronald Klop ronald-freebsd8 at klop.yi.org
Thu Mar 7 12:32:25 UTC 2013


On Wed, 06 Mar 2013 00:04:22 +0100, Ronald Klop  
<ronald-freebsd8 at klop.yi.org> wrote:

> On Sat, 02 Mar 2013 18:21:28 +0100, Ronald Klop  
> <ronald-freebsd8 at klop.yi.org> wrote:
>
>> On Sat, 02 Mar 2013 05:25:56 +0100, Andrew Turner  
>> <andrew at fubar.geek.nz> wrote:
>>
>>> Hello,
>>>
>>> I have built an updated ARM EABI test image for Raspberry Pi [1].
>>>
>>> The only known issue is c++ exception handling is broken when
>>> using in a dynamically linked executable. Static executables should
>>> work with c++ exceptions.
>>>
>>> To test it you will have to extract it using unxz and dd it to an sd
>>> card, for example, with a USB to SD adapter on /dev/da0:
>>> $ unxz bsd-pi-eabi-r247609.img.xz
>>> $ dd if=bsd-pi-eabi-r247609.img of=/dev/da0
>>>
>>> If you don't have a Raspberry Pi but would like to try it on your board
>>> you can add -DWITH_ARM_EABI to the make commands you use to build and
>>> install world and the kernel.
>>
>> Is this also interesing on the older SHEEVAPLUG?
>> If yes, I can test it somewhere next week.
>>
>> Ronald.
>>
>>>
>>> Can people try this as I would like to know if anything else is broken
>>> as this will become the default ABI for 10.
>>>
>>> Andrew
>>>
>>> [1] http://people.freebsd.org/~andrew/rpi/bsd-pi-eabi-r247609.img.xz
>
> I get this error. I cross-compile 10-CURRENT/arm for SHEEVAPLUG on  
> 9-STABLE/amd64.
> 10-CURRENT is just svn up'ed. I don't have special vars set for clang,  
> so it compiles with gcc AFAIK.
> No src.conf. Using these env vars for buildworld:
> export TARGET_ARCH=arm
> export KERNCONF=SHEEVAPLUG
> export WITH_NAND=yes
> export WITH_ARM_EABI=yes
>
> ...
> cc -O -pipe  -DLOADER_DISK_SUPPORT -DLOADER_UFS_SUPPORT  
> -DLOADER_NANDFS_SUPPORT -DLOADER_NET_SUPPORT -DLOADER_NFS_SUPPORT  
> -I/usr/src/sys/boot/arm/uboot/../../fdt  
> -I/usr/obj/arm.arm/usr/src/sys/boot/arm/uboot/../../fdt  
> -DLOADER_FDT_SUPPORT -DBOOT_FORTH  
> -I/usr/src/sys/boot/arm/uboot/../../ficl  
> -I/usr/src/sys/boot/arm/uboot/../../ficl/arm -DLOADER_DISK_SUPPORT  
> -DLOADER_GPT_SUPPORT -DLOADER_MBR_SUPPORT  
> -I/usr/src/sys/boot/arm/uboot/../../common -I. -ffreestanding  
> -I/usr/src/sys/boot/arm/uboot/../../uboot/common  
> -I/usr/src/sys/boot/arm/uboot/../../uboot/lib  
> -I/usr/obj/arm.arm/usr/src/sys/boot/arm/uboot/../../uboot/lib  
> -I/usr/src/sys/boot/arm/uboot/../../../../lib/libstand/ -std=gnu99  
> -Wsystem-headers -Werror -Wno-pointer-sign -nostdlib -static -T  
> ldscript.generated -T /usr/src/sys/boot/arm/uboot/ldscript.arm -o ubldr  
> start.o conf.o vers.o boot.o commands.o console.o devopen.o interp.o  
> interp_backslash.o interp_parse.o ls.o misc.o module.o panic.o  
> load_elf32.o reloc_elf32.o dev_net.o disk.o part.o crc32.o  
> interp_forth.o main.o metadata.o  
> /usr/obj/arm.arm/usr/src/sys/boot/arm/uboot/../../ficl/libficl.a  
> /usr/obj/arm.arm/usr/src/sys/boot/arm/uboot/../../uboot/lib/libuboot.a  
> /usr/obj/arm.arm/usr/src/sys/boot/arm/uboot/../../fdt/libfdt.a -lstand
> /usr/obj/arm.arm/usr/src/tmp/usr/lib/libstand.a(udivmoddi4.o): In  
> function `__udivmoddi4':
> udivmoddi4.c:(.text+0x154): undefined reference to `__ctzsi2'
> udivmoddi4.c:(.text+0x16c): undefined reference to `__clzsi2'
> udivmoddi4.c:(.text+0x178): undefined reference to `__clzsi2'
> udivmoddi4.c:(.text+0x214): undefined reference to `__ctzsi2'
> udivmoddi4.c:(.text+0x240): undefined reference to `__clzsi2'
> udivmoddi4.c:(.text+0x24c): undefined reference to `__clzsi2'
> udivmoddi4.c:(.text+0x2c0): undefined reference to `__clzsi2'
> udivmoddi4.c:(.text+0x2cc): undefined reference to `__clzsi2'
> /usr/obj/arm.arm/usr/src/tmp/usr/lib/libstand.a(udivsi3.o): In function  
> `__aeabi_uidiv':
> udivsi3.c:(.text+0x1c): undefined reference to `__clzsi2'
> /usr/obj/arm.arm/usr/src/tmp/usr/lib/libstand.a(udivsi3.o):udivsi3.c:(.text+0x28):  
> more undefined references to `__clzsi2' follow
> *** [ubldr] Error code 1
> 1 error
> *** [all] Error code 2
> 1 error
> *** [all] Error code 2
> 1 error
> *** [all] Error code 2
> 1 error
> *** [sys.all__D] Error code 2
> 1 error
> *** [everything] Error code 2
> 1 error
> *** [buildworld] Error code 2
> 1 error
>
> If you need more info please tell.
>
> Ronald.

I saw the commit to libstand.
http://svnweb.freebsd.org/base?view=revision&revision=247912
Buildworld and buildkernel complete correctly now. I can test an install  
at the end of next week.

Ronald.


More information about the freebsd-arm mailing list