Commit Graph

221 Commits

Author SHA1 Message Date
Nick Clifton 4c77fc39e7 Fix debuginfod test. 2020-01-31 12:05:43 +00:00
Nick Clifton 30290e7bd6 Correct the build requirement for building with debuginfod support. 2020-01-30 17:18:38 +00:00
Nick Clifton 3317ae10db Add support for debuginfod (disabled by default) 2020-01-30 16:48:12 +00:00
Fedora Release Engineering b22155004c - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-28 11:36:19 +00:00
Nick Clifton 23baf8b1d3 Disable annobin whilst building annobin - in order to allow it to be rebuilt 2020-01-24 11:19:26 +00:00
Nick Clifton 3755b69778 NVR bumo 2020-01-24 10:54:37 +00:00
Nick Clifton 980573dc2e Add experimental clang plugin and rebuild with gcc-10. 2020-01-20 12:38:03 +00:00
Nick Clifton 476968a31a Version bump in order to allow rebuilding with gcc-10. 2020-01-20 11:38:51 +00:00
Nick Clifton 8997d89f3d Have annocheck ignore notes with an end address of 0. 2019-12-06 14:43:08 +00:00
Nick Clifton 27da4aee96 Improve checking of gcc versions. 2019-11-18 17:37:38 +00:00
Nick Clifton df1c169d82 oops - set correct NVR. 2019-11-15 16:04:03 +00:00
Nick Clifton 9f8f0cdd01 Annocheck: Do not skip positive results. 2019-11-15 15:59:54 +00:00
Nick Clifton d97bf868e7 Generate a WARN result for code compiled with instrumentation enabled.
Relates: #1753918
2019-11-01 13:58:20 +00:00
Nick Clifton fff201eb4f Replace address checks with dladdr1. 2019-10-22 16:55:27 +01:00
Nick Clifton 046883693b Use libabigail like checking to ensure variable address consistency. 2019-10-21 16:51:56 +01:00
Nick Clifton 07e0a5ab8f Skip generation of global notes for hot/cold sections. 2019-10-16 16:35:21 +01:00
Nick Clifton 59663eb6dc Generate FAIL results if -Wall or -Wformat-security are missing. 2019-10-10 14:40:50 +01:00
Nick Clifton c240981e82 - If notes cannot be found in the executable look for them in the debuginfo file, if available.
- Generate a FAIL if notes are missing from the executable/debuginfo file.
- Record and report the setting of the AArcht64 specific -mbranch-protection option.
2019-10-04 07:59:55 +01:00
Nick Clifton af41c06a9f Improve detection of GO binaries.
Add gcc version information to annobin notes.
Do not complain about missing FORTIFY_SOURCE and GLIBCXX_ASSERTIONS in LTO compilations.
2019-09-23 13:39:55 +01:00
Nick Clifton 16503862ea NVR bump to allow rebuild against latest gcc.
Resolves: #1748529
2019-09-04 08:30:12 +01:00
Nick Clifton b6d4688b8a Allow compiler used to run tests to be specified on the command line.
Resolves: #1723401
2019-08-19 10:45:35 +01:00
Nick Clifton 4a6b895755 Fix a memory allocation error in the annobin plugin.
Resolves: #1737306
2019-08-06 15:42:50 +01:00
Fedora Release Engineering 978810c39d - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-24 17:55:36 +00:00
Nick Clifton 4e1b84e3cd Fix merge problems. 2019-06-24 14:23:30 +01:00
Nick Clifton 03aecabbfb Another attempt at fixing the detection and reporting of missing -D_FORTIFY_SOURCE options. 2019-06-24 14:22:11 +01:00
Igor Gnatenko b20fc42978
Rebuild for RPM 4.15
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2019-06-11 00:13:17 +02:00
Igor Gnatenko 2fca1e28f8
Rebuild for RPM 4.15
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2019-06-10 17:42:00 +02:00
Igor Gnatenko 16c7d0f3f2
Small and trivial spec cleanups
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2019-06-10 17:11:24 +02:00
Panu Matilainen fcc5d2b097 Really enable annocheck sub-package
Commit 4656334c92 supposedly added
annocheck as a sub-package but is missing the corresponding %files
section, which causes the whole sub-package to be ignored and annocheck
ending up in the main annobin package. Which creates a nasty "bootstrap"
dependency issue for compilation when rpm soname changes.
2019-06-06 11:06:43 +03:00
Nick Clifton 94317b5194 Report a missing -D_FORTIFY_SOUCRE option if -D_GLIBCXX_ASSERTIONS was detected. Do not report problems with -fstack-protection if the binary was not built by gcc or clang.
Resolves: #1703788
Resolves: #1703499
Resolves: #1703500
2019-04-30 15:48:33 +01:00
Nick Clifton 64b0875430 Add tests of clang command line options recorded in the DW_AT_producer attribute. 2019-04-26 13:16:53 +01:00
Nick Clifton eeb41d947f Fix test for an executable stack segment.
Resolves: #1700924
2019-04-24 12:27:15 +01:00
Nick Clifton 276edb1e4f Rebuild annobin with the latest rawhide gcc sources.
Resolves: #1700923
2019-04-18 12:15:30 +01:00
Nick Clifton 6e6ab3bb26 Annobin: Suppress more calls to free() which are triggering memory checker errors.
Resolves: #1684148
2019-02-28 15:51:40 +00:00
Nick Clifton e7dabf64aa Add section flag matching ability to section size tool. 2019-02-01 15:23:41 +00:00
Fedora Release Engineering cbc345947e - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-01-31 13:20:17 +00:00
Björn Esser a406d384be
Use with for rich dependency on gcc. 2019-01-29 11:26:55 +01:00
Björn Esser e0d9656b63
Fix build of srpm. 2019-01-29 11:20:37 +01:00
Björn Esser 5524770463
Really fix rhbz#1607430. 2019-01-29 11:06:30 +01:00
Björn Esser 9265fb5b34
Rebuilt with annotations enabled 2019-01-28 19:04:45 +01:00
Björn Esser c199efec9c
Disable annotated build 2019-01-28 19:03:16 +01:00
Björn Esser fbf6e93ffc
Fix rpm query for gcc version 2019-01-28 19:00:38 +01:00
Nick Clifton dc77d4f997 Add BZ number to changelog. 2019-01-28 16:48:37 +00:00
Nick Clifton a8a0b58356 Add an exact requirement on the major version of gcc.
Resolves:  #1607430
2019-01-28 16:47:39 +00:00
Nick Clifton 443440ae4a Annobin: Add support for .text.startup and .text.exit sections generated by gcc 9.
Annocheck: Add a note displaying tool.
2019-01-24 15:47:34 +00:00
Nick Clifton 16e73c5719 Annocheck: Skip checks for -D_FORTIFY_SOURCE and -D_GLIBCXX_ASSERTIONS if there is no compiler generated code in the binary. 2019-01-23 13:57:56 +00:00
Björn Esser e1bf6de1fa
Rebuilt with annotations enabled 2019-01-21 12:04:50 +01:00
Björn Esser aac7af99b5
Disable annotated build 2019-01-21 12:03:16 +01:00
Björn Esser 1e95c472c2
Rebuilt for GCC 9 2019-01-21 11:54:35 +01:00
Nick Clifton c418230648 Annocheck: Only skip specific checks for specific symbols. Annobin: Record the setting of the -fomit-frame-pointer option.
Resolves: #1666823
2019-01-17 10:18:16 +00:00
Nick Clifton 61981bee0e Annocheck: Do not ignore -Og when checking to see if an optimization level has been set. (#1624162) 2019-01-02 13:54:48 +00:00
Nick Clifton a4538d86c6 Annobin: Fix handling of multiple .text.unlikely sections. 2018-12-11 09:59:46 +00:00
Nick Clifton 60a01e9fa2 Annocheck: Skip gaps in PPC64 executables covered by start_bcax_ symbols. 2018-11-30 16:02:59 +00:00
Nick Clifton dbdec1ad35 Annocheck: Disable ENDBR test for shared libraries. (#1652925) 2018-11-26 15:05:19 +00:00
Nick Clifton 1a9432d76e Annocheck: Add test for ENDBR instruction at entry address of x86/x86_64 executables. (#1652925) 2018-11-26 14:17:58 +00:00
Nick Clifton d3a48b47e3 Fix building with gcc version 4. 2018-11-19 12:06:27 +00:00
Nick Clifton eef6b3c65b Skip -Wl,-z,now and -Wl,-z,relro checks for non-gcc produced binaries. 2018-11-13 13:20:17 +00:00
Nick Clifton 819496e5f7 Ensure GNU Property notes are 8-byte aligned in x86_64 binaries.
Resolves: #1645817
2018-11-05 17:08:28 +00:00
Nick Clifton 9eeba2575d Skip PPC64 linker stubs created in the middle of text sections (again). (#1630640) 2018-10-18 15:29:57 +01:00
Nick Clifton b6fefda299 Suppress free of invalid pointer. (#1638371) 2018-10-18 13:19:51 +01:00
Nick Clifton a7bd5f0b0f Skip PPC64 linker stubs created in the middle of text sections. (#1630640) 2018-10-18 12:03:24 +01:00
Nick Clifton 107f5ddd12 Skip PPC64 linker stubs created in the middle of text sections.
Reset the (PPC64) section start symbol to 0 if its section is empty.  (#1638251)
2018-10-16 15:37:17 +01:00
Nick Clifton 31fd1dfa5c Also skip virtual thinks created by G++. (#1630619) 2018-10-11 16:11:08 +01:00
Nick Clifton a4ffb9c75e Use uppercase for all fail/mayb/pass results. (#1637706) 2018-10-10 18:14:55 +01:00
Nick Clifton 28d895fe9d Generate notes for unlikely sections. (#1630620) 2018-10-10 16:50:29 +01:00
Nick Clifton 863cedb167 Fix edge case computing section names for end symbols. (#1637039) 2018-10-08 17:13:56 +01:00
Nick Clifton 66bc6309ff Skip dynamic checks for binaries without a dynamic segment. (#1636606) 2018-10-08 10:42:53 +01:00
Nick Clifton 1750e06470 - Delay generating attach_to_group directives until the end of the compilation. (#1636265)
- Fix bug introduced in previous delta which would trigger a seg-fault when scanning for gaps.
- Annobin:   Fix section name selection for startup sections.
- Annocheck: Improve gap skipping heuristics.   (#1630574)
2018-10-05 12:22:45 +01:00
Nick Clifton 5b660fd112 Fix function section support (again). (#1630574) 2018-10-03 09:37:55 +01:00
Nick Clifton fa19a50b6c Skip compiler option checks for non-GNU producers. (#1633749)
Fix function section support (again).   (#1630574)
Ignore ppc64le notes where start = end + 2.  (#1632259)
2018-10-01 10:01:11 +01:00
Nick Clifton 50a4793ba2 Make annocheck ignore symbols suffixed with ".end". 2018-09-25 10:17:37 +01:00
Nick Clifton 740bbaa891 Tweak tests. 2018-09-21 21:34:13 +01:00
Nick Clifton 2cdf84f0b4 Generate notes and groups for .text.hot and .text.unlikely sections.
When -ffunction-sections is active, put notes for startup sections into .text.startup.foo rather than .text.foo.
Similarly put exit section notes into .text.exit.foo.  (#1630574)
Change annocheck's maybe result for GNU Property note being missing into a PASS if it is not needed and a FAIL if it is needed.
2018-09-21 18:43:52 +01:00
Nick Clifton 97b046a1ec Make the --skip-* options skip all messages about the specified test. 2018-09-19 15:43:54 +01:00
Nick Clifton 98aa3b8d59 Improve error message when an ET_EXEC binary is detected. 2018-09-18 11:41:21 +01:00
Nick Clifton 00645328fd Skip failures for PIC vs PIE. (#1629698) 2018-09-17 14:47:45 +01:00
Nick Clifton 62a035e246 Ensure 4 byte alignment of note sub-sections.
Resolves: #1629671
2018-09-17 11:40:50 +01:00
Nick Clifton 38c6f9ee42 Add timing tool to report on speed of the checks.
Add check for conflicting use of the -fshort-enum option.
Add check of the GNU Property notes.
Skip check for -O2 if compiled with -Og.  (#1624162)
2018-09-12 14:27:41 +01:00
Nick Clifton 3218a502f3 Add test for ET_EXEC binaries.
Document --report-unknown option.
2018-09-03 16:45:27 +01:00
Nick Clifton a241ed8b29 - Fix bug in hardened tool which would skip gcc compiled files if the notes were too small.
- Fix bugs in section-size tool.
- Fix bug in buillt-by tool.
2018-08-30 11:59:48 +01:00
Nick Clifton ccb481d55d Generate notes for comdat sections. 2018-08-29 11:09:02 +01:00
Nick Clifton 59960d354a Add more names to the gap skip list. 2018-08-23 14:07:31 +01:00
Nick Clifton f8f44e9346 Skip gaps covered by _x86.get_pc_thunk and _savegpr symbols.
Merge ranges where one is wholly covered by another.
2018-08-23 11:33:37 +01:00
Nick Clifton 665e3d6465 Skip gaps at the end of functions. (#1619267) 2018-08-22 11:50:15 +01:00
Nick Clifton 1fa3a94195 Fix thinko in ppc64 gap detection code.
Resolves: #1619267
2018-08-21 08:58:31 +01:00
Nick Clifton 4482b57ec2 Skip gaps at the end of the .text section in ppc64 binaries. 2018-08-20 14:26:52 +01:00
Nick Clifton c396cc5131 Skip checks in stack_chk_local_fail.c
Treat gaps as FAIL results rather than MAYBE.
2018-08-15 09:51:54 +01:00
Nick Clifton 34de7bcad3 Skip checks in __stack_chk_local_fail. 2018-08-08 13:43:37 +01:00
Nick Clifton 57a69d60c2 Reduce version check to gcc major version number only.
Skip compiler option checks if binary not built with gcc.
Relates: #1603089
2018-08-08 09:30:17 +01:00
Nick Clifton a8c8418bed Fix bug in annobin plugin. Add --section-size=NAME option to annocheck. 2018-08-07 15:21:37 +01:00
Peter Robinson 2f44ce6b02 rebuild for new gcc 2018-08-02 14:01:05 +01:00
Nick Clifton 504e1b0577 Correct name of man page for run-on-binaries-in script.
Resolves: #1611155
2018-08-02 09:51:33 +01:00
Nick Clifton f7e6bb686b Allow $ORIGN to be at the start of entries in DT_RPATH and DT_RUNPATH. 2018-07-25 11:25:11 +01:00
Nick Clifton 848d99efa7 Add support for big endian targets. 2018-07-23 17:40:07 +01:00
Nick Clifton 38eb35a4e9 Count passes and failures on a per-component basis and report gaps. 2018-07-23 16:23:55 +01:00
Nick Clifton 9dbf46e911 Use our own copy of the targetm.asm_out.function_section() function. (#159861 comment#17) 2018-07-20 12:57:43 +01:00
Nick Clifton baf40aa7ca Generate grouped note section name all the time. (#159861 comment#16) 2018-07-20 10:50:18 +01:00
Nick Clifton d3e4501372 Fix section conflict problem.
Resolves: #1603071
2018-07-19 12:25:41 +01:00
Nick Clifton c4f43f0cbb Fix for building with gcc version 4.
Fix symbol placement in functions with local assembler.
2018-07-18 15:24:48 +01:00
Nick Clifton cc6b631f3a Fix assertions in rnage checking code. Add detection of -U options. 2018-07-17 18:06:21 +01:00