From owner-freebsd-arm@FreeBSD.ORG Sun Mar 15 19:25:42 2015 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0C898423 for ; Sun, 15 Mar 2015 19:25:42 +0000 (UTC) Received: from mail-yh0-x233.google.com (mail-yh0-x233.google.com [IPv6:2607:f8b0:4002:c01::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B8F27911 for ; Sun, 15 Mar 2015 19:25:41 +0000 (UTC) Received: by yhch68 with SMTP id h68so11061550yhc.1 for ; Sun, 15 Mar 2015 12:25:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=r3uDC13EUiuBr9qu+/1DmDMNiBJDBDmf8LM1Q2bID2c=; b=ev38tpDT6BHHGzzsgJGjsBOPRnaIcKM6eMhdHSNUsYyCV6maa1aJPFTJWxR2JBKhI1 52wfe/UALMaYBPcb1G3+2T570SUwpuqka6wNvbYs/FSDkK0uEVrPUGGhbftm1Wy3QULS 0vQIdf2JP6o8b0DrEXuSBriBo8V2LO+oakjym1206jbT3OCFXQA41ErKOS797PsWeQAO zLA43JAR7QlPdQcU8iF8DSi5O699RzY95s68uQ/Mf+uxeFJoVECeGZCBKm0cVXgHWgu4 klONKum+6gGHMAMNNpSZymDfyupXSF6c2S3PIYE32urTP9JrKjrvV3Eg3rqoNPHYnnJq 48nQ== MIME-Version: 1.0 X-Received: by 10.236.66.33 with SMTP id g21mr58954224yhd.72.1426447540849; Sun, 15 Mar 2015 12:25:40 -0700 (PDT) Received: by 10.170.182.81 with HTTP; Sun, 15 Mar 2015 12:25:40 -0700 (PDT) In-Reply-To: References: <5505CD50.2050503@ambient-md.com> Date: Sun, 15 Mar 2015 12:25:40 -0700 Message-ID: Subject: Re: Building Cross Compiler and u-boot From: Russell Haley To: Peter Garshtja Content-Type: text/plain; charset=UTF-8 Cc: freebsd-arm X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Mar 2015 19:25:42 -0000 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 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 > 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 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" >>> >> >>