Date: Sun, 15 Mar 2015 14:20:00 -0400 From: Peter Garshtja <peter.garshtja@ambient-md.com> To: Russell Haley <russ.haley@gmail.com> Cc: freebsd-arm <freebsd-arm@freebsd.org> Subject: Re: Building Cross Compiler and u-boot Message-ID: <5505CD50.2050503@ambient-md.com> In-Reply-To: <CALFUBVFVDLz=NCuTT5LTYm%2BCycW5C2GmcK6TB%2B7cdvG2zZHgKg@mail.gmail.com> References: <CABx9NuQXb_FJMw%2BqwbaGuFX94LkEMRf_9kAuowk6ctYBEDQn=A@mail.gmail.com> <CALFUBVFVDLz=NCuTT5LTYm%2BCycW5C2GmcK6TB%2B7cdvG2zZHgKg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
here is gcc cross compiler FreeBSD 10.X |make XDEV=arm XDEV_ARCH=armv6 WITH_GCC=1 WITH_GCC_BOOTSTRAP=1 WITHOUT_CLANG=1 WITHOUT_CLANG_BOOTSTRAP=1 WITHOUT_CLANG_IS_CC=1 xdev| FreeBSD HEAD |make XDEV=arm XDEV_ARCH=armv6 WITH_GCC=1 WITH_GCC_BOOTSTRAP=1 WITHOUT_CLANG=1 WITHOUT_CLANG_BOOTSTRAP=1 WITHOUT_CLANG_IS_CC=1 xdev xdev-links| Regards, Peter On 3/15/2015 7:48 AM, peter garshtja wrote: > Hi, > > You need GCC compiler for u-boot. > > I will send you later the make command that will build GCC cross compiler > > On Sunday, March 15, 2015, Russell Haley <russ.haley@gmail.com > <mailto:russ.haley@gmail.com>> wrote: > > Hello I am trying to build the cross compile tools and make u-boot. > > > > Tim Kientzle spoke about two ways of getting cross compilers for > > outside of building FreeBDS: > > > > 1) make TARGET=arm TARGET_ARCH=armv6 buildenv > > > > after a successful buildworld > > > > 2)make xdev XDEV=arm XDEV_ARCH=armv6 > > > > I have struggled (and failed) to make either work. I checked out Rui > > Paulos uboot fork to /usr/uboot. > > > > > > 1)Using buildenv -> > > > > Jailbird:/usr/src$ make TARGET=arm TARGET_ARCH=armv6 buildenv > > Entering world for armv6:arm > > # cd ../uboot/ > > # PATH=$PATH:/usr/local/bin export PATH EDITOR > > # gmake SED=gsed HOSTCC=cc CROSS_COMPILE=armv6-freebsd- > ccwmx53js_config > > gmake[2]: Entering directory '/usr/uboot' > > armv6-freebsd-gcc: not found > > armv6-freebsd-gcc: not found > > usage: dirname string [...] > > Generating include/autoconf.mk <http://autoconf.mk> > > armv6-freebsd-gcc: not found > > armv6-freebsd-gcc: not found > > usage: dirname string [...] > > Generating include/autoconf.mk.dep > > armv6-freebsd-gcc: not found > > armv6-freebsd-gcc: not found > > armv6-freebsd-gcc: not found > > usage: dirname string [...] > > armv6-freebsd-gcc: not found > > usage: dirname string [...] > > Configuring a wireless module > > Configuring for ccwmx53 board... > > gmake[2]: Leaving directory '/usr/uboot' > > # > > > > > > 2)Using xdev-> > > > > Jailbird:/usr/src$ make xdev XDEV=arm XDEV_ARCH=arm > > > > I also failed to "make xdev XDEV=arm XDEV_ARCH=armv6" but didn't > > capture text. Here is the last output I have captured: > > > > CC='cc ' mkdep -f .depend -a > > -I/usr/src/usr.bin/nm/../../contrib/elftoolchain/libelftc > > -I/usr/src/usr.bin/nm/../../contrib/elftoolchain/common -std=gnu99 > > /usr/src/usr.bin/nm/../../contrib/elftoolchain/nm/nm.c > > echo nm: /usr/lib/libc.a /usr/lib/libdwarf.a > > /usr/obj/arm.armv6/arm-freebsd/usr/src/lib/libelftc/libelftc.a > > /usr/lib/libelf.a >> .depend > > cc -O -pipe -mfloat-abi=softfp > > -I/usr/src/usr.bin/nm/../../contrib/elftoolchain/libelftc > > -I/usr/src/usr.bin/nm/../../contrib/elftoolchain/common -std=gnu99 > > -Qunused-arguments -c > > /usr/src/usr.bin/nm/../../contrib/elftoolchain/nm/nm.c > > /usr/src/usr.bin/nm/../../contrib/elftoolchain/nm/nm.c:920:34: error: > > unknown type name 'Dwarf_Block' > > get_block_value(Dwarf_Debug dbg, Dwarf_Block *block) > > ^ > > /usr/src/usr.bin/nm/../../contrib/elftoolchain/nm/nm.c:926:6: warning: > > implicit declaration of function 'dwarf_get_elf' > > is invalid in C99 [-Wimplicit-function-declaration] > > if (dwarf_get_elf(dbg, &elf, &de) != DW_DLV_OK) { > > ^ > > /usr/src/usr.bin/nm/../../contrib/elftoolchain/nm/nm.c:927:50: error: > > passing 'Dwarf_Error' (aka 'struct _Dwarf_Error') > > to parameter of incompatible type 'Dwarf_Error *' (aka 'struct > > _Dwarf_Error *'); take the address with & > > warnx("dwarf_get_elf failed: %s", dwarf_errmsg(de)); > > ^~ > > & > > /usr/include/libdwarf.h:122:39: note: passing argument to parameter here > > const char *dwarf_errmsg(Dwarf_Error *); > > ^ > > /usr/src/usr.bin/nm/../../contrib/elftoolchain/nm/nm.c:959:2: error: > > use of undeclared identifier 'Dwarf_Block' > > Dwarf_Block *block; > > ^ > > /usr/src/usr.bin/nm/../../contrib/elftoolchain/nm/nm.c:959:15: error: > > use of undeclared identifier 'block' > > Dwarf_Block *block; > > ^ > > /usr/src/usr.bin/nm/../../contrib/elftoolchain/nm/nm.c:969:46: error: > > passing 'Dwarf_Error' (aka 'struct _Dwarf_Error') > > to parameter of incompatible type 'Dwarf_Error *' (aka 'struct > > _Dwarf_Error *'); take the address with & > > warnx("dwarf_tag failed: %s", dwarf_errmsg(de)); > > ^~ > > & > > /usr/include/libdwarf.h:122:39: note: passing argument to parameter here > > const char *dwarf_errmsg(Dwarf_Error *); > > ^ > > /usr/src/usr.bin/nm/../../contrib/elftoolchain/nm/nm.c:1028:7: > > warning: implicit declaration of function > > 'dwarf_formblock' is invalid in C99 > [-Wimplicit-function-declaration] > > dwarf_formblock(at, &block, &de) == DW_DLV_OK) { > > ^ > > /usr/src/usr.bin/nm/../../contrib/elftoolchain/nm/nm.c:1028:28: error: > > use of undeclared identifier 'block' > > dwarf_formblock(at, &block, &de) == DW_DLV_OK) { > > ^ > > /usr/src/usr.bin/nm/../../contrib/elftoolchain/nm/nm.c:1034:21: error: > > use of undeclared identifier 'block' > > if (*((uint8_t *)block->bl_data) == DW_OP_addr) > > ^ > > /usr/src/usr.bin/nm/../../contrib/elftoolchain/nm/nm.c:1035:38: error: > > use of undeclared identifier 'block' > > var->addr = get_block_value(dbg, block); > > ^ > > /usr/src/usr.bin/nm/../../contrib/elftoolchain/nm/nm.c:1093:13: error: > > use of undeclared identifier 'DW_DLV_ERROR' > > if (ret == DW_DLV_ERROR) > > ^ > > /usr/src/usr.bin/nm/../../contrib/elftoolchain/nm/nm.c:1094:41: error: > > passing 'Dwarf_Error' > > (aka 'struct _Dwarf_Error') to parameter of incompatible type > > 'Dwarf_Error *' (aka 'struct _Dwarf_Error *'); take > > the address with & > > warnx("dwarf_child: %s", dwarf_errmsg(de)); > > ^~ > > & > > /usr/include/libdwarf.h:122:39: note: passing argument to parameter here > > const char *dwarf_errmsg(Dwarf_Error *); > > ^ > > /usr/src/usr.bin/nm/../../contrib/elftoolchain/nm/nm.c:1101:13: error: > > use of undeclared identifier 'DW_DLV_ERROR' > > if (ret == DW_DLV_ERROR) > > ^ > > /usr/src/usr.bin/nm/../../contrib/elftoolchain/nm/nm.c:1102:45: error: > > passing 'Dwarf_Error' > > (aka 'struct _Dwarf_Error') to parameter of incompatible type > > 'Dwarf_Error *' (aka 'struct _Dwarf_Error *'); take > > the address with & > > warnx("dwarf_siblingof: %s", dwarf_errmsg(de)); > > ^~ > > & > > /usr/include/libdwarf.h:122:39: note: passing argument to parameter here > > const char *dwarf_errmsg(Dwarf_Error *); > > ^ > > /usr/src/usr.bin/nm/../../contrib/elftoolchain/nm/nm.c:1107:26: error: > > use of undeclared identifier 'DW_DLA_DIE' > > dwarf_dealloc(dbg, die, DW_DLA_DIE); > > ^ > > /usr/src/usr.bin/nm/../../contrib/elftoolchain/nm/nm.c:1282:51: error: > > too many arguments to function call, expected 4, > > have 6 > > if (dwarf_elf_init(elf, DW_DLC_READ, NULL, NULL, &dbg, &de) != > > ~~~~~~~~~~~~~~ ^~~~~~~~~ > > /usr/include/libdwarf.h:139:1: note: 'dwarf_elf_init' declared here > > int dwarf_elf_init(Elf *, int, Dwarf_Debug *, > Dwarf_Error *); > > ^ > > /usr/src/usr.bin/nm/../../contrib/elftoolchain/nm/nm.c:1284:51: error: > > passing 'Dwarf_Error' > > (aka 'struct _Dwarf_Error') to parameter of incompatible type > > 'Dwarf_Error *' (aka 'struct _Dwarf_Error *'); take > > the address with & > > warnx("dwarf_elf_init failed: %s", dwarf_errmsg(de)); > > ^~ > > & > > /usr/include/libdwarf.h:122:39: note: passing argument to parameter here > > const char *dwarf_errmsg(Dwarf_Error *); > > ^ > > /usr/src/usr.bin/nm/../../contrib/elftoolchain/nm/nm.c:1293:23: > > warning: incompatible pointer types passing > > 'Dwarf_Debug' (aka 'struct _Dwarf_Debug *') to parameter of type > > 'Dwarf_Debug *' (aka 'struct _Dwarf_Debug **'); > > take the address with & [-Wincompatible-pointer-types] > > (void) dwarf_finish(dbg, &de); > > ^~~ > > & > > /usr/include/libdwarf.h:141:32: note: passing argument to parameter here > > int dwarf_finish(Dwarf_Debug *, Dwarf_Error *); > > ^ > > /usr/src/usr.bin/nm/../../contrib/elftoolchain/nm/nm.c:1306:22: error: > > passing 'Dwarf_Error' > > (aka 'struct _Dwarf_Error') to parameter of incompatible type > > 'Dwarf_Error *' (aka 'struct _Dwarf_Error *'); take > > the address with & > > dwarf_errmsg(de)); > > ^~ > > & > > /usr/include/libdwarf.h:122:39: note: passing argument to parameter here > > const char *dwarf_errmsg(Dwarf_Error *); > > ^ > > /usr/src/usr.bin/nm/../../contrib/elftoolchain/nm/nm.c:1319:9: > > warning: implicit declaration of function > > 'dwarf_srcfiles' is invalid in C99 > [-Wimplicit-function-declaration] > > ret = dwarf_srcfiles(die, &src_files, &filecount, &de); > > ^ > > /usr/src/usr.bin/nm/../../contrib/elftoolchain/nm/nm.c:1320:14: error: > > use of undeclared identifier 'DW_DLV_ERROR' > > if (ret == DW_DLV_ERROR) > > ^ > > /usr/src/usr.bin/nm/../../contrib/elftoolchain/nm/nm.c:1321:45: error: > > passing 'Dwarf_Error' > > (aka 'struct _Dwarf_Error') to parameter of incompatible type > > 'Dwarf_Error *' (aka 'struct _Dwarf_Error *'); take > > the address with & > > warnx("dwarf_srclines: %s", dwarf_errmsg(de)); > > ^~ > > & > > /usr/include/libdwarf.h:122:39: note: passing argument to parameter here > > const char *dwarf_errmsg(Dwarf_Error *); > > ^ > > /usr/src/usr.bin/nm/../../contrib/elftoolchain/nm/nm.c:1329:9: > > warning: implicit declaration of function > > 'dwarf_srclines' is invalid in C99 > [-Wimplicit-function-declaration] > > ret = dwarf_srclines(die, &lbuf, &lcount, &de); > > ^ > > /usr/src/usr.bin/nm/../../contrib/elftoolchain/nm/nm.c:1330:14: error: > > use of undeclared identifier 'DW_DLV_ERROR' > > if (ret == DW_DLV_ERROR) > > ^ > > fatal error: too many errors emitted, stopping now [-ferror-limit=] > > 5 warnings and 20 errors generated. > > *** Error code 1 > > > > Stop. > > make[4]: stopped in /usr/src/usr.bin/nm > > *** Error code 1 > > > > Stop. > > make[3]: stopped in /usr/src > > *** Error code 1 > > > > Stop. > > make[2]: stopped in /usr/src > > > > > > > > My attempt to build Rui Paulos u-boot repository: > > > > > > #gmake SED=gsed HOSTCC=cc CROSS_COMPILE=armv6-freebsd- ccwmx53js_config > > > > armv6-freebsd-gcc: not found > > armv6-freebsd-gcc: not found > > usage: dirname string [...] > > Generating include/autoconf.mk <http://autoconf.mk> > > armv6-freebsd-gcc: not found > > armv6-freebsd-gcc: not found > > usage: dirname string [...] > > Generating include/autoconf.mk.dep > > armv6-freebsd-gcc: not found > > armv6-freebsd-gcc: not found > > armv6-freebsd-gcc: not found > > usage: dirname string [...] > > armv6-freebsd-gcc: not found > > usage: dirname string [...] > > for dir in tools examples/standalone examples/api ; do gmake -C $dir > > _depend ; done > > armv6-freebsd-gcc: not found > > usage: dirname string [...] > > gmake[1]: Entering directory '/usr/uboot/tools' > > gmake[1]: gcc: Command not found > > gmake[1]: armv6-freebsd-gcc: Command not found > > gmake[1]: Nothing to be done for '_depend'. > > gmake[1]: Leaving directory '/usr/uboot/tools' > > gmake[1]: Entering directory '/usr/uboot/examples/standalone' > > gmake[1]: armv6-freebsd-gcc: Command not found > > armv6-freebsd-gcc: not found > > usage: dirname string [...] > > armv6-freebsd-gcc: not found > > usage: dirname string [...] > > gmake[1]: Nothing to be done for '_depend'. > > gmake[1]: Leaving directory '/usr/uboot/examples/standalone' > > gmake[1]: Entering directory '/usr/uboot/examples/api' > > gmake[1]: armv6-freebsd-gcc: Command not found > > armv6-freebsd-gcc: not found > > usage: dirname string [...] > > gmake[1]: Nothing to be done for '_depend'. > > gmake[1]: Leaving directory '/usr/uboot/examples/api' > > gmake -C tools all > > armv6-freebsd-gcc: not found > > usage: dirname string [...] > > gmake[1]: Entering directory '/usr/uboot/tools' > > gmake[1]: gcc: Command not found > > gmake[1]: armv6-freebsd-gcc: Command not found > > gcc -g -Wall -idirafter /usr/uboot/include -idirafter > > /usr/uboot/include2 -idirafter /usr/uboot/include -I /usr/uboot/libfdt > > -I /usr/uboot/tools -DTEXT_BASE=0x97800000 -DUSE_HOSTCC > > -D__KERNEL_STRICT_NAMES -O -c -o mkimage.o /usr/uboot/tools/mkimage.c > > gmake[1]: gcc: Command not found > > Makefile:218: recipe for target 'mkimage.o' failed > > gmake[1]: *** [mkimage.o] Error 127 > > gmake[1]: Leaving directory '/usr/uboot/tools' > > Makefile:402: recipe for target 'tools' failed > > gmake: *** [tools] Error 2 > > > > > > > > Thanks, > > Russ > > _______________________________________________ > > freebsd-arm@freebsd.org <mailto:freebsd-arm@freebsd.org> mailing list > > http://lists.freebsd.org/mailman/listinfo/freebsd-arm > > To unsubscribe, send any mail to > "freebsd-arm-unsubscribe@freebsd.org > <mailto:freebsd-arm-unsubscribe@freebsd.org>" > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5505CD50.2050503>