Subject: Re: linux-next: build failure after merge of the tip tree

From: Stephen Rothwell <[email-masked]>
Date: Tue, 15 Mar 2022 19:42:30 +1100

Hi all,

On Tue, 15 Mar 2022 16:37:47 +1100 Stephen Rothwell <[email-masked]> wrote:
>
> On Tue, 15 Mar 2022 16:23:27 +1100 Stephen Rothwell <[email-masked]> wrote:
> >
> > On Tue, 15 Mar 2022 14:06:44 +1100 Stephen Rothwell <[email-masked]> wrote:  
> > >
> > > After merging the irqchip tree, today's linux-next build (x86_64
> > > allmodconfig) failed like this:
> > > 
> > > arch/x86/kernel/cpuid.o: warning: objtool: file already has .orc_unwind section, skipping
> > > make[3]: *** [/home/sfr/next/next/scripts/Makefile.modfinal:61: arch/x86/kernel/cpuid.ko] Error 255
> > > arch/x86/kernel/msr.o: warning: objtool: file already has .orc_unwind section, skipping
> > > make[3]: *** [/home/sfr/next/next/scripts/Makefile.modfinal:61: arch/x86/kernel/msr.ko] Error 255
> > > arch/x86/events/intel/intel-uncore.o: warning: objtool: file already has .retpoline_sites, skipping
> > > arch/x86/events/intel/intel-uncore.o: warning: objtool: file already has .ibt_endbr_seal, skipping
> > > arch/x86/events/intel/intel-uncore.o: warning: objtool: file already has .orc_unwind section, skipping
> > > make[3]: *** [/home/sfr/next/next/scripts/Makefile.modfinal:61: arch/x86/events/intel/intel-uncore.ko] Error 255
> > > 
> > > I couldn't see anything int the irqchip tree that would cause this,
> > > so I deleted my object directory and redid the build and this time
> > > it succeeded.
> > > 
> > > I suspect some change in the tip tree has brought this on (it is merged
> > > just a bit before the irqchip tree).    
> > 
> > This time after the merging usb trees:
> > 
> > drivers/phy/qualcomm/phy-qcom-usb-hs.o: warning: objtool: file already has .orc_unwind section, skipping
> > make[3]: *** [scripts/Makefile.modfinal:61: drivers/phy/qualcomm/phy-qcom-usb-hs.ko] Error 255
> > drivers/phy/qualcomm/phy-qcom-usb-hsic.o: warning: objtool: file already has .orc_unwind section, skipping
> > make[3]: *** [scripts/Makefile.modfinal:61: drivers/phy/qualcomm/phy-qcom-usb-hsic.ko] Error 255
> > 
> > I just removed the drivers/phy/qualcomm directory from the object tree
> > and rebuilt.
> > 
> > Then got this:
> > 
> > drivers/phy/ti/phy-tusb1210.o: warning: objtool: file already has .orc_unwind section, skipping
> > make[3]: *** [/home/sfr/next/next/scripts/Makefile.modfinal:61: drivers/phy/ti/phy-tusb1210.ko] Error 255
> > 
> > So removed the drivers/phy/ti directory and rebuilt and the build
> > succeeded.
> > 
> > I assume that something is being left around or reprocessed when it
> > should not be.  
> 
> Maybe commit
> 
>   8856dadf7ad3 ("Kbuild: Allow whole module objtool runs")
> 
> ?

And after merging the scsi tree:

arch/x86/crypto/aegis128-aesni.o: warning: objtool: file already has .static_call_sites section, skipping
arch/x86/crypto/aegis128-aesni.o: warning: objtool: file already has .retpoline_sites, skipping
arch/x86/crypto/aegis128-aesni.o: warning: objtool: file already has .ibt_endbr_seal, skipping
arch/x86/crypto/aegis128-aesni.o: warning: objtool: file already has .orc_unwind section, skipping
arch/x86/crypto/aesni-intel.o: warning: objtool: file already has .static_call_sites section, skipping
arch/x86/crypto/aesni-intel.o: warning: objtool: file already has .ibt_endbr_seal, skipping
arch/x86/crypto/aesni-intel.o: warning: objtool: file already has .orc_unwind section, skipping
arch/x86/crypto/aegis128-aesni.o: warning: objtool: file already has .static_call_sites section, skipping
arch/x86/crypto/aegis128-aesni.o: warning: objtool: file already has .retpoline_sites, skipping
arch/x86/crypto/aegis128-aesni.o: warning: objtool: file already has .ibt_endbr_seal, skipping
arch/x86/crypto/aegis128-aesni.o: warning: objtool: file already has .orc_unwind section, skipping
arch/x86/crypto/aesni-intel.o: warning: objtool: file already has .static_call_sites section, skipping
arch/x86/crypto/aesni-intel.o: warning: objtool: file already has .ibt_endbr_seal, skipping
arch/x86/crypto/aesni-intel.o: warning: objtool: file already has .orc_unwind section, skipping
arch/x86/kernel/cpu/mce/mce-inject.o: warning: objtool: file already has .static_call_sites section, skipping
arch/x86/kernel/cpu/mce/mce-inject.o: warning: objtool: file already has .retpoline_sites, skipping
arch/x86/kernel/cpu/mce/mce-inject.o: warning: objtool: file already has .orc_unwind section, skipping
arch/x86/kernel/cpuid.o: warning: objtool: file already has .orc_unwind section, skipping
arch/x86/kernel/msr.o: warning: objtool: file already has .orc_unwind section, skipping
crypto/aegis128.o: warning: objtool: file already has .static_call_sites section, skipping
crypto/aegis128.o: warning: objtool: file already has .orc_unwind section, skipping
crypto/arc4.o: warning: objtool: file already has .orc_unwind section, skipping
crypto/async_tx/async_memcpy.o: warning: objtool: file already has .static_call_sites section, skipping
crypto/async_tx/async_memcpy.o: warning: objtool: file already has .retpoline_sites, skipping
crypto/async_tx/async_memcpy.o: warning: objtool: file already has .orc_unwind section, skipping

and so on ...

I finally got fed up with rebuilding and so reverted these commits

  c7d90e15b895 ("x86: Fix {int3,ibt}_selftest() vs LTO")
  8959fcf5650e ("x86/alternative: Use .ibt_endbr_seal to seal indirect calls")
  49f8cb48085d ("objtool: Find unused ENDBR instructions")
  b87d2fcee362 ("objtool: Validate IBT assumptions")
  df280fcb49f9 ("objtool: Add IBT/ENDBR decoding")
  51727f8e4a1a ("objtool: Read the NOENDBR annotation")
  8856dadf7ad3 ("Kbuild: Allow whole module objtool runs")

-- 
Cheers,
Stephen Rothwell