diff options
Diffstat (limited to 'arch/sandbox')
-rw-r--r-- | arch/sandbox/Kconfig | 7 | ||||
-rw-r--r-- | arch/sandbox/Makefile | 12 | ||||
-rw-r--r-- | arch/sandbox/os/Makefile | 2 |
3 files changed, 19 insertions, 2 deletions
diff --git a/arch/sandbox/Kconfig b/arch/sandbox/Kconfig index 46cfe8b4b1..789938941d 100644 --- a/arch/sandbox/Kconfig +++ b/arch/sandbox/Kconfig @@ -26,6 +26,13 @@ config SANDBOX_UNWIND config CC_IS_64BIT def_bool $(success,$(srctree)/scripts/gcc-64bitptr.sh $(CC)) +config CC_HAS_LINUX_I386_SUPPORT + def_bool $(cc-option,-m32) && $(ld-option,-m elf_i386) + config 64BIT bool + default n if SANDBOX_LINUX_I386 default CC_IS_64BIT + +config SANDBOX_LINUX_I386 + bool "32-bit x86 barebox" if CC_HAS_LINUX_I386_SUPPORT diff --git a/arch/sandbox/Makefile b/arch/sandbox/Makefile index 3917cade94..c08ea0cf83 100644 --- a/arch/sandbox/Makefile +++ b/arch/sandbox/Makefile @@ -52,11 +52,21 @@ ifeq ($(CONFIG_UBSAN),y) SANITIZER_LIBS += -fsanitize=undefined endif -cmd_barebox__ = $(CC) -o $@ -Wl,-T,$(BAREBOX_LDS) \ +ifeq ($(CONFIG_SANDBOX_LINUX_I386),y) +KBUILD_CFLAGS += -m32 +KBUILD_LDFLAGS += -m elf_i386 +KBUILD_AFLAGS += -m32 +BAREBOX_LDFLAGS += -m32 +endif + +BAREBOX_LDFLAGS += \ + -Wl,-T,$(BAREBOX_LDS) \ -Wl,--whole-archive $(BAREBOX_OBJS) -Wl,--no-whole-archive \ -lrt -lpthread $(SDL_LIBS) $(FTDI1_LIBS) \ $(SANITIZER_LIBS) +cmd_barebox__ = $(CC) -o $@ $(BAREBOX_LDFLAGS) + common-y += $(BOARD) arch/sandbox/os/ arch/sandbox/lib/ common-$(CONFIG_OFTREE) += arch/sandbox/dts/ diff --git a/arch/sandbox/os/Makefile b/arch/sandbox/os/Makefile index c012c9cf01..ed921443e0 100644 --- a/arch/sandbox/os/Makefile +++ b/arch/sandbox/os/Makefile @@ -6,7 +6,7 @@ KBUILD_CPPFLAGS = $(patsubst %,-I$(srctree)/%include,$(machdirs)) KBUILD_CPPFLAGS += -DCONFIG_MALLOC_SIZE=$(CONFIG_MALLOC_SIZE) -KBUILD_CFLAGS := -Wall +KBUILD_CFLAGS += -Wall NOSTDINC_FLAGS := obj-y = common.o tap.o |