Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gcc7 for openSUSE:Factory checked in at 2024-05-06 17:52:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gcc7 (Old) and /work/SRC/openSUSE:Factory/.gcc7.new.1880 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gcc7" Mon May 6 17:52:31 2024 rev:42 rq:1171357 version:7.5.0+r278197 Changes: -------- --- /work/SRC/openSUSE:Factory/gcc7/gcc7.changes 2024-02-06 16:36:04.382357402 +0100 +++ /work/SRC/openSUSE:Factory/.gcc7.new.1880/gcc7.changes 2024-05-06 17:52:36.593677577 +0200 @@ -1,0 +2,11 @@ +Thu Feb 22 14:19:43 UTC 2024 - Richard Biener <[email protected]> + +- Use %patch -P N instead of %patchN. + +------------------------------------------------------------------- +Tue Feb 6 08:04:04 UTC 2024 - Richard Biener <[email protected]> + +- Add gcc7-pr88345-min-func-alignment.diff to add support for + -fmin-function-alignment. [bsc#1214934] + +------------------------------------------------------------------- New: ---- gcc7-pr88345-min-func-alignment.diff BETA DEBUG BEGIN: New: - Add gcc7-pr88345-min-func-alignment.diff to add support for -fmin-function-alignment. [bsc#1214934] BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cross-aarch64-gcc7.spec ++++++ --- /var/tmp/diff_new_pack.4kKXBx/_old 2024-05-06 17:52:40.797830902 +0200 +++ /var/tmp/diff_new_pack.4kKXBx/_new 2024-05-06 17:52:40.801831048 +0200 @@ -188,6 +188,7 @@ Patch124: gcc7-pfe-0020-Backport-varasm-Fix-up-__patchable_function_entries-.patch Patch125: gcc7-pfe-0021-Backport-rs6000-Avoid-fpatchable-function-entry-regr.patch Patch126: gcc7-pfe-0022-Fix-unwinding-issues-when-pfe-is-enabled.patch +Patch127: gcc7-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -314,78 +315,79 @@ #test patching start -%patch2 -%patch5 -%patch6 -%patch7 +%patch -P 2 +%patch -P 5 +%patch -P 6 +%patch -P 7 %if %{suse_version} < 1310 -%patch9 +%patch -P 9 %endif -%patch10 -%patch11 -%patch12 -%patch14 -%patch15 -%patch17 -p1 -%patch18 -%patch19 -%patch20 -%patch21 -p1 -%patch22 -p1 -%patch24 -p1 -%patch25 -p1 -%patch26 -p1 -%patch27 -p1 -%patch29 -%patch30 -p1 -%patch31 -p1 -%patch32 -p1 -%patch33 -p1 -%patch34 -p1 -%patch35 -p1 -%patch36 -p1 -%patch37 -p1 -%patch38 -p1 -%patch39 -p1 -%patch40 -p1 -%patch41 -p1 -%patch42 -p1 -%patch43 -p1 -%patch44 -p1 -%patch45 -p1 -%patch46 -p1 -%patch47 -p1 -%patch51 -%patch60 -%patch61 -%patch100 -p1 -%patch23 -p1 -%patch101 -p1 -%patch102 -p1 -%patch103 -p1 -%patch104 -p1 -%patch105 -p1 -%patch106 -p1 -%patch107 -p1 -%patch108 -p1 -%patch109 -p1 -%patch110 -p1 -%patch111 -p1 -%patch112 -p1 -%patch113 -p1 -%patch114 -p1 -%patch115 -p1 -%patch116 -p1 -%patch117 -p1 -%patch118 -p1 -%patch119 -p1 -%patch120 -p1 -%patch121 -p1 -%patch122 -p1 -%patch123 -p1 -%patch124 -p1 -%patch125 -p1 -%patch126 -p1 +%patch -P 10 +%patch -P 11 +%patch -P 12 +%patch -P 14 +%patch -P 15 +%patch -P 17 -p1 +%patch -P 18 +%patch -P 19 +%patch -P 20 +%patch -P 21 -p1 +%patch -P 22 -p1 +%patch -P 24 -p1 +%patch -P 25 -p1 +%patch -P 26 -p1 +%patch -P 27 -p1 +%patch -P 29 +%patch -P 30 -p1 +%patch -P 31 -p1 +%patch -P 32 -p1 +%patch -P 33 -p1 +%patch -P 34 -p1 +%patch -P 35 -p1 +%patch -P 36 -p1 +%patch -P 37 -p1 +%patch -P 38 -p1 +%patch -P 39 -p1 +%patch -P 40 -p1 +%patch -P 41 -p1 +%patch -P 42 -p1 +%patch -P 43 -p1 +%patch -P 44 -p1 +%patch -P 45 -p1 +%patch -P 46 -p1 +%patch -P 47 -p1 +%patch -P 51 +%patch -P 60 +%patch -P 61 +%patch -P 100 -p1 +%patch -P 23 -p1 +%patch -P 101 -p1 +%patch -P 102 -p1 +%patch -P 103 -p1 +%patch -P 104 -p1 +%patch -P 105 -p1 +%patch -P 106 -p1 +%patch -P 107 -p1 +%patch -P 108 -p1 +%patch -P 109 -p1 +%patch -P 110 -p1 +%patch -P 111 -p1 +%patch -P 112 -p1 +%patch -P 113 -p1 +%patch -P 114 -p1 +%patch -P 115 -p1 +%patch -P 116 -p1 +%patch -P 117 -p1 +%patch -P 118 -p1 +%patch -P 119 -p1 +%patch -P 120 -p1 +%patch -P 121 -p1 +%patch -P 122 -p1 +%patch -P 123 -p1 +%patch -P 124 -p1 +%patch -P 125 -p1 +%patch -P 126 -p1 +%patch -P 127 -p1 #test patching end cross-arm-gcc7.spec: same change cross-arm-none-gcc7-bootstrap.spec: same change cross-arm-none-gcc7.spec: same change cross-avr-gcc7-bootstrap.spec: same change cross-avr-gcc7.spec: same change cross-epiphany-gcc7-bootstrap.spec: same change cross-epiphany-gcc7.spec: same change cross-hppa-gcc7.spec: same change cross-i386-gcc7.spec: same change cross-m68k-gcc7.spec: same change cross-mips-gcc7.spec: same change cross-nvptx-gcc7.spec: same change cross-ppc64-gcc7.spec: same change cross-ppc64le-gcc7.spec: same change cross-rx-gcc7-bootstrap.spec: same change cross-rx-gcc7.spec: same change cross-s390x-gcc7.spec: same change cross-sparc-gcc7.spec: same change cross-sparc64-gcc7.spec: same change cross-x86_64-gcc7.spec: same change ++++++ gcc7-testresults.spec ++++++ --- /var/tmp/diff_new_pack.4kKXBx/_old 2024-05-06 17:52:41.545858183 +0200 +++ /var/tmp/diff_new_pack.4kKXBx/_new 2024-05-06 17:52:41.545858183 +0200 @@ -389,6 +389,7 @@ Patch124: gcc7-pfe-0020-Backport-varasm-Fix-up-__patchable_function_entries-.patch Patch125: gcc7-pfe-0021-Backport-rs6000-Avoid-fpatchable-function-entry-regr.patch Patch126: gcc7-pfe-0022-Fix-unwinding-issues-when-pfe-is-enabled.patch +Patch127: gcc7-pr88345-min-func-alignment.diff Summary: Testsuite results License: SUSE-Public-Domain @@ -500,78 +501,79 @@ #test patching start -%patch2 -%patch5 -%patch6 -%patch7 +%patch -P 2 +%patch -P 5 +%patch -P 6 +%patch -P 7 %if %{suse_version} < 1310 -%patch9 +%patch -P 9 %endif -%patch10 -%patch11 -%patch12 -%patch14 -%patch15 -%patch17 -p1 -%patch18 -%patch19 -%patch20 -%patch21 -p1 -%patch22 -p1 -%patch24 -p1 -%patch25 -p1 -%patch26 -p1 -%patch27 -p1 -%patch29 -%patch30 -p1 -%patch31 -p1 -%patch32 -p1 -%patch33 -p1 -%patch34 -p1 -%patch35 -p1 -%patch36 -p1 -%patch37 -p1 -%patch38 -p1 -%patch39 -p1 -%patch40 -p1 -%patch41 -p1 -%patch42 -p1 -%patch43 -p1 -%patch44 -p1 -%patch45 -p1 -%patch46 -p1 -%patch47 -p1 -%patch51 -%patch60 -%patch61 -%patch100 -p1 -%patch23 -p1 -%patch101 -p1 -%patch102 -p1 -%patch103 -p1 -%patch104 -p1 -%patch105 -p1 -%patch106 -p1 -%patch107 -p1 -%patch108 -p1 -%patch109 -p1 -%patch110 -p1 -%patch111 -p1 -%patch112 -p1 -%patch113 -p1 -%patch114 -p1 -%patch115 -p1 -%patch116 -p1 -%patch117 -p1 -%patch118 -p1 -%patch119 -p1 -%patch120 -p1 -%patch121 -p1 -%patch122 -p1 -%patch123 -p1 -%patch124 -p1 -%patch125 -p1 -%patch126 -p1 +%patch -P 10 +%patch -P 11 +%patch -P 12 +%patch -P 14 +%patch -P 15 +%patch -P 17 -p1 +%patch -P 18 +%patch -P 19 +%patch -P 20 +%patch -P 21 -p1 +%patch -P 22 -p1 +%patch -P 24 -p1 +%patch -P 25 -p1 +%patch -P 26 -p1 +%patch -P 27 -p1 +%patch -P 29 +%patch -P 30 -p1 +%patch -P 31 -p1 +%patch -P 32 -p1 +%patch -P 33 -p1 +%patch -P 34 -p1 +%patch -P 35 -p1 +%patch -P 36 -p1 +%patch -P 37 -p1 +%patch -P 38 -p1 +%patch -P 39 -p1 +%patch -P 40 -p1 +%patch -P 41 -p1 +%patch -P 42 -p1 +%patch -P 43 -p1 +%patch -P 44 -p1 +%patch -P 45 -p1 +%patch -P 46 -p1 +%patch -P 47 -p1 +%patch -P 51 +%patch -P 60 +%patch -P 61 +%patch -P 100 -p1 +%patch -P 23 -p1 +%patch -P 101 -p1 +%patch -P 102 -p1 +%patch -P 103 -p1 +%patch -P 104 -p1 +%patch -P 105 -p1 +%patch -P 106 -p1 +%patch -P 107 -p1 +%patch -P 108 -p1 +%patch -P 109 -p1 +%patch -P 110 -p1 +%patch -P 111 -p1 +%patch -P 112 -p1 +%patch -P 113 -p1 +%patch -P 114 -p1 +%patch -P 115 -p1 +%patch -P 116 -p1 +%patch -P 117 -p1 +%patch -P 118 -p1 +%patch -P 119 -p1 +%patch -P 120 -p1 +%patch -P 121 -p1 +%patch -P 122 -p1 +%patch -P 123 -p1 +%patch -P 124 -p1 +%patch -P 125 -p1 +%patch -P 126 -p1 +%patch -P 127 -p1 #test patching end ++++++ gcc7.spec ++++++ --- /var/tmp/diff_new_pack.4kKXBx/_old 2024-05-06 17:52:41.577859350 +0200 +++ /var/tmp/diff_new_pack.4kKXBx/_new 2024-05-06 17:52:41.581859496 +0200 @@ -368,6 +368,7 @@ Patch124: gcc7-pfe-0020-Backport-varasm-Fix-up-__patchable_function_entries-.patch Patch125: gcc7-pfe-0021-Backport-rs6000-Avoid-fpatchable-function-entry-regr.patch Patch126: gcc7-pfe-0022-Fix-unwinding-issues-when-pfe-is-enabled.patch +Patch127: gcc7-pr88345-min-func-alignment.diff License: GPL-3.0-or-later Summary: The GNU C Compiler and Support Files @@ -1837,78 +1838,79 @@ #test patching start -%patch2 -%patch5 -%patch6 -%patch7 +%patch -P 2 +%patch -P 5 +%patch -P 6 +%patch -P 7 %if %{suse_version} < 1310 -%patch9 +%patch -P 9 %endif -%patch10 -%patch11 -%patch12 -%patch14 -%patch15 -%patch17 -p1 -%patch18 -%patch19 -%patch20 -%patch21 -p1 -%patch22 -p1 -%patch24 -p1 -%patch25 -p1 -%patch26 -p1 -%patch27 -p1 -%patch29 -%patch30 -p1 -%patch31 -p1 -%patch32 -p1 -%patch33 -p1 -%patch34 -p1 -%patch35 -p1 -%patch36 -p1 -%patch37 -p1 -%patch38 -p1 -%patch39 -p1 -%patch40 -p1 -%patch41 -p1 -%patch42 -p1 -%patch43 -p1 -%patch44 -p1 -%patch45 -p1 -%patch46 -p1 -%patch47 -p1 -%patch51 -%patch60 -%patch61 -%patch100 -p1 -%patch23 -p1 -%patch101 -p1 -%patch102 -p1 -%patch103 -p1 -%patch104 -p1 -%patch105 -p1 -%patch106 -p1 -%patch107 -p1 -%patch108 -p1 -%patch109 -p1 -%patch110 -p1 -%patch111 -p1 -%patch112 -p1 -%patch113 -p1 -%patch114 -p1 -%patch115 -p1 -%patch116 -p1 -%patch117 -p1 -%patch118 -p1 -%patch119 -p1 -%patch120 -p1 -%patch121 -p1 -%patch122 -p1 -%patch123 -p1 -%patch124 -p1 -%patch125 -p1 -%patch126 -p1 +%patch -P 10 +%patch -P 11 +%patch -P 12 +%patch -P 14 +%patch -P 15 +%patch -P 17 -p1 +%patch -P 18 +%patch -P 19 +%patch -P 20 +%patch -P 21 -p1 +%patch -P 22 -p1 +%patch -P 24 -p1 +%patch -P 25 -p1 +%patch -P 26 -p1 +%patch -P 27 -p1 +%patch -P 29 +%patch -P 30 -p1 +%patch -P 31 -p1 +%patch -P 32 -p1 +%patch -P 33 -p1 +%patch -P 34 -p1 +%patch -P 35 -p1 +%patch -P 36 -p1 +%patch -P 37 -p1 +%patch -P 38 -p1 +%patch -P 39 -p1 +%patch -P 40 -p1 +%patch -P 41 -p1 +%patch -P 42 -p1 +%patch -P 43 -p1 +%patch -P 44 -p1 +%patch -P 45 -p1 +%patch -P 46 -p1 +%patch -P 47 -p1 +%patch -P 51 +%patch -P 60 +%patch -P 61 +%patch -P 100 -p1 +%patch -P 23 -p1 +%patch -P 101 -p1 +%patch -P 102 -p1 +%patch -P 103 -p1 +%patch -P 104 -p1 +%patch -P 105 -p1 +%patch -P 106 -p1 +%patch -P 107 -p1 +%patch -P 108 -p1 +%patch -P 109 -p1 +%patch -P 110 -p1 +%patch -P 111 -p1 +%patch -P 112 -p1 +%patch -P 113 -p1 +%patch -P 114 -p1 +%patch -P 115 -p1 +%patch -P 116 -p1 +%patch -P 117 -p1 +%patch -P 118 -p1 +%patch -P 119 -p1 +%patch -P 120 -p1 +%patch -P 121 -p1 +%patch -P 122 -p1 +%patch -P 123 -p1 +%patch -P 124 -p1 +%patch -P 125 -p1 +%patch -P 126 -p1 +%patch -P 127 -p1 #test patching end ++++++ gcc.spec.in ++++++ --- /var/tmp/diff_new_pack.4kKXBx/_old 2024-05-06 17:52:41.729864894 +0200 +++ /var/tmp/diff_new_pack.4kKXBx/_new 2024-05-06 17:52:41.733865040 +0200 @@ -375,6 +375,7 @@ Patch124: gcc7-pfe-0020-Backport-varasm-Fix-up-__patchable_function_entries-.patch Patch125: gcc7-pfe-0021-Backport-rs6000-Avoid-fpatchable-function-entry-regr.patch Patch126: gcc7-pfe-0022-Fix-unwinding-issues-when-pfe-is-enabled.patch +Patch127: gcc7-pr88345-min-func-alignment.diff # GCC-TESTSUITE-DELETE-BEGIN # SRC-COMMON-END @@ -1111,78 +1112,79 @@ #test patching start -%patch2 -%patch5 -%patch6 -%patch7 +%patch -P 2 +%patch -P 5 +%patch -P 6 +%patch -P 7 %if %{suse_version} < 1310 -%patch9 +%patch -P 9 %endif -%patch10 -%patch11 -%patch12 -%patch14 -%patch15 -%patch17 -p1 -%patch18 -%patch19 -%patch20 -%patch21 -p1 -%patch22 -p1 -%patch24 -p1 -%patch25 -p1 -%patch26 -p1 -%patch27 -p1 -%patch29 -%patch30 -p1 -%patch31 -p1 -%patch32 -p1 -%patch33 -p1 -%patch34 -p1 -%patch35 -p1 -%patch36 -p1 -%patch37 -p1 -%patch38 -p1 -%patch39 -p1 -%patch40 -p1 -%patch41 -p1 -%patch42 -p1 -%patch43 -p1 -%patch44 -p1 -%patch45 -p1 -%patch46 -p1 -%patch47 -p1 -%patch51 -%patch60 -%patch61 -%patch100 -p1 -%patch23 -p1 -%patch101 -p1 -%patch102 -p1 -%patch103 -p1 -%patch104 -p1 -%patch105 -p1 -%patch106 -p1 -%patch107 -p1 -%patch108 -p1 -%patch109 -p1 -%patch110 -p1 -%patch111 -p1 -%patch112 -p1 -%patch113 -p1 -%patch114 -p1 -%patch115 -p1 -%patch116 -p1 -%patch117 -p1 -%patch118 -p1 -%patch119 -p1 -%patch120 -p1 -%patch121 -p1 -%patch122 -p1 -%patch123 -p1 -%patch124 -p1 -%patch125 -p1 -%patch126 -p1 +%patch -P 10 +%patch -P 11 +%patch -P 12 +%patch -P 14 +%patch -P 15 +%patch -P 17 -p1 +%patch -P 18 +%patch -P 19 +%patch -P 20 +%patch -P 21 -p1 +%patch -P 22 -p1 +%patch -P 24 -p1 +%patch -P 25 -p1 +%patch -P 26 -p1 +%patch -P 27 -p1 +%patch -P 29 +%patch -P 30 -p1 +%patch -P 31 -p1 +%patch -P 32 -p1 +%patch -P 33 -p1 +%patch -P 34 -p1 +%patch -P 35 -p1 +%patch -P 36 -p1 +%patch -P 37 -p1 +%patch -P 38 -p1 +%patch -P 39 -p1 +%patch -P 40 -p1 +%patch -P 41 -p1 +%patch -P 42 -p1 +%patch -P 43 -p1 +%patch -P 44 -p1 +%patch -P 45 -p1 +%patch -P 46 -p1 +%patch -P 47 -p1 +%patch -P 51 +%patch -P 60 +%patch -P 61 +%patch -P 100 -p1 +%patch -P 23 -p1 +%patch -P 101 -p1 +%patch -P 102 -p1 +%patch -P 103 -p1 +%patch -P 104 -p1 +%patch -P 105 -p1 +%patch -P 106 -p1 +%patch -P 107 -p1 +%patch -P 108 -p1 +%patch -P 109 -p1 +%patch -P 110 -p1 +%patch -P 111 -p1 +%patch -P 112 -p1 +%patch -P 113 -p1 +%patch -P 114 -p1 +%patch -P 115 -p1 +%patch -P 116 -p1 +%patch -P 117 -p1 +%patch -P 118 -p1 +%patch -P 119 -p1 +%patch -P 120 -p1 +%patch -P 121 -p1 +%patch -P 122 -p1 +%patch -P 123 -p1 +%patch -P 124 -p1 +%patch -P 125 -p1 +%patch -P 126 -p1 +%patch -P 127 -p1 #test patching end ++++++ gcc7-pr88345-min-func-alignment.diff ++++++ >From 874b0e7d0c16653beeed2ce8d92363cc0c1580cd Mon Sep 17 00:00:00 2001 From: Martin Jambor <[email protected]> Date: Thu, 25 Jan 2024 14:15:10 +0100 Subject: [PATCH] Add -fmin-function-alignmnet To: [email protected] This is a manual backport of gcc master ommit r14-8395-g0f5a9a00e3ab1f without alphabetical reordering of parameters in common.opt. Commit message of that commit (without Changelog): commit 0f5a9a00e3ab1fe96142f304cfbcf3f63b15f326 Author: Jan Hubicka <[email protected]> Date: Wed Jan 24 18:13:17 2024 +0100 Add -fmin-function-alignmnet -falign-functions is ignored in cold code, since it is an optimization intended to improve instruction prefetch. In some case it is necessary to force alignment for all functions, so this patch adds -fmin-function-alignment for this purpose. gcc/ChangeLog: 2024-01-25 Jan Hubicka <[email protected]> Martin Jambor <[email protected]> * common.opt (fmin-function-alignment): New parameter. * doc/invoke.texi: (-fmin-function-alignment): Document. (-falign-functions,-falign-loops,-falign-labels): Mention that * varasm.c (assemble_start_function): Handle min-function-alignment. * lto-streamer.h (LTO_minor_version): Bump. --- gcc/common.opt | 4 ++++ gcc/doc/invoke.texi | 17 +++++++++++++++++ gcc/lto-streamer.h | 2 +- gcc/varasm.c | 5 +++++ 4 files changed, 27 insertions(+), 1 deletion(-) diff --git a/gcc/common.opt b/gcc/common.opt index 437db8e8615..8eadae558f3 100644 --- a/gcc/common.opt +++ b/gcc/common.opt @@ -1824,6 +1824,10 @@ fmessage-length= Common RejectNegative Joined UInteger -fmessage-length=<number> Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping. +fmin-function-alignment= +Common Joined RejectNegative UInteger Var(flag_min_function_alignment) Optimization +Align the start of every function. + fmodulo-sched Common Report Var(flag_modulo_sched) Optimization Perform SMS based modulo scheduling before the first scheduling pass. diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 8f279e454b0..bed117fa542 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -355,6 +355,7 @@ Objective-C and Objective-C++ Dialects}. @gccoptlist{-faggressive-loop-optimizations -falign-functions[=@var{n}] @gol -falign-jumps[=@var{n}] @gol -falign-labels[=@var{n}] -falign-loops[=@var{n}] @gol +-fmin-function-alignment=[@var{n}] @gol -fassociative-math -fauto-profile -fauto-profile[=@var{path}] @gol -fauto-inc-dec -fbranch-probabilities @gol -fbranch-target-load-optimize -fbranch-target-load-optimize2 @gol @@ -8688,6 +8689,9 @@ Align the start of functions to the next power-of-two greater than @option{-falign-functions=32} aligns functions to the next 32-byte boundary, but @option{-falign-functions=24} aligns to the next 32-byte boundary only if this can be done by skipping 23 bytes or less. +This is an optimization of code performance and alignment is ignored for +functions considered cold. If alignment is required for all functions, +use @option{-fmin-function-alignment}. @option{-fno-align-functions} and @option{-falign-functions=1} are equivalent and mean that functions are not aligned. @@ -8733,6 +8737,8 @@ Align loops to a power-of-two boundary, skipping up to @var{n} bytes like @option{-falign-functions}. If the loops are executed many times, this makes up for any execution of the dummy operations. +This is an optimization of code performance and alignment is ignored for +loops considered cold. @option{-fno-align-loops} and @option{-falign-loops=1} are equivalent and mean that loops are not aligned. @@ -8749,6 +8755,8 @@ Align branch targets to a power-of-two boundary, for branch targets where the targets can only be reached by jumping, skipping up to @var{n} bytes like @option{-falign-functions}. In this case, no dummy operations need be executed. +This is an optimization of code performance and alignment is ignored for +jumps considered cold. @option{-fno-align-jumps} and @option{-falign-jumps=1} are equivalent and mean that loops are not aligned. @@ -8758,6 +8766,15 @@ The maximum allowed @var{n} option value is 65536. Enabled at levels @option{-O2}, @option{-O3}. +@item -fmin-function-alignment +@itemx -fmin-function-alignment=@var{n} +@opindex fmin-function-alignment +Specify minimal alignment of functions to the next power-of-two greater than or +equal to @var{n}. Unlike @option{-falign-functions} this alignment is applied +also to all functions (even those considered cold). The alignment is also not +affected by @option{-flimit-function-alignment} + + @item -funit-at-a-time @opindex funit-at-a-time This option is left for compatibility reasons. @option{-funit-at-a-time} diff --git a/gcc/lto-streamer.h b/gcc/lto-streamer.h index 689fbcf64ee..ef0aec79863 100644 --- a/gcc/lto-streamer.h +++ b/gcc/lto-streamer.h @@ -129,7 +129,7 @@ along with GCC; see the file COPYING3. If not see form followed by the data for the string. */ #define LTO_major_version 6 -#define LTO_minor_version 2 +#define LTO_minor_version 3 typedef unsigned char lto_decl_flags_t; diff --git a/gcc/varasm.c b/gcc/varasm.c index 1b9030029ac..311b899ced7 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -1778,6 +1778,11 @@ assemble_start_function (tree decl, const char *fnname) /* Tell assembler to move to target machine's alignment for functions. */ align = floor_log2 (align / BITS_PER_UNIT); + /* Handle forced alignment. This really ought to apply to all functions, + since it is used by patchable entries. */ + if (flag_min_function_alignment) + align = MAX (align, floor_log2 (flag_min_function_alignment)); + if (align > 0) { ASM_OUTPUT_ALIGN (asm_out_file, align); -- 2.35.3
