[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Fix build error in binutils 2.36
From: |
Daniel Kiper |
Subject: |
Re: [PATCH] Fix build error in binutils 2.36 |
Date: |
Thu, 16 Sep 2021 23:47:57 +0200 |
User-agent: |
NeoMutt/20170113 (1.7.2) |
On Mon, Aug 09, 2021 at 12:37:59PM +0800, Michael Chang via Grub-devel wrote:
> On Thu, Aug 05, 2021 at 03:07:21PM +0200, Daniel Kiper wrote:
> > On Mon, Aug 02, 2021 at 05:41:15PM +0800, Michael Chang via Grub-devel
> > wrote:
> > > The xen build fails on binutils 2.36 with the following error.
> > >
> > > /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld:
> > > section .note.gnu.property VMA [0000000000400158,0000000000400187]
> > > overlaps section .bss VMA [000000000000f000,000000000041e1af]
> >
> > Could you send us full command which is failing?
>
> It is reproducible on xen platfrom with all defaults.
>
> git clone https://git.savannah.gnu.org/git/grub.git
> cd grub
> ./bootstrap
> mkdir build-xen
> cd build-xen
> ../configure --with-platform=xen
> make
>
> > Anyway, I would consider writing our own linker script which is dropping
> > .note.gnu.property if we do not need it.
>
> Dropping it from the assembler output is a cleaner cleanup than linker
> script IMHO. We also faced similar issue in the past to stripping off
> this section from soruces of objcopy to produce correct binary.
>
> 6643507ce build: Fix GRUB i386-pc build with Ubuntu gcc
>
> To avoid falling into such trap again when manipulating on object files
> we'd better use assmbler option as the fix once and for all.
May I ask you to expand commit message with the information above?
> > > The most significant factor is that new assembler (gnu as) generates the
> >
> > Could you give us gas version which does that?
>
> # as --version
> GNU assembler (GNU Binutils; openSUSE Tumbleweed) 2.36.1.20210326-4
> Copyright (C) 2021 Free Software Foundation, Inc.
> This program is free software; you may redistribute it under the terms of
> the GNU General Public License version 3 or later.
> This program has absolutely no warranty.
> This assembler was configured for a target of `x86_64-suse-linux'.
>
> > > .note.gnu.property section as default. This note section overlaps with
> > > .bss because it doesn't reposition with -Wl,-Ttext,0 with which the base
> > > address of .text section is set, rather the address of
> > > .note.gnu.property is calculated for some reason from 0x400000 where the
> > > elf executable defaults to start.
> >
> > Is not it linker bug?
>
> The binutils upstream apparently doesn't seem to consider this as a bug ...
>
> https://sourceware.org/bugzilla/show_bug.cgi?id=27377
Please add this information and the link to the bug to the commit message too.
Additionally, I think it is worth mentioning Gentoo Linux bug [1] in it.
I treat this patch more as a workaround than real fix. However, after digging
deeper into this issue I think we do not have better choice here... :-(
Daniel
[1] https://bugs.gentoo.org/787221