From 96a840a21ea32f135b7ce04918c638db1e4f439dbe144c93e46c5eff678b34f3 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Tue, 6 Feb 2024 08:21:29 +0000 Subject: [PATCH] - Update to gcc-13 branch head, 67ac78caf31f7cb3202177e642, git8285 - Add gcc13-pr88345-min-func-alignment.diff to add support for -fmin-function-alignment. [bsc#1214934] OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gcc13?expand=0&rev=90 --- cross-aarch64-gcc13-bootstrap.spec | 5 +- cross-aarch64-gcc13.spec | 5 +- cross-amdgcn-gcc13.spec | 5 +- cross-arm-gcc13.spec | 5 +- cross-arm-none-gcc13-bootstrap.spec | 5 +- cross-arm-none-gcc13.spec | 5 +- cross-avr-gcc13-bootstrap.spec | 5 +- cross-avr-gcc13.spec | 5 +- cross-bpf-gcc13.spec | 5 +- cross-epiphany-gcc13-bootstrap.spec | 5 +- cross-epiphany-gcc13.spec | 5 +- cross-hppa-gcc13-bootstrap.spec | 5 +- cross-hppa-gcc13.spec | 5 +- cross-m68k-gcc13.spec | 5 +- cross-mips-gcc13.spec | 5 +- cross-nvptx-gcc13.spec | 5 +- cross-ppc64-gcc13.spec | 5 +- cross-ppc64le-gcc13-bootstrap.spec | 5 +- cross-ppc64le-gcc13.spec | 5 +- cross-pru-gcc13-bootstrap.spec | 5 +- cross-pru-gcc13.spec | 5 +- cross-riscv64-elf-gcc13-bootstrap.spec | 5 +- cross-riscv64-elf-gcc13.spec | 5 +- cross-riscv64-gcc13-bootstrap.spec | 5 +- cross-riscv64-gcc13.spec | 5 +- cross-rx-gcc13-bootstrap.spec | 5 +- cross-rx-gcc13.spec | 5 +- cross-s390x-gcc13-bootstrap.spec | 5 +- cross-s390x-gcc13.spec | 5 +- cross-sparc-gcc13.spec | 5 +- cross-sparc64-gcc13.spec | 5 +- cross-x86_64-gcc13.spec | 5 +- gcc-13.2.1+git8250.tar.xz | 3 - gcc-13.2.1+git8285.tar.xz | 3 + gcc.spec.in | 5 +- gcc13-pr88345-min-func-alignment.diff | 158 +++++++++++++++++++++++++ gcc13-testresults.spec | 5 +- gcc13.changes | 7 ++ gcc13.spec | 5 +- 39 files changed, 308 insertions(+), 38 deletions(-) delete mode 100644 gcc-13.2.1+git8250.tar.xz create mode 100644 gcc-13.2.1+git8285.tar.xz create mode 100644 gcc13-pr88345-min-func-alignment.diff diff --git a/cross-aarch64-gcc13-bootstrap.spec b/cross-aarch64-gcc13-bootstrap.spec index a942c89..a02f317 100644 --- a/cross-aarch64-gcc13-bootstrap.spec +++ b/cross-aarch64-gcc13-bootstrap.spec @@ -107,7 +107,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -140,6 +140,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -362,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-aarch64-gcc13.spec b/cross-aarch64-gcc13.spec index 22dd43a..8c5790a 100644 --- a/cross-aarch64-gcc13.spec +++ b/cross-aarch64-gcc13.spec @@ -107,7 +107,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -140,6 +140,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -362,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-amdgcn-gcc13.spec b/cross-amdgcn-gcc13.spec index 33be441..ee1b1c2 100644 --- a/cross-amdgcn-gcc13.spec +++ b/cross-amdgcn-gcc13.spec @@ -107,7 +107,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -140,6 +140,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -362,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-arm-gcc13.spec b/cross-arm-gcc13.spec index fe40c26..8de4722 100644 --- a/cross-arm-gcc13.spec +++ b/cross-arm-gcc13.spec @@ -107,7 +107,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -140,6 +140,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -362,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-arm-none-gcc13-bootstrap.spec b/cross-arm-none-gcc13-bootstrap.spec index 52cb3e1..a612491 100644 --- a/cross-arm-none-gcc13-bootstrap.spec +++ b/cross-arm-none-gcc13-bootstrap.spec @@ -108,7 +108,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -141,6 +141,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -363,6 +365,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-arm-none-gcc13.spec b/cross-arm-none-gcc13.spec index 93e2ce6..f03dd05 100644 --- a/cross-arm-none-gcc13.spec +++ b/cross-arm-none-gcc13.spec @@ -107,7 +107,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -140,6 +140,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -362,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-avr-gcc13-bootstrap.spec b/cross-avr-gcc13-bootstrap.spec index 687c1f5..6703ad1 100644 --- a/cross-avr-gcc13-bootstrap.spec +++ b/cross-avr-gcc13-bootstrap.spec @@ -107,7 +107,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -140,6 +140,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -362,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-avr-gcc13.spec b/cross-avr-gcc13.spec index 572dd85..7734f52 100644 --- a/cross-avr-gcc13.spec +++ b/cross-avr-gcc13.spec @@ -107,7 +107,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -140,6 +140,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -362,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-bpf-gcc13.spec b/cross-bpf-gcc13.spec index 74e6021..134dca7 100644 --- a/cross-bpf-gcc13.spec +++ b/cross-bpf-gcc13.spec @@ -107,7 +107,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -140,6 +140,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -362,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-epiphany-gcc13-bootstrap.spec b/cross-epiphany-gcc13-bootstrap.spec index aac3a13..708510f 100644 --- a/cross-epiphany-gcc13-bootstrap.spec +++ b/cross-epiphany-gcc13-bootstrap.spec @@ -108,7 +108,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -141,6 +141,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -363,6 +365,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-epiphany-gcc13.spec b/cross-epiphany-gcc13.spec index 82bad37..6cb9978 100644 --- a/cross-epiphany-gcc13.spec +++ b/cross-epiphany-gcc13.spec @@ -107,7 +107,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -140,6 +140,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -362,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-hppa-gcc13-bootstrap.spec b/cross-hppa-gcc13-bootstrap.spec index 8ea53f7..988f3c7 100644 --- a/cross-hppa-gcc13-bootstrap.spec +++ b/cross-hppa-gcc13-bootstrap.spec @@ -107,7 +107,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -140,6 +140,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -362,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-hppa-gcc13.spec b/cross-hppa-gcc13.spec index 38b664c..273018b 100644 --- a/cross-hppa-gcc13.spec +++ b/cross-hppa-gcc13.spec @@ -107,7 +107,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -140,6 +140,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -362,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-m68k-gcc13.spec b/cross-m68k-gcc13.spec index 65569ac..ea8a1a3 100644 --- a/cross-m68k-gcc13.spec +++ b/cross-m68k-gcc13.spec @@ -107,7 +107,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -140,6 +140,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -362,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-mips-gcc13.spec b/cross-mips-gcc13.spec index da7e667..8823b2b 100644 --- a/cross-mips-gcc13.spec +++ b/cross-mips-gcc13.spec @@ -107,7 +107,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -140,6 +140,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -362,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-nvptx-gcc13.spec b/cross-nvptx-gcc13.spec index 2b67e6b..b424e9e 100644 --- a/cross-nvptx-gcc13.spec +++ b/cross-nvptx-gcc13.spec @@ -107,7 +107,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -140,6 +140,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -362,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-ppc64-gcc13.spec b/cross-ppc64-gcc13.spec index 28494af..1f1566c 100644 --- a/cross-ppc64-gcc13.spec +++ b/cross-ppc64-gcc13.spec @@ -107,7 +107,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -140,6 +140,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -362,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-ppc64le-gcc13-bootstrap.spec b/cross-ppc64le-gcc13-bootstrap.spec index be4dede..b18c062 100644 --- a/cross-ppc64le-gcc13-bootstrap.spec +++ b/cross-ppc64le-gcc13-bootstrap.spec @@ -107,7 +107,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -140,6 +140,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -362,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-ppc64le-gcc13.spec b/cross-ppc64le-gcc13.spec index 43b0784..35b3055 100644 --- a/cross-ppc64le-gcc13.spec +++ b/cross-ppc64le-gcc13.spec @@ -107,7 +107,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -140,6 +140,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -362,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-pru-gcc13-bootstrap.spec b/cross-pru-gcc13-bootstrap.spec index 255734a..2fcfd35 100644 --- a/cross-pru-gcc13-bootstrap.spec +++ b/cross-pru-gcc13-bootstrap.spec @@ -108,7 +108,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -141,6 +141,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -363,6 +365,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-pru-gcc13.spec b/cross-pru-gcc13.spec index ce27bc7..f16dc75 100644 --- a/cross-pru-gcc13.spec +++ b/cross-pru-gcc13.spec @@ -107,7 +107,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -140,6 +140,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -362,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-riscv64-elf-gcc13-bootstrap.spec b/cross-riscv64-elf-gcc13-bootstrap.spec index 9ce1403..28fffcb 100644 --- a/cross-riscv64-elf-gcc13-bootstrap.spec +++ b/cross-riscv64-elf-gcc13-bootstrap.spec @@ -108,7 +108,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -141,6 +141,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -363,6 +365,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-riscv64-elf-gcc13.spec b/cross-riscv64-elf-gcc13.spec index 59abbec..b520f75 100644 --- a/cross-riscv64-elf-gcc13.spec +++ b/cross-riscv64-elf-gcc13.spec @@ -107,7 +107,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -140,6 +140,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -362,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-riscv64-gcc13-bootstrap.spec b/cross-riscv64-gcc13-bootstrap.spec index 86626e8..1d9795f 100644 --- a/cross-riscv64-gcc13-bootstrap.spec +++ b/cross-riscv64-gcc13-bootstrap.spec @@ -107,7 +107,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -140,6 +140,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -362,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-riscv64-gcc13.spec b/cross-riscv64-gcc13.spec index c4a9c7e..d29f4ae 100644 --- a/cross-riscv64-gcc13.spec +++ b/cross-riscv64-gcc13.spec @@ -107,7 +107,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -140,6 +140,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -362,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-rx-gcc13-bootstrap.spec b/cross-rx-gcc13-bootstrap.spec index 8934670..22812bb 100644 --- a/cross-rx-gcc13-bootstrap.spec +++ b/cross-rx-gcc13-bootstrap.spec @@ -108,7 +108,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -141,6 +141,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -363,6 +365,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-rx-gcc13.spec b/cross-rx-gcc13.spec index 20708a4..41dfa88 100644 --- a/cross-rx-gcc13.spec +++ b/cross-rx-gcc13.spec @@ -107,7 +107,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -140,6 +140,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -362,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-s390x-gcc13-bootstrap.spec b/cross-s390x-gcc13-bootstrap.spec index 95a6df7..cb30548 100644 --- a/cross-s390x-gcc13-bootstrap.spec +++ b/cross-s390x-gcc13-bootstrap.spec @@ -107,7 +107,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -140,6 +140,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -362,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-s390x-gcc13.spec b/cross-s390x-gcc13.spec index 42208e2..79d986e 100644 --- a/cross-s390x-gcc13.spec +++ b/cross-s390x-gcc13.spec @@ -107,7 +107,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -140,6 +140,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -362,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-sparc-gcc13.spec b/cross-sparc-gcc13.spec index c11dbeb..fc9c928 100644 --- a/cross-sparc-gcc13.spec +++ b/cross-sparc-gcc13.spec @@ -107,7 +107,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -140,6 +140,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -362,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-sparc64-gcc13.spec b/cross-sparc64-gcc13.spec index eee6ab9..c288532 100644 --- a/cross-sparc64-gcc13.spec +++ b/cross-sparc64-gcc13.spec @@ -107,7 +107,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -140,6 +140,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -362,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/cross-x86_64-gcc13.spec b/cross-x86_64-gcc13.spec index 9af3f2f..3334ff4 100644 --- a/cross-x86_64-gcc13.spec +++ b/cross-x86_64-gcc13.spec @@ -107,7 +107,7 @@ Name: %{pkgname} %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -140,6 +140,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # Define the canonical target and host architecture # %%gcc_target_arch is supposed to be the full target triple @@ -362,6 +364,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/gcc-13.2.1+git8250.tar.xz b/gcc-13.2.1+git8250.tar.xz deleted file mode 100644 index 12c96f8..0000000 --- a/gcc-13.2.1+git8250.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f18c07e7c463104259d9ac92f1d690a93c819aa67d2b076e73cd8b3fe6ed1046 -size 87256532 diff --git a/gcc-13.2.1+git8285.tar.xz b/gcc-13.2.1+git8285.tar.xz new file mode 100644 index 0000000..7a47d9d --- /dev/null +++ b/gcc-13.2.1+git8285.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3ce64d7c0b0608834866b2031164011a833d1c37657994539a5270b9d45941b +size 87270564 diff --git a/gcc.spec.in b/gcc.spec.in index dc4be90..044b660 100644 --- a/gcc.spec.in +++ b/gcc.spec.in @@ -204,7 +204,7 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 1 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -392,6 +392,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff # GCC-TESTSUITE-DELETE-BEGIN # SRC-COMMON-END @@ -1356,6 +1358,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/gcc13-pr88345-min-func-alignment.diff b/gcc13-pr88345-min-func-alignment.diff new file mode 100644 index 0000000..fa99406 --- /dev/null +++ b/gcc13-pr88345-min-func-alignment.diff @@ -0,0 +1,158 @@ +From 441d0aa048a51d2e9c4f4227916d2a1a2f06b4e5 Mon Sep 17 00:00:00 2001 +From: Jan Hubicka +Date: Wed, 24 Jan 2024 18:13:17 +0100 +Subject: [PATCH] Add -fmin-function-alignmnet +To: gcc-patches@gcc.gnu.org + +-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: + + PR middle-end/88345 + * common.opt: (flimit-function-alignment): Reorder alphabeticaly + (fmin-function-alignment): New parameter. + * doc/invoke.texi: (-fmin-function-alignment): Document. + (-falign-functions,-falign-loops,-falign-labels): Mention that + aglinments are ignored in cold code. + * varasm.cc (assemble_start_function): Handle min-function-alignment. + * lto-streamer.h (LTO_minor_version): Bump. +--- + gcc/common.opt | 10 +++++++--- + gcc/doc/invoke.texi | 18 +++++++++++++++++- + gcc/lto-streamer.h | 2 +- + gcc/varasm.cc | 5 +++++ + 4 files changed, 30 insertions(+), 5 deletions(-) + +diff --git a/gcc/common.opt b/gcc/common.opt +index 862c474d3c8..5d35391b99f 100644 +--- a/gcc/common.opt ++++ b/gcc/common.opt +@@ -1027,9 +1027,6 @@ Align the start of functions. + falign-functions= + Common RejectNegative Joined Var(str_align_functions) Optimization + +-flimit-function-alignment +-Common Var(flag_limit_function_alignment) Optimization Init(0) +- + falign-jumps + Common Var(flag_align_jumps) Optimization + Align labels which are only reached by jumping. +@@ -2165,6 +2162,10 @@ fmessage-length= + Common RejectNegative Joined UInteger + -fmessage-length= Limit diagnostics to 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 Var(flag_modulo_sched) Optimization + Perform SMS based modulo scheduling before the first scheduling pass. +@@ -2489,6 +2490,9 @@ starts and when the destructor finishes. + flifetime-dse= + Common Joined RejectNegative UInteger Var(flag_lifetime_dse) Optimization IntegerRange(0, 2) + ++flimit-function-alignment ++Common Var(flag_limit_function_alignment) Optimization Init(0) ++ + flive-patching + Common RejectNegative Alias(flive-patching=,inline-clone) Optimization + +diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi +index b777fc92755..d39cb26326c 100644 +--- a/gcc/doc/invoke.texi ++++ b/gcc/doc/invoke.texi +@@ -531,6 +531,7 @@ Objective-C and Objective-C++ Dialects}. + -falign-jumps[=@var{n}[:@var{m}:[@var{n2}[:@var{m2}]]]] + -falign-labels[=@var{n}[:@var{m}:[@var{n2}[:@var{m2}]]]] + -falign-loops[=@var{n}[:@var{m}:[@var{n2}[:@var{m2}]]]] ++-fmin-function-alignment=[@var{n}] + -fno-allocation-dce -fallow-store-data-races + -fassociative-math -fauto-profile -fauto-profile[=@var{path}] + -fauto-inc-dec -fbranch-probabilities +@@ -13650,6 +13651,9 @@ Align the start of functions to the next power-of-two greater than or + equal to @var{n}, skipping up to @var{m}-1 bytes. This ensures that at + least the first @var{m} bytes of the function can be fetched by the CPU + without crossing an @var{n}-byte alignment boundary. ++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}. + + If @var{m} is not specified, it defaults to @var{n}. + +@@ -13713,6 +13717,8 @@ Enabled at levels @option{-O2}, @option{-O3}. + Align loops to a power-of-two boundary. If the loops are executed + many times, this makes up for any execution of the dummy padding + instructions. ++This is an optimization of code performance and alignment is ignored for ++loops considered cold. + + If @option{-falign-labels} is greater than this value, then its value + is used instead. +@@ -13735,6 +13741,8 @@ Enabled at levels @option{-O2}, @option{-O3}. + Align branch targets to a power-of-two boundary, for branch targets + where the targets can only be reached by jumping. In this case, + no dummy operations need be executed. ++This is an optimization of code performance and alignment is ignored for ++jumps considered cold. + + If @option{-falign-labels} is greater than this value, then its value + is used instead. +@@ -13748,6 +13756,14 @@ The maximum allowed @var{n} option value is 65536. + + Enabled at levels @option{-O2}, @option{-O3}. + ++@opindex fmin-function-alignment=@var{n} ++@item -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} ++ ++ + @opindex fno-allocation-dce + @item -fno-allocation-dce + Do not remove unused C++ allocations in dead code elimination. +@@ -13844,7 +13860,7 @@ To use the link-time optimizer, @option{-flto} and optimization + options should be specified at compile time and during the final link. + It is recommended that you compile all the files participating in the + same link with the same options and also specify those options at +-link time. ++link time. + For example: + + @smallexample +diff --git a/gcc/lto-streamer.h b/gcc/lto-streamer.h +index 75cebcd02d3..2827897cc7a 100644 +--- a/gcc/lto-streamer.h ++++ b/gcc/lto-streamer.h +@@ -122,7 +122,7 @@ along with GCC; see the file COPYING3. If not see + form followed by the data for the string. */ + + #define LTO_major_version GCC_major_version +-#define LTO_minor_version 1 ++#define LTO_minor_version 2 + + typedef unsigned char lto_decl_flags_t; + +diff --git a/gcc/varasm.cc b/gcc/varasm.cc +index cd0cd88321c..5de821b63e6 100644 +--- a/gcc/varasm.cc ++++ b/gcc/varasm.cc +@@ -1914,6 +1914,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 + diff --git a/gcc13-testresults.spec b/gcc13-testresults.spec index b5a20d8..d372412 100644 --- a/gcc13-testresults.spec +++ b/gcc13-testresults.spec @@ -221,7 +221,7 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -408,6 +408,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff Summary: Testsuite results License: SUSE-Public-Domain @@ -546,6 +548,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end diff --git a/gcc13.changes b/gcc13.changes index 84d0a0d..9ebebb9 100644 --- a/gcc13.changes +++ b/gcc13.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Feb 6 08:04:04 UTC 2024 - Richard Biener + +- Update to gcc-13 branch head, 67ac78caf31f7cb3202177e642, git8285 +- Add gcc13-pr88345-min-func-alignment.diff to add support for + -fmin-function-alignment. [bsc#1214934] + ------------------------------------------------------------------- Mon Feb 5 14:24:16 UTC 2024 - Richard Biener diff --git a/gcc13.spec b/gcc13.spec index e574005..2186b69 100644 --- a/gcc13.spec +++ b/gcc13.spec @@ -200,7 +200,7 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: https://gcc.gnu.org/ -Version: 13.2.1+git8250 +Version: 13.2.1+git8285 Release: 0 %define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1) %define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/') @@ -387,6 +387,8 @@ Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch +# Feature backports +Patch100: gcc13-pr88345-min-func-alignment.diff License: GPL-3.0-or-later Summary: The GNU C Compiler and Support Files @@ -2366,6 +2368,7 @@ ln -s newlib-4.3.0.20230120/newlib . %patch51 %patch60 -p1 %patch61 -p1 +%patch100 -p1 #test patching end