aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/common.opt3
-rw-r--r--gcc/doc/invoke.texi11
-rw-r--r--gcc/gcc.c3
4 files changed, 24 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7e18899..ad59d63 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2012-09-03 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (--no-sysroot-suffix): New driver option.
+ * doc/invoke.texi (--no-sysroot-suffix): Document.
+ * gcc.c (driver_handle_option): Handle --no-sysroot-suffix as not
+ needing spec processing.
+ (main): Do not process sysroot suffixes if no_sysroot_suffix.
+
2012-09-02 Oleg Endo <olegendo@gcc.gnu.org>
PR target/33135
diff --git a/gcc/common.opt b/gcc/common.opt
index deb89e3..87e28b5 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -291,6 +291,9 @@ Driver Alias(no-canonical-prefixes)
-no-standard-libraries
Driver Alias(nostdlib)
+-no-sysroot-suffix
+Driver Var(no_sysroot_suffix)
+
-no-warnings
Common Alias(w)
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 876beaa..f8e8a1b 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -457,7 +457,7 @@ Objective-C and Objective-C++ Dialects}.
@xref{Directory Options,,Options for Directory Search}.
@gccoptlist{-B@var{prefix} -I@var{dir} -iplugindir=@var{dir} @gol
-iquote@var{dir} -L@var{dir} -specs=@var{file} -I- @gol
---sysroot=@var{dir}}
+--sysroot=@var{dir} --no-sysroot-suffix}
@item Machine Dependent Options
@xref{Submodel Options,,Hardware Models and Configurations}.
@@ -9841,6 +9841,15 @@ for this option. If your linker does not support this option, the
header file aspect of @option{--sysroot} still works, but the
library aspect does not.
+@item --no-sysroot-suffix
+@opindex no-sysroot-suffix
+For some targets, a suffix is added to the root directory specified
+with @option{--sysroot}, depending on the other options used, so that
+headers may for example be found in
+@file{@var{dir}/@var{suffix}/usr/include} instead of
+@file{@var{dir}/usr/include}. This option disables the addition of
+such a suffix.
+
@item -I-
@opindex I-
This option has been deprecated. Please use @option{-iquote} instead for
diff --git a/gcc/gcc.c b/gcc/gcc.c
index 815747e..5f68d59 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -3249,6 +3249,7 @@ driver_handle_option (struct gcc_options *opts,
add_linker_option ("--target-help", 13);
break;
+ case OPT__no_sysroot_suffix:
case OPT_pass_exit_codes:
case OPT_print_search_dirs:
case OPT_print_file_name_:
@@ -6340,6 +6341,7 @@ main (int argc, char **argv)
/* Process sysroot_suffix_spec. */
if (*sysroot_suffix_spec != 0
+ && !no_sysroot_suffix
&& do_spec_2 (sysroot_suffix_spec) == 0)
{
if (VEC_length (const_char_p, argbuf) > 1)
@@ -6363,6 +6365,7 @@ main (int argc, char **argv)
/* Process sysroot_hdrs_suffix_spec. */
if (*sysroot_hdrs_suffix_spec != 0
+ && !no_sysroot_suffix
&& do_spec_2 (sysroot_hdrs_suffix_spec) == 0)
{
if (VEC_length (const_char_p, argbuf) > 1)