ソースを参照

toolchain/toolchain-wrapper: reproducible builds: omit absolute paths from debug symbols

In GCC6 the compiler was made smarter to omit the flag
-fdebug-prefix-map from the DWARF DW_AT_producer section[1]. That flag
contains the absolute path '$(BASE_DIR)' which breaks reproducibility.
Prior to GCC6 however, the only way to omit the flag is to use
-gno-record-gcc-switches which omits all flags.

[1] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=266cc0c181549c2fb6b50f8f26213cdc89101026

Signed-off-by: Brandon Maier <brandon.maier@rockwellcollins.com>
[Arnout: invert condition to ifeq (,) instead of ifneq (,y)]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Brandon Maier 5 年 前
コミット
7ec9b3abd9
1 ファイル変更3 行追加0 行削除
  1. 3 0
      toolchain/toolchain-wrapper.mk

+ 3 - 0
toolchain/toolchain-wrapper.mk

@@ -32,6 +32,9 @@ endif
 ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_7),)
 TOOLCHAIN_WRAPPER_OPTS += -DBR_NEED_SOURCE_DATE_EPOCH
 endif
+ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_6),)
+TOOLCHAIN_WRAPPER_OPTS += -gno-record-gcc-switches
+endif
 endif
 
 # Disable -ftree-loop-distribute-patterns on microblaze to