This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit de61a8e0097abb5abe83a848b516a8d5615f5aa8 Author: Bowen Wang <wangbow...@xiaomi.com> AuthorDate: Fri Jan 26 16:22:01 2024 +0800 intel64/Toolchain.defs: move toolchain releated option to Toolchain.defs Follow other arch does, move common toolchain option to Toolchain.defs Signed-off-by: Bowen Wang <wangbow...@xiaomi.com> --- .../x86_64/src/common/Toolchain.defs | 14 +++---- arch/x86_64/src/intel64/Toolchain.defs | 21 +++++++++++ .../x86_64/intel64/qemu-intel64/scripts/Make.defs | 44 +--------------------- 3 files changed, 27 insertions(+), 52 deletions(-) diff --git a/boards/x86_64/intel64/qemu-intel64/scripts/Make.defs b/arch/x86_64/src/common/Toolchain.defs similarity index 85% copy from boards/x86_64/intel64/qemu-intel64/scripts/Make.defs copy to arch/x86_64/src/common/Toolchain.defs index f9a264dfbb..d4c1717575 100644 --- a/boards/x86_64/intel64/qemu-intel64/scripts/Make.defs +++ b/arch/x86_64/src/common/Toolchain.defs @@ -1,5 +1,5 @@ ############################################################################ -# boards/x86_64/intel64/qemu-intel64/scripts/Make.defs +# arch/x86_64/src/common/Toolchain.defs # # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with @@ -18,20 +18,16 @@ # ############################################################################ -include $(TOPDIR)/.config -include $(TOPDIR)/tools/Config.mk - ifeq ($(CONFIG_DEBUG_SYMBOLS),y) ARCHOPTIMIZATION = -g endif ifneq ($(CONFIG_DEBUG_NOOPT),y) - ARCHOPTIMIZATION += -O2 -fno-optimize-sibling-calls -fno-omit-frame-pointer -fno-crossjumping -fno-delete-null-pointer-checks - + ARCHOPTIMIZATION += -O2 -fno-optimize-sibling-calls + ARCHOPTIMIZATION += -fno-omit-frame-pointer -fno-crossjumping + ARCHOPTIMIZATION += -fno-delete-null-pointer-checks endif -ARCHSCRIPT += $(BOARD_DIR)$(DELIM)scripts$(DELIM)qemu.ld - ARCHCPUFLAGS = -fPIC -fno-stack-protector -mno-red-zone -mrdrnd ARCHPICFLAGS = -fPIC ARCHWARNINGS = -Wall -Wstrict-prototypes -Wshadow -Wundef @@ -48,7 +44,7 @@ CROSSDEV = x86_64-elf- endif CC = $(CROSSDEV)gcc -CPP = $(CROSSDEV)gcc -E +CPP = $(CROSSDEV)gcc -E -x c LD = $(CROSSDEV)ld STRIP = $(CROSSDEV)strip --strip-unneeded AR = $(CROSSDEV)ar rcs diff --git a/arch/x86_64/src/intel64/Toolchain.defs b/arch/x86_64/src/intel64/Toolchain.defs new file mode 100644 index 0000000000..6d0392aaa3 --- /dev/null +++ b/arch/x86_64/src/intel64/Toolchain.defs @@ -0,0 +1,21 @@ +############################################################################ +# arch/x86_64/src/intel64/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_64/intel64/qemu-intel64/scripts/Make.defs b/boards/x86_64/intel64/qemu-intel64/scripts/Make.defs index f9a264dfbb..e55817d63f 100644 --- a/boards/x86_64/intel64/qemu-intel64/scripts/Make.defs +++ b/boards/x86_64/intel64/qemu-intel64/scripts/Make.defs @@ -20,48 +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 -fno-optimize-sibling-calls -fno-omit-frame-pointer -fno-crossjumping -fno-delete-null-pointer-checks - -endif +include $(TOPDIR)/arch/x86_64/src/intel64/Toolchain.defs ARCHSCRIPT += $(BOARD_DIR)$(DELIM)scripts$(DELIM)qemu.ld - -ARCHCPUFLAGS = -fPIC -fno-stack-protector -mno-red-zone -mrdrnd -ARCHPICFLAGS = -fPIC -ARCHWARNINGS = -Wall -Wstrict-prototypes -Wshadow -Wundef - -# 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 - -ifeq ($(CONFIG_HOST_MACOS),y) -CROSSDEV = x86_64-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__ - -ifeq ($(CONFIG_HOST_MACOS),y) -AFLAGS += -Wa,--divide -endif - -EXEEXT = .elf