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

Attachment: 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

Reply via email to