summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAhmad Fatoum <a.fatoum@pengutronix.de>2020-06-02 10:53:49 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2020-06-03 10:03:33 +0200
commit33bfb72092aa4348de4901a7470cde146c1d26a0 (patch)
tree23d8dbb93c7b389e66fcac7837775d263ebf6704
parentede7fb68e78ad4a74bcc9c9f7c5bae62b8175fab (diff)
downloadbarebox-33bfb72092aa4348de4901a7470cde146c1d26a0.tar.gz
barebox-33bfb72092aa4348de4901a7470cde146c1d26a0.tar.xz
sandbox: define CONFIG_64BIT as appropriate
All 64-bit architectures are supposed to define CONFIG_64BIT to support the relevant 64-bit MMIO accessors. The sandbox architecture is a bit of a special case, because barebox uses the toolchain default and doesn't force a bitness. Add 64BIT as promptless symbol, which reflects the pointer size of the target platform. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--arch/sandbox/Kconfig9
-rwxr-xr-xscripts/gcc-64bitptr.sh9
2 files changed, 18 insertions, 0 deletions
diff --git a/arch/sandbox/Kconfig b/arch/sandbox/Kconfig
index 6ec71a99e5..46cfe8b4b1 100644
--- a/arch/sandbox/Kconfig
+++ b/arch/sandbox/Kconfig
@@ -1,3 +1,5 @@
+source "scripts/Kconfig.include"
+
config SANDBOX
bool
select OFTREE
@@ -20,3 +22,10 @@ config SANDBOX_UNWIND
default y
select ARCH_HAS_STACK_DUMP
depends on UBSAN || KASAN
+
+config CC_IS_64BIT
+ def_bool $(success,$(srctree)/scripts/gcc-64bitptr.sh $(CC))
+
+config 64BIT
+ bool
+ default CC_IS_64BIT
diff --git a/scripts/gcc-64bitptr.sh b/scripts/gcc-64bitptr.sh
new file mode 100755
index 0000000000..7fb05703b8
--- /dev/null
+++ b/scripts/gcc-64bitptr.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+# SPDX-License-Identifier: GPL-2.0-only
+
+cat << "END" | $@ -x c - -c -o /dev/null
+int main(void)
+{
+ return sizeof(struct { int:-!(sizeof(void *) == 8); });
+}
+END