This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
PATCH: Remove 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Paolo Bonzini <bonzini at gnu dot org>
- Cc: DJ Delorie <dj at redhat dot com>, neroden at gcc dot gnu dot org, Alexandre Oliva <aoliva at redhat dot com>, Ralf Wildenhues <Ralf dot Wildenhues at gmx dot de>, gcc-patches at gcc dot gnu dot org
- Date: Wed, 12 Dec 2012 09:53:34 -0800
- Subject: PATCH: Remove 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'
On Wed, Dec 12, 2012 at 9:30 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
> After further investigation, I found
>
> RAW_CXX_TARGET_EXPORTS = \
> $(BASE_TARGET_EXPORTS) \
> CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \
> CXX="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS";
> export CXX;
> ...
>
> all-stage1-target-libsanitizer: configure-stage1-target-libsanitizer
> @[ $(current_stage) = stage1 ] || $(MAKE) stage1-start
> @r=`${PWD_COMMAND}`; export r; \
> s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> TFLAGS="$(STAGE1_TFLAGS)"; \
> $(RAW_CXX_TARGET_EXPORTS) \
> cd $(TARGET_SUBDIR)/libsanitizer && \
> $(MAKE) $(BASE_FLAGS_TO_PASS) \
> CFLAGS="$(CFLAGS_FOR_TARGET)" \
> CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> $(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)'
> 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' \
> \
> TFLAGS="$(STAGE1_TFLAGS)" \
> $(TARGET-stage1-target-libsanitizer)
>
> The problem is
>
> CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'
>
> Those are bogus since
>
> 1. We never set RAW_CXX_FOR_TARGET.
> 2. We have set
>
> CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \
> CXX="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS";
> export CXX;
>
> in RAW_CXX_TARGET_EXPORTS. There is no need to do anything.
>
Here is a patch to remove 'CXX=$$(RAW_CXX_FOR_TARGET)'
'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'. Tested on
Linux/x86-64. OK to install?
Thanks.
--
H.J.
---
2012-12-12 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.tpl (target_modules): Remove 'CXX=$$(RAW_CXX_FOR_TARGET)'
'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'.
* Makefile.in: Regenerated.
diff --git a/Makefile.tpl b/Makefile.tpl
index 5cdc119..dbcd5c3 100644
--- a/Makefile.tpl
+++ b/Makefile.tpl
@@ -1281,7 +1281,7 @@ maybe-[+make_target+]-[+module+]:
[+make_target+]-[+module+]
[+ all prefix="target-" subdir="$(TARGET_SUBDIR)"
exports="$(RAW_CXX_TARGET_EXPORTS)"
- args="$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)'
'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'" +]
+ args="$(EXTRA_TARGET_FLAGS)" +]
[+ ELSE +]
[+ configure prefix="target-" subdir="$(TARGET_SUBDIR)"
check_multilibs=true
@@ -1313,11 +1313,7 @@ ELSE normal_cxx +]
$(NORMAL_TARGET_EXPORTS) \[+
ENDIF raw_cxx +]
(cd $(TARGET_SUBDIR)/[+module+] && \
- $(MAKE) $(TARGET_FLAGS_TO_PASS) [+
- IF raw_cxx
- +] 'CXX=$$(RAW_CXX_FOR_TARGET)'
'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' [+
- ENDIF raw_cxx
- +] [+extra_make_flags+] check)
+ $(MAKE) $(TARGET_FLAGS_TO_PASS) [+extra_make_flags+] check)
[+ ENDIF no_check +]
@endif target-[+module+]