diff --git a/.annobin.metadata b/.annobin.metadata index aaac6f8..3684b00 100644 --- a/.annobin.metadata +++ b/.annobin.metadata @@ -1 +1 @@ -07f5617e6d0f8cb6c3efd66004e38f9081e6b8f5 SOURCES/annobin-12.31.tar.xz +d3746b5e03beb0af41a5362aa66d8c9b80ff03d2 SOURCES/annobin-12.65.tar.xz diff --git a/.gitignore b/.gitignore index dffc1d5..20eec6e 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/annobin-12.31.tar.xz +SOURCES/annobin-12.65.tar.xz diff --git a/SOURCES/annobin-strings-no-attach.patch b/SOURCES/annobin-strings-no-attach.patch deleted file mode 100644 index dc85ecf..0000000 --- a/SOURCES/annobin-strings-no-attach.patch +++ /dev/null @@ -1,36 +0,0 @@ ---- annobin.orig/gcc-plugin/annobin.cc 2024-01-17 14:00:26.889983192 +0000 -+++ annobin-12.31/gcc-plugin/annobin.cc 2024-01-17 14:01:27.517055850 +0000 -@@ -3261,18 +3261,24 @@ plugin_init (struct plugin_name_args * - target_start_sym_bias = annobin_target_start_symbol_bias (); - if (annobin_attach_type == not_set) - { -- /* Choose a default attachment type. Link ordering is preferable -- as it is more resistant to changes in compiler section building. -- But it can only be used if the target assembler supports link_order sections -- and the target linker is sufficiently new that it implements them correctly. -- For now we use a test of the GCC version as an approximation to the binutils -- 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 (annobin_note_format == string) -+ /* String format notes do not need section groups. */ -+ annobin_attach_type = none; -+ else -+ { -+ /* Choose a default attachment type. Link ordering is preferable -+ as it is more resistant to changes in compiler section building. -+ But it can only be used if the target assembler supports link_order sections -+ and the target linker is sufficiently new that it implements them correctly. -+ For now we use a test of the GCC version as an approximation to the binutils -+ 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 = link_order; - #else -- annobin_attach_type = group; -+ annobin_attach_type = group; - #endif -+ } - } - annobin_inform (INFORM_VERBOSE, "Attach mode: %s", attach_mode_name (annobin_attach_type)); - diff --git a/SPECS/annobin.spec b/SPECS/annobin.spec index d5b0b9c..3623c93 100644 --- a/SPECS/annobin.spec +++ b/SPECS/annobin.spec @@ -1,8 +1,8 @@ Name: annobin Summary: Annotate and examine compiled binary files -Version: 12.31 -Release: 2%{?dist} +Version: 12.65 +Release: 1%{?dist} License: GPL-3.0-or-later AND LGPL-2.0-or-later AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (LGPL-2.0-or-later WITH GCC-exception-2.0) AND GFDL-1.3-or-later # Maintainer: nickc@redhat.com # Web Page: https://sourceware.org/annobin/ @@ -62,7 +62,7 @@ Source: https://nickc.fedorapeople.org/%{annobin_sources} %global annobin_source_dir %{_usrsrc}/annobin # Insert patches here, if needed. Eg: -Patch01: annobin-strings-no-attach.patch +# Patch01: annobin-strings-no-attach.patch #--------------------------------------------------------------------------------- @@ -248,6 +248,10 @@ CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" CXXFLAGS="$CFLAGS" %configure ${CONFIG_ARGS} export CLANG_TARGET_OPTIONS="-fcf-protection" %endif +%ifnarch riscv64 +export CLANG_TARGET_OPTIONS="$CLANG_TARGET_OPTIONS -flto" +%endif + %make_build %if %{with plugin_rebuild} @@ -366,6 +370,62 @@ exit $res #--------------------------------------------------------------------------------- %changelog +* Mon Jul 29 2024 Nick Clifton - 12.65-1 +- Annocheck: Fix recording arguments for later re-use. (RHEL-50802) +- Spec File: Add LTO option to clang and llvm plugin builds. (RHEL-50796) + +* Fri Jul 26 2024 Nick Clifron - 12.64-1 +- Rebase to 12.64, allowing build with LLVM 18. (RHEL-49953) +- Retire: annobin-strings-no-attach.patch +- Annocheck: Add improvements to the builtby utility. +- Annocheck: Add support for ADA binaries. +- Annocheck: Add support for binaries built from more than two high level source languages. +- Annocheck: Add support for object files containing no executable code. +- Annocheck: Do not FAIL LLVM compiled binaries that have not been built with sanitize-cfi and/or sanitize-safe-stack. +- Annocheck: Add support for Fortran binaries. +- Annocheck: Add heuristic for detecting parts of the CGO runtime library. +- Annocheck: Add improvements for handling Clang runtime binaries. +- Annocheck: Add tweaks for mixed Rust/C binaries. (#2284605) +- Annocheck: Add more glibc source file names. +- Annocheck: Skip GAPS test for GO binaries. (RHEL-36308) +- Annocheck: Remove some false positives for Rust binaries. (#2280239) +- Annocheck: Defer passing the branch protection test until all notes have been checked. +- GCC Plugin: Add extra code for detecting the branch protection setting. (RHEL-35958) +- Annocheck: Add OpenSSL Engine test. (PTG-319) +- Annocheck: Test for gaps even when only one note is present. +- Annocheck: Skip AArch64 branch protection test for GO binaries. +- GCC Plugin: Disable active check for -Wimplicit-int for non-C sources. (#2275884) +- Annocheck: Ignore stack checks for AMD GPU binaries. +- Annocheck: Do not produce FAIL result for i686 binaries in the RHEL-10 profile. +- Annocheck: Test for __stack_chk_guard being writeable. +- Annocheck: Update heuristics for detecting glibc code in executables. (RHEL-30579) +- Clang & LLVM Plugins: Allow environment to override fortification level. (RHEL-30579) +- Annocheck: Improve detection of -mbranch-protection option. +- Clang Plugin: Add global-file-syms option. +- LLVM Plugin: Add global-file-syms option. +- Plugins: Add support for ANNOBIN environment variable. +- GCC Plugin: Fix bug extracing the value of target specific command line options. +- Configure: Remove check for FrontendPluginRegistry.h header as it is stored in a non-standard location on Debian systems. +- Debuginfod test: Allow for the libdwfl library silently contacting the debuginfod server. +- LLVM Plugin: Use llvm-config to get the correct paths and options for building executables. +- Clang Plugin: Likewise. +- Enable silent rules for most building. +- Annocheck: Correctly extract DWARF attributes from DT_REL files. +- Annocheck: Improve heuristics for locating debug info files. (#2267097) +- Configure: Harmonize configure options. +- Clang Plugin: Fix building with Clang 18. (#31414) +- GCC Plugin: Add support for MIPS specific target functions. +- GCC Plugin: Use .dc.a for address expressions in 64-bit ELF format notes. +- Annocheck: Improve heuristic for skipping LTO and FORTIFY tests. (#2264000) +- Annocheck: Also skip property note test for i686 binaries. (#2258571) +- Annocheck: Also skip the entry point test for i686 binaries. (#2258571) +- GCC Plugin: Do not use section groups with string format notes. +- Annocheck: Disable cf-protection test for i686 architecture. (#2258571) +- Annocheck: Improve detection of FIPS compliant GO binaries. +- GCC Plugin: Fix recording of the -Wimplicit-int and -Wimplicit-function-declaration warnings. Add active checks for when they are deliberately disabled. +- Tests: Fix implicit-values test so that it will compile with gcc 14+. +- GCC Plugin: Add support for -fhardended. + * Wed Jan 17 2024 Nick Clifron - 12.31-2 - GCC Plugin: Do not use section groups with string notes. (RHEL-21772)