Merge commit '93cd0685c5ac4d8f21d8586d3e5c45cd7394fab9' into gcc-modernize-builder
This commit is contained in:
@@ -1,25 +0,0 @@
|
||||
From 5972cd58bde3bc8bacfe994e5b127c411241f255 Mon Sep 17 00:00:00 2001
|
||||
From: law <law@138bc75d-0d04-0410-961f-82ee72b054a4>
|
||||
Date: Tue, 3 Jan 2017 05:36:40 +0000
|
||||
Subject: [PATCH] * config/darwin-driver.c (darwin_driver_init):
|
||||
Const-correctness fixes for first_period and second_period variables.
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244010 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
---
|
||||
diff --git a/gcc/config/darwin-driver.c b/gcc/config/darwin-driver.c
|
||||
index 0c4f0cd..e3ed79d 100644
|
||||
--- a/gcc/config/darwin-driver.c
|
||||
+++ b/gcc/config/darwin-driver.c
|
||||
@@ -299,10 +299,10 @@ darwin_driver_init (unsigned int *decoded_options_count,
|
||||
if (vers_string != NULL)
|
||||
{
|
||||
char *asm_major = NULL;
|
||||
- char *first_period = strchr(vers_string, '.');
|
||||
+ const char *first_period = strchr(vers_string, '.');
|
||||
if (first_period != NULL)
|
||||
{
|
||||
- char *second_period = strchr(first_period+1, '.');
|
||||
+ const char *second_period = strchr(first_period+1, '.');
|
||||
if (second_period != NULL)
|
||||
asm_major = xstrndup (vers_string, second_period-vers_string);
|
||||
else
|
||||
@@ -59,7 +59,7 @@ assert langGo -> langCC;
|
||||
with stdenv.lib;
|
||||
with builtins;
|
||||
|
||||
let version = "6.3.0";
|
||||
let version = "6.4.0";
|
||||
|
||||
# Whether building a cross-compiler for GNU/Hurd.
|
||||
crossGNU = targetPlatform != hostPlatform && targetPlatform.config == "i586-pc-gnu";
|
||||
@@ -73,8 +73,7 @@ let version = "6.3.0";
|
||||
# The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
|
||||
# target libraries and tools.
|
||||
++ optional langAda ../gnat-cflags.patch
|
||||
++ optional langFortran ../gfortran-driving.patch
|
||||
++ optional hostPlatform.isDarwin ./darwin-const-correct.patch; # Kill this after 6.3.0
|
||||
++ optional langFortran ../gfortran-driving.patch;
|
||||
|
||||
javaEcj = fetchurl {
|
||||
# The `$(top_srcdir)/ecj.jar' file is automatically picked up at
|
||||
@@ -125,8 +124,6 @@ let version = "6.3.0";
|
||||
crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
|
||||
crossDarwin = targetPlatform != hostPlatform && targetPlatform.libc == "libSystem";
|
||||
crossConfigureFlags =
|
||||
"--target=${targetPlatform.config}" +
|
||||
platformFlags +
|
||||
# Ensure that -print-prog-name is able to find the correct programs.
|
||||
" --with-as=${binutils}/bin/${targetPlatform.config}-as" +
|
||||
" --with-ld=${binutils}/bin/${targetPlatform.config}-ld" +
|
||||
@@ -196,8 +193,8 @@ stdenv.mkDerivation ({
|
||||
builder = ../builder.sh;
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2";
|
||||
sha256 = "17xjz30jb65hcf714vn9gcxvrrji8j20xm7n33qg1ywhyzryfsph";
|
||||
url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.xz";
|
||||
sha256 = "1m0lr7938lw5d773dkvwld90hjlcq2282517d1gwvrfzmwgg42w5";
|
||||
};
|
||||
|
||||
inherit patches;
|
||||
@@ -210,6 +207,19 @@ stdenv.mkDerivation ({
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
# This should kill all the stdinc frameworks that gcc and friends like to
|
||||
# insert into default search paths.
|
||||
prePatch = stdenv.lib.optionalString hostPlatform.isDarwin ''
|
||||
substituteInPlace gcc/config/darwin-c.c \
|
||||
--replace 'if (stdinc)' 'if (0)'
|
||||
|
||||
substituteInPlace libgcc/config/t-slibgcc-darwin \
|
||||
--replace "-install_name @shlib_slibdir@/\$(SHLIB_INSTALL_NAME)" "-install_name $lib/lib/\$(SHLIB_INSTALL_NAME)"
|
||||
|
||||
substituteInPlace libgfortran/configure \
|
||||
--replace "-install_name \\\$rpath/\\\$soname" "-install_name $lib/lib/\\\$soname"
|
||||
'';
|
||||
|
||||
postPatch =
|
||||
if (hostPlatform.isHurd
|
||||
|| (libcCross != null # e.g., building `gcc.crossDrv'
|
||||
@@ -297,6 +307,8 @@ stdenv.mkDerivation ({
|
||||
|
||||
dontDisableStatic = true;
|
||||
|
||||
# TODO(@Ericson2314): Always pass "--target" and always prefix.
|
||||
configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
|
||||
configureFlags = "
|
||||
${if hostPlatform.isSunOS then
|
||||
" --enable-long-long --enable-libssp --enable-threads=posix --disable-nls --enable-__cxa_atexit " +
|
||||
@@ -346,12 +358,10 @@ stdenv.mkDerivation ({
|
||||
"--with-native-system-header-dir=${getDev stdenv.cc.libc}/include"}
|
||||
${if langAda then " --enable-libada" else ""}
|
||||
${if targetPlatform == hostPlatform && targetPlatform.isi686 then "--with-arch=i686" else ""}
|
||||
${platformFlags}
|
||||
${if targetPlatform != hostPlatform then crossConfigureFlags else ""}
|
||||
${if !bootstrap then "--disable-bootstrap" else ""}
|
||||
${if targetPlatform == hostPlatform then platformFlags else ""}
|
||||
" + optionalString
|
||||
(hostPlatform != buildPlatform)
|
||||
(platformFlags + " --target=${targetPlatform.config}");
|
||||
";
|
||||
|
||||
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
|
||||
|
||||
@@ -440,7 +450,7 @@ stdenv.mkDerivation ({
|
||||
|
||||
# On GNU/Hurd glibc refers to Mach & Hurd
|
||||
# headers.
|
||||
++ optionals (libcCross != null && libcCross ? "propagatedBuildInputs" )
|
||||
++ optionals (libcCross != null && libcCross ? propagatedBuildInputs)
|
||||
libcCross.propagatedBuildInputs
|
||||
));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user