Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Mar 2015 20:35:50 -0400
From:      Peter Garshtja <peter.garshtja@ambient-md.com>
To:        Russell Haley <russ.haley@gmail.com>
Cc:        freebsd-arm <freebsd-arm@freebsd.org>, Ian Lepore <ian@freebsd.org>
Subject:   Re: Building Cross Compiler and u-boot
Message-ID:  <55062566.1020908@ambient-md.com>
In-Reply-To: <CABx9NuT580-C-t-bu8uxrsKr-T5P0YG_Bio_ZqJVwpp8ugES0A@mail.gmail.com>
References:  <CABx9NuQXb_FJMw%2BqwbaGuFX94LkEMRf_9kAuowk6ctYBEDQn=A@mail.gmail.com>	<CALFUBVFVDLz=NCuTT5LTYm%2BCycW5C2GmcK6TB%2B7cdvG2zZHgKg@mail.gmail.com>	<5505CD50.2050503@ambient-md.com>	<CABx9NuRH7a5H2quHUiBAL6M%2BbHBqBP-jK9CbNCPOsjhJmtngGw@mail.gmail.com>	<CABx9NuSyT2xdejw-p6sS=HGZgVB-fqWf1oK1gWHswy9hKvYDZw@mail.gmail.com> <CABx9NuT580-C-t-bu8uxrsKr-T5P0YG_Bio_ZqJVwpp8ugES0A@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Can you check u-boot on git ?
here is tutorial that i use for my Pi

|30) pkg install git
31) pkg install devel/subversion
32) pkg install python
33) pkg install devel/gmake
34) pkg install textproc/gsed
35) git clone git://github.com/kientzle/crochet-freebsd.git /root/crochet
36) git clone git://github.com/gonzoua/u-boot-pi.git 
/root/crochet/u-boot-rpi
37) svn checkout https://svn0.us-west.freebsd.org/base/head /usr/src -r 
273702
38) cd /usr/src && 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

As you can see i use ||github.com/gonzoua/u-boot-pi.git| , perhaps on 
git you can find uboot for your board

Regards,
Peter

On 3/15/2015 7:04 PM, Russell Haley wrote:
> Ha ha, jokes on me. One of the Crochet scripts checks for xdev tools:
>
> root@Jailbird:/usr/crochet# ./crochet.sh -b CoreConnect-WMX53
> Starting at Sun Mar 15 15:14:33 PDT 2015
> Board: CoreConnect-WMX53
> Source version is: r279684
> Building FreeBSD version: 11.0
> Image name is:
>      /usr/crochet/work/FreeBSD-armv6-11.0-DIGI-CCWMX53-r279684.img
> Building FreeBSD version: 11.0
> Object files are at: /usr/crochet/work/obj/arm.armv6/usr/src
> Found suitable FreeBSD source tree in:
>      /usr/src
> Can't find appropriate FreeBSD xdev tools.
> Tested: /usr/armv6-freebsd/usr/bin/cc
> If you have FreeBSD-CURRENT sources in /usr/src, you can build these
> with the following command:
>
> cd /usr/src && sudo 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 WITHOUT_TESTS=1 xdev
>
> Run this script again after you have the xdev tools installed.
>
> *******************
> Which fails with the same "Dwarf error" I am getting from other xdev attempts.
>
> Oh, my poor little brain.
> Russ
>
> On Sun, Mar 15, 2015 at 12:25 PM, Russell Haley <russ.haley@gmail.com> wrote:
>> Peter,
>>
>> Sorry, I was attacked by a wild kid who managed to send my unfinished email...
>>
>> Here is the error I get when I run your command from 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
>>
>> cc -O2 -pipe   -I/usr/src/usr.bin/nm/../../contrib/elftoolchain/libelftc
>> -I/usr/src/usr.bin/nm/../../contrib/elftoolchain/common -std=gnu99
>> -fstack-protector -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[2]: stopped in /usr/src/usr.bin/nm
>> *** Error code 1
>>
>> Stop.
>> make[1]: stopped in /usr/src
>> *** Error code 1
>>
>> Stop.
>> make: stopped in /usr/src
>>
>>
>> As per Ian's last comment about xdev being dead, I will instead move
>> forward with his suggested remedy from pkgng. I looked into crochet
>> and was impressed with what I saw. I forked and will look at adding
>> the CoreConnect board.
>>
>> Thanks,
>>
>> Russ
>>
>> On Sun, Mar 15, 2015 at 12:00 PM, Russell Haley <russ.haley@gmail.com> wrote:
>>> Hi Peter,
>>>
>>> This is the error I get when running your command for head:
>>>
>>> cc -O2 -pipe   -I/usr/src/usr.bin/nm/../../contrib/elftoolchain/libelftc
>>> -I/usr/src/usr.bin/nm/../../contrib/elftoolchain/common -std=gnu99
>>> -fstack-protector -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[2]: stopped in /usr/src/usr.bin/nm
>>> *** Error code 1
>>>
>>> Stop.
>>> make[1]: stopped in /usr/src
>>> *** Error code 1
>>>
>>> Stop.
>>> make: stopped in /usr/src
>>>
>>> On Sun, Mar 15, 2015 at 11:20 AM, Peter Garshtja
>>> <peter.garshtja@ambient-md.com> wrote:
>>>> 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> 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
>>>>> 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
>>>>> 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 mailing list
>>>>> http://lists.freebsd.org/mailman/listinfo/freebsd-arm
>>>>> To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.org"
>>>>>
>>>>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?55062566.1020908>