http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29931
--- Comment #5 from simonb at gcc dot gnu.org 2011-02-07 18:10:21 UTC --- Author: simonb Date: Mon Feb 7 18:10:15 2011 New Revision: 169891 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=169891 Log: Auto-detect suitable default behaviour for prefix canonicalization. Current gcc offers -no-canonical-prefixes to turn off realpath() for prefixes generated from the path used to address the gcc driver. This allows gcc to work in "symlink farm" installations, where every file in gcc is actually a symlink to its real contents. However, the flag has to be given explicitly. If not, the default is to use realpath() to create prefixes and the result is usually failure to find cc1[plus], f951, etc. This patch adds a check for a file as a way to auto-detect whether prefix canonicalization is appropriate or not. Detection can be overridden by using the -[no-]canonical-prefixes flags. The patch also completes the fix for PR/29931, adding code that covers the unadopted portion of this PR's attached patch. gcc/ChangeLog.google: 2011-02-07 Simon Baldwin <sim...@google.com> PR driver/29931 * doc/invoke.texi: Adjust -[no-]canonical-prefixes documentation. * gcc.c (display_help): Help text for -[no-]canonical-prefixes. (driver_handle_option): Ignore OPT_canonical_prefixes. (process_command): Handle OPT_[no_]canonical_prefixes, auto-detect suitable default prefix canonicalization mode. * common.opt (canonical-prefixes): New flag. Google ref: 40029, 38719 Modified: branches/google/integration/gcc/ChangeLog.google-integration branches/google/integration/gcc/common.opt branches/google/integration/gcc/doc/invoke.texi branches/google/integration/gcc/gcc.c