Re: [PATCH 2/2] s390/nospec: remove unneeded header includes

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

 



On 17. 03. 23, 12:17, Vasily Gorbik wrote:
On Thu, Mar 16, 2023 at 12:14:27PM +0100, Jiri Slaby wrote:
On 27. 06. 22, 14:50, Vasily Gorbik wrote:
With that, expoline.S doesn't require asm-offsets.h and
expoline_prepare target dependency could be removed.

+++ b/arch/s390/Makefile
@@ -166,7 +166,7 @@ vdso_prepare: prepare0
   ifdef CONFIG_EXPOLINE_EXTERN
   modules_prepare: expoline_prepare
-expoline_prepare: prepare0
+expoline_prepare:

this likely broke s390 build as expolines still depend on
scripts/basic/fixdep. And build of expolines can now race with fixdep build:
      make[1]: *** Deleting file 'arch/s390/lib/expoline/expoline.o'
      /bin/sh: line 1: scripts/basic/fixdep: Permission denied
      make[1]: *** [../scripts/Makefile.build:385:
arch/s390/lib/expoline/expoline.o] Error 126
      make: *** [../arch/s390/Makefile:166: expoline_prepare] Error 2

I returned there:
   expoline_prepare: prepare0
and it looks good so far. Maybe even:
   expoline_prepare: scripts
would be enough.

Hi Jiri, thanks for looking into this!

Probably even scripts_basic would be enough to add explicit dependency
to fixdep. But I just couldn't reproduce missing scripts/basic/fixdep
neither with modules_prepare nor expoline_prepare targets.

Hi,

yes, I could not reproduce locally too. It likely needs a "slow" and sort of specific machine to happen. This happened randomly only on SUSE build systems. And only on the internal ones. There are no failures on public ones:
https://build.opensuse.org/packages/kernel-default/job_history/Kernel:stable/S390/s390x

The kernel is built as:
make prepare # builds scripts/basic and other stuff we use
make clean # remove all but scripts and config
make all # scripts/basic/fixdep is rebuilt

fixdep is rebuilt due to clean-ed .fixdep.o.cmd -- that one is regenerated and fixdep built anew.

The whole process (make log) is dumped at:
https://build.opensuse.org/package/live_build_log/Kernel:stable/kernel-default/S390/s390x

With which specific build command were you able to get those error
messages? I wonder where
         make[1]: *** Deleting file 'arch/s390/lib/expoline/expoline.o'
is coming from. Could it be smth like?

It's from make after the build (fixdep invocation) failure. So that stale files do not exist.

Note that fixdep likely exist, but it is a stub -- linking phase still runs.

make ARCH=s390 CROSS_COMPILE=s390x-12.2.0- -j64 arch/s390/lib/expoline/expoline.o

Playing around with this build target I found it is broken:

   AS      arch/s390/lib/expoline/expoline.o
   AS      arch/s390/lib/expoline/expoline.o
fixdep: error opening file: arch/s390/lib/expoline/.expoline.o.d: No such file or directory
make[3]: *** [scripts/Makefile.build:374: arch/s390/lib/expoline/expoline.o] Error 2
make[3]: *** Deleting file 'arch/s390/lib/expoline/expoline.o'
make[2]: *** [scripts/Makefile.build:494: arch/s390/lib/expoline] Error 2
make[1]: *** [scripts/Makefile.build:494: arch/s390/lib] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:2028: .] Error 2

Notice dup AS call, which is probably causing this:
make[3]: *** Deleting file 'arch/s390/lib/expoline/expoline.o'

But that would be a different issue from the one you are trying to fix.

Likely.

thanks,
--
js




[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux