Since installation of foreign toolchains in Scratchbox 1.0.2 is difficult so I am trying to build a new toolchain based on an existing configuration file. I need to build a gcc3.3-glibc2.3.2 toolchain for ARM with software FP support. I started with the file meta/toolchain/arm-gcc3.3-glibc.conf and set the USE_SOFTFLOAT to "yes", changed the COMPILER_NAME. The build errored out while building strace, I'm pasting the error message below. Most of the toolchain was already built before this. Running the test scripts didn't give any errors. However when I tried to build some of my old code that links against libraries using software FP (these were built using my other toolchain) I got linker errors indicating that the new toolchain still uses hardware FP. I'm pasting these errors also below.
Looking around on the web it seems that for building a scratchbox toolchain with soft-float support I might need to apply additional patches. Can someone tell me if these patches are available for download? Can't tell from the download site: http://www.scratchbox.org/download/files/sbox-files/ if it has the patches I am looking for. I believe Scratchbox 0.9.8 had a gcc-glibc toolchain for arm with software FP support, I tried installing that toolchain in Scratchbox 1.0.2, but it doesn't show up in sb-menu. Perhaps its not compatible with the latest sb version any more. Would appreciate it if someone could tell me how I can build a sb gcc3.3-glibc2.3.2 toolchain for arm with software FP. Error messages pasted below, my toolchain build config file is attached. Thanks, Rohit FP incompatibility errors: /scratchbox/compilers/softfloat-arm-linux-gcc3.3-glibc2.3/lib/gcc-lib/arm-linux/3.3.4/../../../../arm-linux/bin/ld: ERROR: /scratchbox/compilers/softfloat-arm-linux-gcc3.3-glibc2.3/lib/gcc-lib/arm-linux/3.3.4/../../../../arm-linux/lib/libstdc++.so uses FPA instructions, whereas hello does not /scratchbox/compilers/softfloat-arm-linux-gcc3.3-glibc2.3/lib/gcc-lib/arm-linux/3.3.4/../../../../arm-linux/bin/ld: ERROR: /scratchbox/compilers/softfloat-arm-linux-gcc3.3-glibc2.3/lib/gcc-lib/arm-linux/3.3.4/../../../../arm-linux/lib/libstdc++.so uses hardware FP, whereas hello uses software FP ....a whole bunch of similar error messages follow after this strace build error: cd work/strace-4.5.8;\ make install; make[3]: Entering directory `/home/rohit/sb-toolchains-1.0.2/device_tools/strace/work/strace-4.5.8' make install-am make[4]: Entering directory `/home/rohit/sb-toolchains-1.0.2/device_tools/strace/work/strace-4.5.8' if /scratchbox/compilers/softfloat-arm-linux-gcc3.3-glibc2.3/bin/arm-linux-gcc -DHAVE_CONFIG_H -I. -I. -I. -Ilinux/arm -I./linux/arm -Ilinux -I./linux -Wall -D_GNU_SOURCE -MT strace.o -MD -MP -MF ".deps/strace.Tpo" -c -o strace.o strace.c; \ then mv -f ".deps/strace.Tpo" ".deps/strace.Po"; else rm -f ".deps/strace.Tpo"; exit 1; fi if /scratchbox/compilers/softfloat-arm-linux-gcc3.3-glibc2.3/bin/arm-linux-gcc -DHAVE_CONFIG_H -I. -I. -I. -Ilinux/arm -I./linux/arm -Ilinux -I./linux -Wall -D_GNU_SOURCE -MT syscall.o -MD -MP -MF ".deps/syscall.Tpo" -c -o syscall.o syscall.c; \ then mv -f ".deps/syscall.Tpo" ".deps/syscall.Po"; else rm -f ".deps/syscall.Tpo"; exit 1; fi syscall.c: In function `get_scno': syscall.c:990: warning: passing arg 4 of `ptrace' makes integer from pointer without a cast syscall.c:996: error: invalid use of undefined type `struct pt_regs' syscall.c:1000: error: invalid use of undefined type `struct pt_regs' syscall.c:1004: error: invalid use of undefined type `struct pt_regs' syscall.c:1010: error: invalid use of undefined type `struct pt_regs' syscall.c:1010: warning: passing arg 4 of `ptrace' makes integer from pointer without a cast syscall.c: In function `syscall_fixup': syscall.c:1259: warning: unused variable `pid' syscall.c: In function `get_error': syscall.c:1487: error: invalid use of undefined type `struct pt_regs' syscall.c:1487: error: invalid use of undefined type `struct pt_regs' syscall.c:1489: error: invalid use of undefined type `struct pt_regs' syscall.c:1492: error: invalid use of undefined type `struct pt_regs' syscall.c: In function `force_result': syscall.c:1723: error: invalid use of undefined type `struct pt_regs' syscall.c:1724: error: invalid use of undefined type `struct pt_regs' syscall.c: In function `syscall_enter': syscall.c:1998: error: invalid use of undefined type `struct pt_regs' syscall.c:1836: warning: unused variable `pid' syscall.c: At top level: syscall.c:742: error: storage size of `regs' isn't known make[4]: *** [syscall.o] Error 1 make[4]: Leaving directory `/home/rohit/sb-toolchains-1.0.2/device_tools/strace/work/strace-4.5.8'make[3]: *** [install] Error 2 make[3]: Leaving directory `/home/rohit/sb-toolchains-1.0.2/device_tools/strace/work/strace-4.5.8'make[2]: *** [install-strace] Error 2 make[2]: Leaving directory `/home/rohit/sb-toolchains-1.0.2/device_tools/strace' make[1]: *** [build-strace] Error 2 make[1]: Leaving directory `/home/rohit/sb-toolchains-1.0.2/meta/device_tools' make: *** [build] Error 2
softfloat-arm-gcc3.3-glibc.conf
Description: Binary data
_______________________________________________ Scratchbox-users mailing list [email protected] http://lists.scratchbox.org/cgi-bin/mailman/listinfo/scratchbox-users
