Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 9 Jan 2015 15:30:51 -0700
From:      Warner Losh <imp@bsdimp.com>
To:        Kai Noetzel <kai.noetzel@gmail.com>
Cc:        freebsd-arm@freebsd.org
Subject:   Re: Issue with arm cross compiler xdev on FreeBSD 10.1
Message-ID:  <B52C5E17-21D2-4114-8792-429EE4C5AB47@bsdimp.com>
In-Reply-To: <CAHVoyEfgQRWf3KWPZayF4U0eKKijJeCUkVbnxjG3eVLKBFzZyw@mail.gmail.com>
References:  <CAHVoyEfgQRWf3KWPZayF4U0eKKijJeCUkVbnxjG3eVLKBFzZyw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
Let’s get back to basics…

can you do the following?

make buildworld TARGET_ARCH=armv6 WITHOUT_CLANG=t WITHOUT_CLANG_BOOTSTRAP=t WITH_GCC=t WITH_GCC_BOOTSTRAP=t

????

Warner



> On Jan 9, 2015, at 3:26 PM, Kai Noetzel <kai.noetzel@gmail.com> wrote:
> 
> 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
> _______________________________________________
> 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"


[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJUsFacAAoJEGwc0Sh9sBEA4jgP/i73n9WiMBQXo3E0VS33uaFV
VhznvtTcYE8oE9G4LnVuGyv7ZRUGjgUcugnbtipiTeqqDzQnvcRl+OIHIrfcMQtE
LpaforQ9dsbktf1pxjW9xhVm8aHcUeo+UYQCe5UD6Y9VfjFvPBHC4rKb4MZBmbaR
QLPEYtUNIezi2F6sXPAdp5RDmpShotDCK4htqoFld3WncnrEW6ycVnjA2371L55m
6TLnupkchuncMoTA6BqmFNbWCeNyepydHeD8SLxz3jV8a1AfYa8QoaTnjm2nlMiB
zOLvKJ1YZfuQWHkXkobwCelvxLJRfyUMZ7OFhRR9NPtoEjNYsQ1+0v57fG6Qg8iv
zIXrW/B1VKNbdjWXpff9hxYzYy7DTDO9G4PDkIWiEcWido/gHgjp8IN/tiUmLwzC
j4X+6/+tyeM/ye6rvPWJRN1PdXHOZhBMCKw3lMkBYYR/TPSwKsUIuYbl1x/BkWlm
FwWeJIcJNiG3Gz6dftlJfnH3ek9Dtn2X2SYhQyWNovGepq7Ss8Te/GdFSnUTZr83
hrJV22XPZlLBHqtpf5MVmXjaUW8yzcEUVFoYe7hOkc/4DQ3Kgbq5I30ZMdwNoOOL
YEsSkKazekyVb9cTSU1N4wtuawKxgLDD/fRc7A/NNUzwiqrbPA13Rg4b5lJvWcPR
qDQu0/E/XUF8VzlaoZ2u
=atE+
-----END PGP SIGNATURE-----

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B52C5E17-21D2-4114-8792-429EE4C5AB47>