Date: Thu, 21 Jan 2016 06:34:07 +0000 From: Tom Vijlbrief <tvijlbrief@gmail.com> To: Mark Millard <markmi@dsl-only.net>, freebsd-arm <freebsd-arm@freebsd.org>, FreeBSD Toolchain <freebsd-toolchain@freebsd.org> Cc: mmel@freebsd.org Subject: Re: make buildworld failed with error "relocation truncated to fit: R_ARM_JUMP24 against symbol `_fini'" Message-ID: <CAOQrpVd5y1OZUyDqykNXezBAfFC-kqr8QzWG9x9Xe%2BjPAB8p=A@mail.gmail.com> In-Reply-To: <EED734D6-460D-4859-B10E-30FA4759D214@dsl-only.net> References: <EED734D6-460D-4859-B10E-30FA4759D214@dsl-only.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On my RPI-B I am currently testing: cd /usr/src/lib/csu/arm make clean install Before the regular buildworld... Op do 21 jan. 2016 01:17 schreef Mark Millard <markmi@dsl-only.net>: > > Wed Jan 20 10:29:06 UTC 2016 Michal Meloun wrote: > > > Dne 20.01.2016 v 8:00 Tom Vijlbrief napsal(a): > > . . . > > > > > > The buildworld on the RPI failed: > > > > > > http://www.v7f.eu/public/freebsd/world371.log > > > > > > The same tree build ok when cross compiling. I can supply the log if > needed. > > > > > > My previous succesfull build on the RPI was jan 14, just before the > > > introduction of the long-call flag for clang but after the long-call > change > > > for crt1.o on jan 10th. > > > > > > Could this partial introduction of the long-call flag in the installed > > > world be the cause of the issue? I would expect a buildworld to use > only > > > libs from /usr/obj but the failing link refers to /usr/lib. > > > > > > I will try installing the new cross compiled world to see if that > fixes the > > > native build. > > > > > >> > > > _______________________________________________ > > > freebsd-arm at freebsd.org mailing list > > > https://lists.freebsd.org/mailman/listinfo/freebsd-arm > > > To unsubscribe, send any mail to "freebsd-arm-unsubscribe at > freebsd.org" > > > > > > > Confirmed. Native build of fresh current fails on bootstrap clang link > > phase. > > > > The bootstrap clang is now build with -mlong-calls and is significantly > > longer that previous one (without -mlong-calls). Also, bootstrap clang > > is linked with original "/usr/lib/crti.o" (which is compiled without > > -mlong-calls), so link fails. > > > > This is also reason, why the problem is not seen with crossbuild - > > bootstrap clang is builded for host architecture and final (target) > > clang is linked with right (new, compiled with -mlong-calls) crti.o. > > > > Michal > > > For on-arm buildworld with clang/clang++ (self hosted) . . . > (Warning that I've not tried the below.) > > It appears that one can back out the -mlong-calls additions and get back > to something that builds and installs without needing any cross builds from > a different type of host. > > Going the other way: If one already has clang/clang++ 3.7.1 one does not > need WITH_CLANG_BOOTSTRAP= involved as the existing system clang/clang++ > can already do the compiles. > > So try an explicit WITHOUT_CLANG_BOOTSTRAP= to avoiding having a version > built that ends up linked with /usr/lib/crti.o (that is not based on > -mlong-calls yet) but mixed that with having the -mlong-calls in place for > the non-bootstrap clang build to use. > > The above might be a workaround sufficient for bootstrapping into a > -mlong-calls based environment when the arm itself is to build clang and/or > lldb. > > > === > Mark Millard > markmi at dsl-only.net > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOQrpVd5y1OZUyDqykNXezBAfFC-kqr8QzWG9x9Xe%2BjPAB8p=A>