diff --git a/annobin-golang-spaces-in-symbols.patch b/annobin-golang-spaces-in-symbols.patch new file mode 100644 index 0000000..15be24b --- /dev/null +++ b/annobin-golang-spaces-in-symbols.patch @@ -0,0 +1,13 @@ +--- annobin.orig/annocheck/hardened.c 2021-12-02 15:27:27.325863983 +0000 ++++ annobin-9.87/annocheck/hardened.c 2021-12-02 15:28:03.915609648 +0000 +@@ -3108,6 +3108,10 @@ contains_suspicious_characters (const un + if (isgraph (c)) + continue; + ++ /* Golang allows spaces in some symbols. */ ++ if (c == ' ' && (per_file.lang == LANG_GO || (per_file.seen_tools & TOOL_GO))) ++ continue; ++ + /* Control characters are always suspect. So are spaces and DEL */ + if (iscntrl (c) || c == ' ' || c == 0x7f) + return true; diff --git a/annobin.spec b/annobin.spec index b089a8f..28f8763 100644 --- a/annobin.spec +++ b/annobin.spec @@ -1,8 +1,8 @@ Name: annobin Summary: Annotate and examine compiled binary files -Version: 9.60 -Release: 1%{?dist} +Version: 9.79 +Release: 5%{?dist} License: GPLv3+ # ProtocolURL: https://fedoraproject.org/wiki/Toolchain/Watermark # Maintainer: nickc@redhat.com @@ -57,7 +57,8 @@ Source: https://nickc.fedorapeople.org/annobin-%{version}.tar.xz # For the latest sources use: git clone git://sourceware.org/git/annobin.git # Insert patches here, if needed. Eg: -# Patch01: annobin-foo.patch +Patch01: annobin.unicode.patch +Patch03: annobin-golang-spaces-in-symbols.patch #--------------------------------------------------------------------------------- @@ -194,6 +195,7 @@ fi echo "Requires: (gcc >= %{gcc_major} and gcc < %{gcc_next})" %autosetup -p1 +chmod +x tests/unicode-test # The plugin has to be configured with the same arcane configure # scripts used by gcc. Hence we must not allow the Fedora build @@ -324,6 +326,65 @@ fi #--------------------------------------------------------------------------------- %changelog +* Fri Apr 22 Jakub Jelinek - 9.79-5 +- Another NVR bump for GCC 11 rebuild. + +* Thu Dec 02 2021 Nick Clifton - 9.79-4 +- Annocheck: Allow spaces in golang symbols. + +* Wed Nov 10 2021 Nick Clifton - 9.79-3 +- Annocheck: Add test for the presence of unicode characters in identifiers. (#2018850) + +* Tue Aug 10 2021 Tom Stellard - 9.79-2 +- Rebuild for 12.0.1 + +* Tue Jun 29 2021 Nick Clifton - 9.79-1 +- Annocheck: Fix spelling mistake in -,stack-realign failure message. (#1977349) +- gcc-plugin: Do not record global versions of stack protection settings in LTO mode, if not set. (#1958954) +- annocheck: Remove limit on number of input files. +- Annocheck: Better detection of GO compiler version. +- Annocheck: Better support for symbolic links. +- Annocheck: In verbose mode, report the reason for skipping specific tests. (#1969584) +- Annocheck: Improve detection of shared libraries. (#1958954) + +* Wed May 26 2021 Tom Stellard - 9.72-2 +- Rebuild for LLVM 12.0.0-final + +* Thu May 13 2021 Nick Clifton - 9.72-1 +- annocheck: Accept 0 as a valid number for gcc minor versions and release numbers. +- gcc-plugin: Add support for ARM and RISCV targets. + +* Fri May 07 2021 Nick Clifton - 9.71-1 +- timing: do not initialise the clock if the timing tool is disabled. +- gcc-plugin: Replace ICE messsages with verbose messages. +- Fix the testsuite so that it can be run in parallel. + +* Wed Apr 21 2021 Nick Clifton - 9.68-1 +- Annocheck: WARN if the annobin plugin was built for a newer version of the compiler than the one on which it was run. (#1950657) +- Annocheck: Improve detection of missing GNU-stack support. +- Fix anomolies reported by covscan. + +* Tue Mar 30 2021 Nick Clifton - 9.65-3 +- Another NVR bump to allow rebuild in CentOS stream. + +* Thu Mar 25 2021 Nick Clifton - 9.65-2 +- NVR bump to allow rebuild. + +* Tue Mar 09 2021 Nick Clifton - 9.65-1 +- gcc-plugin: Use a fixed filename when running in LTO mode. + +* Wed Mar 03 2021 Nick Clifton - 9.64-1 +- Annocheck: Fix detection of special function names. (#1934189) + +* Fri Feb 26 2021 Nick Clifton - 9.63-1 +- Annocheck: FAIL the deliberate use of -fno-stack-protector, but add some exceptions for glibc. (#1923439) + +* Thu Feb 25 2021 Nick Clifton - 9.62-1 +- Annocheck: Add colour to some messages. Skip the deliberate use of -fno-stack-protector. (#1923439) + +* Mon Feb 22 2021 Nick Clifton - 9.61-1 +- Annocheck: Fix some problems with tests for missing notes. + * Fri Feb 05 2021 Nick Clifton - 9.60-1 - Add some GO tests to annocheck. diff --git a/annobin.unicode.patch b/annobin.unicode.patch new file mode 100644 index 0000000..1b8fc06 --- /dev/null +++ b/annobin.unicode.patch @@ -0,0 +1,404 @@ +diff -rupN annobin.orig/Makefile.in annobin-9.87/Makefile.in +--- annobin.orig/Makefile.in 2021-11-10 14:34:16.366259510 +0000 ++++ annobin-9.87/Makefile.in 2021-11-10 14:35:15.947890504 +0000 +@@ -323,6 +323,7 @@ plugindir = @plugindir@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +diff -rupN annobin.orig/annocheck/Makefile.in annobin-9.87/annocheck/Makefile.in +--- annobin.orig/annocheck/Makefile.in 2021-11-10 14:34:16.368259498 +0000 ++++ annobin-9.87/annocheck/Makefile.in 2021-11-10 14:35:15.948890497 +0000 +@@ -314,6 +314,7 @@ plugindir = @plugindir@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +diff -rupN annobin.orig/annocheck/hardened.c annobin-9.87/annocheck/hardened.c +--- annobin.orig/annocheck/hardened.c 2021-11-10 14:34:16.368259498 +0000 ++++ annobin-9.87/annocheck/hardened.c 2021-11-10 14:35:53.677656812 +0000 +@@ -40,6 +40,7 @@ + #define SOURCE_STRING_SECTION "string section" + #define SOURCE_COMMENT_SECTION "comment section" + #define SOURCE_RODATA_SECTION ".rodata section" ++#define SOURCE_SYMBOL_SECTION "symbol section" + + #define GOLD_COLOUR "\e[33;40m" + #define RED_COLOUR "\x1B[31;47m" +@@ -208,6 +209,7 @@ enum test_index + TEST_STACK_REALIGN, + TEST_TEXTREL, + TEST_THREADS, ++ TEST_UNICODE, + TEST_WARNINGS, + TEST_WRITEABLE_GOT, + +@@ -252,6 +254,7 @@ static test tests [TEST_MAX] = + TEST (stack-realign, STACK_REALIGN, "Compiled with -mstackrealign (i686 only)"), + TEST (textrel, TEXTREL, "There are no text relocations in the binary"), + TEST (threads, THREADS, "Compiled with -fexceptions"), ++ TEST (unicode, UNICODE, "No unicode symbol names"), + TEST (warnings, WARNINGS, "Compiled with -Wall"), + TEST (writeable-got, WRITEABLE_GOT, "The .got section is not writeable"), + }; +@@ -1067,6 +1070,11 @@ interesting_sec (annocheck_data * da + if (streq (sec->secname, ".gdb_index")) + per_file.debuginfo_file = true; + ++ if (tests[TEST_UNICODE].enabled ++ && (sec->shdr.sh_type == SHT_SYMTAB ++ || sec->shdr.sh_type == SHT_DYNSYM)) ++ return true; ++ + if (streq (sec->secname, ".text")) + { + /* Separate debuginfo files have a .text section with a non-zero +@@ -3086,6 +3094,64 @@ check_code_section (annocheck_data * + } + + static bool ++contains_suspicious_characters (const unsigned char * name) ++{ ++ uint i; ++ uint len = strlen ((const char *) name); ++ ++ /* FIXME: Test that locale is UTF-8. */ ++ ++ for (i = 0; i < len; i++) ++ { ++ unsigned char c = name[i]; ++ ++ if (isgraph (c)) ++ continue; ++ ++ /* Control characters are always suspect. So are spaces and DEL */ ++ if (iscntrl (c) || c == ' ' || c == 0x7f) ++ return true; ++ ++ if (c < 0x7f) /* This test is probably redundant. */ ++ continue; ++ ++ return true; ++ } ++ ++ return false; ++} ++ ++static bool ++check_symbol_section (annocheck_data * data, annocheck_section * sec) ++{ ++ if (! tests[TEST_UNICODE].enabled) ++ return true; ++ ++ /* Scan the symbols looking for non-ASCII characters in their names ++ that might cause problems. Note - we do not examine the string ++ tables directly as there are perfectly legitimate reasons why these ++ characters might appear in strings. But when they are used for ++ identifier names, their use is ... problematic. */ ++ GElf_Sym sym; ++ uint symndx; ++ ++ for (symndx = 1; gelf_getsym (sec->data, symndx, & sym) != NULL; symndx++) ++ { ++ const char * symname = elf_strptr (data->elf, sec->shdr.sh_link, sym.st_name); ++ ++ if (contains_suspicious_characters ((const unsigned char *) symname)) ++ { ++ fail (data, TEST_UNICODE, SOURCE_SYMBOL_SECTION, "suspicious characters were found in a symbol name"); ++ einfo (VERBOSE, "%s: info: symname: '%s', (%lu bytes long) in section: %s", ++ get_filename (data), symname, (unsigned long) strlen (symname), sec->secname); ++ if (!BE_VERBOSE) ++ break; ++ } ++ } ++ return true; ++} ++ ++static bool + check_sec (annocheck_data * data, + annocheck_section * sec) + { +@@ -3096,6 +3162,8 @@ check_sec (annocheck_data * data, + selected in interesting_sec(). */ + switch (sec->shdr.sh_type) + { ++ case SHT_SYMTAB: ++ case SHT_DYNSYM: return check_symbol_section (data, sec); + case SHT_NOTE: return check_note_section (data, sec); + case SHT_STRTAB: return check_string_section (data, sec); + case SHT_DYNAMIC: return check_dynamic_section (data, sec); +@@ -3823,6 +3891,7 @@ finish (annocheck_data * data) + case TEST_RWX_SEG: + case TEST_TEXTREL: + case TEST_THREADS: ++ case TEST_UNICODE: + case TEST_WRITEABLE_GOT: + /* The absence of a result for these tests actually means that they have passed. */ + pass (data, i, SOURCE_FINAL_SCAN, NULL); +diff -rupN annobin.orig/configure annobin-9.87/configure +--- annobin.orig/configure 2021-11-10 14:34:16.366259510 +0000 ++++ annobin-9.87/configure 2021-11-10 14:35:15.950890485 +0000 +@@ -765,6 +765,7 @@ infodir + docdir + oldincludedir + includedir ++runstatedir + localstatedir + sharedstatedir + sysconfdir +@@ -863,6 +864,7 @@ datadir='${datarootdir}' + sysconfdir='${prefix}/etc' + sharedstatedir='${prefix}/com' + localstatedir='${prefix}/var' ++runstatedir='${localstatedir}/run' + includedir='${prefix}/include' + oldincludedir='/usr/include' + docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +@@ -1115,6 +1117,15 @@ do + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + ++ -runstatedir | --runstatedir | --runstatedi | --runstated \ ++ | --runstate | --runstat | --runsta | --runst | --runs \ ++ | --run | --ru | --r) ++ ac_prev=runstatedir ;; ++ -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ ++ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ ++ | --run=* | --ru=* | --r=*) ++ runstatedir=$ac_optarg ;; ++ + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ +@@ -1252,7 +1263,7 @@ fi + for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ +- libdir localedir mandir ++ libdir localedir mandir runstatedir + do + eval ac_val=\$$ac_var + # Remove trailing slashes. +@@ -1405,6 +1416,7 @@ Fine tuning of the installation director + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] ++ --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] +diff -rupN annobin.orig/doc/Makefile.in annobin-9.87/doc/Makefile.in +--- annobin.orig/doc/Makefile.in 2021-11-10 14:34:16.366259510 +0000 ++++ annobin-9.87/doc/Makefile.in 2021-11-10 14:35:15.951890479 +0000 +@@ -329,6 +329,7 @@ plugindir = @plugindir@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +diff -rupN annobin.orig/doc/annobin.info annobin-9.87/doc/annobin.info +--- annobin.orig/doc/annobin.info 2021-11-10 14:34:16.366259510 +0000 ++++ annobin-9.87/doc/annobin.info 2021-11-10 14:35:15.951890479 +0000 +@@ -751,6 +751,7 @@ File: annobin.info, Node: Hardened, Ne + [-skip-stack-realign] + [-skip-textrel] + [-skip-threads] ++ [-skip-unicode] + [-skip-warnings] + [-skip-writeable-got] + [-test-NAME] +@@ -877,6 +878,10 @@ code to support the test. + Check that the program was built by a production-ready compiler. + Disabled by '--skip-production'. + ++'Unicode' ++ This test checks for the presence of multibyte characters in symbol ++ names, which are unusual and potentially dangerous. ++ + The tool does support a couple of other command line options as well: + + '--skip-future' +diff -rupN annobin.orig/doc/annobin.texi annobin-9.87/doc/annobin.texi +--- annobin.orig/doc/annobin.texi 2021-11-10 14:34:16.366259510 +0000 ++++ annobin-9.87/doc/annobin.texi 2021-11-10 14:35:15.951890479 +0000 +@@ -855,6 +855,7 @@ annocheck + [@b{--skip-stack-realign}] + [@b{--skip-textrel}] + [@b{--skip-threads}] ++ [@b{--skip-unicode}] + [@b{--skip-warnings}] + [@b{--skip-writeable-got}] + [@b{--test-@var{name}}] +@@ -996,6 +997,11 @@ Check that the program makes consistent + @item Production Ready Compiler + Check that the program was built by a production-ready compiler. + Disabled by @option{--skip-production}. ++ ++@item Unicode ++This test checks for the presence of multibyte characters in symbol ++names, which are unusual and potentially dangerous. ++ + @end table + + The tool does support a couple of other command line options as well: +diff -rupN annobin.orig/gcc-plugin/Makefile.in annobin-9.87/gcc-plugin/Makefile.in +--- annobin.orig/gcc-plugin/Makefile.in 2021-11-10 14:34:16.368259498 +0000 ++++ annobin-9.87/gcc-plugin/Makefile.in 2021-11-10 14:35:15.951890479 +0000 +@@ -333,6 +333,7 @@ plugindir = @plugindir@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +diff -rupN annobin.orig/scripts/Makefile.in annobin-9.87/scripts/Makefile.in +--- annobin.orig/scripts/Makefile.in 2021-11-10 14:34:16.366259510 +0000 ++++ annobin-9.87/scripts/Makefile.in 2021-11-10 14:35:15.951890479 +0000 +@@ -284,6 +284,7 @@ plugindir = @plugindir@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +diff -rupN annobin.orig/tests/Makefile.am annobin-9.87/tests/Makefile.am +--- annobin.orig/tests/Makefile.am 2021-11-10 14:34:16.369259492 +0000 ++++ annobin-9.87/tests/Makefile.am 2021-11-10 14:35:15.951890479 +0000 +@@ -22,6 +22,7 @@ TESTS=compile-test \ + missing-notes-test \ + active-checks-test \ + property-note-test \ ++ unicode-test \ + hardening-fail-test + + if HAVE_DEBUGINFOD +diff -rupN annobin.orig/tests/Makefile.in annobin-9.87/tests/Makefile.in +--- annobin.orig/tests/Makefile.in 2021-11-10 14:34:16.369259492 +0000 ++++ annobin-9.87/tests/Makefile.in 2021-11-10 14:35:15.952890473 +0000 +@@ -459,6 +459,7 @@ plugindir = @plugindir@ + prefix = @prefix@ + program_transform_name = @program_transform_name@ + psdir = @psdir@ ++runstatedir = @runstatedir@ + sbindir = @sbindir@ + sharedstatedir = @sharedstatedir@ + srcdir = @srcdir@ +@@ -479,7 +480,7 @@ TESTS = compile-test abi-test active-che + hardening-test instrumentation-test lto-test \ + missing-notes-test objcopy-test section-size-test \ + missing-notes-test active-checks-test property-note-test \ +- hardening-fail-test $(am__append_1) ++ unicode-test hardening-fail-test $(am__append_1) + all: all-am + + .SUFFIXES: +@@ -764,6 +765,13 @@ property-note-test.log: property-note-te + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ ++ "$$tst" $(AM_TESTS_FD_REDIRECT) ++unicode-test.log: unicode-test ++ @p='unicode-test'; \ ++ b='unicode-test'; \ ++ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ ++ --log-file $$b.log --trs-file $$b.trs \ ++ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) + debuginfod-test.log: debuginfod-test + @p='debuginfod-test'; \ +diff -rupN annobin.orig/tests/trick-hello.s annobin-9.87/tests/trick-hello.s +--- annobin.orig/tests/trick-hello.s 1970-01-01 01:00:00.000000000 +0100 ++++ annobin-9.87/tests/trick-hello.s 2021-11-10 14:35:15.947890504 +0000 +@@ -0,0 +1,33 @@ ++ .file "trick-hello.c" ++ .text ++ .section .rodata ++.LC0: ++ .string "hah, gotcha!" ++ .text ++ .globl he‮oll‬ ++ .type he‮oll‬, %function ++he‮oll‬: ++.LFB0: ++ nop ++.LFE0: ++ .size he‮oll‬, .-he‮oll‬ ++ .section .rodata ++.LC1: ++ .string "Hello world" ++ .text ++ .globl hello ++ .type hello, %function ++hello: ++.LFB1: ++ nop ++.LFE1: ++ .size hello, .-hello ++ .globl main ++ .type main, %function ++main: ++.LFB2: ++ nop ++.LFE2: ++ .size main, .-main ++ .ident "GCC: (GNU) 11.2.1 20210728 (Red Hat 11.2.1-1)" ++ .section .note.GNU-stack,"",%progbits +diff -rupN annobin.orig/tests/unicode-test annobin-9.87/tests/unicode-test +--- annobin.orig/tests/unicode-test 1970-01-01 01:00:00.000000000 +0100 ++++ annobin-9.87/tests/unicode-test 2021-11-10 14:35:15.947890504 +0000 +@@ -0,0 +1,45 @@ ++#!/bin/bash ++ ++# Copyright (c) 2021 Red Hat. ++# ++# This is free software; you can redistribute it and/or modify it ++# under the terms of the GNU General Public License as published ++# by the Free Software Foundation; either version 3, or (at your ++# option) any later version. ++# ++# It is distributed in the hope that it will be useful, but ++# WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++ ++TEST_NAME=unicode ++. $srcdir/common.sh ++ ++OPTS="-O2 -g -Wl,-z,now -pie -fpie" ++ ++start_test ++ ++$GCC $OPTS $srcdir/trick-hello.s -o trick-hello.exe ++if [ $? != 0 ]; ++then ++ echo "unicode-test: FAIL: Could not compile test source file" ++ end_test ++ exit 1 ++fi ++ ++# Run annocheck ++ ++OPTS="--ignore-gaps --skip-all --test-unicode" ++ ++$ANNOCHECK trick-hello.exe $OPTS > unicode.out ++grep -e "FAIL: unicode" unicode.out ++if [ $? != 0 ]; ++then ++ echo "unicode-test: FAIL: annocheck did not detect suspicious symbol names" ++ $ANNOCHECK trick-hello.exe $OPTS --verbose ++ end_test ++ exit 1 ++fi ++ ++end_test ++ diff --git a/sources b/sources index 7c81e4f..f05684c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (annobin-9.60.tar.xz) = 52e9c322938ea75b6b85dbaec573128d090789c0a305a69c24b4e6bdd697c939fcc11006ed5880507970d288a48fe569820a9a92b423e520636ad6dc82e9235c +SHA512 (annobin-9.79.tar.xz) = cbb8406ad804c2fa3f49ca963c4fd85672a00d864f4ebd645019255b05ff3bc8f4fb07db1f28b8cd1667f09cf4eb23822b8b05f143c39c389433cacc09652d9f diff --git a/tests/Regression/identify/runtest.sh b/tests/Regression/identify/runtest.sh index d1b3b5f..7907036 100755 --- a/tests/Regression/identify/runtest.sh +++ b/tests/Regression/identify/runtest.sh @@ -32,6 +32,7 @@ PACKAGE="annobin" rlJournalStart rlPhaseStartTest + rlRun "rpm -qa | fgrep -e redhat-rpm-config -e gcc -e annobin -e binutils | sort" rlRun "tool_v=$(annocheck --version | awk '/^annocheck: Version/ {print $3}')" rlRun "__RPM=$(rpm --queryformat='%{name}\n' -qf $(man -w annobin))" rlRun "rpm_v=$(rpm -q --queryformat='%{version}\n' $__RPM)" diff --git a/tests/Regression/lto-preprocessor-options/runtest.sh b/tests/Regression/lto-preprocessor-options/runtest.sh index 315169d..430d830 100755 --- a/tests/Regression/lto-preprocessor-options/runtest.sh +++ b/tests/Regression/lto-preprocessor-options/runtest.sh @@ -33,7 +33,10 @@ PACKAGE="annobin" rlJournalStart rlPhaseStartTest b=`mktemp` - rlRun "echo 'int main (void) { return 0; }' | gcc -xc -o $b `rpm --eval "%build_cflags %build_ldflags"` -flto - " + rlRun "rpm -qa | fgrep -e redhat-rpm-config -e gcc -e annobin -e binutils | sort" + rlRun "cflags=\"$(rpm --eval '%build_cflags')\"" + rlRun "ldflags=\"$(rpm --eval '%build_ldflags')\"" + rlRun "echo 'int main (void) { return 0; }' | gcc -xc -o $b $cflags $ldflags -flto - " rlRun "annocheck -v $b" rm $b rlPhaseEnd diff --git a/tests/Regression/testsuite/runtest.sh b/tests/Regression/testsuite/runtest.sh index 4a92cd9..c8016ad 100755 --- a/tests/Regression/testsuite/runtest.sh +++ b/tests/Regression/testsuite/runtest.sh @@ -42,6 +42,8 @@ rlJournalStart rlLogInfo "X_SCLS=$X_SCLS" rlLogInfo "GCC=$GCC" + rlRun "rpm -qa | fgrep -e redhat-rpm-config -e gcc -e annobin -e binutils | sort" + # In case more than one devtoolset- or gcc-toolset -build package is # installed (they can co-exist from the packaging persp, but their # coexistence causes unexpected results with rpm macros), then we have diff --git a/tests/Sanity/smoke/runtest.sh b/tests/Sanity/smoke/runtest.sh index 0f39938..566e571 100755 --- a/tests/Sanity/smoke/runtest.sh +++ b/tests/Sanity/smoke/runtest.sh @@ -38,6 +38,7 @@ rlJournalStart rlPhaseEnd rlPhaseStartTest + rlRun "rpm -qa | fgrep -e redhat-rpm-config -e gcc -e annobin -e binutils | sort" rlRun "echo 'int main() {return 0;}' | gcc -xc -fplugin=annobin -o /dev/null -" rlPhaseEnd rlJournalPrintText