FreeBSD Bugzilla – Attachment 176402 Details for
Bug 196712
exp-run: Update lang/gcc from GCC 4.8 to GCC 4.9
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
v4 of the patch set
x (text/plain), 18.08 KB, created by
Gerald Pfeifer
on 2016-11-01 21:23:48 UTC
(
hide
)
Description:
v4 of the patch set
Filename:
MIME Type:
Creator:
Gerald Pfeifer
Created:
2016-11-01 21:23:48 UTC
Size:
18.08 KB
patch
obsolete
>Index: Mk/bsd.default-versions.mk >=================================================================== >--- Mk/bsd.default-versions.mk (revision 425045) >+++ Mk/bsd.default-versions.mk (working copy) >@@ -38,7 +38,7 @@ > # Possible values: 3.0.0 > FPC_DEFAULT?= 3.0.0 > # Possible values: 4.6, 4.7, 4.8, 4.9, 5 >-GCC_DEFAULT?= 4.8 >+GCC_DEFAULT?= 4.9 > # Possible values: 7, 8, 9, agpl > GHOSTSCRIPT_DEFAULT?= agpl > # Possible values: f10, c6, c6_64, c7, c7_64 >@@ -134,6 +134,6 @@ > VARNISH_DEFAULT?= 4 > > # Version of lang/gcc. Do not override! >-LANG_GCC_IS= 4.8 >+LANG_GCC_IS= 4.9 > > .endif >Index: lang/gcc/Makefile >=================================================================== >--- lang/gcc/Makefile (revision 425045) >+++ lang/gcc/Makefile (working copy) >@@ -2,13 +2,12 @@ > # $FreeBSD$ > > PORTNAME= gcc >-PORTVERSION= 4.8.5 >-PORTREVISION= 2 >+PORTVERSION= 4.9.4 > CATEGORIES= lang java > MASTER_SITES= GCC/releases/gcc-${DISTVERSION} > > MAINTAINER= gerald@FreeBSD.org >-COMMENT= GNU Compiler Collection 4.8 >+COMMENT= GNU Compiler Collection 4.9 > > LICENSE= GPLv3 GPLv3RLE > LICENSE_COMB= multi >@@ -23,7 +22,7 @@ > BUILD_DEPENDS+= runtest:misc/dejagnu > .endif > >-CONFLICTS= gcc48* >+CONFLICTS= gcc49* > CPE_VENDOR= gnu > > # DISTVERSION relates to downloads, GCC_VERSION and SUFFIX to names >@@ -40,6 +39,7 @@ > OPTIONS_DEFINE= BOOTSTRAP > OPTIONS_DEFINE_i386= JAVA > OPTIONS_DEFINE_amd64= JAVA >+OPTIONS_DEFINE_powerpc64= JAVA > OPTIONS_DEFAULT_i386= JAVA > OPTIONS_DEFAULT_amd64= JAVA > OPTIONS_DEFAULT_powerpc64= BOOTSTRAP >Index: lang/gcc/distinfo >=================================================================== >--- lang/gcc/distinfo (revision 425045) >+++ lang/gcc/distinfo (working copy) >@@ -1,3 +1,3 @@ >-TIMESTAMP = 1471124229 >-SHA256 (gcc-4.8.5.tar.bz2) = 22fb1e7e0f68a63cee631d85b20461d1ea6bda162f03096350e38c8d427ecf23 >-SIZE (gcc-4.8.5.tar.bz2) = 86165587 >+TIMESTAMP = 1478034530 >+SHA256 (gcc-4.9.4.tar.bz2) = 6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092 >+SIZE (gcc-4.9.4.tar.bz2) = 90097606 >Index: lang/gcc/files/java-patch-hier >=================================================================== >--- lang/gcc/files/java-patch-hier (revision 425045) >+++ lang/gcc/files/java-patch-hier (working copy) >@@ -1,13 +1,12 @@ >-Index: libjava/Makefile.in >-=================================================================== >---- libjava/Makefile.in (revision 117734) >-+++ libjava/Makefile.in (working copy) >-@@ -712,7 +712,7 @@ >- $(am__append_2) $(am__append_3) >- toolexecmainlib_DATA = libgcj.spec >+--- UTC >+--- libjava/Makefile.in 2013-05-26 22:33:07.000000000 +0000 >++++ libjava/Makefile.in 2013-05-31 21:19:23.000000000 +0000 >+@@ -941,7 +941,7 @@ >+ @BUILD_SUBLIBS_FALSE@LIBJAVA_CORE_EXTRA = >+ @BUILD_SUBLIBS_TRUE@LIBJAVA_CORE_EXTRA = @LIBGCJ_SUBLIB_CORE_EXTRA_DEPS@ > dbexec_LTLIBRARIES = libjvm.la >--pkgconfigdir = $(libdir)/pkgconfig >+-pkgconfigdir = $(toolexeclibdir)/pkgconfig > +pkgconfigdir = $(prefix)/libdata/pkgconfig > jardir = $(datadir)/java >- jar_DATA = libgcj-$(gcc_version).jar libgcj-tools-$(gcc_version).jar >- @JAVA_HOME_SET_FALSE@JAVA_HOME_DIR = $(prefix) >+ jar_DATA = libgcj-$(gcc_version).jar libgcj-tools-$(gcc_version).jar \ >+ $(am__append_5) >Index: lang/gcc/files/patch-arm-libcpp >=================================================================== >--- lang/gcc/files/patch-arm-libcpp (revision 425045) >+++ lang/gcc/files/patch-arm-libcpp (nonexistent) >@@ -1,24 +0,0 @@ >-Index: libcpp/configure >-=================================================================== >---- libcpp/configure (revision 218760) >-+++ libcpp/configure (working copy) >-@@ -7153,6 +7153,7 @@ >- aarch64*-*-* | \ >- alpha*-*-* | \ >- arm*-*-*eabi* | \ >-+ arm*-*-freebsd* | \ >- arm*-*-rtems* | \ >- arm*-*-symbianelf* | \ >- x86_64-*-* | \ >-Index: libcpp/configure.ac >-=================================================================== >---- libcpp/configure.ac (revision 218760) >-+++ libcpp/configure.ac (working copy) >-@@ -185,6 +185,7 @@ >- aarch64*-*-* | \ >- alpha*-*-* | \ >- arm*-*-*eabi* | \ >-+ arm*-*-freebsd* | \ >- arm*-*-rtems* | \ >- arm*-*-symbianelf* | \ >- x86_64-*-* | \ > >Property changes on: lang/gcc/files/patch-arm-libcpp >___________________________________________________________________ >Deleted: fbsd:nokeywords >## -1 +0,0 ## >-yes >\ No newline at end of property >Deleted: svn:eol-style >## -1 +0,0 ## >-native >\ No newline at end of property >Deleted: svn:mime-type >## -1 +0,0 ## >-text/plain >\ No newline at end of property >Index: lang/gcc/files/patch-stackprotector-gcc >=================================================================== >--- lang/gcc/files/patch-stackprotector-gcc (revision 425045) >+++ lang/gcc/files/patch-stackprotector-gcc (nonexistent) >@@ -1,157 +0,0 @@ >---- gcc/cfgexpand.c.orig >-+++ gcc/cfgexpand.c >-@@ -1291,6 +1291,12 @@ >- clear_tree_used (t); >- } >- >-+ enum { >-+ SPCT_FLAG_DEFAULT = 1, >-+ SPCT_FLAG_ALL = 2, >-+ SPCT_FLAG_STRONG = 3 >-+ }; >-+ >- /* Examine TYPE and determine a bit mask of the following features. */ >- >- #define SPCT_HAS_LARGE_CHAR_ARRAY 1 >-@@ -1360,7 +1366,8 @@ >- if (bits & SPCT_HAS_SMALL_CHAR_ARRAY) >- has_short_buffer = true; >- >-- if (flag_stack_protect == 2) >-+ if (flag_stack_protect == SPCT_FLAG_ALL >-+ || flag_stack_protect == SPCT_FLAG_STRONG) >- { >- if ((bits & (SPCT_HAS_SMALL_CHAR_ARRAY | SPCT_HAS_LARGE_CHAR_ARRAY)) >- && !(bits & SPCT_HAS_AGGREGATE)) >-@@ -1514,6 +1521,27 @@ >- return size; >- } >- >-+/* Helper routine to check if a record or union contains an array field. */ >-+ >-+static int >-+record_or_union_type_has_array_p (const_tree tree_type) >-+{ >-+ tree fields = TYPE_FIELDS (tree_type); >-+ tree f; >-+ >-+ for (f = fields; f; f = DECL_CHAIN (f)) >-+ if (TREE_CODE (f) == FIELD_DECL) >-+ { >-+ tree field_type = TREE_TYPE (f); >-+ if (RECORD_OR_UNION_TYPE_P (field_type) >-+ && record_or_union_type_has_array_p (field_type)) >-+ return 1; >-+ if (TREE_CODE (field_type) == ARRAY_TYPE) >-+ return 1; >-+ } >-+ return 0; >-+} >-+ >- /* Expand all variables used in the function. */ >- >- static rtx >-@@ -1525,6 +1553,7 @@ >- struct pointer_map_t *ssa_name_decls; >- unsigned i; >- unsigned len; >-+ bool gen_stack_protect_signal = false; >- >- /* Compute the phase of the stack frame for this function. */ >- { >-@@ -1575,6 +1604,24 @@ >- } >- } >- pointer_map_destroy (ssa_name_decls); >-+ >-+ if (flag_stack_protect == SPCT_FLAG_STRONG) >-+ FOR_EACH_LOCAL_DECL (cfun, i, var) >-+ if (!is_global_var (var)) >-+ { >-+ tree var_type = TREE_TYPE (var); >-+ /* Examine local referenced variables that have their addresses taken, >-+ contain an array, or are arrays. */ >-+ if (TREE_CODE (var) == VAR_DECL >-+ && (TREE_CODE (var_type) == ARRAY_TYPE >-+ || TREE_ADDRESSABLE (var) >-+ || (RECORD_OR_UNION_TYPE_P (var_type) >-+ && record_or_union_type_has_array_p (var_type)))) >-+ { >-+ gen_stack_protect_signal = true; >-+ break; >-+ } >-+ } >- >- /* At this point all variables on the local_decls with TREE_USED >- set are not associated with any block scope. Lay them out. */ >-@@ -1662,12 +1709,32 @@ >- dump_stack_var_partition (); >- } >- >-- /* There are several conditions under which we should create a >-- stack guard: protect-all, alloca used, protected decls present. */ >-- if (flag_stack_protect == 2 >-- || (flag_stack_protect >-- && (cfun->calls_alloca || has_protected_decls))) >-- create_stack_guard (); >-+ /* Create stack guard, if >-+ a) "-fstack-protector-all" - always; >-+ b) "-fstack-protector-strong" - if there are arrays, memory >-+ references to local variables, alloca used, or protected decls present; >-+ c) "-fstack-protector" - if alloca used, or protected decls present */ >-+ >-+ switch (flag_stack_protect) >-+ { >-+ case SPCT_FLAG_ALL: >-+ create_stack_guard (); >-+ break; >-+ >-+ case SPCT_FLAG_STRONG: >-+ if (gen_stack_protect_signal >-+ || cfun->calls_alloca || has_protected_decls) >-+ create_stack_guard (); >-+ break; >-+ >-+ case SPCT_FLAG_DEFAULT: >-+ if (cfun->calls_alloca || has_protected_decls) >-+ create_stack_guard (); >-+ break; >-+ >-+ default: >-+ ; >-+ } >- >- /* Assign rtl to each variable based on these partitions. */ >- if (stack_vars_num > 0) >-@@ -1688,7 +1755,7 @@ >- expand_stack_vars (stack_protect_decl_phase_1, &data); >- >- /* Phase 2 contains other kinds of arrays. */ >-- if (flag_stack_protect == 2) >-+ if (flag_stack_protect == SPCT_FLAG_ALL) >- expand_stack_vars (stack_protect_decl_phase_2, &data); >- } >- >---- gcc/common.opt.orig >-+++ gcc/common.opt >-@@ -1942,6 +1942,10 @@ fstack-protector-all >- Common Report RejectNegative Var(flag_stack_protect, 2) >- Use a stack protection method for every function >- >-+fstack-protector-strong >-+Common Report RejectNegative Var(flag_stack_protect, 3) >-+Use a smart stack protection method for certain functions >-+ >- fstack-usage >- Common RejectNegative Var(flag_stack_usage) >- Output stack usage information on a per-function basis >---- gcc/gcc.c.orig >-+++ gcc/gcc.c >-@@ -655,7 +655,7 @@ proper position among the other output files. */ >- #ifdef TARGET_LIBC_PROVIDES_SSP >- #define LINK_SSP_SPEC "%{fstack-protector:}" >- #else >--#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all:-lssp_nonshared -lssp}" >-+#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-strong|fstack-protector-all:-lssp_nonshared -lssp}" >- #endif >- #endif > >Property changes on: lang/gcc/files/patch-stackprotector-gcc >___________________________________________________________________ >Deleted: fbsd:nokeywords >## -1 +0,0 ## >-yes >\ No newline at end of property >Deleted: svn:eol-style >## -1 +0,0 ## >-native >\ No newline at end of property >Deleted: svn:mime-type >## -1 +0,0 ## >-text/plain >\ No newline at end of property >Index: lang/gcc/files/patch-stackprotector-gcc_c-family >=================================================================== >--- lang/gcc/files/patch-stackprotector-gcc_c-family (revision 425045) >+++ lang/gcc/files/patch-stackprotector-gcc_c-family (nonexistent) >@@ -1,11 +0,0 @@ >---- gcc/c-family/c-cppbuiltin.c.orig >-+++ gcc/c-family/c-cppbuiltin.c >-@@ -888,6 +888,8 @@ c_cpp_builtins (cpp_reader *pfile) >- /* Make the choice of the stack protector runtime visible to source code. >- The macro names and values here were chosen for compatibility with an >- earlier implementation, i.e. ProPolice. */ >-+ if (flag_stack_protect == 3) >-+ cpp_define (pfile, "__SSP_STRONG__=3"); >- if (flag_stack_protect == 2) >- cpp_define (pfile, "__SSP_ALL__=2"); >- else if (flag_stack_protect == 1) > >Property changes on: lang/gcc/files/patch-stackprotector-gcc_c-family >___________________________________________________________________ >Deleted: fbsd:nokeywords >## -1 +0,0 ## >-yes >\ No newline at end of property >Deleted: svn:eol-style >## -1 +0,0 ## >-native >\ No newline at end of property >Deleted: svn:mime-type >## -1 +0,0 ## >-text/plain >\ No newline at end of property >Index: lang/gcc/files/patch-stackprotector-gcc_doc >=================================================================== >--- lang/gcc/files/patch-stackprotector-gcc_doc (revision 425045) >+++ lang/gcc/files/patch-stackprotector-gcc_doc (nonexistent) >@@ -1,39 +0,0 @@ >---- gcc/doc/cpp.texi.orig >-+++ gcc/doc/cpp.texi >-@@ -2349,6 +2349,10 @@ use. >- This macro is defined, with value 2, when @option{-fstack-protector-all} is >- in use. >- >-+@item __SSP_STRONG__ >-+This macro is defined, with value 3, when @option{-fstack-protector-strong} is >-+in use. >-+ >- @item __SANITIZE_ADDRESS__ >- This macro is defined, with value 1, when @option{-fsanitize=address} is >- in use. >---- gcc/doc/invoke.texi.orig >-+++ gcc/doc/invoke.texi >-@@ -407,8 +407,8 @@ Objective-C and Objective-C++ Dialects}. >- -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops @gol >- -fshrink-wrap -fsignaling-nans -fsingle-precision-constant @gol >- -fsplit-ivs-in-unroller -fsplit-wide-types -fstack-protector @gol >---fstack-protector-all -fstrict-aliasing -fstrict-overflow @gol >---fthread-jumps -ftracer -ftree-bit-ccp @gol >-+-fstack-protector-all -fstack-protector-strong -fstrict-aliasing @gol >-+-fstrict-overflow -fthread-jumps -ftracer -ftree-bit-ccp @gol >- -ftree-builtin-call-dce -ftree-ccp -ftree-ch @gol >- -ftree-coalesce-inline-vars -ftree-coalesce-vars -ftree-copy-prop @gol >- -ftree-copyrename -ftree-dce -ftree-dominator-opts -ftree-dse @gol >-@@ -8957,6 +8957,12 @@ If a guard check fails, an error message is printed and the program exits. >- @opindex fstack-protector-all >- Like @option{-fstack-protector} except that all functions are protected. >- >-+@item -fstack-protector-strong >-+@opindex fstack-protector-strong >-+Like @option{-fstack-protector} but includes additional functions to >-+be protected --- those that have local array definitions, or have >-+references to local frame addresses. >-+ >- @item -fsection-anchors >- @opindex fsection-anchors >- Try to reduce the number of symbolic address calculations by using > >Property changes on: lang/gcc/files/patch-stackprotector-gcc_doc >___________________________________________________________________ >Deleted: fbsd:nokeywords >## -1 +0,0 ## >-yes >\ No newline at end of property >Deleted: svn:eol-style >## -1 +0,0 ## >-native >\ No newline at end of property >Deleted: svn:mime-type >## -1 +0,0 ## >-text/plain >\ No newline at end of property >Index: lang/gcc/files/patch-stackprotector-gcc_testsuite >=================================================================== >--- lang/gcc/files/patch-stackprotector-gcc_testsuite (revision 425045) >+++ lang/gcc/files/patch-stackprotector-gcc_testsuite (nonexistent) >@@ -1,176 +0,0 @@ >---- /dev/null >-+++ gcc/testsuite/g++.dg/fstack-protector-strong.C >-@@ -0,0 +1,35 @@ >-+/* Test that stack protection is done on chosen functions. */ >-+ >-+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */ >-+/* { dg-options "-O2 -fstack-protector-strong" } */ >-+ >-+class A >-+{ >-+public: >-+ A() {} >-+ ~A() {} >-+ void method(); >-+ int state; >-+}; >-+ >-+/* Frame address exposed to A::method via "this". */ >-+int >-+foo1 () >-+{ >-+ A a; >-+ a.method (); >-+ return a.state; >-+} >-+ >-+/* Possible destroying foo2's stack via &a. */ >-+int >-+global_func (A& a); >-+ >-+/* Frame address exposed to global_func. */ >-+int foo2 () >-+{ >-+ A a; >-+ return global_func (a); >-+} >-+ >-+/* { dg-final { scan-assembler-times "stack_chk_fail" 2 } } */ >---- /dev/null >-+++ gcc/testsuite/gcc.dg/fstack-protector-strong.c >-@@ -0,0 +1,135 @@ >-+/* Test that stack protection is done on chosen functions. */ >-+ >-+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */ >-+/* { dg-options "-O2 -fstack-protector-strong" } */ >-+ >-+#include<string.h> >-+#include<stdlib.h> >-+ >-+extern int g0; >-+extern int* pg0; >-+int >-+goo (int *); >-+int >-+hoo (int); >-+ >-+/* Function frame address escaped function call. */ >-+int >-+foo1 () >-+{ >-+ int i; >-+ return goo (&i); >-+} >-+ >-+struct ArrayStruct >-+{ >-+ int a; >-+ int array[10]; >-+}; >-+ >-+struct AA >-+{ >-+ int b; >-+ struct ArrayStruct as; >-+}; >-+ >-+/* Function frame contains array. */ >-+int >-+foo2 () >-+{ >-+ struct AA aa; >-+ int i; >-+ for (i = 0; i < 10; ++i) >-+ { >-+ aa.as.array[i] = i * (i-1) + i / 2; >-+ } >-+ return aa.as.array[5]; >-+} >-+ >-+/* Address computation based on a function frame address. */ >-+int >-+foo3 () >-+{ >-+ int a; >-+ int *p; >-+ p = &a + 5; >-+ return goo (p); >-+} >-+ >-+/* Address cast based on a function frame address. */ >-+int >-+foo4 () >-+{ >-+ int a; >-+ return goo (g0 << 2 ? (int *)(3 * (long)(void *)(&a)) : 0); >-+} >-+ >-+/* Address cast based on a local array. */ >-+int >-+foo5 () >-+{ >-+ short array[10]; >-+ return goo ((int *)(array + 5)); >-+} >-+ >-+struct BB >-+{ >-+ int one; >-+ int two; >-+ int three; >-+}; >-+ >-+/* Address computaton based on a function frame address.*/ >-+int >-+foo6 () >-+{ >-+ struct BB bb; >-+ return goo (&bb.one + sizeof(int)); >-+} >-+ >-+/* Function frame address escaped via global variable. */ >-+int >-+foo7 () >-+{ >-+ int a; >-+ pg0 = &a; >-+ goo (pg0); >-+ return *pg0; >-+} >-+ >-+/* Check that this covers -fstack-protector. */ >-+int >-+foo8 () >-+{ >-+ char base[100]; >-+ memcpy ((void *)base, (const void *)pg0, 105); >-+ return (int)(base[32]); >-+} >-+ >-+/* Check that this covers -fstack-protector. */ >-+int >-+foo9 () >-+{ >-+ char* p = alloca (100); >-+ return goo ((int *)(p + 50)); >-+} >-+ >-+int >-+global2 (struct BB* pbb); >-+ >-+/* Address taken on struct. */ >-+int >-+foo10 () >-+{ >-+ struct BB bb; >-+ int i; >-+ bb.one = global2 (&bb); >-+ for (i = 0; i < 10; ++i) >-+ { >-+ bb.two = bb.one + bb.two; >-+ bb.three = bb.one + bb.two + bb.three; >-+ } >-+ return bb.three; >-+} >-+ >-+/* { dg-final { scan-assembler-times "stack_chk_fail" 10 } } */ > >Property changes on: lang/gcc/files/patch-stackprotector-gcc_testsuite >___________________________________________________________________ >Deleted: fbsd:nokeywords >## -1 +0,0 ## >-yes >\ No newline at end of property >Deleted: svn:eol-style >## -1 +0,0 ## >-native >\ No newline at end of property >Deleted: svn:mime-type >## -1 +0,0 ## >-text/plain >\ No newline at end of property >Index: lang/gcc/pkg-descr >=================================================================== >--- lang/gcc/pkg-descr (revision 425045) >+++ lang/gcc/pkg-descr (working copy) >@@ -1,11 +1,11 @@ > GCC, the GNU Compiler Collection, supports a number of languages. This >-port installs the C, C++, Fortran and Java front ends as gcc48, g++48, >-gfortran48, and gcj48, respectively. >+port installs the C, C++, Fortran and Java front ends as gcc49, g++49, >+gfortran49, and gcj49, respectively. > >-It can be used interchangibly with the lang/gcc48 port which tracks >+It can be used interchangibly with the lang/gcc49 port which tracks > weekly upstream snapshots whereas this port will be updated less > frequently, mostly in sync with upstream releases, and will move to >-lang/gcc49 and later over time. >+lang/gcc5 and later over time. > > WWW: http://gcc.gnu.org/ > >Index: lang/gcc/pkg-plist >=================================================================== >--- lang/gcc/pkg-plist (revision 425045) >+++ lang/gcc/pkg-plist (working copy) >@@ -50,7 +50,7 @@ > %%JAVA%%bin/gtnameserv%%SUFFIX%% > %%JAVA%%bin/jcf-dump%%SUFFIX%% > %%JAVA%%bin/jv-convert%%SUFFIX%% >-%%JAVA%%libdata/pkgconfig/libgcj-4.8.pc >+%%JAVA%%libdata/pkgconfig/libgcj-4.9.pc > %%JAVA%%man/man1/aot-compile%%SUFFIX%%.1.gz > %%JAVA%%man/man1/gappletviewer%%SUFFIX%%.1.gz > %%JAVA%%man/man1/gc-analyze%%SUFFIX%%.1.gz
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 196712
:
151613
|
153323
|
155325
|
155352
|
162416
| 176402