From 92f32615ed02ee442ded7016a7ecfa4740fe10fd Mon Sep 17 00:00:00 2001 From: Kousik Kumar Date: Tue, 20 Oct 2020 05:52:49 +0000 Subject: [PATCH] Revert "Remove env-var-allowlist" Revert "Add -fdebug-compilation-dir option" Revert submission 1461902-debug-compilation-dir Reason for revert: "-Xclang" isn't being uniformly respected everywhere. For example, in ".S" compilations, when I pass `-Xclang -fdebug-compilation-dir=.", the assembler seems to be ignoring it and then inserting the `pwd` into the command, however when I pass "-fdebug-compilation-dir=.", it strips out the path to the current working directory. This indicates that we need to update re-client's input processor so that we can pass -fdebug-compilation-dir=. without "-Xclang" and then remove `PWD` setting. For now, I'll update this patch to pass both "-fdebug-compilation-dir=." and `PWD` and when RBE side fix is done, I'll remove `PWD` in a separate CL. Reverted Changes: Ib0f271e55:Add -fdebug-compilation-dir option Ifa0592af5:Remove env-var-allowlist Change-Id: I7c690b3e00d37dbcc8fbaa66dda49f39032be3ab --- core/config.mk | 10 ++++++++++ core/definitions.mk | 12 ++++++------ core/rbe.mk | 2 +- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/core/config.mk b/core/config.mk index e197276931..16fa988778 100644 --- a/core/config.mk +++ b/core/config.mk @@ -996,6 +996,16 @@ endif # PRODUCT_USE_DYNAMIC_PARTITIONS # Set up final options. # ############################################################### +# We run gcc/clang with PWD=/proc/self/cwd to remove the $TOP +# from the debug output. That way two builds in two different +# directories will create the same output. +# /proc doesn't exist on Darwin. +ifeq ($(HOST_OS),linux) +RELATIVE_PWD := PWD=/proc/self/cwd +else +RELATIVE_PWD := +endif + # Flags for DEX2OAT first_non_empty_of_three = $(if $(1),$(1),$(if $(2),$(2),$(3))) DEX2OAT_TARGET_ARCH := $(TARGET_ARCH) diff --git a/core/definitions.mk b/core/definitions.mk index 0a65a157bc..bfbeee3a34 100644 --- a/core/definitions.mk +++ b/core/definitions.mk @@ -1179,7 +1179,7 @@ define transform-cpp-to-o @echo "$($(PRIVATE_PREFIX)DISPLAY) $(PRIVATE_ARM_MODE) C++: $(PRIVATE_MODULE) <= $<" @mkdir -p $(dir $@) $(if $(PRIVATE_TIDY_CHECKS),$(clang-tidy-cpp)) -$(hide) $(PRIVATE_CXX) \ +$(hide) $(RELATIVE_PWD) $(PRIVATE_CXX) \ $(transform-cpp-to-o-compiler-args) \ -MD -MF $(patsubst %.o,%.d,$@) -o $@ $< endef @@ -1225,7 +1225,7 @@ define transform-c-to-o @echo "$($(PRIVATE_PREFIX)DISPLAY) $(PRIVATE_ARM_MODE) C: $(PRIVATE_MODULE) <= $<" @mkdir -p $(dir $@) $(if $(PRIVATE_TIDY_CHECKS),$(clang-tidy-c)) -$(hide) $(PRIVATE_CC) \ +$(hide) $(RELATIVE_PWD) $(PRIVATE_CC) \ $(transform-c-to-o-compiler-args) \ -MD -MF $(patsubst %.o,%.d,$@) -o $@ $< endef @@ -1234,7 +1234,7 @@ endif define transform-s-to-o @echo "$($(PRIVATE_PREFIX)DISPLAY) asm: $(PRIVATE_MODULE) <= $<" @mkdir -p $(dir $@) -$(PRIVATE_CC) \ +$(RELATIVE_PWD) $(PRIVATE_CC) \ $(call transform-c-or-s-to-o-compiler-args, $(PRIVATE_ASFLAGS)) \ -MD -MF $(patsubst %.o,%.d,$@) -o $@ $< endef @@ -1293,7 +1293,7 @@ define transform-host-cpp-to-o @echo "$($(PRIVATE_PREFIX)DISPLAY) C++: $(PRIVATE_MODULE) <= $<" @mkdir -p $(dir $@) $(if $(PRIVATE_TIDY_CHECKS),$(clang-tidy-host-cpp)) -$(hide) $(PRIVATE_CXX) \ +$(hide) $(RELATIVE_PWD) $(PRIVATE_CXX) \ $(transform-host-cpp-to-o-compiler-args) \ -MD -MF $(patsubst %.o,%.d,$@) -o $@ $< endef @@ -1316,7 +1316,7 @@ endef # $(1): extra flags define transform-host-c-or-s-to-o @mkdir -p $(dir $@) -$(hide) $(PRIVATE_CC) \ +$(hide) $(RELATIVE_PWD) $(PRIVATE_CC) \ $(transform-host-c-or-s-to-o-common-args) \ $(1) \ -MD -MF $(patsubst %.o,%.d,$@) -o $@ $< @@ -1343,7 +1343,7 @@ define transform-host-c-to-o @echo "$($(PRIVATE_PREFIX)DISPLAY) C: $(PRIVATE_MODULE) <= $<" @mkdir -p $(dir $@) $(if $(PRIVATE_TIDY_CHECKS), $(clang-tidy-host-c)) -$(hide) $(PRIVATE_CC) \ +$(hide) $(RELATIVE_PWD) $(PRIVATE_CC) \ $(transform-host-c-to-o-compiler-args) \ -MD -MF $(patsubst %.o,%.d,$@) -o $@ $< endef diff --git a/core/rbe.mk b/core/rbe.mk index 90375c7de3..91606d4004 100644 --- a/core/rbe.mk +++ b/core/rbe.mk @@ -57,7 +57,7 @@ ifneq ($(filter-out false,$(USE_RBE)),) java_r8_d8_platform := $(platform),Pool=java16 RBE_WRAPPER := $(rbe_dir)/rewrapper - RBE_CXX := --labels=type=compile,lang=cpp,compiler=clang --exec_strategy=$(cxx_rbe_exec_strategy) --platform=$(cxx_platform) --compare=$(cxx_compare) + RBE_CXX := --labels=type=compile,lang=cpp,compiler=clang --env_var_allowlist=PWD --exec_strategy=$(cxx_rbe_exec_strategy) --platform=$(cxx_platform) --compare=$(cxx_compare) # Append rewrapper to existing *_WRAPPER variables so it's possible to # use both ccache and rewrapper.