瀏覽代碼

toolchain/gcc: add config symbol to determine how to apply path remapping

Added boolean symbol for GCC 8 and higher, when we add newer GCC, we don't have
to modify rules.mk to keep things consistant.

Fixes: da9d760 ("rules.mk: replace iremap when using GCC 8")

Signed-off-by: Syrone Wong <[email protected]>
Syrone Wong 7 年之前
父節點
當前提交
713cee6463
共有 2 個文件被更改,包括 8 次插入3 次删除
  1. 3 3
      rules.mk
  2. 5 0
      toolchain/gcc/Config.version

+ 3 - 3
rules.mk

@@ -140,10 +140,10 @@ else
 endif
 endif
 
 
 ifeq ($(or $(CONFIG_EXTERNAL_TOOLCHAIN),$(CONFIG_GCC_VERSION_4_8),$(CONFIG_TARGET_uml)),)
 ifeq ($(or $(CONFIG_EXTERNAL_TOOLCHAIN),$(CONFIG_GCC_VERSION_4_8),$(CONFIG_TARGET_uml)),)
-  iremap = -iremap$(1):$(2)
-  # just overwrite iremap for GCC 8.1 and higher to keep backward compatibility
-  ifeq ($(CONFIG_GCC_VERSION_8),y)
+  ifeq ($(CONFIG_GCC_USE_EMBEDDED_PATH_REMAP),y)
     iremap = -fmacro-prefix-map=$(1)=$(2)
     iremap = -fmacro-prefix-map=$(1)=$(2)
+  else
+    iremap = -iremap$(1):$(2)
   endif
   endif
 endif
 endif
 
 

+ 5 - 0
toolchain/gcc/Config.version

@@ -10,6 +10,11 @@ config GCC_VERSION_8
 	default y if GCC_USE_VERSION_8
 	default y if GCC_USE_VERSION_8
 	bool
 	bool
 
 
+config GCC_USE_EMBEDDED_PATH_REMAP
+	default y if GCC_VERSION_8
+	default n
+	bool
+
 config GCC_VERSION
 config GCC_VERSION
 	string
 	string
 	default "5.5.0"		if GCC_VERSION_5
 	default "5.5.0"		if GCC_VERSION_5