diff options
author | Theodoros Foradis <theodoros.for@openmailbox.org> | 2016-09-19 23:23:38 +0300 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2016-10-16 11:53:07 +0200 |
commit | dbc3c34ea0f992a00c7856d4ce39aa1585b759cf (patch) | |
tree | 7c794144b530d431e3a4e8d9d339c6501a892b83 /gnu/packages/patches/gcc-6-cross-environment-variables.patch | |
parent | f4a4b854e0d8a3d8bb333592806de8aeaca5c68c (diff) | |
download | guix-dbc3c34ea0f992a00c7856d4ce39aa1585b759cf.tar guix-dbc3c34ea0f992a00c7856d4ce39aa1585b759cf.tar.gz |
gnu: Add arm-none-eabi-gcc-6.
* gnu/packages/embedded.scm (gcc-arm-none-eabi-6): New variable.
* gnu/packages/patches/gcc-6-arm-none-eabi-multilib.patch: New file.
* gnu/packages/patches/gcc-6-cross-environment-variables.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add the patches.
Diffstat (limited to 'gnu/packages/patches/gcc-6-cross-environment-variables.patch')
-rw-r--r-- | gnu/packages/patches/gcc-6-cross-environment-variables.patch | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/gnu/packages/patches/gcc-6-cross-environment-variables.patch b/gnu/packages/patches/gcc-6-cross-environment-variables.patch new file mode 100644 index 0000000000..285e78f162 --- /dev/null +++ b/gnu/packages/patches/gcc-6-cross-environment-variables.patch @@ -0,0 +1,65 @@ +Search path environment variables for cross-compilers. See the discussion +at <http://gcc.gnu.org/ml/gcc/2013-02/msg00124.html>. + +Note: Touch 'C_INCLUDE_PATH' et al. rather than 'CPATH', as discussed +at <http://bugs.gnu.org/22186>. + +--- a/gcc/incpath.c ++++ b/gcc/incpath.c +@@ -461,8 +461,8 @@ register_include_chains (cpp_reader *pfile, const char *sysroot, + int stdinc, int cxx_stdinc, int verbose) + { + static const char *const lang_env_vars[] = +- { "C_INCLUDE_PATH", "CPLUS_INCLUDE_PATH", +- "OBJC_INCLUDE_PATH", "OBJCPLUS_INCLUDE_PATH" }; ++ { "CROSS_C_INCLUDE_PATH", "CROSS_CPLUS_INCLUDE_PATH", ++ "CROSS_OBJC_INCLUDE_PATH", "CROSS_OBJCPLUS_INCLUDE_PATH" }; + cpp_options *cpp_opts = cpp_get_options (pfile); + size_t idx = (cpp_opts->objc ? 2: 0); + +@@ -473,7 +473,7 @@ register_include_chains (cpp_reader *pfile, const char *sysroot, + + /* CPATH and language-dependent environment variables may add to the + include chain. */ +- add_env_var_paths ("CPATH", BRACKET); ++ add_env_var_paths ("CROSS_CPATH", BRACKET); + add_env_var_paths (lang_env_vars[idx], SYSTEM); + + target_c_incpath.extra_pre_includes (sysroot, iprefix, stdinc); +diff --git a/gcc/system.h b/gcc/system.h +index 42bc509..af3b9ad 100644 +--- a/gcc/system.h ++++ b/gcc/system.h +@@ -1063,4 +1063,6 @@ helper_const_non_const_cast (const char *p) + /* Get definitions of HOST_WIDE_INT and HOST_WIDEST_INT. */ + #include "hwint.h" + ++#define LIBRARY_PATH_ENV "CROSS_LIBRARY_PATH" ++ + #endif /* ! GCC_SYSTEM_H */ +diff --git a/gcc/tlink.c b/gcc/tlink.c +index bc358b8..ad6242f 100644 +--- a/gcc/tlink.c ++++ b/gcc/tlink.c +@@ -458,7 +458,7 @@ recompile_files (void) + file *f; + + putenv (xstrdup ("COMPILER_PATH=")); +- putenv (xstrdup ("LIBRARY_PATH=")); ++ putenv (xstrdup (LIBRARY_PATH_ENV "=")); + + while ((f = file_pop ()) != NULL) + { +diff --git a/gcc/gcc.c b/gcc/gcc.c +index 0f042b0..c23fb0b 100644 +--- a/gcc/gcc.c ++++ b/gcc/gcc.c +@@ -4264,7 +4264,7 @@ process_command (unsigned int decoded_options_count, + } + + temp = env.get (LIBRARY_PATH_ENV); +- if (temp && *cross_compile == '0') ++ if (temp) + { + const char *startp, *endp; + char *nstore = (char *) alloca (strlen (temp) + 3); |