Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Mar 2015 12:25:40 -0700
From:      Russell Haley <russ.haley@gmail.com>
To:        Peter Garshtja <peter.garshtja@ambient-md.com>
Cc:        freebsd-arm <freebsd-arm@freebsd.org>
Subject:   Re: Building Cross Compiler and u-boot
Message-ID:  <CABx9NuSyT2xdejw-p6sS=HGZgVB-fqWf1oK1gWHswy9hKvYDZw@mail.gmail.com>
In-Reply-To: <CABx9NuRH7a5H2quHUiBAL6M%2BbHBqBP-jK9CbNCPOsjhJmtngGw@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>

next in thread | previous in thread | raw e-mail | index | archive | help
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?CABx9NuSyT2xdejw-p6sS=HGZgVB-fqWf1oK1gWHswy9hKvYDZw>