Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 9 Jan 2015 23:26:28 +0100
From:      Kai Noetzel <kai.noetzel@gmail.com>
To:        freebsd-arm@freebsd.org
Subject:   Issue with arm cross compiler xdev on FreeBSD 10.1
Message-ID:  <CAHVoyEfgQRWf3KWPZayF4U0eKKijJeCUkVbnxjG3eVLKBFzZyw@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hi,

I'm having issues trying to build the arm cross compiler on the following
system:

root@bsdcompy:/usr/src # uname -a
FreeBSD bsdcompy 10.1-RELEASE FreeBSD 10.1-RELEASE #0 r274401: Tue Nov 11
21:02:49 UTC 2014
root@releng1.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC
amd64

I checked out:

svn co http://svn.freebsd.org/base/head /usr/src

When I run:

root@bsdcompy:/usr/src # make XDEV=arm XDEV_ARCH=armv6 WITH_GCC=1 xdev

I get the following error:

......
===> xdev lib/libelftc (obj,depend,all)
===> xdev usr.bin/addr2line (obj,depend,all)
cc -O2 -pipe
-I/usr/src/usr.bin/addr2line/../../contrib/elftoolchain/libelftc
-I/usr/src/usr.bin/addr2line/../../contrib/elftoolchain/common -std=gnu99
-fstack-protector -Qunused-arguments -c
/usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.c
/usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.c:105:39:
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: %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/addr2line/../../contrib/elftoolchain/addr2line/addr2line.c:119:14:
error: use of undeclared identifier 'DW_DLV_ERROR'
                if (ret == DW_DLV_ERROR)
                           ^
/usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.c:122:8:
warning: implicit declaration of function 'dwarf_formstring' is invalid in
C99 [-Wimplicit-function-declaration]
                        if (dwarf_formstring(sub_at, &func0, &de))
                            ^
/usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.c:136:7:
warning: implicit declaration of function 'dwarf_global_formref' is invalid
in C99 [-Wimplicit-function-declaration]
                if (dwarf_global_formref(spec_at, &ref, &de))
                    ^
/usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.c:138:7:
warning: implicit declaration of function 'dwarf_offdie' is invalid in C99
[-Wimplicit-function-declaration]
                if (dwarf_offdie(dbg, ref, &spec_die, &de))
                    ^
/usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.c:150:13:
error: use of undeclared identifier 'DW_DLV_ERROR'
        if (ret == DW_DLV_ERROR)
                   ^
/usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.c:151:54:
error: passing 'Dwarf_Error' (aka 'struct _Dwarf_Error') to parameter of
incompatible type 'Dwarf_Error *' (aka 'struct _Dwarf_Error *'); take the
address
      with &
                errx(EXIT_FAILURE, "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/addr2line/../../contrib/elftoolchain/addr2line/addr2line.c:157:13:
error: use of undeclared identifier 'DW_DLV_ERROR'
        if (ret == DW_DLV_ERROR)
                   ^
/usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.c:158:58:
error: passing 'Dwarf_Error' (aka 'struct _Dwarf_Error') to parameter of
incompatible type 'Dwarf_Error *' (aka 'struct _Dwarf_Error *'); take the
address
      with &
                errx(EXIT_FAILURE, "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/addr2line/../../contrib/elftoolchain/addr2line/addr2line.c:189: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/addr2line/../../contrib/elftoolchain/addr2line/addr2line.c:210:7:
warning: implicit declaration of function 'dwarf_srclines' is invalid in
C99 [-Wimplicit-function-declaration]
                if (dwarf_srclines(die, &lbuf, &lcount, &de) != DW_DLV_OK) {
                    ^
/usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.c:211: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/addr2line/../../contrib/elftoolchain/addr2line/addr2line.c:219:8:
warning: implicit declaration of function 'dwarf_lineaddr' is invalid in
C99 [-Wimplicit-function-declaration]
                        if (dwarf_lineaddr(lbuf[i], &lineaddr, &de)) {
                            ^
/usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.c:221: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/addr2line/../../contrib/elftoolchain/addr2line/addr2line.c:224:8:
warning: implicit declaration of function 'dwarf_lineno' is invalid in C99
[-Wimplicit-function-declaration]
                        if (dwarf_lineno(lbuf[i], &lineno, &de)) {
                            ^
/usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.c:226: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/addr2line/../../contrib/elftoolchain/addr2line/addr2line.c:229:8:
warning: implicit declaration of function 'dwarf_linesrc' is invalid in C99
[-Wimplicit-function-declaration]
                        if (dwarf_linesrc(lbuf[i], &file0, &de)) {
                            ^
/usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.c:231: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/addr2line/../../contrib/elftoolchain/addr2line/addr2line.c:269:14:
error: use of undeclared identifier 'DW_DLV_ERROR'
                if (ret == DW_DLV_ERROR)
                           ^
/usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.c:271:21:
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/addr2line/../../contrib/elftoolchain/addr2line/addr2line.c:387:46:
error: too many arguments to function call, expected 4, have 6
        if (dwarf_init(fd, DW_DLC_READ, NULL, NULL, &dbg, &de))
            ~~~~~~~~~~                              ^~~~~~~~~
/usr/include/libdwarf.h:144:1: note: 'dwarf_init' declared here
int             dwarf_init(int, int, Dwarf_Debug *, Dwarf_Error *);
^
/usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.c:388:53:
error: passing 'Dwarf_Error' (aka 'struct _Dwarf_Error') to parameter of
incompatible type 'Dwarf_Error *' (aka 'struct _Dwarf_Error *'); take the
address
      with &
                errx(EXIT_FAILURE, "dwarf_init: %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/addr2line/../../contrib/elftoolchain/addr2line/addr2line.c:390:6:
warning: implicit declaration of function 'dwarf_get_elf' is invalid in C99
[-Wimplicit-function-declaration]
        if (dwarf_get_elf(dbg, &e, &de) != DW_DLV_OK)
            ^
/usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2line.c:391:56:
error: passing 'Dwarf_Error' (aka 'struct _Dwarf_Error') to parameter of
incompatible type 'Dwarf_Error *' (aka 'struct _Dwarf_Error *'); take the
address
      with &
                errx(EXIT_FAILURE, "dwarf_get_elf: %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/addr2line/../../contrib/elftoolchain/addr2line/addr2line.c:407:15:
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]
        dwarf_finish(dbg, &de);
                     ^~~
                     &
/usr/include/libdwarf.h:141:32: note: passing argument to parameter here
int             dwarf_finish(Dwarf_Debug *, Dwarf_Error *);
                                          ^
9 warnings and 16 errors generated.
*** Error code 1

Stop.
make[2]: stopped in /usr/src/usr.bin/addr2line
*** Error code 1

Stop.
make[1]: stopped in /usr/src
*** Error code 1

Stop.
make: stopped in /usr/src

Would be great if someone could take a look.
Thanks in advance.

Best,
Kai



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