On 20/11/2025 1:33 am, Marek Marczykowski-Górecki wrote:
> On Thu, Nov 20, 2025 at 12:43:57AM +0000, Andrew Cooper wrote:
>> On 19/11/2025 7:12 pm, Marek Marczykowski-Górecki wrote:
>>> Old binutils get confused about .buildid overlapping (in VA space) with
>>> earlier section. That confusion results in weird errors down the road,
>>> like this one:
>>>
>>>     objcopy: xen.efi: Data Directory size (1c) exceeds space left in 
>>> section (8)
>>>
>>> While the bug is fixed in later binutils version, force alignment of the
>>> buildid to avoid overlapping and make it work with older versions too.
>>> This can be reverted once toolchain base is raised at or above binutils
>>> 2.36.
>>>
>>> Details at:
>>> https://lore.kernel.org/all/3TMd7J2u5gCA8ouIG_Xfcw7s5JKMG06XsDIesEB3Fi9htUJ43Lfl057wXohlpCHcszqoCmicpIlneEDO26ZqT8QfC2Y39VxBuqD3nS1j5Q4=@trmm.net/
>>>
>>> Signed-off-by: Marek Marczykowski-Górecki <[email protected]>
>>> Fixes: eee5909e9d1e ("x86/EFI: use less crude a way of generating the build 
>>> ID")
>> We typically put these tags in the other order.  I can fix on commit.
>>
>> Reviewed-by: Andrew Cooper <[email protected]>, although...
>>
>>> ---
>>> While the actual bug apparently is in binutils, the commit mentioned in
>>> Fixes: tag introduced part that triggers that bug.
>>> ---
>>>  xen/arch/x86/xen.lds.S | 2 ++
>>>  1 file changed, 2 insertions(+)
>>>
>>> diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
>>> index 5d02f83a409c..967f9167f757 100644
>>> --- a/xen/arch/x86/xen.lds.S
>>> +++ b/xen/arch/x86/xen.lds.S
>>> @@ -171,6 +171,8 @@ SECTIONS
>>>         __note_gnu_build_id_end = .;
>>>    } PHDR(note) PHDR(text)
>>>  #elif defined(BUILD_ID_EFI)
>>> +  /* Workaround bug in binutils < 2.38 */
>> ... this says 2.38, but the commit message says 2.36.  Which one is it?
> 2.36

Thanks.  I'll adjust on commit.

~Andrew

Reply via email to