This commit is contained in:
Jakub Jelinek 2014-07-17 11:27:53 +02:00
commit 87e4ffffc9
7 changed files with 81 additions and 84 deletions

2
.gitignore vendored
View File

@ -15,3 +15,5 @@
/gcc-4.9.0-20140619.tar.bz2
/gcc-4.9.0-20140625.tar.bz2
/gcc-4.9.0-20140702.tar.bz2
/gcc-4.9.1-20140716.tar.bz2
/gcc-4.9.1-20140717.tar.bz2

View File

@ -1,9 +1,9 @@
%global DATE 20140702
%global SVNREV 212237
%global gcc_version 4.9.0
%global DATE 20140717
%global SVNREV 212747
%global gcc_version 4.9.1
# Note, gcc_release must be integer, if you want to add suffixes to
# %{release}, append them after %{gcc_release} on Release: line.
%global gcc_release 15
%global gcc_release 2
%global _unpackaged_files_terminate_build 0
%global _performance_build 1
%global multilib_64_archs sparc64 ppc64 ppc64p7 s390x x86_64
@ -52,7 +52,7 @@
%else
%global build_libatomic 0
%endif
%ifarch %{ix86} x86_64 %{arm} alpha ppc ppc64 ppc64le ppc64p7 s390 s390x
%ifarch %{ix86} x86_64 %{arm} alpha ppc ppc64 ppc64le ppc64p7 s390 s390x aarch64
%global build_libitm 1
%else
%global build_libitm 0
@ -86,7 +86,7 @@ License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2
Group: Development/Languages
# The source for this package was pulled from upstream's vcs. Use the
# following commands to generate the tarball:
# svn export svn://gcc.gnu.org/svn/gcc/branches/redhat/gcc-4_7-branch@%{SVNREV} gcc-%{version}-%{DATE}
# svn export svn://gcc.gnu.org/svn/gcc/branches/redhat/gcc-4_9-branch@%{SVNREV} gcc-%{version}-%{DATE}
# tar cf - gcc-%{version}-%{DATE} | bzip2 -9 > gcc-%{version}-%{DATE}.tar.bz2
Source0: gcc-%{version}-%{DATE}.tar.bz2
%global isl_version 0.12.2
@ -196,7 +196,8 @@ Patch12: gcc49-no-add-needed.patch
Patch14: gcc49-pr56493.patch
Patch15: gcc49-color-auto.patch
Patch16: gcc49-libgo-p224.patch
Patch17: gcc49-pr61673.patch
Patch17: gcc49-aarch64-async-unw-tables.patch
Patch18: gcc49-aarch64-GNU_STACK.patch
Patch1100: cloog-%{cloog_version}-ppc64le-config.patch
@ -723,7 +724,8 @@ package or when debugging this package.
%endif
%patch16 -p0 -b .libgo-p224~
rm -f libgo/go/crypto/elliptic/p224{,_test}.go
%patch17 -p0 -b .pr61673~
%patch17 -p0 -b .aarch64-async-unw-tables~
%patch18 -p0 -b .aarch64-GNU_STACK~
%if 0%{?_enable_debug_packages}
cat > split-debuginfo.sh <<\EOF
@ -774,7 +776,7 @@ chmod 755 split-debuginfo.sh
%patch1100 -p0 -b .cloog-ppc64le-config~
sed -i -e 's/4\.9\.1/4.9.0/' gcc/BASE-VER
sed -i -e 's/4\.9\.2/4.9.1/' gcc/BASE-VER
echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE
%if 0%{?fedora} >= 16 || 0%{?rhel} >= 7
@ -2796,6 +2798,23 @@ fi
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/plugin
%changelog
* Thu Jul 17 2014 Jakub Jelinek <jakub@redhat.com> 4.9.1-2
- update from the 4.9 branch
- PRs c-family/61741, rtl-optimization/61801, target/61737,
tree-optimization/61779
* Wed Jul 16 2014 Jakub Jelinek <jakub@redhat.com> 4.9.1-1
- update from the 4.9 branch
- GCC 4.9.1 release
- PRs c++/58155, c++/58636, c++/61661, fortran/41936, fortran/58883,
fortran/61459, libgfortran/61640, middle-end/53590,
middle-end/61654, target/59843, target/61062, target/61544,
tree-optimization/61680, tree-optimization/61681,
tree-optimization/61684, tree-optimization/61725
- enable libitm on aarch64
- emit .note.GNU-stack on aarch64 (#1119885)
- small -fsanitize=bounds fix from the trunk
* Sat Jul 12 2014 Tom Callaway <spot@fedoraproject.org> 4.9.0-15
- fix license handling

View File

@ -0,0 +1,13 @@
2014-05-15 Kyle McMartin <kmcmarti@redhat.com>
* config/aarch64/aarch64-linux.h (TARGET_ASM_FILE_END): Define.
--- gcc/config/aarch64/aarch64-linux.h
+++ gcc/config/aarch64/aarch64-linux.h
@@ -44,4 +44,6 @@
} \
while (0)
+#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
+
#endif /* GCC_AARCH64_LINUX_H */

View File

@ -0,0 +1,35 @@
2014-04-07 Richard Henderson <rth@redhat.com>
* common/config/aarch64/aarch64-common.c (TARGET_OPTION_INIT_STRUCT):
Define.
(aarch64_option_init_struct): New function.
--- gcc/common/config/aarch64/aarch64-common.c
+++ gcc/common/config/aarch64/aarch64-common.c
@@ -39,6 +39,9 @@
#undef TARGET_OPTION_OPTIMIZATION_TABLE
#define TARGET_OPTION_OPTIMIZATION_TABLE aarch_option_optimization_table
+#undef TARGET_OPTION_INIT_STRUCT
+#define TARGET_OPTION_INIT_STRUCT aarch64_option_init_struct
+
/* Set default optimization options. */
static const struct default_options aarch_option_optimization_table[] =
{
@@ -47,6 +50,16 @@ static const struct default_options aarch_option_optimization_table[] =
{ OPT_LEVELS_NONE, 0, NULL, 0 }
};
+/* Implement TARGET_OPTION_INIT_STRUCT. */
+
+static void
+aarch64_option_init_struct (struct gcc_options *opts)
+{
+ /* By default, always emit DWARF-2 unwind info. This allows debugging
+ without maintaining a stack frame back-chain. */
+ opts->x_flag_asynchronous_unwind_tables = 1;
+}
+
/* Implement TARGET_HANDLE_OPTION.
This function handles the target specific options for CPU/target selection.

View File

@ -4,7 +4,7 @@
<a class="link" href="http://www.fsf.org/" target="_top">FSF
</a>
</p><p>
+ Release 4.9.0
+ Release 4.9.1
+ </p><p>
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation
@ -18,7 +18,7 @@
- The API documentation, rendered into HTML, can be viewed online:
+ The API documentation, rendered into HTML, can be viewed here:
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
+ <a class="link" href="api/index.html" target="_top">for the 4.9.0 release, local
+ <a class="link" href="api/index.html" target="_top">for the 4.9.1 release, local
+ </a>
+ </p></li><li class="listitem"><p>
<a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-3.4/index.html" target="_top">for the 3.4 release

View File

@ -1,72 +0,0 @@
2014-07-02 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/61673
* combine.c (simplify_comparison): Test just mode's sign bit
in tmode rather than the sign bit and any bits above it.
* gcc.c-torture/execute/pr61673.c: New test.
--- gcc/combine.c.jj 2014-03-28 20:49:52.892077022 +0100
+++ gcc/combine.c 2014-07-02 16:56:02.260456040 +0200
@@ -11987,7 +11987,7 @@ simplify_comparison (enum rtx_code code,
= (unsigned HOST_WIDE_INT) 1 << (GET_MODE_BITSIZE (mode) - 1);
op0 = simplify_gen_binary (AND, tmode,
gen_lowpart (tmode, op0),
- gen_int_mode (sign, mode));
+ gen_int_mode (sign, tmode));
code = (code == LT) ? NE : EQ;
break;
}
--- gcc/testsuite/gcc.c-torture/execute/pr61673.c.jj 2014-07-02 17:17:01.398908630 +0200
+++ gcc/testsuite/gcc.c-torture/execute/pr61673.c 2014-07-02 17:12:36.000000000 +0200
@@ -0,0 +1,50 @@
+/* PR rtl-optimization/61673 */
+
+char e;
+
+__attribute__((noinline, noclone)) void
+bar (char x)
+{
+ if (x != 0x54 && x != (char) 0x87)
+ __builtin_abort ();
+}
+
+__attribute__((noinline, noclone)) void
+foo (const char *x)
+{
+ char d = x[0];
+ int c = d;
+ if ((c >= 0 && c <= 0x7f) == 0)
+ e = d;
+ bar (d);
+}
+
+__attribute__((noinline, noclone)) void
+baz (const char *x)
+{
+ char d = x[0];
+ int c = d;
+ if ((c >= 0 && c <= 0x7f) == 0)
+ e = d;
+}
+
+int
+main ()
+{
+ const char c[] = { 0x54, 0x87 };
+ e = 0x21;
+ foo (c);
+ if (e != 0x21)
+ __builtin_abort ();
+ foo (c + 1);
+ if (e != 0x87)
+ __builtin_abort ();
+ e = 0x21;
+ baz (c);
+ if (e != 0x21)
+ __builtin_abort ();
+ baz (c + 1);
+ if (e != 0x87)
+ __builtin_abort ();
+ return 0;
+}

View File

@ -1,3 +1,3 @@
e34fca0540d840e5d0f6427e98c92252 cloog-0.18.1.tar.gz
bc3144479589cca83f7d5f958d52283e gcc-4.9.0-20140702.tar.bz2
0f7586f719b329cfc5e03005e902e9b6 gcc-4.9.1-20140717.tar.bz2
e039bfcfb6c2ab039b8ee69bf883e824 isl-0.12.2.tar.bz2