Building Cross Compiler and u-boot
Russell Haley
russ.haley at gmail.com
Sun Mar 15 23:04:20 UTC 2015
Ha ha, jokes on me. One of the Crochet scripts checks for xdev tools:
root at 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 at 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 at 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 at 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 at 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 at freebsd.org mailing list
>>>> http://lists.freebsd.org/mailman/listinfo/freebsd-arm
>>>> To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"
>>>>
>>>
>>>
More information about the freebsd-arm
mailing list