From 3ae1ab501c7f3c9023ec0b5303a19e3a62751cbf Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Fri, 28 Apr 2006 12:17:00 +0000 Subject: * gcc/gcc.c (process_command): Add program name to GCC_EXEC_PREFIX value before passing to make_relative_prefix. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@113346 138bc75d-0d04-0410-961f-82ee72b054a4 --- ChangeLog.csl | 5 +++++ gcc/gcc.c | 14 +++++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/ChangeLog.csl b/ChangeLog.csl index 888d914d331..207d90543c9 100644 --- a/ChangeLog.csl +++ b/ChangeLog.csl @@ -1,3 +1,8 @@ +2006-04-28 Joseph S. Myers + + * gcc/gcc.c (process_command): Add program name to GCC_EXEC_PREFIX + value before passing to make_relative_prefix. + 2006-04-26 Joseph Myers From Bugzilla: diff --git a/gcc/gcc.c b/gcc/gcc.c index b3b781a6ee5..383ee0ddcaa 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -3254,9 +3254,17 @@ process_command (int argc, const char **argv) putenv (concat ("GCC_EXEC_PREFIX=", gcc_exec_prefix, NULL)); } else - gcc_libexec_prefix = make_relative_prefix (gcc_exec_prefix, - standard_exec_prefix, - standard_libexec_prefix); + { + /* make_relative_prefix requires a program name, but + GCC_EXEC_PREFIX is typically a directory name with a trailing + / (which is ignored by make_relative_prefix), so append a + program name. */ + char *tmp_prefix = concat (gcc_exec_prefix, "gcc", NULL); + gcc_libexec_prefix = make_relative_prefix (tmp_prefix, + standard_exec_prefix, + standard_libexec_prefix); + free (tmp_prefix); + } #else #endif -- cgit v1.2.3