crossgcc: Upgrade GCC to 9.2.0
nds32 and GNAT bad constant patches are integrated in upstream so we don't need them anymore. Change-Id: Id6f65548764654ae5539ac3c835853ea2fa1c5e0 Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr> Reviewed-on: https://review.coreboot.org/c/coreboot/+/32564 Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Patrick Georgi <pgeorgi@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
741dec4681
commit
dfd3f21174
|
@ -50,7 +50,7 @@ THREADS=1
|
|||
GMP_VERSION=6.1.2
|
||||
MPFR_VERSION=4.0.2
|
||||
MPC_VERSION=1.1.0
|
||||
GCC_VERSION=8.3.0
|
||||
GCC_VERSION=9.2.0
|
||||
GCC_AUTOCONF_VERSION=2.69
|
||||
BINUTILS_VERSION=2.33.1
|
||||
GDB_VERSION=8.3.1
|
||||
|
|
|
@ -1,150 +0,0 @@
|
|||
commit b6f742f96c62bab0582021455328ae3be58e16d3
|
||||
Author: pmderodat <pmderodat@138bc75d-0d04-0410-961f-82ee72b054a4>
|
||||
Date: Fri May 25 09:05:10 2018 +0000
|
||||
|
||||
[Ada] Remove "constant" attribute on Osint.Unknown_Attributes
|
||||
|
||||
2018-05-25 Arnaud Charlet <charlet@adacore.com>
|
||||
|
||||
gcc/ada/
|
||||
|
||||
* exp_aggr.adb (Convert_To_Positional): Bump default for
|
||||
Max_Others_Replicate to 32. Update comments.
|
||||
* osint.ads (Unknown_Attributes): No longer pretend this is a constant.
|
||||
(No_File_Info_Cache): Initialize separately.
|
||||
* osint.adb (No_File_Info_Cache): Update initializer.
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@260739 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
|
||||
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
|
||||
index e4127e472aa..d56240b7b82 100644
|
||||
--- a/gcc/ada/ChangeLog
|
||||
+++ b/gcc/ada/ChangeLog
|
||||
@@ -188,6 +188,14 @@
|
||||
an allocator if the type is an unconstrained record type with default
|
||||
discriminant.
|
||||
|
||||
+2018-05-25 Arnaud Charlet <charlet@adacore.com>
|
||||
+
|
||||
+ * exp_aggr.adb (Convert_To_Positional): Bump default for
|
||||
+ Max_Others_Replicate to 32. Update comments.
|
||||
+ * osint.ads (Unknown_Attributes): No longer pretend this is a constant.
|
||||
+ (No_File_Info_Cache): Initialize separately.
|
||||
+ * osint.adb (No_File_Info_Cache): Update initializer.
|
||||
+
|
||||
2018-05-04 John Marino <gnugcc@marino.st>
|
||||
|
||||
PR ada/85635
|
||||
diff --git a/gcc/ada/exp_aggr.adb b/gcc/ada/exp_aggr.adb
|
||||
index f723c1b4d99..ff5210eb4e4 100644
|
||||
--- a/gcc/ada/exp_aggr.adb
|
||||
+++ b/gcc/ada/exp_aggr.adb
|
||||
@@ -284,14 +284,14 @@ package body Exp_Aggr is
|
||||
|
||||
procedure Convert_To_Positional
|
||||
(N : Node_Id;
|
||||
- Max_Others_Replicate : Nat := 5;
|
||||
+ Max_Others_Replicate : Nat := 32;
|
||||
Handle_Bit_Packed : Boolean := False);
|
||||
-- If possible, convert named notation to positional notation. This
|
||||
-- conversion is possible only in some static cases. If the conversion is
|
||||
-- possible, then N is rewritten with the analyzed converted aggregate.
|
||||
-- The parameter Max_Others_Replicate controls the maximum number of
|
||||
-- values corresponding to an others choice that will be converted to
|
||||
- -- positional notation (the default of 5 is the normal limit, and reflects
|
||||
+ -- positional notation (the default of 32 is the normal limit, and reflects
|
||||
-- the fact that normally the loop is better than a lot of separate
|
||||
-- assignments). Note that this limit gets overridden in any case if
|
||||
-- either of the restrictions No_Elaboration_Code or No_Implicit_Loops is
|
||||
@@ -301,11 +301,6 @@ package body Exp_Aggr is
|
||||
-- Packed_Array_Aggregate_Handled, we set this parameter to True, since
|
||||
-- these are cases we handle in there.
|
||||
|
||||
- -- It would seem useful to have a higher default for Max_Others_Replicate,
|
||||
- -- but aggregates in the compiler make this impossible: the compiler
|
||||
- -- bootstrap fails if Max_Others_Replicate is greater than 25. This
|
||||
- -- is unexpected ???
|
||||
-
|
||||
procedure Expand_Array_Aggregate (N : Node_Id);
|
||||
-- This is the top-level routine to perform array aggregate expansion.
|
||||
-- N is the N_Aggregate node to be expanded.
|
||||
@@ -4292,7 +4287,7 @@ package body Exp_Aggr is
|
||||
|
||||
procedure Convert_To_Positional
|
||||
(N : Node_Id;
|
||||
- Max_Others_Replicate : Nat := 5;
|
||||
+ Max_Others_Replicate : Nat := 32;
|
||||
Handle_Bit_Packed : Boolean := False)
|
||||
is
|
||||
Typ : constant Entity_Id := Etype (N);
|
||||
diff --git a/gcc/ada/osint.adb b/gcc/ada/osint.adb
|
||||
index 0c23761b6dc..896fbc7ee37 100644
|
||||
--- a/gcc/ada/osint.adb
|
||||
+++ b/gcc/ada/osint.adb
|
||||
@@ -250,8 +250,7 @@ package body Osint is
|
||||
Attr : aliased File_Attributes;
|
||||
end record;
|
||||
|
||||
- No_File_Info_Cache : constant File_Info_Cache :=
|
||||
- (No_File, Unknown_Attributes);
|
||||
+ No_File_Info_Cache : constant File_Info_Cache := (No_File, (others => 0));
|
||||
|
||||
package File_Name_Hash_Table is new GNAT.HTable.Simple_HTable (
|
||||
Header_Num => File_Hash_Num,
|
||||
diff --git a/gcc/ada/osint.ads b/gcc/ada/osint.ads
|
||||
index 65a87fe4ce3..6c75b521456 100644
|
||||
--- a/gcc/ada/osint.ads
|
||||
+++ b/gcc/ada/osint.ads
|
||||
@@ -255,10 +255,26 @@ package Osint is
|
||||
-- from the disk and then cached in the File_Attributes parameter (possibly
|
||||
-- along with other values).
|
||||
|
||||
- type File_Attributes is private;
|
||||
- Unknown_Attributes : constant File_Attributes;
|
||||
+ File_Attributes_Size : constant Natural := 32;
|
||||
+ -- This should be big enough to fit a "struct file_attributes" on any
|
||||
+ -- system. It doesn't cause any malfunction if it is too big (which avoids
|
||||
+ -- the need for either mapping the struct exactly or importing the sizeof
|
||||
+ -- from C, which would result in dynamic code). However, it does waste
|
||||
+ -- space (e.g. when a component of this type appears in a record, if it is
|
||||
+ -- unnecessarily large). Note: for runtime units, use System.OS_Constants.
|
||||
+ -- SIZEOF_struct_file_attributes instead, which has the exact value.
|
||||
+
|
||||
+ type File_Attributes is
|
||||
+ array (1 .. File_Attributes_Size)
|
||||
+ of System.Storage_Elements.Storage_Element;
|
||||
+ for File_Attributes'Alignment use Standard'Maximum_Alignment;
|
||||
+
|
||||
+ Unknown_Attributes : File_Attributes;
|
||||
-- A cache for various attributes for a file (length, accessibility,...)
|
||||
- -- This must be initialized to Unknown_Attributes prior to the first call.
|
||||
+ -- Will be initialized properly at elaboration (for efficiency later on,
|
||||
+ -- avoid function calls every time we want to reset the attributes) prior
|
||||
+ -- to the first usage. We cannot make it constant since the compiler may
|
||||
+ -- put it in a read-only section.
|
||||
|
||||
function Is_Directory
|
||||
(Name : C_File_Name;
|
||||
@@ -754,22 +770,4 @@ private
|
||||
-- detected, the file being written is deleted, and a fatal error is
|
||||
-- signalled.
|
||||
|
||||
- File_Attributes_Size : constant Natural := 32;
|
||||
- -- This should be big enough to fit a "struct file_attributes" on any
|
||||
- -- system. It doesn't cause any malfunction if it is too big (which avoids
|
||||
- -- the need for either mapping the struct exactly or importing the sizeof
|
||||
- -- from C, which would result in dynamic code). However, it does waste
|
||||
- -- space (e.g. when a component of this type appears in a record, if it is
|
||||
- -- unnecessarily large). Note: for runtime units, use System.OS_Constants.
|
||||
- -- SIZEOF_struct_file_attributes instead, which has the exact value.
|
||||
-
|
||||
- type File_Attributes is
|
||||
- array (1 .. File_Attributes_Size)
|
||||
- of System.Storage_Elements.Storage_Element;
|
||||
- for File_Attributes'Alignment use Standard'Maximum_Alignment;
|
||||
-
|
||||
- Unknown_Attributes : constant File_Attributes := (others => 0);
|
||||
- -- Will be initialized properly at elaboration (for efficiency later on,
|
||||
- -- avoid function calls every time we want to reset the attributes).
|
||||
-
|
||||
end Osint;
|
File diff suppressed because it is too large
Load Diff
|
@ -1 +0,0 @@
|
|||
c27f4499dd263fe4fb01bcc5565917f3698583b2 tarballs/gcc-8.3.0.tar.xz
|
|
@ -0,0 +1 @@
|
|||
306d27c3465fa36862c206738d06d65fff5c3645 tarballs/gcc-9.2.0.tar.xz
|
|
@ -185,8 +185,6 @@ detect_special_flags() {
|
|||
testcc "$GCC" "$CFLAGS_GCC -Wl,--build-id=none" &&
|
||||
CFLAGS_GCC="$CFLAGS_GCC -Wl,--build-id=none"
|
||||
|
||||
testcc "$GCC" "$CFLAGS_GCC -Wno-address-of-packed-member" &&
|
||||
CFLAGS_GCC="$CFLAGS_GCC -Wno-address-of-packed-member"
|
||||
case "$architecture" in
|
||||
x86)
|
||||
;;
|
||||
|
@ -221,7 +219,7 @@ SUBARCH_SUPPORTED+=${TSUPP-${TARCH}}
|
|||
GCC_CC_${TARCH}:=${GCC}
|
||||
GCC_CFLAGS_${TARCH}:=${CFLAGS_GCC}
|
||||
# Generally available for GCC's cc1:
|
||||
GCC_CFLAGS_${TARCH}+=-fno-delete-null-pointer-checks -Wlogical-op
|
||||
GCC_CFLAGS_${TARCH}+=-fno-delete-null-pointer-checks -Wlogical-op -Wno-address-of-packed-member
|
||||
GCC_ADAFLAGS_${TARCH}:=${CFLAGS_GCC}
|
||||
GCC_COMPILER_RT_${TARCH}:=${CC_RT_GCC}
|
||||
GCC_COMPILER_RT_FLAGS_${TARCH}:=${CC_RT_EXTRA_GCC}
|
||||
|
|
Loading…
Reference in New Issue