From 4d45e6cd4481476a7a7f40700b910ab2f32ba3c7 Mon Sep 17 00:00:00 2001 From: Bowen Wang Date: Fri, 26 Jan 2024 16:27:15 +0800 Subject: [PATCH] i486/Toolchain.defs: move toolchain releated option to Toolchain.defs Toolchain related options should be in Toolchain.defs Signed-off-by: Bowen Wang --- arch/x86/src/common/Toolchain.defs | 1 + arch/x86/src/i486/Toolchain.defs | 21 ++++++++++ boards/x86/qemu/qemu-i486/scripts/Make.defs | 43 +-------------------- 3 files changed, 23 insertions(+), 42 deletions(-) create mode 100644 arch/x86/src/i486/Toolchain.defs diff --git a/arch/x86/src/common/Toolchain.defs b/arch/x86/src/common/Toolchain.defs index 2c7a1ce9c97c7..13a5de7023ba8 100644 --- a/arch/x86/src/common/Toolchain.defs +++ b/arch/x86/src/common/Toolchain.defs @@ -69,3 +69,4 @@ CXXELFFLAGS = $(CXXFLAGS) -fvisibility=hidden LDELFFLAGS = -r -e main LDELFFLAGS += -T $(call CONVERT_PATH,$(TOPDIR)$(DELIM)libs$(DELIM)libc$(DELIM)modlib$(DELIM)gnu-elf.ld) +EXEEXT = .elf diff --git a/arch/x86/src/i486/Toolchain.defs b/arch/x86/src/i486/Toolchain.defs new file mode 100644 index 0000000000000..e69b7ad5c3546 --- /dev/null +++ b/arch/x86/src/i486/Toolchain.defs @@ -0,0 +1,21 @@ +############################################################################ +# arch/x86/src/i486/Toolchain.defs +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. The +# ASF licenses this file to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance with the +# License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +############################################################################ + +include $(TOPDIR)/arch/x86_64/src/common/Toolchain.defs diff --git a/boards/x86/qemu/qemu-i486/scripts/Make.defs b/boards/x86/qemu/qemu-i486/scripts/Make.defs index a8b5c7cdefc23..25b1eb488f261 100644 --- a/boards/x86/qemu/qemu-i486/scripts/Make.defs +++ b/boards/x86/qemu/qemu-i486/scripts/Make.defs @@ -20,47 +20,6 @@ include $(TOPDIR)/.config include $(TOPDIR)/tools/Config.mk - -ifeq ($(CONFIG_DEBUG_SYMBOLS),y) - ARCHOPTIMIZATION = -g -endif - -ifneq ($(CONFIG_DEBUG_NOOPT),y) - ARCHOPTIMIZATION += -O2 -endif +include $(TOPDIR)/arch/x86/src/i486/Toolchain.defs ARCHSCRIPT += $(BOARD_DIR)$(DELIM)scripts$(DELIM)qemu.ld - -ARCHCPUFLAGS = -march=i486 -mtune=i486 -fno-stack-protector -ARCHPICFLAGS = -fpic -ARCHWARNINGS = -Wall -Wstrict-prototypes -Wshadow -Wundef - -# Check if building a 32-bit target with a 64-bit toolchain - -ifeq ($(CONFIG_ARCH_X86_M32),y) -ARCHCPUFLAGS += -m32 -LDFLAGS += -m elf_i386 -endif - -# We have to use a cross-development toolchain under Cygwin because the native -# Cygwin toolchains don't generate ELF binaries. - -ifeq ($(CONFIG_WINDOWS_CYGWIN),y) -CROSSDEV = i486-nuttx-elf- -endif - -CC = $(CROSSDEV)gcc -CPP = $(CROSSDEV)gcc -E -LD = $(CROSSDEV)ld -STRIP = $(CROSSDEV)strip --strip-unneeded -AR = $(CROSSDEV)ar rcs -NM = $(CROSSDEV)nm -OBJCOPY = $(CROSSDEV)objcopy -OBJDUMP = $(CROSSDEV)objdump - -CFLAGS := $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRAFLAGS) -pipe -CPPFLAGS := $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRAFLAGS) -AFLAGS := $(CFLAGS) -D__ASSEMBLY__ - -EXEEXT = .elf -