Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Jan 2015 09:42:24 +0100
From:      Kai Noetzel <kai.noetzel@gmail.com>
To:        freebsd-arm@freebsd.org
Subject:   Re: Issue with arm cross compiler xdev on FreeBSD 10.1
Message-ID:  <CAHVoyEfLyMNMH9YoHouTpK-8GQ6FvUHynOPAzqOh7A35z7-41w@mail.gmail.com>
In-Reply-To: <CAHVoyEf2h4iZ4t=dWFbHAX=aeuS93mef_7hyC1Z37YRvNU5iTA@mail.gmail.com>
References:  <CAHVoyEfgQRWf3KWPZayF4U0eKKijJeCUkVbnxjG3eVLKBFzZyw@mail.gmail.com> <B52C5E17-21D2-4114-8792-429EE4C5AB47@bsdimp.com> <CAHVoyEf2h4iZ4t=dWFbHAX=aeuS93mef_7hyC1Z37YRvNU5iTA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
I retried to build the arm cross compiler with the sources of 10.1. It took
a while but the following worked:

svn co http://svn.freebsd.org/base/release/10.1.0/ /usr/src2
make XDEV=3Darm XDEV_ARCH=3Darmv6 WITH_GCC=3D1 xdev

....
sh /usr/src2/tools/install.sh -C -o root -g wheel -m 444   libln.a
//usr/armv6-freebsd/usr/lib
//usr/armv6-freebsd/usr/lib/libl.a -> //usr/armv6-freebsd/usr/lib/libln.a
//usr/armv6-freebsd/usr/lib/libfl.a -> //usr/armv6-freebsd/usr/lib/libln.a
cd //usr/armv6-freebsd/usr/bin;  mkdir -p ../../../../usr/bin;  for i in *;
do  ln -sf ../..//usr/armv6-freebsd/usr/bin/$i
 ../../../../usr/bin/armv6-freebsd-$i;  ln -sf
../..//usr/armv6-freebsd/usr/bin/$i
 ../../../../usr/bin/armv6-freebsd10.1-$i;  done

Is there an issue with head or am I doing something wrong?


On Fri, Jan 9, 2015 at 11:52 PM, Kai Noetzel <kai.noetzel@gmail.com> wrote:

> Hi Warner,
>
> I tried to issue your command and it ran for quite a while but stopped
> finally with the following error:
>
> cc  -c -O -pipe   -DTARGET_ARM_EABI -DIN_GCC -DIN_LIBGCC2
> -D__GCC_FLOAT_NOT_NEEDED  -DHAVE_GTHR_DEFAULT
>  -I/usr/src/gnu/lib/libgcc/../../../contrib/gcclibs/include
>  -I/usr/src/gnu/lib/libgcc/../../../contrib/gcc/config
> -I/usr/src/gnu/lib/libgcc/../../../contrib/gcc -I.
>  -I/usr/src/gnu/lib/libgcc/../../usr.bin/cc/cc_tools -Dinhibit_libc
> -fno-inline -std=3Dgnu99   -fheinous-gnu-extensions -Qunused-arguments
> -fvisibility=3Dhidden -DHIDE_EXPORTS -fPIC -fexceptions -D__GLIBC__=3D3
> -DElfW=3D__ElfN -o libunwind.o
> /usr/src/gnu/lib/libgcc/../../../contrib/gcc/config/arm/libunwind.S
> /usr/src/gnu/lib/libgcc/../../../contrib/gcc/config/arm/libunwind.S:29:10=
:
> fatal error: 'machine/acle-compat.h' file not found
> #include <machine/acle-compat.h>
>          ^
> 1 error generated.
> *** Error code 1
>
> Stop.
> make[4]: stopped in /usr/src/gnu/lib/libgcc
> *** Error code 1
>
> Stop.
> make[3]: stopped in /usr/src
> *** Error code 1
>
> Stop.
> make[2]: stopped in /usr/src
> *** Error code 1
>
> Stop.
> make[1]: stopped in /usr/src
> *** Error code 1
>
> Stop.
> make: stopped in /usr/src
>
> On Fri, Jan 9, 2015 at 11:30 PM, Warner Losh <imp@bsdimp.com> wrote:
>
>> Let=E2=80=99s get back to basics=E2=80=A6
>>
>> can you do the following?
>>
>> make buildworld TARGET_ARCH=3Darmv6 WITHOUT_CLANG=3Dt
>> WITHOUT_CLANG_BOOTSTRAP=3Dt WITH_GCC=3Dt WITH_GCC_BOOTSTRAP=3Dt
>>
>> ????
>>
>> 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=3Darm XDEV_ARCH=3Darmv6 WITH_GCC=3D=
1 xdev
>> >
>> > I get the following error:
>> >
>> > ......
>> > =3D=3D=3D> xdev lib/libelftc (obj,depend,all)
>> > =3D=3D=3D> 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=3Dgnu99
>> > -fstack-protector -Qunused-arguments -c
>> >
>> /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2lin=
e.c
>> >
>> /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2lin=
e.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 he=
re
>> > const char      *dwarf_errmsg(Dwarf_Error *);
>> >                                           ^
>> >
>> /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2lin=
e.c:119:14:
>> > error: use of undeclared identifier 'DW_DLV_ERROR'
>> >                if (ret =3D=3D DW_DLV_ERROR)
>> >                           ^
>> >
>> /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2lin=
e.c:122:8:
>> > warning: implicit declaration of function 'dwarf_formstring' is invali=
d
>> in
>> > C99 [-Wimplicit-function-declaration]
>> >                        if (dwarf_formstring(sub_at, &func0, &de))
>> >                            ^
>> >
>> /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2lin=
e.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/addr2lin=
e.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/addr2lin=
e.c:150:13:
>> > error: use of undeclared identifier 'DW_DLV_ERROR'
>> >        if (ret =3D=3D DW_DLV_ERROR)
>> >                   ^
>> >
>> /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2lin=
e.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 he=
re
>> > const char      *dwarf_errmsg(Dwarf_Error *);
>> >                                           ^
>> >
>> /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2lin=
e.c:157:13:
>> > error: use of undeclared identifier 'DW_DLV_ERROR'
>> >        if (ret =3D=3D DW_DLV_ERROR)
>> >                   ^
>> >
>> /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2lin=
e.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 he=
re
>> > const char      *dwarf_errmsg(Dwarf_Error *);
>> >                                           ^
>> >
>> /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2lin=
e.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 he=
re
>> > const char      *dwarf_errmsg(Dwarf_Error *);
>> >                                           ^
>> >
>> /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2lin=
e.c:210:7:
>> > warning: implicit declaration of function 'dwarf_srclines' is invalid =
in
>> > C99 [-Wimplicit-function-declaration]
>> >                if (dwarf_srclines(die, &lbuf, &lcount, &de) !=3D
>> DW_DLV_OK) {
>> >                    ^
>> >
>> /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2lin=
e.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 he=
re
>> > const char      *dwarf_errmsg(Dwarf_Error *);
>> >                                           ^
>> >
>> /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2lin=
e.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/addr2lin=
e.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 he=
re
>> > const char      *dwarf_errmsg(Dwarf_Error *);
>> >                                           ^
>> >
>> /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2lin=
e.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/addr2lin=
e.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 he=
re
>> > const char      *dwarf_errmsg(Dwarf_Error *);
>> >                                           ^
>> >
>> /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2lin=
e.c:229:8:
>> > warning: implicit declaration of function 'dwarf_linesrc' is invalid i=
n
>> C99
>> > [-Wimplicit-function-declaration]
>> >                        if (dwarf_linesrc(lbuf[i], &file0, &de)) {
>> >                            ^
>> >
>> /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2lin=
e.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 he=
re
>> > const char      *dwarf_errmsg(Dwarf_Error *);
>> >                                           ^
>> >
>> /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2lin=
e.c:269:14:
>> > error: use of undeclared identifier 'DW_DLV_ERROR'
>> >                if (ret =3D=3D DW_DLV_ERROR)
>> >                           ^
>> >
>> /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2lin=
e.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 he=
re
>> > const char      *dwarf_errmsg(Dwarf_Error *);
>> >                                           ^
>> >
>> /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2lin=
e.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/addr2lin=
e.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 he=
re
>> > const char      *dwarf_errmsg(Dwarf_Error *);
>> >                                           ^
>> >
>> /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2lin=
e.c:390:6:
>> > warning: implicit declaration of function 'dwarf_get_elf' is invalid i=
n
>> C99
>> > [-Wimplicit-function-declaration]
>> >        if (dwarf_get_elf(dbg, &e, &de) !=3D DW_DLV_OK)
>> >            ^
>> >
>> /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2lin=
e.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 he=
re
>> > const char      *dwarf_errmsg(Dwarf_Error *);
>> >                                           ^
>> >
>> /usr/src/usr.bin/addr2line/../../contrib/elftoolchain/addr2line/addr2lin=
e.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 he=
re
>> > 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"
>>
>>
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAHVoyEfLyMNMH9YoHouTpK-8GQ6FvUHynOPAzqOh7A35z7-41w>