Patch: move lang_specific_driver after setup of cc_libexec_prefix
Andrew Haley <[email protected]>
| Newsgroups | gmane.comp.gcc.patches,gmane.comp.gcc.java.devel |
|---|---|
| Message-ID | <[email protected]> |
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 <[email protected]> * 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);