aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/gcc/gcc-4.3.3/gcc-4.3-backport-print-sysroot.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/gcc/gcc-4.3.3/gcc-4.3-backport-print-sysroot.patch')
-rw-r--r--recipes/gcc/gcc-4.3.3/gcc-4.3-backport-print-sysroot.patch69
1 files changed, 69 insertions, 0 deletions
diff --git a/recipes/gcc/gcc-4.3.3/gcc-4.3-backport-print-sysroot.patch b/recipes/gcc/gcc-4.3.3/gcc-4.3-backport-print-sysroot.patch
new file mode 100644
index 0000000000..c44d050f56
--- /dev/null
+++ b/recipes/gcc/gcc-4.3.3/gcc-4.3-backport-print-sysroot.patch
@@ -0,0 +1,69 @@
+Backport "gcc -print-sysroot" from 4.4.x, required by some tools
+that auto-detect sysroot (e.g. libtool configured with --with-sysroot).
+
+Source: http://gcc.gnu.org/viewcvs/trunk/gcc/gcc.c?r1=137548&r2=137584&view=patch
+
+--- trunk/gcc/gcc.c 2008/07/07 00:48:55 137548
++++ trunk/gcc/gcc.c 2008/07/07 18:20:06 137584
+@@ -155,6 +155,8 @@
+
+ static int print_multi_directory;
+
++static int print_sysroot;
++
+ /* Flag saying to print the relative path we'd use to
+ find OS libraries given the current compiler flags. */
+
+@@ -1162,6 +1164,7 @@
+ {"--print-multi-directory", "-print-multi-directory", 0},
+ {"--print-multi-os-directory", "-print-multi-os-directory", 0},
+ {"--print-prog-name", "-print-prog-name=", "aj"},
++ {"--print-sysroot", "-print-sysroot", 0},
+ {"--print-sysroot-headers-suffix", "-print-sysroot-headers-suffix", 0},
+ {"--profile", "-p", 0},
+ {"--profile-blocks", "-a", 0},
+@@ -3244,6 +3247,7 @@
+ -print-multi-lib Display the mapping between command line options and\n\
+ multiple library search directories\n"), stdout);
+ fputs (_(" -print-multi-os-directory Display the relative path to OS libraries\n"), stdout);
++ fputs (_(" -print-sysroot Display the target libraries directory\n"), stdout);
+ fputs (_(" -print-sysroot-headers-suffix Display the sysroot suffix used to find headers\n"), stdout);
+ fputs (_(" -Wa,<options> Pass comma-separated <options> on to the assembler\n"), stdout);
+ fputs (_(" -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"), stdout);
+@@ -3686,6 +3690,8 @@
+ print_multi_lib = 1;
+ else if (! strcmp (argv[i], "-print-multi-directory"))
+ print_multi_directory = 1;
++ else if (! strcmp (argv[i], "-print-sysroot"))
++ print_sysroot = 1;
+ else if (! strcmp (argv[i], "-print-multi-os-directory"))
+ print_multi_os_directory = 1;
+ else if (! strcmp (argv[i], "-print-sysroot-headers-suffix"))
+@@ -4126,6 +4132,8 @@
+ ;
+ else if (! strcmp (argv[i], "-print-multi-directory"))
+ ;
++ else if (! strcmp (argv[i], "-print-sysroot"))
++ ;
+ else if (! strcmp (argv[i], "-print-multi-os-directory"))
+ ;
+ else if (! strcmp (argv[i], "-print-sysroot-headers-suffix"))
+@@ -6529,6 +6537,18 @@
+ return (0);
+ }
+
++ if (print_sysroot)
++ {
++ if (target_system_root)
++ {
++ if (target_sysroot_suffix)
++ printf ("%s%s\n", target_system_root, target_sysroot_suffix);
++ else
++ printf ("%s\n", target_system_root);
++ }
++ return (0);
++ }
++
+ if (print_multi_os_directory)
+ {
+ if (multilib_os_dir == NULL)