Skip to contentSkip to conversation

UML: hard-code the result of 'uname -s'

PATCH In review Masahiro Yamada 4 participants 6 messages Jul 21, 2023 – Aug 19, 2023

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH v2 1/2 UML: hard-code the result of 'uname -s'

We rely on 'uname -s' returning 'Linux' because there are os-Linux/ directories, but no other os-*/.

Supporting a non-Linux host is unlikely to happen.

Let's hard-code 'Linux'.

---

(no changes since v1)

 arch/um/Makefile     | 7 +++----
 arch/x86/um/Makefile | 2 +-
 2 files changed, 4 insertions(+), 5 deletions(-)
arch/um/Makefile +3 -4
index da4d5256af2f..1735a562453d 100644
@@ -18,14 +18,13 @@ else
 endif
 
 ARCH_DIR := arch/um
-OS := $(shell uname -s)
 # We require bash because the vmlinux link and loader script cpp use bash
 # features.
 SHELL := /bin/bash
 
 core-y			+= $(ARCH_DIR)/kernel/		\
 			   $(ARCH_DIR)/drivers/		\
-			   $(ARCH_DIR)/os-$(OS)/
+			   $(ARCH_DIR)/os-Linux/
 
 MODE_INCLUDE	+= -I$(srctree)/$(ARCH_DIR)/include/shared/skas
 
@@ -78,7 +77,7 @@ USER_CFLAGS = $(patsubst $(KERNEL_DEFINES),,$(patsubst -I%,,$(KBUILD_CFLAGS))) \
 		-idirafter $(objtree)/include -D__KERNEL__ -D__UM_HOST__
 
 #This will adjust *FLAGS accordingly to the platform.
-include $(srctree)/$(ARCH_DIR)/Makefile-os-$(OS)
+include $(srctree)/$(ARCH_DIR)/Makefile-os-Linux
 
 KBUILD_CPPFLAGS += -I$(srctree)/$(HOST_DIR)/include \
 		   -I$(srctree)/$(HOST_DIR)/include/uapi \
@@ -155,4 +154,4 @@ archclean:
 	@find . \( -name '*.bb' -o -name '*.bbg' -o -name '*.da' \
 		-o -name '*.gcov' \) -type f -print | xargs rm -f
 
-export HEADER_ARCH SUBARCH USER_CFLAGS CFLAGS_NO_HARDENING OS DEV_NULL_PATH
+export HEADER_ARCH SUBARCH USER_CFLAGS CFLAGS_NO_HARDENING DEV_NULL_PATH
arch/x86/um/Makefile +1 -1
index ee89f6bb9242..e207e6748aa2 100644
@@ -13,7 +13,7 @@ obj-y = bugs_$(BITS).o delay.o fault.o ldt.o \
 	ptrace_$(BITS).o ptrace_user.o setjmp_$(BITS).o signal.o \
 	stub_$(BITS).o stub_segv.o \
 	sys_call_table_$(BITS).o sysrq_$(BITS).o tls_$(BITS).o \
-	mem_$(BITS).o subarch.o os-$(OS)/
+	mem_$(BITS).o subarch.o os-Linux/
 
 ifeq ($(CONFIG_X86_32),y)
 
Signature · 1 line
2.39.2
#1 lore raw

PATCH v2 2/2 UML: use obj-y to descend into arch/um/*/

The single build rule does not work with the core-y syntax. [1]

Use the standard obj-y syntax.

[1]: https://lore.kernel.org/linux-kbuild/[email protected]/T/#m7bc402e1e038f00ebcf2e92ed7fcb8a52fc1ea44

---

Changes in v2:
- Rephase the commit log

 arch/um/Kbuild   | 2 ++
 arch/um/Makefile | 4 ----
 2 files changed, 2 insertions(+), 4 deletions(-)
arch/um/Kbuild +2 -0
index a4e40e534e6a..6cf0c1e5927b 100644
@@ -1 +1,3 @@
 # SPDX-License-Identifier: GPL-2.0-only
+
+obj-y += kernel/ drivers/ os-Linux/
arch/um/Makefile +0 -4
index 1735a562453d..82f05f250634 100644
@@ -22,10 +22,6 @@ ARCH_DIR := arch/um
 # features.
 SHELL := /bin/bash
 
-core-y			+= $(ARCH_DIR)/kernel/		\
-			   $(ARCH_DIR)/drivers/		\
-			   $(ARCH_DIR)/os-Linux/
-
 MODE_INCLUDE	+= -I$(srctree)/$(ARCH_DIR)/include/shared/skas
 
 HEADER_ARCH 	:= $(SUBARCH)
Signature · 1 line
2.39.2
Tested-by on v2 2/2
#2 lore raw

Re: [PATCH v2 2/2] UML: use obj-y to descend into arch/um/*/

Quoted 7 lines · Masahiro Yamada

The single build rule does not work with the core-y syntax. [1]

Use the standard obj-y syntax.

[1]: https://lore.kernel.org/linux-kbuild/[email protected]/T/#m7bc402e1e038f00ebcf2e92ed7fcb8a52fc1ea44

thanks,

Signature · 8 lines
js
suse labs


_______________________________________________
linux-um mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-um
Reviewed-by Tested-by on v2 2/2
#3 lore raw

Re: [PATCH v2 2/2] UML: use obj-y to descend into arch/um/*/

In reply to Masahiro Yamada
Quoted 7 lines · Masahiro Yamada

The single build rule does not work with the core-y syntax. [1]

Use the standard obj-y syntax.

[1]: https://lore.kernel.org/linux-kbuild/[email protected]/T/#m7bc402e1e038f00ebcf2e92ed7fcb8a52fc1ea44

This resolves an issue I reported (but doesn't seem to be on lore for linux-kbuild...)

Quoted 35 lines

---

Changes in v2:
- Rephase the commit log

 arch/um/Kbuild   | 2 ++
 arch/um/Makefile | 4 ----
 2 files changed, 2 insertions(+), 4 deletions(-)
arch/um/Kbuild +2 -0
index a4e40e534e6a..6cf0c1e5927b 100644
@@ -1 +1,3 @@
 # SPDX-License-Identifier: GPL-2.0-only
+
+obj-y += kernel/ drivers/ os-Linux/
arch/um/Makefile +0 -4
index 1735a562453d..82f05f250634 100644
@@ -22,10 +22,6 @@ ARCH_DIR := arch/um
 # features.
 SHELL := /bin/bash
 
-core-y			+= $(ARCH_DIR)/kernel/		\
-			   $(ARCH_DIR)/drivers/		\
-			   $(ARCH_DIR)/os-Linux/
-
 MODE_INCLUDE	+= -I$(srctree)/$(ARCH_DIR)/include/shared/skas
 
 HEADER_ARCH 	:= $(SUBARCH)
Signature · 1 line
2.39.2

_______________________________________________
linux-um mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-um

#4 lore raw
In reply to Masahiro Yamada

----- Ursprüngliche Mail -----

Quoted 7 lines

Von: "masahiroy" <[email protected]>
We rely on 'uname -s' returning 'Linux' because there are os-Linux/ directories, but no other os-*/.

Supporting a non-Linux host is unlikely to happen.

Let's hard-code 'Linux'.

While I agree that a non-Linux version is unlikely I'd like to know why we can't keep the uname -s check?
I guess to avoid unnecessary command execution?

Thanks,
//richard

_______________________________________________
linux-um mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-um

#5 lore raw
Quoted 6 lines · Richard Weinberger

----- Ursprüngliche Mail -----

Quoted 4 lines

Von: "masahiroy" <[email protected]>
We rely on 'uname -s' returning 'Linux' because there are os-Linux/ directories, but no other os-*/.

Quoted 7 lines
Quoted 3 lines

Supporting a non-Linux host is unlikely to happen.

Let's hard-code 'Linux'.

While I agree that a non-Linux version is unlikely I'd like to know why we can't keep the uname -s check?
I guess to avoid unnecessary command execution?

Just because 'uname -s' is meaningless.

Just build 'Linux' ones irrespective of the host platform. If it works, it works.
If not, it does not work.

Signature · 7 lines
Best Regards
Masahiro Yamada

_______________________________________________
linux-um mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-um