Date: Fri, 17 Jun 2011 18:50:22 +0200 From: Damjan Marion <damjan.marion@gmail.com> To: toolchain@freebsd.org Subject: cross-compiling for arm with clang Message-ID: <D0F647ED-4AB2-4A61-AD37-423F0AF9805D@gmail.com>
next in thread | raw e-mail | index | archive | help
Hi,=20 Im trying to fix cross-compiling for arm architecture using clang. I = added following patch: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- Makefile.inc1 (revision 223085) +++ Makefile.inc1 (working copy) @@ -226,6 +226,11 @@ GROFF_TMAC_PATH=3D${WORLDTMP}/legacy/usr/share/tmac .endif =20 +.if ${TARGET_ARCH} !=3D ${MACHINE_ARCH} && ${CC:T:Mclang} =3D=3D = "clang" +CROSSENV+=3D CC=3D"${CC} -ccc-host-triple = ${TARGET_ARCH}-elf-freebsd" \ + CXX=3D"${CXX} -ccc-host-triple = ${TARGET_ARCH}-elf-freebsd" +.endif + # bootstrap-tools stage BMAKEENV=3D INSTALL=3D"sh ${.CURDIR}/tools/install.sh" \ PATH=3D${BPATH}:${PATH} \ Now it compiles up to stage 4.2 where it fails (). For some reason = -ccc-host-triple is not passed to compiler, but it is defined in CC.=20 Is CROSSENV right place to add -ccc-host-triple ? Any hints? Thanks, Damjan # make CC=3Dclang CXX=3Dclang++ TARGET=3Darm TARGET_CPUTYPE=3Dcortex-a9 = -DNO_CLEAN _libraries -------------------------------------------------------------- >>> stage 4.2: building libraries -------------------------------------------------------------- cd /usr/src-svn; MAKEOBJDIRPREFIX=3D/zfs/data2/src/obj/arm.arm = MACHINE_ARCH=3Darm MACHINE=3Darm CPUTYPE=3Dcortex-a9 = GROFF_BIN_PATH=3D/zfs/data2/src/obj/arm.arm/usr/src-svn/tmp/legacy/usr/bin= = GROFF_FONT_PATH=3D/zfs/data2/src/obj/arm.arm/usr/src-svn/tmp/legacy/usr/sh= are/groff_font = GROFF_TMAC_PATH=3D/zfs/data2/src/obj/arm.arm/usr/src-svn/tmp/legacy/usr/sh= are/tmac CC=3D"clang -ccc-host-triple arm-elf-freebsd" CXX=3D"clang++ = -ccc-host-triple arm-elf-freebsd" = _SHLIBDIRPREFIX=3D/zfs/data2/src/obj/arm.arm/usr/src-svn/tmp = VERSION=3D"FreeBSD 9.0-CURRENT i386 900036" INSTALL=3D"sh = /usr/src-svn/tools/install.sh" = PATH=3D/zfs/data2/src/obj/arm.arm/usr/src-svn/tmp/legacy/usr/sbin:/zfs/dat= a2/src/obj/arm.arm/usr/src-svn/tmp/legacy/usr/bin:/zfs/data2/src/obj/arm.a= rm/usr/src-svn/tmp/legacy/usr/games:/zfs/data2/src/obj/arm.arm/usr/src-svn= /tmp/usr/sbin:/zfs/data2/src/obj/arm.arm/usr/src-svn/tmp/usr/bin:/zfs/data= 2/src/obj/arm.arm/usr/src-svn/tmp/usr/games:/sbin:/bin:/usr/sbin:/usr/bin = make -f Makefile.inc1 DESTDIR=3D/zfs/data2/src/obj/arm.arm/usr/src-svn/tmp= -DNO_FSCHG -DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT -DWITHOUT_MAN = -DWITHOUT_PROFILE libraries cd /usr/src-svn; make -f Makefile.inc1 _prereq_libs; make -f = Makefile.inc1 _startup_libs; make -f Makefile.inc1 _prebuild_libs; = make -f Makefile.inc1 _generic_libs; =3D=3D=3D> gnu/lib/libssp/libssp_nonshared (obj,depend,all,install) sh /usr/src-svn/tools/install.sh -C -o root -g wheel -m 444 = libssp_nonshared.a /zfs/data2/src/obj/arm.arm/usr/src-svn/tmp/usr/lib =3D=3D=3D> gnu/lib/libgcc (obj,depend,all,install) sh /usr/src-svn/tools/install.sh -C -o root -g wheel -m 444 = libgcc_eh.a /zfs/data2/src/obj/arm.arm/usr/src-svn/tmp/usr/lib =3D=3D=3D> lib/libcompiler_rt (obj,depend,all,install) sh /usr/src-svn/tools/install.sh -C -o root -g wheel -m 444 = libcompiler_rt.a /zfs/data2/src/obj/arm.arm/usr/src-svn/tmp/usr/lib /zfs/data2/src/obj/arm.arm/usr/src-svn/tmp/usr/lib/libgcc.a -> = libcompiler_rt.a =3D=3D=3D> gnu/lib/csu (obj,depend,all,install) sh /usr/src-svn/tools/install.sh -o root -g wheel -m 444 crtbegin.o = /zfs/data2/src/obj/arm.arm/usr/src-svn/tmp/usr/lib/crtbegin.o sh /usr/src-svn/tools/install.sh -o root -g wheel -m 444 crtend.o = /zfs/data2/src/obj/arm.arm/usr/src-svn/tmp/usr/lib/crtend.o sh /usr/src-svn/tools/install.sh -o root -g wheel -m 444 crtbeginT.o = /zfs/data2/src/obj/arm.arm/usr/src-svn/tmp/usr/lib/crtbeginT.o sh /usr/src-svn/tools/install.sh -o root -g wheel -m 444 crtbegin.So = /zfs/data2/src/obj/arm.arm/usr/src-svn/tmp/usr/lib/crtbeginS.o sh /usr/src-svn/tools/install.sh -o root -g wheel -m 444 crtend.So = /zfs/data2/src/obj/arm.arm/usr/src-svn/tmp/usr/lib/crtendS.o =3D=3D=3D> lib/csu/arm (obj,depend,all,install) clang -O -pipe -mcpu=3Dcortex-a9 -I/usr/src-svn/lib/csu/arm/../common = -I/usr/src-svn/lib/csu/arm/../../libc/include -std=3Dgnu99 = -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter = -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type = -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter = -Wcast-align -Wchar-subscripts -Winline -Wnested-externs = -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c -o crt1.o = crt1.s clang: warning: argument unused during compilation: '-mcpu=3Dcortex-a9' clang: warning: argument unused during compilation: '-I = /usr/src-svn/lib/csu/arm/../common' clang: warning: argument unused during compilation: '-I = /usr/src-svn/lib/csu/arm/../../libc/include' clang: warning: argument unused during compilation: '-std=3Dgnu99' clang: warning: argument unused during compilation: '-Wsystem-headers' clang: warning: argument unused during compilation: '-Wall' clang: warning: argument unused during compilation: '-Wno-format-y2k' clang: warning: argument unused during compilation: '-W' clang: warning: argument unused during compilation: = '-Wno-unused-parameter' clang: warning: argument unused during compilation: = '-Wstrict-prototypes' clang: warning: argument unused during compilation: = '-Wmissing-prototypes' clang: warning: argument unused during compilation: '-Wpointer-arith' clang: warning: argument unused during compilation: '-Wreturn-type' clang: warning: argument unused during compilation: '-Wcast-qual' clang: warning: argument unused during compilation: '-Wwrite-strings' clang: warning: argument unused during compilation: '-Wswitch' clang: warning: argument unused during compilation: '-Wshadow' clang: warning: argument unused during compilation: '-Wunused-parameter' clang: warning: argument unused during compilation: '-Wcast-align' clang: warning: argument unused during compilation: '-Wchar-subscripts' clang: warning: argument unused during compilation: '-Winline' clang: warning: argument unused during compilation: '-Wnested-externs' clang: warning: argument unused during compilation: '-Wredundant-decls' clang: warning: argument unused during compilation: = '-Wold-style-definition' clang: warning: argument unused during compilation: '-Wno-pointer-sign' crt1.s:11:2: error: unknown use of instruction mnemonic without a size = suffix mov r5, r2 /* cleanup */ =20 ^ crt1.s:12:2: error: unknown use of instruction mnemonic without a size = suffix mov r4, r1 /* obj_main */ =20 ^ crt1.s:13:2: error: unknown use of instruction mnemonic without a size = suffix mov r3, r0 /* ps_strings */ ^ crt1.s:15:13: error: expected ']' in brackets expression ldr r0, [sp, #0x0000] ^ crt1.s:16:14: error: unknown token in expression add r1, sp, #0x0004=20 ^ crt1.s:17:2: error: unknown use of instruction mnemonic without a size = suffix add r2, r1, r0, lsl #2 ^ crt1.s:18:14: error: unknown token in expression add r2, r2, #0x0004=20 ^ crt1.s:20:14: error: unknown token in expression bic sp, sp, #7 ^ crt1.s:21:14: error: unknown token in expression sub sp, sp, #8 ^ crt1.s:22:13: error: expected ']' in brackets expression str r5, [sp, #4] ^ crt1.s:23:13: error: expected ']' in brackets expression str r4, [sp, #0] ^ crt1.s:25:2: error: invalid instruction mnemonic 'b' b __start =20 ^ *** Error code 1 Stop in /usr/src-svn/lib/csu/arm. *** Error code 1 Stop in /usr/src-svn. *** Error code 1 Stop in /usr/src-svn. *** Error code 1 Stop in /usr/src-svn. *** Error code 1 Stop in /usr/src-svn.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?D0F647ED-4AB2-4A61-AD37-423F0AF9805D>