Re: [PATCH] s390/boot: Workaround current 'llvm-objdump -t -j ...' behavior

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Heiko,

On Wed, Feb 21, 2024 at 10:16:12AM +0100, Heiko Carstens wrote:
> On Tue, Feb 20, 2024 at 01:44:48PM -0700, Nathan Chancellor wrote:
> > When building with OBJDUMP=llvm-objdump, there are a series of warnings
> > from the section comparisons that arch/s390/boot/Makefile performs
> > between vmlinux and arch/s390/boot/vmlinux:
> ...
> > It may be possible to change llvm-objdump's behavior to match GNU
> > objdump's behavior but the difficulty of that task has not yet been
> > explored. The combination of '$(OBJDUMP) -t -j' is not common in the
> > kernel tree on a whole, so workaround this tool difference by grepping
> > for the sections in the full symbol table output in a similar manner to
> > the sed invocation. This results in no visible change for GNU objdump
> > users while fixing the warnings for OBJDUMP=llvm-objdump, further
> > enabling use of LLVM=1 for ARCH=s390 with versions of LLVM that have
> > support for s390 in ld.lld and llvm-objcopy.
> > 
> > Reported-by: Heiko Carstens <hca@xxxxxxxxxxxxx>
> > Closes: https://lore.kernel.org/20240219113248.16287-C-hca@xxxxxxxxxxxxx/
> > Link: https://github.com/ClangBuiltLinux/linux/issues/859
> > Signed-off-by: Nathan Chancellor <nathan@xxxxxxxxxx>
> > ---
> > s390 llvm-objcopy support may be backported to LLVM 18.1.0 in time for
> > the final release.
> > 
> > https://github.com/llvm/llvm-project/pull/82324
> > 
> > s390 ld.lld has already made it into release/18.x:
> > 
> > https://github.com/llvm/llvm-project/commit/0a44c3792a6ff799df5f100670d7e19d1bc49f03
> > 
> > If the objcopy change makes 18.1.0 final, features + this change should
> > build cleanly with LLVM 18.1.0+ using LLVM=1 :)
> > ---
> >  arch/s390/boot/Makefile | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> This seems to work like expected (also verified with a couple of scenarios
> where things are supposed to break).
> 
> So compiling the kernel with LLVM=1 finally works on s390!
> 
> Patch applied - Thanks a lot!

Thanks a lot for testing and applying this quickly! Small update on the
LLVM side, the llvm-objcopy change made it into 18.1.0-rc3:

https://github.com/llvm/llvm-project/commit/5ef297ab611822537a385d45244867519563d3ef
https://github.com/llvm/llvm-project/commits/llvmorg-18.1.0-rc3

So it's pretty much official, 'ARCH=s390 LLVM=1' should build without
any issues with Linux 6.9+ and LLVM 18.1.0+ :)

Cheers,
Nathan




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Kernel Development]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Info]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Linux Media]     [Device Mapper]

  Powered by Linux