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>
next in thread | raw e-mail | index | archive | help
Wed Jan 20 10:29:06 UTC 2016 Michal Meloun wrote: > Dne 20.01.2016 v 8:00 Tom Vijlbrief napsal(a): > . . . > >=20 > > The buildworld on the RPI failed: > >=20 > > http://www.v7f.eu/public/freebsd/world371.log > >=20 > > The same tree build ok when cross compiling. I can supply the log if = needed. > >=20 > > 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. > >=20 > > 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. > >=20 > > I will try installing the new cross compiled world to see if that = fixes the > > native build. > >=20 > >> > > _______________________________________________ > > 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" > >=20 >=20 > Confirmed. Native build of fresh current fails on bootstrap clang link > phase. >=20 > 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. >=20 > 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. >=20 > 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=3D involved as the existing system = clang/clang++ can already do the compiles. So try an explicit WITHOUT_CLANG_BOOTSTRAP=3D 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. =3D=3D=3D Mark Millard markmi at dsl-only.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?EED734D6-460D-4859-B10E-30FA4759D214>