Commit Graph

104 Commits

Author SHA1 Message Date
Nick Clifton
b6d4688b8a Allow compiler used to run tests to be specified on the command line.
Resolves: 
2019-08-19 10:45:35 +01:00
Nick Clifton
4a6b895755 Fix a memory allocation error in the annobin plugin.
Resolves: 
2019-08-06 15:42:50 +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
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: 
Resolves: 
Resolves: 
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: 
2019-04-24 12:27:15 +01:00
Nick Clifton
276edb1e4f Rebuild annobin with the latest rawhide gcc sources.
Resolves: 
2019-04-18 12:15:30 +01:00
Nick Clifton
6e6ab3bb26 Annobin: Suppress more calls to free() which are triggering memory checker errors.
Resolves: 
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
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
Nick Clifton
c418230648 Annocheck: Only skip specific checks for specific symbols. Annobin: Record the setting of the -fomit-frame-pointer option.
Resolves: 
2019-01-17 10:18:16 +00:00
Nick Clifton
08a082430f Add new sources 2019-01-02 14:24:59 +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. () 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. () 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: 
2018-11-05 17:08:28 +00:00
Nick Clifton
9eeba2575d Skip PPC64 linker stubs created in the middle of text sections (again). () 2018-10-18 15:29:57 +01:00
Nick Clifton
b6fefda299 Suppress free of invalid pointer. () 2018-10-18 13:19:51 +01:00
Nick Clifton
a7bd5f0b0f Skip PPC64 linker stubs created in the middle of text sections. () 2018-10-18 12:03:24 +01:00
Nick Clifton
0b540ceed9 Add new sources 2018-10-18 10:40:33 +01:00
Nick Clifton
31fd1dfa5c Also skip virtual thinks created by G++. () 2018-10-11 16:11:08 +01:00
Nick Clifton
a4ffb9c75e Use uppercase for all fail/mayb/pass results. () 2018-10-10 18:14:55 +01:00
Nick Clifton
28d895fe9d Generate notes for unlikely sections. () 2018-10-10 16:50:29 +01:00
Nick Clifton
863cedb167 Fix edge case computing section names for end symbols. () 2018-10-08 17:13:56 +01:00
Nick Clifton
66bc6309ff Skip dynamic checks for binaries without a dynamic segment. () 2018-10-08 10:42:53 +01:00
Nick Clifton
1750e06470 - Delay generating attach_to_group directives until the end of the compilation. ()
- 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.   ()
2018-10-05 12:22:45 +01:00
Nick Clifton
f0f59cd27a Update sources. 2018-10-03 09:42:30 +01:00
Nick Clifton
fa19a50b6c Skip compiler option checks for non-GNU producers. ()
Fix function section support (again).   ()
Ignore ppc64le notes where start = end + 2.  ()
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.  ()
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. () 2018-09-17 14:47:45 +01:00
Nick Clifton
62a035e246 Ensure 4 byte alignment of note sub-sections.
Resolves: 
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.  ()
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
665e3d6465 Skip gaps at the end of functions. () 2018-08-22 11:50:15 +01:00
Nick Clifton
1fa3a94195 Fix thinko in ppc64 gap detection code.
Resolves: 
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: 
2018-08-08 09:30:17 +01:00