Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Jan 2016 13:08:01 -0800
From:      Mark Millard <markmi@dsl-only.net>
To:        Ian Lepore <ian@freebsd.org>
Cc:        freebsd-arm <freebsd-arm@freebsd.org>
Subject:   Re: make buildworld failed with error "relocation truncated to fit: R_ARM_JUMP24 against symbol `_fini'"
Message-ID:  <36E4B4DD-C479-484D-8BA3-A1DC1F71564A@dsl-only.net>
In-Reply-To: <1453234839.46848.88.camel@freebsd.org>
References:  <3E1CC674-D534-4C33-8C96-CA9E584931C0@dsl-only.net> <569D2557.3060802@codeghar.com> <C9C41590-3798-45D2-8F47-2A5AB4AA137A@dsl-only.net> <374A0F64-E3FC-42F1-AC03-DF8F88269AEB@dsl-only.net> <569D2D63.8030301@codeghar.com> <FF2B458C-5776-4797-9056-4CAA8DFECC43@dsl-only.net> <CAOQrpVeWUHNUoXAF_ko9NwXQcCkfuZNNbpFAJHTGnY_p5uu5sg@mail.gmail.com> <1453217670.46848.83.camel@freebsd.org> <D058186F-3232-4215-96B9-E1A253F12CBE@dsl-only.net> <1453234839.46848.88.camel@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2016-Jan-19, at 12:20 PM, Ian Lepore <ian@freebsd.org> wrote:
>=20
> On Tue, 2016-01-19 at 11:46 -0800, Mark Millard wrote:
>> On 2016-Jan-19, at 7:34 AM, Ian Lepore <ian at freebsd.org> wrote:
>>>=20
>>> On Tue, 2016-01-19 at 11:58 +0000, Tom Vijlbrief wrote:
>>>> Op ma 18 jan. 2016 20:37 schreef Mark Millard <
>>>> markmi@dsl-only.net>:
>>>>=20
>>>>>=20
>>>>> If you can tolerate tracking the 3.8.0 project (
>>>>> base/projects/clang380-import ) until 3.8.0 is moved into 11.0
>>>>> -CURRENT you
>>>>> could find out that way if clang 3.8.0 behaves the same in your
>>>>> context. So
>>>>> far I've not come up with anything else
>>>>=20
>>>>=20
>>>> I am having exactly the same buildworld problem on my RPI which
>>>> used
>>>> to
>>>> build fine a week ago.
>>>>=20
>>>> Currently testing the clang380-import branch as suggested to see
>>>> if
>>>> the
>>>> problem persists.
>>>=20
>>> The most confusing thing about this whole thread (besides the lack
>>> of
>>> logs so we're just guessing what's going on) is why this problem is
>>> suddenly happening on clang 3.7.x (I guess it's 3.7.x here) when
>>> that
>>> has never been a problem before?  We needed to add the long-call
>>> option
>>> when testing clang 3.8, but why do we suddenly need it on clang 3.7
>>> that hasn't needed it for months?
>>>=20
>>> This very much has the feel of slapping a bandaid on something that
>>> needs a better diagnosis (there may be internal bleeding).  If we
>>> don't
>>> understand why it's failing, it doesn't make sense to try to fix it
>>> with the "cure" for a different problem.  (Maybe we never
>>> understood
>>> the clang 3.8 problem.)
>>>=20
>>> -- Ian
>>=20
>> The -mlong-calls were added to 11.0-CURRENT recently.
>>=20
>> -r293648: 2016-Jan-10 (head/lib/csu/arm/Makefile)
>> -r294031: 2016-Jan-14 (the rest added here)
>>=20
>> May be a problem/incompleteness in the handling -mlong-calls itself?
>> Are the above the right time frame for the problem starting for
>> 3.7.1?
>=20
> We've been using clang 3.7 since October.  We never needed =
-mlong-calls
> until recently.  I had thought it was clang 3.8 that triggered the =
need
> for -mlong-calls, but now we apparently have a report of clang 3.7.x
> needing it.
>=20
> So... why?  What changed, and why are we blindly reacting without
> understanding?
>=20
> -- Ian

The initial report turned out to be for a build for /usr/src content =
from *after* the -mlong-calls had been added to 11.0-CURRENT.

I'm not sure that anything reported as a failure is from before the =
-mlong-calls were added to 11.0-CURRENT. Or from between -r293648 and =
-r294031 .

As far as I can tell people are just exploring trying to find some =
context difference that controls getting the different results. Having =
an explanation established before such an identification is also known =
is problematical.



It does not help that self-hosted builds on rpi2's and the like take so =
long. Bisecting has a long elapsed time. It would take several going in =
parallel on different -r?????'s to speed up that style of finding where =
things changed.

I do not remember any reports of a cross-build failure but it may be =
that most "on rpi2" folks do not also do cross builds so that little is =
known for that context.



I do not know what it takes to use clang/clang++ 3.7.1 but to also avoid =
the clang++ 3.7.1 Bus Errors that I got during buildworld on the rpi2. =
I'd have to solve that first before contributing to the "on rpi2" =
testing of 3.7.1-based builds. (Cross builds did not/do not have the Bus =
Error problem in clang++.)

My historically targeting cortex-a7 means that my past activity is of =
questionable applicability to the questions at play.

=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?36E4B4DD-C479-484D-8BA3-A1DC1F71564A>