Nick Clifton [Thu, 24 Jan 2019 15:24:35 +0000 (15:24 +0000)]
8.69:
Annobin: Add support for .text.startup and .text.exit sections.
Annobin: Put global notes into all global note sections.
Annobin: Remove spurious period character in note section name.
Annocheck: Add notes display tool.
Nick Clifton [Tue, 16 Oct 2018 11:47:15 +0000 (12:47 +0100)]
annobin: Add code to reset size of section start symbol in empty sections on ppc64le.
annocheck: Skip virtual thunks.
retcheck: Add code to support IBT PLT stub detection.
Nick Clifton [Wed, 10 Oct 2018 10:18:42 +0000 (11:18 +0100)]
annobin: Add active-checks option to enable compile time tests. Add test and documentation.
annobin: Fix bug generating group name for hot and cold groups.
annocheck: Improve wording for skipped tests.
Nick Clifton [Fri, 21 Sep 2018 17:03:20 +0000 (18:03 +0100)]
Annobin:
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.
Annocheck:
Update version to 8.38
Change maybe result for GNU Property note being missing into a PASS if it is not needed and a FAIL if it is needed.
Update tests to take into account these changes.
Nick Clifton [Mon, 3 Sep 2018 15:18:54 +0000 (16:18 +0100)]
Hardened:
Add test for ET_EXEC binaries.
Skip gap test if not built by gcc.
Document how to add new tests.
Annocheck:
Document how to add new tools.
Document --report-unknown option.
Change version number to 8.32.
Nick Clifton [Wed, 29 Aug 2018 16:39:10 +0000 (17:39 +0100)]
Fix bugs in section-size tool:
The "--section-size FOO" option will now work, (ie without the = sign).
The tool will notice and report sections that exist but which are empty.
Nick Clifton [Thu, 23 Aug 2018 10:27:17 +0000 (11:27 +0100)]
Demangle c++ mangled function names when reporting gaps.
Ignore small gaps.
Merge ranges when one is wholly covered by another.
Ignore gaps covered by _savegpr* or __x86.get_pc_thunk symbols.
Nick Clifton [Wed, 8 Aug 2018 12:35:16 +0000 (13:35 +0100)]
Quote rpm names when invoking system() as they may contain shell filename expansion characters.
Skip PIC checks for special functions.
Add __stack_chk_local_fail to the list of special functions.
Nick Clifton [Wed, 8 Aug 2018 08:20:36 +0000 (09:20 +0100)]
Change annobin plugin to only report an incompatibility if the major gcc version numbers differ.
Fix hardened checker to ignore compilation flag tests if the binary was not built with gcc.
Fix builtby tool to only report each kind of builder once.
Nick Clifton [Tue, 7 Aug 2018 14:11:30 +0000 (15:11 +0100)]
Fix bug in annobin plugin which would generate bogus assembler symbol names if static notes were not being generated.
Add new tool to annocheck = a section size calculator.
Add tests and documentation for the new tool.
Nick Clifton [Mon, 23 Jul 2018 14:36:42 +0000 (15:36 +0100)]
Record absence of FORTIFY_SOURCE and GLIBCXX_ASSERTIONS in the notes.
Count passes and fails for each component and report if some components pass but others do not.
Nick Clifton [Mon, 25 Jun 2018 15:18:45 +0000 (16:18 +0100)]
Add --debug-rpm=<file> option to annocheck.
Skip known glibc startup files when performing some hardening checks.
Look in symbol table in separate debug info files for even better symbol lookup
In annobin plugin make the initial symbol offset target specific, and only a value of 2 for PowerPC.
Nick Clifton [Wed, 6 Jun 2018 11:36:51 +0000 (12:36 +0100)]
Import eu-checksec program into annobin.
Rename to annocheck.
Add documentation.
Update testsuite to use it.
Fix minor bugs exposed by using annocheck.
Fix exit codes for scripts.