You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2024/02/18 13:35:02 UTC
(nuttx) 02/02: intel64/Toolchain.defs: move toolchain releated option to Toolchain.defs
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 <wa...@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 <wa...@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