Patch: move lang_specific_driver after setup of cc_libexec_prefix

Andrew Haley aph@redhat.com
Wed Jan 6 15:06:00 GMT 2010


gcj is not relocatable because the libexec prefix is set *after*
lang_specific_driver is called. Unfortunately, lang_specific_driver
needs to know the libexec prefix to pass it to ecj1. I can't see any
reason why lang_specific_driver needs to be called before the libexec
prefix is set, and it doesn't seem to break anything.
Fixed thusly, bootstrapped x86_64 GNU/Linux.
OK?
Andrew.
2010年01月06日 Andrew Haley <aph@redhat.com>
	* gcc.c (process_command): Move lang_specific_driver before
	setting cc_libexec_prefix.
Index: gcc/gcc.c
===================================================================
--- gcc/gcc.c (revision 155475)
+++ gcc/gcc.c (working copy)
@@ -3599,12 +3599,6 @@
 CONST_CAST2 (const char *const **, const char ***,
 &argv));
- /* Do language-specific adjustment/addition of flags. */
- lang_specific_driver (&argc,
- CONST_CAST2 (const char *const **, const char ***,
- &argv),
- &added_libraries);
-
 /* Handle any -no-canonical-prefixes flag early, to assign the function
 that builds relative prefixes. This function creates default search
 paths that are needed later in normal option handling. */
@@ -3660,6 +3654,12 @@
 is relocated. The toolchain was either relocated using GCC_EXEC_PREFIX
 or an automatically created GCC_EXEC_PREFIX from argv[0]. */
+ /* Do language-specific adjustment/addition of flags. */
+ lang_specific_driver (&argc,
+ CONST_CAST2 (const char *const **, const char ***,
+ &argv),
+ &added_libraries);
+
 if (gcc_exec_prefix)
 {
 int len = strlen (gcc_exec_prefix);


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /