|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] x86: work around build issue with GNU ld 2.37
On 10.08.2021 10:50, Jan Beulich wrote:
> On 10.08.2021 10:33, Andrew Cooper wrote:
>> On 03/08/2021 07:37, Jan Beulich wrote:
>>> On 27.07.2021 14:33, Andrew Cooper wrote:
>>>> On 22/07/2021 10:20, Jan Beulich wrote:
>>>>> I suspect it is commit 40726f16a8d7 ("ld script expression parsing")
>>>>> which broke the hypervisor build, by no longer accepting section names
>>>>> with a dash in them inside ADDR() (and perhaps other script directives
>>>>> expecting just a section name, not an expression): .note.gnu.build-id
>>>>> is such a section.
>>>> Are binutils going to fix their testing to reduce the number of serious
>>>> regressions they're releasing?
>>> To be honest - I simply don't know.
>>>
>>>>> Quoting all section names passed to ADDR() via DECL_SECTION() works
>>>>> around the regression.
>>>>>
>>>>> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
>>>> I guess we've got no choice. Acked-by: Andrew Cooper
>>>> <andrew.cooper3@xxxxxxxxxx>
>>> Thanks. I see you've committed this already.
>>
>> Actually, it unilaterally breaks FreeBSD builds:
>> https://cirrus-ci.com/task/5417332467040256
>>
>> I'm not sure why my build tests didn't notice, but obviously this patch
>> isn't a workable option.
>
> I'm confused: Is the tool called "ld" there something that's not only not
> GNU ld, but not even compatible with GNU ld? (Iirc clang's linker is named
> differently. Or maybe that's just on Linux? In any event I've just checked
> with clang5 [on Linux], and the build worked fine there. But this looks to
> be using GNU ld irrespective of the compiler choice, and I also don't seem
> to have anything named "llvm-ld" on that system, despite there being a lot
> of other "llvm-*".)
So I've looked at their man pages. From version 11 to version 12 the
linker changed from GNU ld to LLVM's. Interestingly the respective man
page says
ld.lld is a drop-in replacement for the GNU BFD and gold linkers. It ac-
cepts most of the same command line arguments and linker scripts as GNU
linkers.
To me "most of the same" isn't quite enough to claim "drop-in
replacement", but I guess that's just me ... Anyway - short of Roger
being around to ask, I'll try to locate a means to tell the two apart
from a linker script.
Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |