diff --git a/.gcc-toolset-14-annobin.metadata b/.gcc-toolset-14-annobin.metadata new file mode 100644 index 0000000..f7955b6 --- /dev/null +++ b/.gcc-toolset-14-annobin.metadata @@ -0,0 +1 @@ +9eac79c6277c36db863aeef0a52588d6d3d73719 SOURCES/annobin-12.70.tar.xz diff --git a/.gitignore b/.gitignore index 63d2d17..82dcf4c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1 @@ -/annobin-12.52.tar.xz -/annobin-12.65.tar.xz -/annobin-12.67.tar.xz -/annobin-12.69.tar.xz -/annobin-12.70.tar.xz +SOURCES/annobin-12.70.tar.xz diff --git a/SOURCES/annobin-nop.patch b/SOURCES/annobin-nop.patch new file mode 100644 index 0000000..66210e8 --- /dev/null +++ b/SOURCES/annobin-nop.patch @@ -0,0 +1,11 @@ +--- annobin.orig/gcc-plugin/annobin.cc 2023-04-28 09:58:05.487156290 +0100 ++++ annobin-12.09/gcc-plugin/annobin.cc 2023-04-28 09:58:36.434248542 +0100 +@@ -2104,7 +2104,7 @@ annobin_emit_start_sym_and_version_note + Ensure that we do not have empty special text sections so that the + annobin start symbols are never beyond the end of the sections. */ + #ifndef ANNOBIN_NOP_INSN +-#define ANNOBIN_NOP_INSN ".nop" ++#define ANNOBIN_NOP_INSN "nop" + #endif + if (* suffix && enable_ppc64_nops) + annobin_emit_asm (ANNOBIN_NOP_INSN, diff --git a/SOURCES/annobin-tmp-default-to-using-group-attach.patch b/SOURCES/annobin-tmp-default-to-using-group-attach.patch new file mode 100644 index 0000000..598edf4 --- /dev/null +++ b/SOURCES/annobin-tmp-default-to-using-group-attach.patch @@ -0,0 +1,12 @@ +diff -rup annobin.orig/gcc-plugin/annobin.cc annobin-12.52/gcc-plugin/annobin.cc +--- annobin.orig/gcc-plugin/annobin.cc 2024-05-02 12:11:35.628517293 +0100 ++++ annobin-12.52/gcc-plugin/annobin.cc 2024-05-02 12:12:35.471570222 +0100 +@@ -3300,7 +3300,7 @@ plugin_init (struct plugin_name_args * + versions that are needed. (Note - 2.35.2, as used by RHEL-9, is insufficient). + See BZ 2016458 for an example of where this solution is needed. */ + #if GCCPLUGIN_VERSION_MAJOR >= 12 +- annobin_attach_type = link_order; ++ annobin_attach_type = group; + #else + annobin_attach_type = group; + #endif diff --git a/annobin.spec b/SPECS/annobin.spec similarity index 94% rename from annobin.spec rename to SPECS/annobin.spec index b71e51e..81b65f7 100644 --- a/annobin.spec +++ b/SPECS/annobin.spec @@ -75,8 +75,8 @@ URL: https://sourceware.org/annobin/ # Then once GTS-gcc is built and in the buildroot, reset this variable # to 0, bump the NVR and rebuild GTS-annobin. %define bootstrapping 0 -# # FIXME: Temporary - use this to get the annobin plugin into the buildroot. -# %%undefine _annotated_build +# FIXME: Temporary - use this to get the annobin plugin into the buildroot. +%undefine _annotated_build #--------------------------------------------------------------------------------- @@ -85,8 +85,10 @@ Source: https://nickc.fedorapeople.org/%{annobin_sources} # For the latest sources use: git clone git://sourceware.org/git/annobin.git # Insert patches here, if needed. +Patch01: annobin-nop.patch +Patch02: annobin-tmp-default-to-using-group-attach.patch %if %{bootstrapping} -Patch01: annobin-gcc-plugin-ignore-major-version-diffs.patch +Patch03: annobin-gcc-plugin-ignore-major-version-diffs.patch %endif # This is where a copy of the sources will be installed. @@ -101,17 +103,17 @@ BuildRequires: gcc gcc-c++ %else -BuildRequires: %{scl_prefix}gcc -BuildRequires: %{scl_prefix}gcc-c++ -BuildRequires: %{scl_prefix}annobin-plugin-gcc +BuildRequires: %{?scl_prefix}gcc +BuildRequires: %{?scl_prefix}gcc-c++ +BuildRequires: %{?scl_prefix}annobin-plugin-gcc %{?scl:BuildRequires:%scl_runtime} %{?scl:Requires:%scl_runtime} # We need the gcc-toolset-N version of gcc in order to run annobin, as otherwise the versions will not match. %{?scl:Requires:%scl_require_package %{scl} gcc} -%define gcc_for_annobin %{_scl_root}/usr/bin/gcc -%define gxx_for_annobin %{_scl_root}/usr/bin/g++ +%define gcc_for_annobin %{?_scl_root}/usr/bin/gcc +%define gxx_for_annobin %{?_scl_root}/usr/bin/g++ %endif @@ -391,7 +393,7 @@ fi echo "Requires: (%{?scl_prefix}gcc >= %{gcc_major} and %{?scl_prefix}gcc < %{gcc_next})" # NB/ Do not add {?scl_prefix} to the -n option below. The annobin sources -# unpack into a directory called annobin-VERSION not gcc-toolset-14-annobin-VERSION. +# unpack into a directory called annobin-VERSION not gcc-toolset-N-annobin-VERSION. %autosetup -p1 -n annobin-%{version} # The plugin has to be configured with the same arcane configure @@ -502,13 +504,13 @@ rm %{_tmppath}/tmp_annobin.so %if %{with clangplugin} cp clang-plugin/annobin-for-clang.so %{_tmppath}/tmp_annobin.so # To enable verbose more in the plugin append the following: ANNOBIN="verbose" -make -C clang-plugin clean all CLANG_TARGET_OPTIONS="$CLANG_TARGET_OPTIONS $BUILD_FLAGS" PLUGIN_INSTALL_DIR=%{buildroot}/%{clang_plugin_dir} +make -C clang-plugin clean all CLANG_TARGET_OPTIONS="$CLANG_TARGET_OPTIONS $BUILD_FLAGS" PLUGIN_INSTALL_DIR=%{clang_plugin_dir} %endif %if %{with llvmplugin} cp llvm-plugin/annobin-for-llvm.so %{_tmppath}/tmp_annobin.so # To enable verbose more in the plugin append the following: ANNOBIN_VERBOSE="true" -make -C llvm-plugin clean all CLANG_TARGET_OPTIONS="$CLANG_TARGET_OPTIONS $BUILD_FLAGS" PLUGIN_INSTALL_DIR=%{buildroot}/%{llvm_plugin_dir} +make -C llvm-plugin clean all CLANG_TARGET_OPTIONS="$CLANG_TARGET_OPTIONS $BUILD_FLAGS" PLUGIN_INSTALL_DIR=%{llvm_plugin_dir} %endif # endif for %%if {with_plugin_rebuild} @@ -633,27 +635,27 @@ make check GCC=%gcc_for_annobin #--------------------------------------------------------------------------------- %changelog -* Thu Aug 22 2024 Nick Clifton - 12.70-2 -- NVR Bump to allow rebuilding with annotation. +* Tue Aug 13 2024 Nick Clifton - 12.70-2 +- Clang & LLVM Plugins: Remove buildroot from plugin install directory. (RHEL-54178) * Tue Aug 13 2024 Nick Clifton - 12.70-1 -- Clang & LLVM Plugins: Include install directory in binary. (RHEL-54069) +- Clang & LLVM Plugins: Include install directory in binary. (RHEL-54178) * Mon Aug 12 2024 Nick Clifton - 12.69-1 - BuiltBy: Fix seg-fault when comparing language version strings. (RHEL-53497) -- Spec File: Use correct names for the symlinks. (RHEL-53209) +- Spec File: Use correct names for the symlinks. (RHEL-53210) * Fri Aug 09 2024 Nick Clifton - 12.67-5 -- Spec File: Use correct names for the symlinks. (RHEL-53209) +- Spec File: Use correct names for the symlinks. (RHEL-53210) * Thu Aug 08 2024 Nick Clifton - 12.67-4 -- Spec File: Use correct names for the plugins. (RHEL-53209) +- Spec File: Use correct names for the plugins. (RHEL-53210) * Thu Aug 08 2024 Nick Clifton - 12.67-3 -- Spec File: Disable bootstrapping. (RHEL-53543) +- Spec File: Disable bootstrapping. * Thu Aug 08 2024 Nick Clifton - 12.67-2 -- Spec File: Use correct directory for plugin installation. (RHEL-53209) +- Spec File: Use correct directory for plugin installation. (RHEL-53210) - Spec File: Disable plugin when running on wrong major version of the compiler. * Wed Aug 07 2024 Nick Clifton - 12.67-1 @@ -661,11 +663,14 @@ make check GCC=%gcc_for_annobin - Annocheck: Stop warnings about known gaps. (RHEL-53218) - Annocheck: Fix stack realign test. (#2302427) -* Wed Aug 07 2024 Nick Clifton - 12.65-4 -- Spec File: Change bootstrap gcc version to 14. (RHEL-53209) +* Wed Aug 07 2024 Nick Clifton - 12.65-5 +- Spec File: Change bootstrap gcc version to 14. (RHEL-53210) + +* Thu Aug 01 2024 Nick Clifton - 12.65-4 +- Spec File: Remove scl-runtime requirement when bootstrapping. * Thu Aug 01 2024 Nick Clifton - 12.65-3 -- Spec File: Remove scl-runtime requirement when bootstrapping. +- Spec File: Enable bootstrapping. * Thu Aug 01 2024 Nick Clifton - 12.65-2 - Spec File: Remove spurious dash from install path of gcc plugin. (RHEL-51183) @@ -692,11 +697,11 @@ make check GCC=%gcc_for_annobin * Fri Jul 26 2024 Nick Clifton - 12.52-5 - Spec File: Hard code the gcc plugin directory when boostrapping. (RHEL-50148) -* Mon Jul 22 2024 Nick Clifton - 12.52-4 -- Rebuild with LLVM 18. (RHEL-49955) +* Tue May 07 2024 Nick Clifton - 12.52-3 +- Disable bootstrapping. (RHEL-29850) * Fri May 03 2024 Nick Clifton - 12.52-2 -- Disable version checks in gcc plugin. +- Disable version checks in gcc plugin. (RHEL-29850) * Fri Apr 26 2024 Nick Clifton - 12.52-1 - Initial import of sources. diff --git a/annobin-gcc-plugin-ignore-major-version-diffs.patch b/annobin-gcc-plugin-ignore-major-version-diffs.patch deleted file mode 100644 index b2a91b3..0000000 --- a/annobin-gcc-plugin-ignore-major-version-diffs.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- annobin.orig/gcc-plugin/annobin.cc 2024-08-08 12:39:01.928844852 +0100 -+++ annobin-12.65/gcc-plugin/annobin.cc 2024-08-08 12:42:07.333437024 +0100 -@@ -3218,9 +3218,10 @@ plugin_init (struct plugin_name_args * - be sufficient. [FIXME: It turns out that this is not entirely true...] */ - if (strncmp (version->basever, gcc_version.basever, strchr (version->basever, '.') - version->basever)) - { -- annobin_inform (INFORM_ALWAYS, "Error: plugin built for compiler version (%s) but run with compiler version (%s)", -+ annobin_inform (INFORM_ALWAYS, "Warning: plugin built for compiler version (%s) but run with compiler version (%s) - disabling", - gcc_version.basever, version->basever); -- fail = true; -+ enabled = false; -+ return 0; - } - - /* Since the plugin is not part of the gcc project, it is entirely diff --git a/gating.yaml b/gating.yaml deleted file mode 100644 index 47f2574..0000000 --- a/gating.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- !Policy -product_versions: - - rhel-9 -decision_context: osci_compose_gate -rules: - - !PassingTestCaseRule {test_case_name: osci.brew-build.rebuild.validation} - - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.other.functional} diff --git a/plans/ci.fmf b/plans/ci.fmf deleted file mode 100644 index 3fd3ab7..0000000 --- a/plans/ci.fmf +++ /dev/null @@ -1,5 +0,0 @@ -summary: CI Gating Plan -discover: - how: fmf -execute: - how: tmt diff --git a/rpminspect.yaml b/rpminspect.yaml deleted file mode 100644 index 6bb2b4d..0000000 --- a/rpminspect.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -runpath: - allowed_paths: - - /usr/lib64 - -specname: - # In GCC toolsets builds, the spec file name and the package are not - # exactly the same, the package is prefixed with gcc-toolset-NN-. - # Let's ignore the prefix in the specname test. - match: suffix - primary: filename diff --git a/sources b/sources deleted file mode 100644 index 9b8ed3f..0000000 --- a/sources +++ /dev/null @@ -1 +0,0 @@ -SHA512 (annobin-12.70.tar.xz) = 50a29a630ab93577c6d79328595248f54f3da050208defe08432e5663e81050d64ca7079d30d2b5b48c3ce86048b631b81d09ff5081abde90ce9137216f1a93e