Skip site navigation (1)Skip section navigation (2)
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>