Date: Wed, 20 Jan 2016 16:17:29 -0800 From: Mark Millard <markmi@dsl-only.net> To: freebsd-arm <freebsd-arm@freebsd.org>, FreeBSD Toolchain <freebsd-toolchain@freebsd.org> Cc: mmel@freebsd.org, tvijlbrief@gmail.com Subject: make buildworld failed with error "relocation truncated to fit: R_ARM_JUMP24 against symbol `_fini'" Message-ID: <EED734D6-460D-4859-B10E-30FA4759D214@dsl-only.net>
index | next in thread | raw e-mail
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.nethelp
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?EED734D6-460D-4859-B10E-30FA4759D214>
