[PATCH 5.4 fix build id for arm64 with CONFIG_MODVERSIONS 0/6]

Tom Saeger posted 6 patches 2 years, 7 months ago
There is a newer version of this series
arch/powerpc/kernel/vmlinux.lds.S |  6 +++++-
arch/s390/kernel/vmlinux.lds.S    |  2 ++
arch/sh/kernel/vmlinux.lds.S      |  1 +
arch/x86/kernel/vmlinux.lds.S     |  1 +
include/asm-generic/vmlinux.lds.h | 16 ++++++++++++++--
5 files changed, 23 insertions(+), 3 deletions(-)
[PATCH 5.4 fix build id for arm64 with CONFIG_MODVERSIONS 0/6]
Posted by Tom Saeger 2 years, 7 months ago
Build ID on arm64 is broken if CONFIG_MODVERSIONS=y
on 5.4, 5.10, and 5.15

Discussed:
https://lore.kernel.org/all/3df32572ec7016e783d37e185f88495831671f5d.1671143628.git.tom.saeger@oracle.com/
https://lore.kernel.org/all/cover.1670358255.git.tom.saeger@oracle.com/

Which is fixed for arm64 with backporting:
[2/6] ("arch: fix broken BuildID for arm64 and riscv")

Which had fixes:
[3/6] powerpc/vmlinux.lds: Define RUNTIME_DISCARD_EXIT
[4/6] powerpc/vmlinux.lds: Don't discard .rela* for relocatable builds
[5/6] s390: define RUNTIME_DISCARD_EXIT to fix link error with GNU ld < 2.36

But broke arch/sh (or so it was thought).
arch/sh is also broken in mainline.

[6/6] sh: define RUNTIME_DISCARD_EXIT
*NOTE* is not in mainline, but was sent here:
https://lore.kernel.org/all/9166a8abdc0f979e50377e61780a4bba1dfa2f52.1674518464.git.tom.saeger@oracle.com/

There was enough breakage in 5.4.230-rc1 that the previous series was
dropped (which didn't have 1/6 or 6/6).
https://lore.kernel.org/stable/CA+G9fYuYi1Rvv19R_EVdht_7LV9qiR-6KVvZUGjct3kEk0uQTA@mail.gmail.com/

[1/6] 84d5f77fc2ee ("x86, vmlinux.lds: Add RUNTIME_DISCARD_EXIT to generic DISCARDS")
First defined RUNTIME_DISCARD_EXIT generically and its use for x86_64
specifically.

  $ git describe --contains 84d5f77fc2ee4e0
  v5.7-rc1~164^2~1

Which explains why the previous series broke 5.4.


I've build tested on a fairly wide matrix so far, but would appreciate
more testing.

with and without CONFIG_MODVERSIONS=y

  # view Build ID
  $ readelf -n vmlinux | grep "Build ID"

5.10 and 5.15 will have a similar series [2-6], as both already have [1/6].

If arch/sh is a must have, then [6/6] needs to find its way into mainline.


Regards,

--Tom


H.J. Lu (1):
  x86, vmlinux.lds: Add RUNTIME_DISCARD_EXIT to generic DISCARDS

Masahiro Yamada (2):
  arch: fix broken BuildID for arm64 and riscv
  s390: define RUNTIME_DISCARD_EXIT to fix link error with GNU ld < 2.36

Michael Ellerman (2):
  powerpc/vmlinux.lds: Define RUNTIME_DISCARD_EXIT
  powerpc/vmlinux.lds: Don't discard .rela* for relocatable builds

Tom Saeger (1):
  sh: define RUNTIME_DISCARD_EXIT

 arch/powerpc/kernel/vmlinux.lds.S |  6 +++++-
 arch/s390/kernel/vmlinux.lds.S    |  2 ++
 arch/sh/kernel/vmlinux.lds.S      |  1 +
 arch/x86/kernel/vmlinux.lds.S     |  1 +
 include/asm-generic/vmlinux.lds.h | 16 ++++++++++++++--
 5 files changed, 23 insertions(+), 3 deletions(-)


base-commit: 90245959a5b936ee013266e5d1e6a508ed69274e
-- 
2.39.1
Re: [PATCH 5.4 fix build id for arm64 with CONFIG_MODVERSIONS 0/6]
Posted by Sasha Levin 2 years, 7 months ago
On Tue, Jan 24, 2023 at 02:14:17PM -0700, Tom Saeger wrote:
>Build ID on arm64 is broken if CONFIG_MODVERSIONS=y
>on 5.4, 5.10, and 5.15
>
>Discussed:
>https://lore.kernel.org/all/3df32572ec7016e783d37e185f88495831671f5d.1671143628.git.tom.saeger@oracle.com/
>https://lore.kernel.org/all/cover.1670358255.git.tom.saeger@oracle.com/

Queued up, hopefully it makes it this time :) Thanks!

-- 
Thanks,
Sasha
Re: [PATCH 5.4 fix build id for arm64 with CONFIG_MODVERSIONS 0/6]
Posted by Greg Kroah-Hartman 2 years, 7 months ago
On Thu, Jan 26, 2023 at 09:08:23PM -0500, Sasha Levin wrote:
> On Tue, Jan 24, 2023 at 02:14:17PM -0700, Tom Saeger wrote:
> > Build ID on arm64 is broken if CONFIG_MODVERSIONS=y
> > on 5.4, 5.10, and 5.15
> > 
> > Discussed:
> > https://lore.kernel.org/all/3df32572ec7016e783d37e185f88495831671f5d.1671143628.git.tom.saeger@oracle.com/
> > https://lore.kernel.org/all/cover.1670358255.git.tom.saeger@oracle.com/
> 
> Queued up, hopefully it makes it this time :) Thanks!

Dropped from the 5.4 queue as it is not in any newer kernel tree yet,
sorry.  We can't have a fix that is in only 5.4 but not in a newer
release, that would mean it would be a regression if someone moves to a
newer release.

Tom, please submit patches for _all_ branches, and we will be glad to
consider them, not just for one old one.

thanks,

greg k-h
Re: [PATCH 5.4 fix build id for arm64 with CONFIG_MODVERSIONS 0/6]
Posted by Tom Saeger 2 years, 7 months ago
On Fri, Jan 27, 2023 at 08:28:07AM +0100, Greg Kroah-Hartman wrote:
> On Thu, Jan 26, 2023 at 09:08:23PM -0500, Sasha Levin wrote:
> > On Tue, Jan 24, 2023 at 02:14:17PM -0700, Tom Saeger wrote:
> > > Build ID on arm64 is broken if CONFIG_MODVERSIONS=y
> > > on 5.4, 5.10, and 5.15
> > > 
> > > Discussed:
> > > https://lore.kernel.org/all/3df32572ec7016e783d37e185f88495831671f5d.1671143628.git.tom.saeger@oracle.com/
> > > https://lore.kernel.org/all/cover.1670358255.git.tom.saeger@oracle.com/
> > 
> > Queued up, hopefully it makes it this time :) Thanks!
> 
> Dropped from the 5.4 queue as it is not in any newer kernel tree yet,
> sorry.  We can't have a fix that is in only 5.4 but not in a newer
> release, that would mean it would be a regression if someone moves to a
> newer release.
> 
> Tom, please submit patches for _all_ branches, and we will be glad to
> consider them, not just for one old one.
> 
> thanks,
> 
> greg k-h


I was sort of hoping 6/6 would have landed upstream before 
sending v5.10 and v5.15.

I'll send those now.

--Tom