diff options
author | Jakub Jelinek <jakub@redhat.com> | 2012-05-03 13:09:07 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2012-05-03 13:09:07 +0200 |
commit | 68d23306934e79d3a40068349d7eb8507da806c6 (patch) | |
tree | 073ac43455c93eb5fe0d4c3b350184290ca2d668 | |
parent | f95052cce5f939b66cc0e7c3b00f7ea8f2c3ed87 (diff) | |
download | gcc-68d23306934e79d3a40068349d7eb8507da806c6.zip gcc-68d23306934e79d3a40068349d7eb8507da806c6.tar.gz gcc-68d23306934e79d3a40068349d7eb8507da806c6.tar.bz2 |
re PR plugins/53126 (gcc-4.7.0 error "gcc-ar: Cannot find plugin")
PR plugins/53126
* gcc-ar.c (main): If GCC_EXEC_PREFIX is set in env,
append program name to it and pass that as first argument
to make_relative_prefix. Always pass standard_libexec_prefix
as last argument to make_relative_prefix. If
make_relative_prefix returns NULL, fall back to
standard_libexec_prefix.
From-SVN: r187090
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/gcc-ar.c | 13 |
2 files changed, 17 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 75df253..f857a8e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,13 @@ 2012-05-03 Jakub Jelinek <jakub@redhat.com> + PR plugins/53126 + * gcc-ar.c (main): If GCC_EXEC_PREFIX is set in env, + append program name to it and pass that as first argument + to make_relative_prefix. Always pass standard_libexec_prefix + as last argument to make_relative_prefix. If + make_relative_prefix returns NULL, fall back to + standard_libexec_prefix. + PR debug/53174 * tree-predcom.c (remove_stmt): Call reset_debug_uses on stmts being removed. diff --git a/gcc/gcc-ar.c b/gcc/gcc-ar.c index 706b2f3..d832b08 100644 --- a/gcc/gcc-ar.c +++ b/gcc/gcc-ar.c @@ -1,5 +1,5 @@ /* Wrapper for ar/ranlib/nm to pass the LTO plugin. - Copyright (C) 2011 Free Software Foundation, Inc. + Copyright (C) 2011, 2012 Free Software Foundation, Inc. Contributed by Andi Kleen. This file is part of GCC. @@ -52,11 +52,16 @@ main(int ac, char **av) /* XXX implement more magic from gcc.c? */ nprefix = getenv ("GCC_EXEC_PREFIX"); if (!nprefix) + nprefix = av[0]; + else + nprefix = concat (nprefix, "gcc-" PERSONALITY, NULL); + + nprefix = make_relative_prefix (nprefix, + standard_bin_prefix, + standard_libexec_prefix); + if (nprefix == NULL) nprefix = standard_libexec_prefix; - nprefix = make_relative_prefix (av[0], - standard_bin_prefix, - nprefix); plugin = concat (nprefix, dir_separator, DEFAULT_TARGET_MACHINE, |