From 7dac7bdc0d1b246fdec9274c85be28196305a804 Mon Sep 17 00:00:00 2001 From: Lauri Tirkkonen Date: Thu, 25 Oct 2018 20:52:17 +0300 Subject: [PATCH] Revert "gcc-6: drop documentation patches" This reverts commit 2f607c576a7bd387a6780fc1946e9f82d9b89d59. turns out this was unnecessary (and not all I removed was just documentation; it broke the build) --- .../developer/gcc-6/patches/001-illumos-gcc.patch | 78 ++++++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/components/developer/gcc-6/patches/001-illumos-gcc.patch b/components/developer/gcc-6/patches/001-illumos-gcc.patch index 7ae2dc310..d2549e733 100644 --- a/components/developer/gcc-6/patches/001-illumos-gcc.patch +++ b/components/developer/gcc-6/patches/001-illumos-gcc.patch @@ -19,6 +19,32 @@ diff -ru --ignore-all-space gcc-6.3.0/contrib/compare_tests gcc-6.3.0-il/contrib before=$tmp1 now=$tmp2 +diff -ru --ignore-all-space gcc-6.3.0/gcc/common.opt gcc-6.3.0-il/gcc/common.opt +--- gcc-6.3.0/gcc/common.opt 2016-03-17 16:11:35.000000000 +0100 ++++ gcc-6.3.0-il/gcc/common.opt 2017-01-31 01:07:35.418911240 +0100 +@@ -1029,6 +1029,11 @@ + Common Var(flag_checking) Init(CHECKING_P) + Perform internal consistency checkings. + ++fclone-functions ++Common Report Var(flag_clone_functions) Init(1) ++Allow the compiler to clone functions to facilitate certain optimizations. ++Enabled by default. ++ + fcombine-stack-adjustments + Common Report Var(flag_combine_stack_adjustments) Optimization + Looks for opportunities to reduce stack adjustments and stack references. +@@ -2231,6 +2236,10 @@ + Common Report Var(flag_strict_aliasing) Optimization + Assume strict aliasing rules apply. + ++fstrict-calling-conventions ++Common Report Var(flag_strict_calling_conventions) Init(1) ++Use strict ABI calling conventions even for static functions ++ + fstrict-overflow + Common Report Var(flag_strict_overflow) Optimization + Treat signed overflow as undefined. diff -ru --ignore-all-space gcc-6.3.0/gcc/config/i386/i386.c gcc-6.3.0-il/gcc/config/i386/i386.c --- gcc-6.3.0/gcc/config/i386/i386.c 2016-12-14 16:44:07.000000000 +0100 +++ gcc-6.3.0-il/gcc/config/i386/i386.c 2017-01-31 01:07:31.550765552 +0100 @@ -446,6 +472,58 @@ diff -ru --ignore-all-space gcc-6.3.0/gcc/configure.ac gcc-6.3.0-il/gcc/configur fi ;; esac +diff -ru --ignore-all-space gcc-6.3.0/gcc/doc/invoke.texi gcc-6.3.0-il/gcc/doc/invoke.texi +--- gcc-6.3.0/gcc/doc/invoke.texi 2016-07-08 16:51:44.000000000 +0200 ++++ gcc-6.3.0-il/gcc/doc/invoke.texi 2017-01-31 01:07:35.356443734 +0100 +@@ -339,7 +339,7 @@ + -fauto-inc-dec -fbranch-probabilities @gol + -fbranch-target-load-optimize -fbranch-target-load-optimize2 @gol + -fbtr-bb-exclusive -fcaller-saves @gol +--fcombine-stack-adjustments -fconserve-stack @gol ++-fclone-functions -fcombine-stack-adjustments -fconserve-stack @gol + -fcompare-elim -fcprop-registers -fcrossjumping @gol + -fcse-follow-jumps -fcse-skip-blocks -fcx-fortran-rules @gol + -fcx-limited-range @gol +@@ -7766,6 +7766,12 @@ + The @option{-fstrict-aliasing} option is enabled at levels + @option{-O2}, @option{-O3}, @option{-Os}. + ++@item -fstrict-calling-conventions ++@opindex fstrict-calling-conventions ++Use strict ABI calling conventions even with local functions. ++This disable certain optimizations that may cause GCC to call local ++functions in a manner other than that described by the ABI. ++ + @item -fstrict-overflow + @opindex fstrict-overflow + Allow the compiler to assume strict signed overflow rules, depending +@@ -8184,6 +8190,15 @@ + The default is @option{-fno-fat-lto-objects} on targets with linker plugin + support. + ++@item -fno-clone-functions ++@opindex fno-clone-functions ++Forbid the implicit cloning of functions implicit in certain ++optimizations. This also effectively will disable any optimization ++which wishes to clone functions, equivalent to each function having ++the ``noclone'' attribute. This allows the prevention of the ++dissociation of a piece of text from an intelligible and expected ++symbol name, which may hamper debugging and tracing. ++ + @item -fcompare-elim + @opindex fcompare-elim + After register allocation and post-register allocation instruction splitting, +@@ -12871,6 +12886,10 @@ + addresses and sizes of sections. Pointers are 64 bits. Programs can be + statically linked only. + ++@item -msave-args ++@opindex msave-args ++Save integer-sized arguments on the stack on function entry. ++ + @item -mstrict-align + @opindex mstrict-align + Do not assume that unaligned memory references are handled by the system. diff -ru --ignore-all-space gcc-6.3.0/gcc/dwarf2out.c gcc-6.3.0-il/gcc/dwarf2out.c --- gcc-6.3.0/gcc/dwarf2out.c 2016-09-01 13:43:15.000000000 +0200 +++ gcc-6.3.0-il/gcc/dwarf2out.c 2017-01-31 01:07:35.421861016 +0100 -- 2.11.4.GIT