Update gcc-* to upstream 6.4.0-r6
This commit is contained in:
parent
5da25bc8ff
commit
26304f0ef4
8 changed files with 724 additions and 8 deletions
|
@ -54,7 +54,7 @@ pkgver=6.4.0
|
|||
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
|
||||
|
||||
pkgname="gcc-aarch64"
|
||||
pkgrel=5
|
||||
pkgrel=6
|
||||
pkgdesc="Stage2 cross-compiler for aarch64"
|
||||
url="http://gcc.gnu.org"
|
||||
arch="all"
|
||||
|
@ -143,6 +143,7 @@ fi
|
|||
# libitm has TEXTRELs in ARM build, so disable for now
|
||||
case "$CTARGET_ARCH" in
|
||||
arm*) LIBITM=false ;;
|
||||
mips*) LIBITM=false ;;
|
||||
esac
|
||||
|
||||
# Fortran uses libquadmath if toolchain has __float128
|
||||
|
@ -232,6 +233,9 @@ source="ftp://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkgba
|
|||
320-libffi-gnulinux.patch
|
||||
|
||||
fix-rs6000-pie.patch
|
||||
fix-linux-header-use-in-libgcc.patch
|
||||
gcc-pure64-mips.patch
|
||||
ada-mips64.patch
|
||||
"
|
||||
|
||||
# we build out-of-tree
|
||||
|
@ -280,7 +284,10 @@ build() {
|
|||
armv5-*-*-*eabi) _arch_configure="--with-arch=armv5te --with-tune=arm926ej-s --with-float=soft --with-abi=aapcs-linux";;
|
||||
armv6-*-*-*eabihf) _arch_configure="--with-arch=armv6zk --with-tune=arm1176jzf-s --with-fpu=vfp --with-float=hard --with-abi=aapcs-linux";;
|
||||
armv7-*-*-*eabihf) _arch_configure="--with-arch=armv7-a --with-tune=generic-armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-abi=aapcs-linux --with-mode=thumb";;
|
||||
mipsel-*-*-*) _arch_configure="--with-arch-32=mips2 --with-tune-32=mips32 --with-fp-32=32 --with-mips-plt --with-float=hard --with-abi=32";;
|
||||
mips-*-*-*) _arch_configure="--with-arch=mips32 --with-mips-plt --with-float=soft --with-abi=32";;
|
||||
mips64-*-*-*) _arch_configure="--with-arch=mips3 --with-tune=mips64 --with-mips-plt --with-float=soft --with-abi=64";;
|
||||
mips64el-*-*-*) _arch_configure="--with-arch=mips3 --with-tune=mips64 --with-mips-plt --with-float=soft --with-abi=64";;
|
||||
mipsel-*-*-*) _arch_configure="--with-arch=mips32 --with-mips-plt --with-float=soft --with-abi=32";;
|
||||
powerpc-*-*-*) _arch_configure="--enable-secureplt --enable-decimal-float=no";;
|
||||
powerpc64*-*-*-*) _arch_configure="--with-abi=elfv2 --enable-secureplt --enable-decimal-float=no --enable-targets=powerpcle-linux";;
|
||||
i486-*-*-*) _arch_configure="--with-arch=i486 --with-tune=generic --enable-cld";;
|
||||
|
@ -288,6 +295,11 @@ build() {
|
|||
s390x-*-*-*) _arch_configure="--with-arch=z196 --with-tune=zEC12 --with-zarch --with-long-double-128 --enable-decimal-float";;
|
||||
esac
|
||||
|
||||
case "$CTARGET_ARCH" in
|
||||
mips*) _hash_style_configure="--with-linker-hash-style=sysv" ;;
|
||||
*) _hash_style_configure="--with-linker-hash-style=gnu" ;;
|
||||
esac
|
||||
|
||||
case "$CTARGET_LIBC" in
|
||||
musl)
|
||||
# musl does not support mudflap, or libsanitizer
|
||||
|
@ -324,6 +336,7 @@ build() {
|
|||
echo " libc_configure=$_libc_configure"
|
||||
echo " cross_configure=$_cross_configure"
|
||||
echo " bootstrap_configure=$_bootstrap_configure"
|
||||
echo " hash_style_configure=$_hash_style_configure"
|
||||
echo ""
|
||||
|
||||
mkdir -p "$_builddir"
|
||||
|
@ -351,7 +364,7 @@ build() {
|
|||
$_cross_configure \
|
||||
$_bootstrap_configure \
|
||||
--with-system-zlib \
|
||||
--with-linker-hash-style=gnu
|
||||
$_hash_style_configure
|
||||
make
|
||||
}
|
||||
|
||||
|
@ -425,6 +438,33 @@ _package() {
|
|||
echo "GROUP ($_real)" > "$so"
|
||||
fi
|
||||
done
|
||||
else
|
||||
# add c89/c99 wrapper scripts
|
||||
cat >"$pkgdir"/usr/bin/c89 <<EOF
|
||||
#!/bin/sh
|
||||
fl="-std=c89"
|
||||
for opt; do
|
||||
case "$opt" in
|
||||
-ansi|-std=c89|-std=iso9899:1990) fl="";;
|
||||
-std=*) echo "$(basename $0) called with non ANSI/ISO C option $opt" >&2
|
||||
exit 1;;
|
||||
esac
|
||||
done
|
||||
exec gcc $fl ${1+"$@"}
|
||||
EOF
|
||||
cat >"$pkgdir"/usr/bin/c99 <<-EOF
|
||||
#!/bin/sh
|
||||
fl="-std=c99"
|
||||
for opt; do
|
||||
case "$opt" in
|
||||
-std=c99|-std=iso9899:1999) fl="";;
|
||||
-std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2
|
||||
exit 1;;
|
||||
esac
|
||||
done
|
||||
exec gcc $fl ${1+"$@"}
|
||||
EOF
|
||||
chmod 755 "$pkgdir"/usr/bin/c?9
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -672,4 +712,7 @@ fa44c8158111627aa0e91c43e7cc3aa38642c2041c96532dd4f0932dae4d6f92ea2850b683abcf10
|
|||
4b4a0ff306a8ef34ff6e3284fbfca869012164a47ba7cb099085c1dd03e6ca0cdd462f82710e08c9a02895adc7484e4c5eef17b5aa264cf5d978fe8ad78eea93 300-main-gcc-add-musl-s390x-dynamic-linker.patch
|
||||
385bc2fa50204f678964e5148c6170f572701dab920fbec8301f505bda34d182cde0adb7da042fee71719e12fb59f59181897f9b1bb4f4716ff59aad46ca1998 310-build-gcj-s390x.patch
|
||||
f4ef08454e28c8732db69115e4998ec153399e8d229dd27f923dbdcf57b68128a65640d026cc7f45b58ba8764ab1eb575d4eb6d6dfc550a87a183f8b94e76181 320-libffi-gnulinux.patch
|
||||
01c71cd5881fc07ea3b9b980697e89b3ca0fe98502958ceafc3fca18b2604c844e2f457feab711baf8e03f00a5383b0e38aac7eb954034e306f43d4a37f165ed fix-rs6000-pie.patch"
|
||||
01c71cd5881fc07ea3b9b980697e89b3ca0fe98502958ceafc3fca18b2604c844e2f457feab711baf8e03f00a5383b0e38aac7eb954034e306f43d4a37f165ed fix-rs6000-pie.patch
|
||||
34a818d5be67eb1f34e44a80b83c28a9b9c17d37fc9fac639f490d6bb5b53ebe3318140d09c236a17d7c98f5a7792ae3d6cefccda8067a5e942d6305b9d1f87c fix-linux-header-use-in-libgcc.patch
|
||||
86be3338cc9c33089608bc4c5e3b7918c4e500a345c338f361b18c342119a6ed69af5495d72950de7106d760f003528b46ad14795e805f8a3331e206dcb234e3 gcc-pure64-mips.patch
|
||||
508f3bca214d88531d739d761d07affc953689b1540905c73420b34c246e1e6b72588cf89f0e1462752633f8ddc88da8c0238be2a1b6e1c213829cecee7924cf ada-mips64.patch"
|
||||
|
|
224
cross/gcc-aarch64/ada-mips64.patch
Normal file
224
cross/gcc-aarch64/ada-mips64.patch
Normal file
|
@ -0,0 +1,224 @@
|
|||
From 5bbd6ca3755e2a199de98d2b270d8a6f616aa6a6 Mon Sep 17 00:00:00 2001
|
||||
From: Nils Andreas Svee <me@lochnair.net>
|
||||
Date: Thu, 21 Dec 2017 16:46:12 +0100
|
||||
Subject: [PATCH] ada-mips64
|
||||
|
||||
---
|
||||
gcc/ada/gcc-interface/Makefile.in | 29 ++++++--
|
||||
gcc/ada/system-linux-mips64.ads | 147 ++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 171 insertions(+), 5 deletions(-)
|
||||
create mode 100644 gcc/ada/system-linux-mips64.ads
|
||||
|
||||
diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in
|
||||
index 598b262d9..1844a6962 100644
|
||||
--- a/gcc/ada/gcc-interface/Makefile.in
|
||||
+++ b/gcc/ada/gcc-interface/Makefile.in
|
||||
@@ -1854,9 +1854,9 @@ ifeq ($(strip $(filter-out cygwin% mingw32% pe,$(target_os))),)
|
||||
LIBRARY_VERSION := $(LIB_VERSION)
|
||||
endif
|
||||
|
||||
-# Mips Linux
|
||||
-ifeq ($(strip $(filter-out mips linux%,$(target_cpu) $(target_os))),)
|
||||
- LIBGNAT_TARGET_PAIRS = \
|
||||
+# Mips and Mips64 Linux
|
||||
+ifeq ($(strip $(filter-out mips mips64 linux%,$(target_cpu) $(target_os))),)
|
||||
+ LIBGNAT_TARGET_PAIRS_COMMON = \
|
||||
a-intnam.ads<a-intnam-linux.ads \
|
||||
s-inmaop.adb<s-inmaop-posix.adb \
|
||||
s-intman.adb<s-intman-posix.adb \
|
||||
@@ -1867,10 +1867,29 @@ ifeq ($(strip $(filter-out mips linux%,$(target_cpu) $(target_os))),)
|
||||
s-taprop.adb<s-taprop-linux.adb \
|
||||
s-tasinf.ads<s-tasinf-linux.ads \
|
||||
s-tasinf.adb<s-tasinf-linux.adb \
|
||||
- s-taspri.ads<s-taspri-posix.ads \
|
||||
+ s-taspri.ads<s-taspri-posix-noaltstack.ads \
|
||||
s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
|
||||
+ g-sercom.adb<g-sercom-linux.adb
|
||||
+
|
||||
+ LIBGNAT_TARGET_PAIRS_32 = \
|
||||
system.ads<system-linux-mips.ads
|
||||
|
||||
+ LIBGNAT_TARGET_PAIRS_64 = \
|
||||
+ system.ads<system-linux-mips64.ads
|
||||
+
|
||||
+ ifeq ($(strip $(filter-out mips64,$(target_cpu))),)
|
||||
+ LIBGNAT_TARGET_PAIRS = \
|
||||
+ $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_64)
|
||||
+ else
|
||||
+ LIBGNAT_TARGET_PAIRS = \
|
||||
+ $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_32)
|
||||
+ endif
|
||||
+
|
||||
+ TOOLS_TARGET_PAIRS = \
|
||||
+ mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
|
||||
+ indepsw.adb<indepsw-gnu.adb
|
||||
+
|
||||
+ EXTRA_GNATRTL_TASKING_OBJS=s-linux.o
|
||||
EH_MECHANISM=-gcc
|
||||
THREADSLIB = -lpthread
|
||||
GNATLIB_SHARED = gnatlib-shared-dual
|
||||
@@ -1901,7 +1920,7 @@ ifeq ($(strip $(filter-out mipsel mips64el linux%,$(target_cpu) $(target_os))),)
|
||||
LIBGNAT_TARGET_PAIRS_64 = \
|
||||
system.ads<system-linux-mips64el.ads
|
||||
|
||||
- ifneq (,$(or $(filter mips64el%, $(shell $(GCC_FOR_TARGET) $(GNATLIBCFLAGS) -print-multiarch)), $(filter ../lib64, $(shell $(GCC_FOR_TARGET) $(GNATLIBCFLAGS) -print-multi-os-directory))))
|
||||
+ ifeq ($(strip $(filter-out mips64el,$(target_cpu))),)
|
||||
LIBGNAT_TARGET_PAIRS = \
|
||||
$(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_64)
|
||||
else
|
||||
diff --git a/gcc/ada/system-linux-mips64.ads b/gcc/ada/system-linux-mips64.ads
|
||||
new file mode 100644
|
||||
index 000000000..054379acd
|
||||
--- /dev/null
|
||||
+++ b/gcc/ada/system-linux-mips64.ads
|
||||
@@ -0,0 +1,147 @@
|
||||
+------------------------------------------------------------------------------
|
||||
+-- --
|
||||
+-- GNAT RUN-TIME COMPONENTS --
|
||||
+-- --
|
||||
+-- S Y S T E M --
|
||||
+-- --
|
||||
+-- S p e c --
|
||||
+-- (GNU-Linux/MIPS64 Version) --
|
||||
+-- --
|
||||
+-- Copyright (C) 1992-2016, Free Software Foundation, Inc. --
|
||||
+-- --
|
||||
+-- This specification is derived from the Ada Reference Manual for use with --
|
||||
+-- GNAT. The copyright notice above, and the license provisions that follow --
|
||||
+-- apply solely to the contents of the part following the private keyword. --
|
||||
+-- --
|
||||
+-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
+-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
+-- ware Foundation; either version 3, or (at your option) any later ver- --
|
||||
+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
|
||||
+-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
|
||||
+-- or FITNESS FOR A PARTICULAR PURPOSE. --
|
||||
+-- --
|
||||
+-- As a special exception under Section 7 of GPL version 3, you are granted --
|
||||
+-- additional permissions described in the GCC Runtime Library Exception, --
|
||||
+-- version 3.1, as published by the Free Software Foundation. --
|
||||
+-- --
|
||||
+-- You should have received a copy of the GNU General Public License and --
|
||||
+-- a copy of the GCC Runtime Library Exception along with this program; --
|
||||
+-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
|
||||
+-- <http://www.gnu.org/licenses/>. --
|
||||
+-- --
|
||||
+-- GNAT was originally developed by the GNAT team at New York University. --
|
||||
+-- Extensive contributions were provided by Ada Core Technologies Inc. --
|
||||
+-- --
|
||||
+------------------------------------------------------------------------------
|
||||
+
|
||||
+package System is
|
||||
+ pragma Pure;
|
||||
+ -- Note that we take advantage of the implementation permission to make
|
||||
+ -- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
|
||||
+ -- 2005, this is Pure in any case (AI-362).
|
||||
+
|
||||
+ pragma No_Elaboration_Code_All;
|
||||
+ -- Allow the use of that restriction in units that WITH this unit
|
||||
+
|
||||
+ type Name is (SYSTEM_NAME_GNAT);
|
||||
+ System_Name : constant Name := SYSTEM_NAME_GNAT;
|
||||
+
|
||||
+ -- System-Dependent Named Numbers
|
||||
+
|
||||
+ Min_Int : constant := Long_Long_Integer'First;
|
||||
+ Max_Int : constant := Long_Long_Integer'Last;
|
||||
+
|
||||
+ Max_Binary_Modulus : constant := 2 ** Long_Long_Integer'Size;
|
||||
+ Max_Nonbinary_Modulus : constant := Integer'Last;
|
||||
+
|
||||
+ Max_Base_Digits : constant := Long_Long_Float'Digits;
|
||||
+ Max_Digits : constant := Long_Long_Float'Digits;
|
||||
+
|
||||
+ Max_Mantissa : constant := 63;
|
||||
+ Fine_Delta : constant := 2.0 ** (-Max_Mantissa);
|
||||
+
|
||||
+ Tick : constant := 0.000_001;
|
||||
+
|
||||
+ -- Storage-related Declarations
|
||||
+
|
||||
+ type Address is private;
|
||||
+ pragma Preelaborable_Initialization (Address);
|
||||
+ Null_Address : constant Address;
|
||||
+
|
||||
+ Storage_Unit : constant := 8;
|
||||
+ Word_Size : constant := 64;
|
||||
+ Memory_Size : constant := 2 ** 64;
|
||||
+
|
||||
+ -- Address comparison
|
||||
+
|
||||
+ function "<" (Left, Right : Address) return Boolean;
|
||||
+ function "<=" (Left, Right : Address) return Boolean;
|
||||
+ function ">" (Left, Right : Address) return Boolean;
|
||||
+ function ">=" (Left, Right : Address) return Boolean;
|
||||
+ function "=" (Left, Right : Address) return Boolean;
|
||||
+
|
||||
+ pragma Import (Intrinsic, "<");
|
||||
+ pragma Import (Intrinsic, "<=");
|
||||
+ pragma Import (Intrinsic, ">");
|
||||
+ pragma Import (Intrinsic, ">=");
|
||||
+ pragma Import (Intrinsic, "=");
|
||||
+
|
||||
+ -- Other System-Dependent Declarations
|
||||
+
|
||||
+ type Bit_Order is (High_Order_First, Low_Order_First);
|
||||
+ Default_Bit_Order : constant Bit_Order := High_Order_First;
|
||||
+ pragma Warnings (Off, Default_Bit_Order); -- kill constant condition warning
|
||||
+
|
||||
+ -- Priority-related Declarations (RM D.1)
|
||||
+
|
||||
+ Max_Priority : constant Positive := 30;
|
||||
+ Max_Interrupt_Priority : constant Positive := 31;
|
||||
+
|
||||
+ subtype Any_Priority is Integer range 0 .. 31;
|
||||
+ subtype Priority is Any_Priority range 0 .. 30;
|
||||
+ subtype Interrupt_Priority is Any_Priority range 31 .. 31;
|
||||
+
|
||||
+ Default_Priority : constant Priority := 15;
|
||||
+
|
||||
+private
|
||||
+
|
||||
+ type Address is mod Memory_Size;
|
||||
+ Null_Address : constant Address := 0;
|
||||
+
|
||||
+ --------------------------------------
|
||||
+ -- System Implementation Parameters --
|
||||
+ --------------------------------------
|
||||
+
|
||||
+ -- These parameters provide information about the target that is used
|
||||
+ -- by the compiler. They are in the private part of System, where they
|
||||
+ -- can be accessed using the special circuitry in the Targparm unit
|
||||
+ -- whose source should be consulted for more detailed descriptions
|
||||
+ -- of the individual switch values.
|
||||
+
|
||||
+ Backend_Divide_Checks : constant Boolean := False;
|
||||
+ Backend_Overflow_Checks : constant Boolean := True;
|
||||
+ Command_Line_Args : constant Boolean := True;
|
||||
+ Configurable_Run_Time : constant Boolean := False;
|
||||
+ Denorm : constant Boolean := True;
|
||||
+ Duration_32_Bits : constant Boolean := False;
|
||||
+ Exit_Status_Supported : constant Boolean := True;
|
||||
+ Fractional_Fixed_Ops : constant Boolean := False;
|
||||
+ Frontend_Layout : constant Boolean := False;
|
||||
+ Machine_Overflows : constant Boolean := False;
|
||||
+ Machine_Rounds : constant Boolean := True;
|
||||
+ Preallocated_Stacks : constant Boolean := False;
|
||||
+ Signed_Zeros : constant Boolean := True;
|
||||
+ Stack_Check_Default : constant Boolean := False;
|
||||
+ Stack_Check_Probes : constant Boolean := True;
|
||||
+ Stack_Check_Limits : constant Boolean := False;
|
||||
+ Support_Aggregates : constant Boolean := True;
|
||||
+ Support_Composite_Assign : constant Boolean := True;
|
||||
+ Support_Composite_Compare : constant Boolean := True;
|
||||
+ Support_Long_Shifts : constant Boolean := True;
|
||||
+ Always_Compatible_Rep : constant Boolean := False;
|
||||
+ Suppress_Standard_Library : constant Boolean := False;
|
||||
+ Use_Ada_Main_Program_Name : constant Boolean := False;
|
||||
+ Frontend_Exceptions : constant Boolean := False;
|
||||
+ ZCX_By_Default : constant Boolean := True;
|
||||
+
|
||||
+end System;
|
||||
--
|
||||
2.15.1
|
||||
|
44
cross/gcc-aarch64/fix-linux-header-use-in-libgcc.patch
Normal file
44
cross/gcc-aarch64/fix-linux-header-use-in-libgcc.patch
Normal file
|
@ -0,0 +1,44 @@
|
|||
From 9cd4503714c4e596818c4ea8e15905c249b7a319 Mon Sep 17 00:00:00 2001
|
||||
From: nsz <nsz@138bc75d-0d04-0410-961f-82ee72b054a4>
|
||||
Date: Thu, 25 Aug 2016 14:08:27 +0000
|
||||
Subject: [PATCH] [mips] Fix linux header use in libgcc
|
||||
|
||||
libgcc/
|
||||
* config/mips/linux-unwind.h: Use sys/syscall.h.
|
||||
|
||||
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239759 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
---
|
||||
libgcc/ChangeLog | 4 ++++
|
||||
libgcc/config/mips/linux-unwind.h | 2 +-
|
||||
2 files changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
|
||||
index b78c4b2..99bd2f1 100644
|
||||
--- a/libgcc/ChangeLog
|
||||
+++ b/libgcc/ChangeLog
|
||||
@@ -1,3 +1,7 @@
|
||||
+2016-08-25 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||||
+
|
||||
+ * config/mips/linux-unwind.h: Use sys/syscall.h.
|
||||
+
|
||||
2016-08-16 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
PR libgcc/77265
|
||||
diff --git a/libgcc/config/mips/linux-unwind.h b/libgcc/config/mips/linux-unwind.h
|
||||
index bf12de5..4035c121 100644
|
||||
--- a/libgcc/config/mips/linux-unwind.h
|
||||
+++ b/libgcc/config/mips/linux-unwind.h
|
||||
@@ -27,7 +27,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
state data appropriately. See unwind-dw2.c for the structs. */
|
||||
|
||||
#include <signal.h>
|
||||
-#include <asm/unistd.h>
|
||||
+#include <sys/syscall.h>
|
||||
|
||||
/* The third parameter to the signal handler points to something with
|
||||
* this structure defined in asm/ucontext.h, but the name clashes with
|
||||
--
|
||||
2.9.3
|
||||
|
47
cross/gcc-aarch64/gcc-pure64-mips.patch
Normal file
47
cross/gcc-aarch64/gcc-pure64-mips.patch
Normal file
|
@ -0,0 +1,47 @@
|
|||
From b8c4e45d052adc247341066f748421743704b481 Mon Sep 17 00:00:00 2001
|
||||
From: Nils Andreas Svee <me@lochnair.net>
|
||||
Date: Thu, 21 Dec 2017 03:14:33 +0100
|
||||
Subject: [PATCH] Pure 64-bit MIPS
|
||||
|
||||
---
|
||||
gcc/config/mips/mips.h | 8 ++++----
|
||||
gcc/config/mips/t-linux64 | 6 +++---
|
||||
2 files changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
|
||||
index 803ab98e7..afd74752f 100644
|
||||
--- a/gcc/config/mips/mips.h
|
||||
+++ b/gcc/config/mips/mips.h
|
||||
@@ -3330,11 +3330,11 @@ struct GTY(()) machine_function {
|
||||
/* If we are *not* using multilibs and the default ABI is not ABI_32 we
|
||||
need to change these from /lib and /usr/lib. */
|
||||
#if MIPS_ABI_DEFAULT == ABI_N32
|
||||
-#define STANDARD_STARTFILE_PREFIX_1 "/lib32/"
|
||||
-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib32/"
|
||||
+#define STANDARD_STARTFILE_PREFIX_1 "/lib/"
|
||||
+#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
|
||||
#elif MIPS_ABI_DEFAULT == ABI_64
|
||||
-#define STANDARD_STARTFILE_PREFIX_1 "/lib64/"
|
||||
-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib64/"
|
||||
+#define STANDARD_STARTFILE_PREFIX_1 "/lib/"
|
||||
+#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
|
||||
#endif
|
||||
|
||||
/* Load store bonding is not supported by micromips and fix_24k. The
|
||||
diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64
|
||||
index 16c8adf85..bb46204db 100644
|
||||
--- a/gcc/config/mips/t-linux64
|
||||
+++ b/gcc/config/mips/t-linux64
|
||||
@@ -21,6 +21,6 @@ MULTILIB_DIRNAMES = n32 32 64
|
||||
MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el)
|
||||
MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft)
|
||||
MULTILIB_OSDIRNAMES = \
|
||||
- ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
|
||||
- ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
|
||||
- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
|
||||
+ ../lib \
|
||||
+ ../lib32 \
|
||||
+ ../lib
|
||||
--
|
||||
2.15.1
|
||||
|
|
@ -54,7 +54,7 @@ pkgver=6.4.0
|
|||
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
|
||||
|
||||
pkgname="gcc-armhf"
|
||||
pkgrel=5
|
||||
pkgrel=6
|
||||
pkgdesc="Stage2 cross-compiler for armhf"
|
||||
url="http://gcc.gnu.org"
|
||||
arch="all"
|
||||
|
@ -143,6 +143,7 @@ fi
|
|||
# libitm has TEXTRELs in ARM build, so disable for now
|
||||
case "$CTARGET_ARCH" in
|
||||
arm*) LIBITM=false ;;
|
||||
mips*) LIBITM=false ;;
|
||||
esac
|
||||
|
||||
# Fortran uses libquadmath if toolchain has __float128
|
||||
|
@ -232,6 +233,9 @@ source="ftp://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkgba
|
|||
320-libffi-gnulinux.patch
|
||||
|
||||
fix-rs6000-pie.patch
|
||||
fix-linux-header-use-in-libgcc.patch
|
||||
gcc-pure64-mips.patch
|
||||
ada-mips64.patch
|
||||
"
|
||||
|
||||
# we build out-of-tree
|
||||
|
@ -280,7 +284,10 @@ build() {
|
|||
armv5-*-*-*eabi) _arch_configure="--with-arch=armv5te --with-tune=arm926ej-s --with-float=soft --with-abi=aapcs-linux";;
|
||||
armv6-*-*-*eabihf) _arch_configure="--with-arch=armv6zk --with-tune=arm1176jzf-s --with-fpu=vfp --with-float=hard --with-abi=aapcs-linux";;
|
||||
armv7-*-*-*eabihf) _arch_configure="--with-arch=armv7-a --with-tune=generic-armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-abi=aapcs-linux --with-mode=thumb";;
|
||||
mipsel-*-*-*) _arch_configure="--with-arch-32=mips2 --with-tune-32=mips32 --with-fp-32=32 --with-mips-plt --with-float=hard --with-abi=32";;
|
||||
mips-*-*-*) _arch_configure="--with-arch=mips32 --with-mips-plt --with-float=soft --with-abi=32";;
|
||||
mips64-*-*-*) _arch_configure="--with-arch=mips3 --with-tune=mips64 --with-mips-plt --with-float=soft --with-abi=64";;
|
||||
mips64el-*-*-*) _arch_configure="--with-arch=mips3 --with-tune=mips64 --with-mips-plt --with-float=soft --with-abi=64";;
|
||||
mipsel-*-*-*) _arch_configure="--with-arch=mips32 --with-mips-plt --with-float=soft --with-abi=32";;
|
||||
powerpc-*-*-*) _arch_configure="--enable-secureplt --enable-decimal-float=no";;
|
||||
powerpc64*-*-*-*) _arch_configure="--with-abi=elfv2 --enable-secureplt --enable-decimal-float=no --enable-targets=powerpcle-linux";;
|
||||
i486-*-*-*) _arch_configure="--with-arch=i486 --with-tune=generic --enable-cld";;
|
||||
|
@ -288,6 +295,11 @@ build() {
|
|||
s390x-*-*-*) _arch_configure="--with-arch=z196 --with-tune=zEC12 --with-zarch --with-long-double-128 --enable-decimal-float";;
|
||||
esac
|
||||
|
||||
case "$CTARGET_ARCH" in
|
||||
mips*) _hash_style_configure="--with-linker-hash-style=sysv" ;;
|
||||
*) _hash_style_configure="--with-linker-hash-style=gnu" ;;
|
||||
esac
|
||||
|
||||
case "$CTARGET_LIBC" in
|
||||
musl)
|
||||
# musl does not support mudflap, or libsanitizer
|
||||
|
@ -324,6 +336,7 @@ build() {
|
|||
echo " libc_configure=$_libc_configure"
|
||||
echo " cross_configure=$_cross_configure"
|
||||
echo " bootstrap_configure=$_bootstrap_configure"
|
||||
echo " hash_style_configure=$_hash_style_configure"
|
||||
echo ""
|
||||
|
||||
mkdir -p "$_builddir"
|
||||
|
@ -351,7 +364,7 @@ build() {
|
|||
$_cross_configure \
|
||||
$_bootstrap_configure \
|
||||
--with-system-zlib \
|
||||
--with-linker-hash-style=gnu
|
||||
$_hash_style_configure
|
||||
make
|
||||
}
|
||||
|
||||
|
@ -425,6 +438,33 @@ _package() {
|
|||
echo "GROUP ($_real)" > "$so"
|
||||
fi
|
||||
done
|
||||
else
|
||||
# add c89/c99 wrapper scripts
|
||||
cat >"$pkgdir"/usr/bin/c89 <<EOF
|
||||
#!/bin/sh
|
||||
fl="-std=c89"
|
||||
for opt; do
|
||||
case "$opt" in
|
||||
-ansi|-std=c89|-std=iso9899:1990) fl="";;
|
||||
-std=*) echo "$(basename $0) called with non ANSI/ISO C option $opt" >&2
|
||||
exit 1;;
|
||||
esac
|
||||
done
|
||||
exec gcc $fl ${1+"$@"}
|
||||
EOF
|
||||
cat >"$pkgdir"/usr/bin/c99 <<-EOF
|
||||
#!/bin/sh
|
||||
fl="-std=c99"
|
||||
for opt; do
|
||||
case "$opt" in
|
||||
-std=c99|-std=iso9899:1999) fl="";;
|
||||
-std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2
|
||||
exit 1;;
|
||||
esac
|
||||
done
|
||||
exec gcc $fl ${1+"$@"}
|
||||
EOF
|
||||
chmod 755 "$pkgdir"/usr/bin/c?9
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -672,4 +712,7 @@ fa44c8158111627aa0e91c43e7cc3aa38642c2041c96532dd4f0932dae4d6f92ea2850b683abcf10
|
|||
4b4a0ff306a8ef34ff6e3284fbfca869012164a47ba7cb099085c1dd03e6ca0cdd462f82710e08c9a02895adc7484e4c5eef17b5aa264cf5d978fe8ad78eea93 300-main-gcc-add-musl-s390x-dynamic-linker.patch
|
||||
385bc2fa50204f678964e5148c6170f572701dab920fbec8301f505bda34d182cde0adb7da042fee71719e12fb59f59181897f9b1bb4f4716ff59aad46ca1998 310-build-gcj-s390x.patch
|
||||
f4ef08454e28c8732db69115e4998ec153399e8d229dd27f923dbdcf57b68128a65640d026cc7f45b58ba8764ab1eb575d4eb6d6dfc550a87a183f8b94e76181 320-libffi-gnulinux.patch
|
||||
01c71cd5881fc07ea3b9b980697e89b3ca0fe98502958ceafc3fca18b2604c844e2f457feab711baf8e03f00a5383b0e38aac7eb954034e306f43d4a37f165ed fix-rs6000-pie.patch"
|
||||
01c71cd5881fc07ea3b9b980697e89b3ca0fe98502958ceafc3fca18b2604c844e2f457feab711baf8e03f00a5383b0e38aac7eb954034e306f43d4a37f165ed fix-rs6000-pie.patch
|
||||
34a818d5be67eb1f34e44a80b83c28a9b9c17d37fc9fac639f490d6bb5b53ebe3318140d09c236a17d7c98f5a7792ae3d6cefccda8067a5e942d6305b9d1f87c fix-linux-header-use-in-libgcc.patch
|
||||
86be3338cc9c33089608bc4c5e3b7918c4e500a345c338f361b18c342119a6ed69af5495d72950de7106d760f003528b46ad14795e805f8a3331e206dcb234e3 gcc-pure64-mips.patch
|
||||
508f3bca214d88531d739d761d07affc953689b1540905c73420b34c246e1e6b72588cf89f0e1462752633f8ddc88da8c0238be2a1b6e1c213829cecee7924cf ada-mips64.patch"
|
||||
|
|
224
cross/gcc-armhf/ada-mips64.patch
Normal file
224
cross/gcc-armhf/ada-mips64.patch
Normal file
|
@ -0,0 +1,224 @@
|
|||
From 5bbd6ca3755e2a199de98d2b270d8a6f616aa6a6 Mon Sep 17 00:00:00 2001
|
||||
From: Nils Andreas Svee <me@lochnair.net>
|
||||
Date: Thu, 21 Dec 2017 16:46:12 +0100
|
||||
Subject: [PATCH] ada-mips64
|
||||
|
||||
---
|
||||
gcc/ada/gcc-interface/Makefile.in | 29 ++++++--
|
||||
gcc/ada/system-linux-mips64.ads | 147 ++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 171 insertions(+), 5 deletions(-)
|
||||
create mode 100644 gcc/ada/system-linux-mips64.ads
|
||||
|
||||
diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in
|
||||
index 598b262d9..1844a6962 100644
|
||||
--- a/gcc/ada/gcc-interface/Makefile.in
|
||||
+++ b/gcc/ada/gcc-interface/Makefile.in
|
||||
@@ -1854,9 +1854,9 @@ ifeq ($(strip $(filter-out cygwin% mingw32% pe,$(target_os))),)
|
||||
LIBRARY_VERSION := $(LIB_VERSION)
|
||||
endif
|
||||
|
||||
-# Mips Linux
|
||||
-ifeq ($(strip $(filter-out mips linux%,$(target_cpu) $(target_os))),)
|
||||
- LIBGNAT_TARGET_PAIRS = \
|
||||
+# Mips and Mips64 Linux
|
||||
+ifeq ($(strip $(filter-out mips mips64 linux%,$(target_cpu) $(target_os))),)
|
||||
+ LIBGNAT_TARGET_PAIRS_COMMON = \
|
||||
a-intnam.ads<a-intnam-linux.ads \
|
||||
s-inmaop.adb<s-inmaop-posix.adb \
|
||||
s-intman.adb<s-intman-posix.adb \
|
||||
@@ -1867,10 +1867,29 @@ ifeq ($(strip $(filter-out mips linux%,$(target_cpu) $(target_os))),)
|
||||
s-taprop.adb<s-taprop-linux.adb \
|
||||
s-tasinf.ads<s-tasinf-linux.ads \
|
||||
s-tasinf.adb<s-tasinf-linux.adb \
|
||||
- s-taspri.ads<s-taspri-posix.ads \
|
||||
+ s-taspri.ads<s-taspri-posix-noaltstack.ads \
|
||||
s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
|
||||
+ g-sercom.adb<g-sercom-linux.adb
|
||||
+
|
||||
+ LIBGNAT_TARGET_PAIRS_32 = \
|
||||
system.ads<system-linux-mips.ads
|
||||
|
||||
+ LIBGNAT_TARGET_PAIRS_64 = \
|
||||
+ system.ads<system-linux-mips64.ads
|
||||
+
|
||||
+ ifeq ($(strip $(filter-out mips64,$(target_cpu))),)
|
||||
+ LIBGNAT_TARGET_PAIRS = \
|
||||
+ $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_64)
|
||||
+ else
|
||||
+ LIBGNAT_TARGET_PAIRS = \
|
||||
+ $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_32)
|
||||
+ endif
|
||||
+
|
||||
+ TOOLS_TARGET_PAIRS = \
|
||||
+ mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
|
||||
+ indepsw.adb<indepsw-gnu.adb
|
||||
+
|
||||
+ EXTRA_GNATRTL_TASKING_OBJS=s-linux.o
|
||||
EH_MECHANISM=-gcc
|
||||
THREADSLIB = -lpthread
|
||||
GNATLIB_SHARED = gnatlib-shared-dual
|
||||
@@ -1901,7 +1920,7 @@ ifeq ($(strip $(filter-out mipsel mips64el linux%,$(target_cpu) $(target_os))),)
|
||||
LIBGNAT_TARGET_PAIRS_64 = \
|
||||
system.ads<system-linux-mips64el.ads
|
||||
|
||||
- ifneq (,$(or $(filter mips64el%, $(shell $(GCC_FOR_TARGET) $(GNATLIBCFLAGS) -print-multiarch)), $(filter ../lib64, $(shell $(GCC_FOR_TARGET) $(GNATLIBCFLAGS) -print-multi-os-directory))))
|
||||
+ ifeq ($(strip $(filter-out mips64el,$(target_cpu))),)
|
||||
LIBGNAT_TARGET_PAIRS = \
|
||||
$(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_64)
|
||||
else
|
||||
diff --git a/gcc/ada/system-linux-mips64.ads b/gcc/ada/system-linux-mips64.ads
|
||||
new file mode 100644
|
||||
index 000000000..054379acd
|
||||
--- /dev/null
|
||||
+++ b/gcc/ada/system-linux-mips64.ads
|
||||
@@ -0,0 +1,147 @@
|
||||
+------------------------------------------------------------------------------
|
||||
+-- --
|
||||
+-- GNAT RUN-TIME COMPONENTS --
|
||||
+-- --
|
||||
+-- S Y S T E M --
|
||||
+-- --
|
||||
+-- S p e c --
|
||||
+-- (GNU-Linux/MIPS64 Version) --
|
||||
+-- --
|
||||
+-- Copyright (C) 1992-2016, Free Software Foundation, Inc. --
|
||||
+-- --
|
||||
+-- This specification is derived from the Ada Reference Manual for use with --
|
||||
+-- GNAT. The copyright notice above, and the license provisions that follow --
|
||||
+-- apply solely to the contents of the part following the private keyword. --
|
||||
+-- --
|
||||
+-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
+-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
+-- ware Foundation; either version 3, or (at your option) any later ver- --
|
||||
+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
|
||||
+-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
|
||||
+-- or FITNESS FOR A PARTICULAR PURPOSE. --
|
||||
+-- --
|
||||
+-- As a special exception under Section 7 of GPL version 3, you are granted --
|
||||
+-- additional permissions described in the GCC Runtime Library Exception, --
|
||||
+-- version 3.1, as published by the Free Software Foundation. --
|
||||
+-- --
|
||||
+-- You should have received a copy of the GNU General Public License and --
|
||||
+-- a copy of the GCC Runtime Library Exception along with this program; --
|
||||
+-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
|
||||
+-- <http://www.gnu.org/licenses/>. --
|
||||
+-- --
|
||||
+-- GNAT was originally developed by the GNAT team at New York University. --
|
||||
+-- Extensive contributions were provided by Ada Core Technologies Inc. --
|
||||
+-- --
|
||||
+------------------------------------------------------------------------------
|
||||
+
|
||||
+package System is
|
||||
+ pragma Pure;
|
||||
+ -- Note that we take advantage of the implementation permission to make
|
||||
+ -- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
|
||||
+ -- 2005, this is Pure in any case (AI-362).
|
||||
+
|
||||
+ pragma No_Elaboration_Code_All;
|
||||
+ -- Allow the use of that restriction in units that WITH this unit
|
||||
+
|
||||
+ type Name is (SYSTEM_NAME_GNAT);
|
||||
+ System_Name : constant Name := SYSTEM_NAME_GNAT;
|
||||
+
|
||||
+ -- System-Dependent Named Numbers
|
||||
+
|
||||
+ Min_Int : constant := Long_Long_Integer'First;
|
||||
+ Max_Int : constant := Long_Long_Integer'Last;
|
||||
+
|
||||
+ Max_Binary_Modulus : constant := 2 ** Long_Long_Integer'Size;
|
||||
+ Max_Nonbinary_Modulus : constant := Integer'Last;
|
||||
+
|
||||
+ Max_Base_Digits : constant := Long_Long_Float'Digits;
|
||||
+ Max_Digits : constant := Long_Long_Float'Digits;
|
||||
+
|
||||
+ Max_Mantissa : constant := 63;
|
||||
+ Fine_Delta : constant := 2.0 ** (-Max_Mantissa);
|
||||
+
|
||||
+ Tick : constant := 0.000_001;
|
||||
+
|
||||
+ -- Storage-related Declarations
|
||||
+
|
||||
+ type Address is private;
|
||||
+ pragma Preelaborable_Initialization (Address);
|
||||
+ Null_Address : constant Address;
|
||||
+
|
||||
+ Storage_Unit : constant := 8;
|
||||
+ Word_Size : constant := 64;
|
||||
+ Memory_Size : constant := 2 ** 64;
|
||||
+
|
||||
+ -- Address comparison
|
||||
+
|
||||
+ function "<" (Left, Right : Address) return Boolean;
|
||||
+ function "<=" (Left, Right : Address) return Boolean;
|
||||
+ function ">" (Left, Right : Address) return Boolean;
|
||||
+ function ">=" (Left, Right : Address) return Boolean;
|
||||
+ function "=" (Left, Right : Address) return Boolean;
|
||||
+
|
||||
+ pragma Import (Intrinsic, "<");
|
||||
+ pragma Import (Intrinsic, "<=");
|
||||
+ pragma Import (Intrinsic, ">");
|
||||
+ pragma Import (Intrinsic, ">=");
|
||||
+ pragma Import (Intrinsic, "=");
|
||||
+
|
||||
+ -- Other System-Dependent Declarations
|
||||
+
|
||||
+ type Bit_Order is (High_Order_First, Low_Order_First);
|
||||
+ Default_Bit_Order : constant Bit_Order := High_Order_First;
|
||||
+ pragma Warnings (Off, Default_Bit_Order); -- kill constant condition warning
|
||||
+
|
||||
+ -- Priority-related Declarations (RM D.1)
|
||||
+
|
||||
+ Max_Priority : constant Positive := 30;
|
||||
+ Max_Interrupt_Priority : constant Positive := 31;
|
||||
+
|
||||
+ subtype Any_Priority is Integer range 0 .. 31;
|
||||
+ subtype Priority is Any_Priority range 0 .. 30;
|
||||
+ subtype Interrupt_Priority is Any_Priority range 31 .. 31;
|
||||
+
|
||||
+ Default_Priority : constant Priority := 15;
|
||||
+
|
||||
+private
|
||||
+
|
||||
+ type Address is mod Memory_Size;
|
||||
+ Null_Address : constant Address := 0;
|
||||
+
|
||||
+ --------------------------------------
|
||||
+ -- System Implementation Parameters --
|
||||
+ --------------------------------------
|
||||
+
|
||||
+ -- These parameters provide information about the target that is used
|
||||
+ -- by the compiler. They are in the private part of System, where they
|
||||
+ -- can be accessed using the special circuitry in the Targparm unit
|
||||
+ -- whose source should be consulted for more detailed descriptions
|
||||
+ -- of the individual switch values.
|
||||
+
|
||||
+ Backend_Divide_Checks : constant Boolean := False;
|
||||
+ Backend_Overflow_Checks : constant Boolean := True;
|
||||
+ Command_Line_Args : constant Boolean := True;
|
||||
+ Configurable_Run_Time : constant Boolean := False;
|
||||
+ Denorm : constant Boolean := True;
|
||||
+ Duration_32_Bits : constant Boolean := False;
|
||||
+ Exit_Status_Supported : constant Boolean := True;
|
||||
+ Fractional_Fixed_Ops : constant Boolean := False;
|
||||
+ Frontend_Layout : constant Boolean := False;
|
||||
+ Machine_Overflows : constant Boolean := False;
|
||||
+ Machine_Rounds : constant Boolean := True;
|
||||
+ Preallocated_Stacks : constant Boolean := False;
|
||||
+ Signed_Zeros : constant Boolean := True;
|
||||
+ Stack_Check_Default : constant Boolean := False;
|
||||
+ Stack_Check_Probes : constant Boolean := True;
|
||||
+ Stack_Check_Limits : constant Boolean := False;
|
||||
+ Support_Aggregates : constant Boolean := True;
|
||||
+ Support_Composite_Assign : constant Boolean := True;
|
||||
+ Support_Composite_Compare : constant Boolean := True;
|
||||
+ Support_Long_Shifts : constant Boolean := True;
|
||||
+ Always_Compatible_Rep : constant Boolean := False;
|
||||
+ Suppress_Standard_Library : constant Boolean := False;
|
||||
+ Use_Ada_Main_Program_Name : constant Boolean := False;
|
||||
+ Frontend_Exceptions : constant Boolean := False;
|
||||
+ ZCX_By_Default : constant Boolean := True;
|
||||
+
|
||||
+end System;
|
||||
--
|
||||
2.15.1
|
||||
|
44
cross/gcc-armhf/fix-linux-header-use-in-libgcc.patch
Normal file
44
cross/gcc-armhf/fix-linux-header-use-in-libgcc.patch
Normal file
|
@ -0,0 +1,44 @@
|
|||
From 9cd4503714c4e596818c4ea8e15905c249b7a319 Mon Sep 17 00:00:00 2001
|
||||
From: nsz <nsz@138bc75d-0d04-0410-961f-82ee72b054a4>
|
||||
Date: Thu, 25 Aug 2016 14:08:27 +0000
|
||||
Subject: [PATCH] [mips] Fix linux header use in libgcc
|
||||
|
||||
libgcc/
|
||||
* config/mips/linux-unwind.h: Use sys/syscall.h.
|
||||
|
||||
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239759 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
---
|
||||
libgcc/ChangeLog | 4 ++++
|
||||
libgcc/config/mips/linux-unwind.h | 2 +-
|
||||
2 files changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
|
||||
index b78c4b2..99bd2f1 100644
|
||||
--- a/libgcc/ChangeLog
|
||||
+++ b/libgcc/ChangeLog
|
||||
@@ -1,3 +1,7 @@
|
||||
+2016-08-25 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||||
+
|
||||
+ * config/mips/linux-unwind.h: Use sys/syscall.h.
|
||||
+
|
||||
2016-08-16 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
PR libgcc/77265
|
||||
diff --git a/libgcc/config/mips/linux-unwind.h b/libgcc/config/mips/linux-unwind.h
|
||||
index bf12de5..4035c121 100644
|
||||
--- a/libgcc/config/mips/linux-unwind.h
|
||||
+++ b/libgcc/config/mips/linux-unwind.h
|
||||
@@ -27,7 +27,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
state data appropriately. See unwind-dw2.c for the structs. */
|
||||
|
||||
#include <signal.h>
|
||||
-#include <asm/unistd.h>
|
||||
+#include <sys/syscall.h>
|
||||
|
||||
/* The third parameter to the signal handler points to something with
|
||||
* this structure defined in asm/ucontext.h, but the name clashes with
|
||||
--
|
||||
2.9.3
|
||||
|
47
cross/gcc-armhf/gcc-pure64-mips.patch
Normal file
47
cross/gcc-armhf/gcc-pure64-mips.patch
Normal file
|
@ -0,0 +1,47 @@
|
|||
From b8c4e45d052adc247341066f748421743704b481 Mon Sep 17 00:00:00 2001
|
||||
From: Nils Andreas Svee <me@lochnair.net>
|
||||
Date: Thu, 21 Dec 2017 03:14:33 +0100
|
||||
Subject: [PATCH] Pure 64-bit MIPS
|
||||
|
||||
---
|
||||
gcc/config/mips/mips.h | 8 ++++----
|
||||
gcc/config/mips/t-linux64 | 6 +++---
|
||||
2 files changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
|
||||
index 803ab98e7..afd74752f 100644
|
||||
--- a/gcc/config/mips/mips.h
|
||||
+++ b/gcc/config/mips/mips.h
|
||||
@@ -3330,11 +3330,11 @@ struct GTY(()) machine_function {
|
||||
/* If we are *not* using multilibs and the default ABI is not ABI_32 we
|
||||
need to change these from /lib and /usr/lib. */
|
||||
#if MIPS_ABI_DEFAULT == ABI_N32
|
||||
-#define STANDARD_STARTFILE_PREFIX_1 "/lib32/"
|
||||
-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib32/"
|
||||
+#define STANDARD_STARTFILE_PREFIX_1 "/lib/"
|
||||
+#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
|
||||
#elif MIPS_ABI_DEFAULT == ABI_64
|
||||
-#define STANDARD_STARTFILE_PREFIX_1 "/lib64/"
|
||||
-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib64/"
|
||||
+#define STANDARD_STARTFILE_PREFIX_1 "/lib/"
|
||||
+#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
|
||||
#endif
|
||||
|
||||
/* Load store bonding is not supported by micromips and fix_24k. The
|
||||
diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64
|
||||
index 16c8adf85..bb46204db 100644
|
||||
--- a/gcc/config/mips/t-linux64
|
||||
+++ b/gcc/config/mips/t-linux64
|
||||
@@ -21,6 +21,6 @@ MULTILIB_DIRNAMES = n32 32 64
|
||||
MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el)
|
||||
MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft)
|
||||
MULTILIB_OSDIRNAMES = \
|
||||
- ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
|
||||
- ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
|
||||
- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
|
||||
+ ../lib \
|
||||
+ ../lib32 \
|
||||
+ ../lib
|
||||
--
|
||||
2.15.1
|
||||
|
Loading…
Reference in a new issue