On 10/14/22 22:52, Michal Suchanek wrote:
Currently sandbox configuration defautls to 64bit and there is no
automation for building 32bit sandbox on 32bit hosts.

Use _LP64 macro as heuristic for detecting 64bit targets.

Signed-off-by: Michal Suchanek <msucha...@suse.de>

Please, explain why you think a Kconfig level patch is preferable to
what I proposed in

[PATCH] sandbox: Eliminate CONFIG_HOST_32/64BIT
https://lists.denx.de/pipermail/u-boot/2022-October/497236.html

---

Changes in v2:
simplify and move detection to kconfig

---
  arch/sandbox/Kconfig    | 18 +++---------------
  scripts/Kconfig.include |  4 ++++
  2 files changed, 7 insertions(+), 15 deletions(-)

diff --git a/arch/sandbox/Kconfig b/arch/sandbox/Kconfig
index 852a7c8bf2..35508c6b29 100644
--- a/arch/sandbox/Kconfig
+++ b/arch/sandbox/Kconfig
@@ -13,7 +13,7 @@ config SYS_CPU
  config SANDBOX64
        bool "Use 64-bit addresses"
        select PHYS_64BIT
-       select HOST_64BIT
+       depends on HOST_64BIT

  config SANDBOX_RAM_SIZE_MB
        int "RAM size in MiB"
@@ -41,23 +41,11 @@ config SYS_CONFIG_NAME
        default "sandbox_spl" if SANDBOX_SPL
        default "sandbox" if !SANDBOX_SPL

-choice
-       prompt "Run sandbox on 32/64-bit host"
-       default HOST_64BIT
-       help
-         Sandbox can be built on 32-bit and 64-bit hosts.
-         The default is to build on a 64-bit host and run
-         on a 64-bit host. If you want to run sandbox on
-         a 32-bit host, change it here.
-
  config HOST_32BIT
-       bool "32-bit host"
-       depends on !PHYS_64BIT
+       def_bool ! $(cc-define,_LP64)

  config HOST_64BIT
-       bool "64-bit host"
-
-endchoice
+       def_bool $(cc-define,_LP64)

  config SANDBOX_CRASH_RESET
        bool "Reset on crash"
diff --git a/scripts/Kconfig.include b/scripts/Kconfig.include
index dad5583451..b7598ca5d9 100644
--- a/scripts/Kconfig.include
+++ b/scripts/Kconfig.include

This include is copied from Linux. From time to time we synchronize the
Kconfig framework from Linux. So we should avoid U-Boot specific changes
here.

Best regards

Heinrich

@@ -22,6 +22,10 @@ success = $(if-success,$(1),y,n)
  # Return y if the compiler supports <flag>, n otherwise
  cc-option = $(success,$(CC) -Werror $(1) -E -x c /dev/null -o /dev/null)

+# $(cc-define,<macro>)
+# Return y if the compiler defines <macro>, n otherwise
+cc-define = $(success,$(CC) -dM -E -x c /dev/null | grep -q '^#define 
\<$(1)\>')
+
  # $(ld-option,<flag>)
  # Return y if the linker supports <flag>, n otherwise
  ld-option = $(success,$(LD) -v $(1))

Reply via email to