]>
sourceware.org Git - annobin.git/log
Nick Clifton [Tue, 6 Aug 2019 14:35:41 +0000 (15:35 +0100)]
Fix a memory allocation error in the annobin plugin.
Resolves: #
1737306
Nick Clifton [Mon, 24 Jun 2019 12:58:46 +0000 (13:58 +0100)]
8.77:
annobin:
Always record -D_FORTIFY_SOURCE and -D_GLIBCXX_ASSERTIONS.
annocheck:
FAIL if -D_FORTIFY_SOURCE is missing.
Improve failure message for missing GNU Property note.
Nick Clifton [Tue, 30 Apr 2019 14:35:28 +0000 (15:35 +0100)]
annocheck: Also fail if -D_FORTIFY_SOURCE is present by -D_GLIBCXX_ASSERTIONS is not.
Nick Clifton [Tue, 30 Apr 2019 14:24:04 +0000 (15:24 +0100)]
8.76: Annocheck: Add detection of non-gcc code producers. Report missing -D_FORTIFY_SOURCE if -D_GLIBCXX_ASSERTIONS was detected.
Nick Clifton [Fri, 26 Apr 2019 12:03:31 +0000 (13:03 +0100)]
8.74: annocheck: Add checks of command line options recorded by clang in the DW_AT_producer tag.
Nick Clifton [Wed, 24 Apr 2019 11:17:57 +0000 (12:17 +0100)]
Annocheck: Fix test for GNU_STACK segment being executable. (#
1700924 )
Nick Clifton [Thu, 18 Apr 2019 11:03:46 +0000 (12:03 +0100)]
8.72: Minor debugging improvements.
Nick Clifton [Thu, 28 Mar 2019 12:55:28 +0000 (12:55 +0000)]
clang plugin: added reporting function
Nick Clifton [Thu, 28 Mar 2019 11:53:37 +0000 (11:53 +0000)]
Start work on a plugin for clang
Nick Clifton [Thu, 28 Feb 2019 15:42:41 +0000 (15:42 +0000)]
8.71: annobin: Suppress more calls to free() that are triggering memory check errors
Nick Clifton [Thu, 21 Feb 2019 16:00:38 +0000 (16:00 +0000)]
Improve a few error & warning messages
Nick Clifton [Fri, 1 Feb 2019 15:12:25 +0000 (15:12 +0000)]
Annocheck: Extend section size tool to allow for searching for sections or segments that match specific flags.
Nick Clifton [Thu, 24 Jan 2019 15:40:46 +0000 (15:40 +0000)]
Add in config/test-driver file
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 [Wed, 23 Jan 2019 13:33:55 +0000 (13:33 +0000)]
8.68: Annocheck: Skip tests for -D_FORTIFY_SOURCE and -D_GLIBCXX_ASSERTIONS if no non-zero length compiled files are seen.
Nick Clifton [Thu, 17 Jan 2019 10:07:46 +0000 (10:07 +0000)]
Version 8.67
Annobin: Add recording of -fomit-frame-pointer option.
Annocheck: BZ
1666823 : Only skip specific tests for specific symbols.
Nick Clifton [Wed, 9 Jan 2019 16:38:06 +0000 (16:38 +0000)]
Fix typo in the prefix for cold sections.
Nick Clifton [Wed, 2 Jan 2019 13:23:18 +0000 (13:23 +0000)]
Annocheck: Do not ignore -Og when checking to see if an optimization level has been set.
Nick Clifton [Tue, 11 Dec 2018 09:52:43 +0000 (09:52 +0000)]
8.65: Additional: Annobin: Do not create new section for end symbols if we are reversing symbol biasing.
Nick Clifton [Tue, 11 Dec 2018 09:44:10 +0000 (09:44 +0000)]
8.65: Additional: Annobin: Remove unused code.
Nick Clifton [Tue, 11 Dec 2018 09:33:28 +0000 (09:33 +0000)]
8.65: Fix handling of multiple cold sections.
Nick Clifton [Fri, 30 Nov 2018 15:54:01 +0000 (15:54 +0000)]
8.64: Skip PPC64 gaps covered by start_bcax symbols.
Nick Clifton [Mon, 26 Nov 2018 14:07:09 +0000 (14:07 +0000)]
Fix building on 32-bit systems.
Nick Clifton [Mon, 26 Nov 2018 10:56:34 +0000 (10:56 +0000)]
annocheck: Add test for an ENDBR instruction at the entry point for x86/x86_64 executables.
Nick Clifton [Tue, 13 Nov 2018 13:02:54 +0000 (13:02 +0000)]
Suppres -Wl,-z,now and -Wl,-z,relro checks for non-gcc (ie GO) produced binaries.
Nick Clifton [Mon, 5 Nov 2018 16:51:59 +0000 (16:51 +0000)]
Use 8-byte alignment for x86_64 GNU Property notes.
Nick Clifton [Thu, 18 Oct 2018 14:13:32 +0000 (15:13 +0100)]
annocheck: if a gap is found, check for a symbol in the middle of the gap too.
Nick Clifton [Thu, 18 Oct 2018 12:10:06 +0000 (13:10 +0100)]
annobin: Suppress a call to free() as it is triggering a memory fault.
Nick Clifton [Thu, 18 Oct 2018 10:50:03 +0000 (11:50 +0100)]
annocheck: Fix detection of ppc64le plt stubs.
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 [Thu, 11 Oct 2018 15:03:21 +0000 (16:03 +0100)]
annocheck: Skip virtual thinks.
annocheck: Add -f flag to rm command used to delete temporary directories.
Nick Clifton [Wed, 10 Oct 2018 17:05:17 +0000 (18:05 +0100)]
Increment version number
Nick Clifton [Wed, 10 Oct 2018 17:03:57 +0000 (18:03 +0100)]
Change "fail" to "FAIL" in hardende output. Likewise for other result types. Make all the informative messages verbose only.
Nick Clifton [Wed, 10 Oct 2018 15:41:43 +0000 (16:41 +0100)]
Rework function section name and symbol caching.
Generate notes for unlikely sections.
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 [Mon, 8 Oct 2018 16:04:43 +0000 (17:04 +0100)]
Fix snafu generating section name for end of function syms.
Nick Clifton [Mon, 8 Oct 2018 09:32:02 +0000 (10:32 +0100)]
Skip dynamic checks (-z,now and -z,relro) for binaries without a dynamic segment.
Nick Clifton [Fri, 5 Oct 2018 10:54:15 +0000 (11:54 +0100)]
Delay generating attach_to_group directives until the end of the compilation.
Nick Clifton [Thu, 4 Oct 2018 16:21:39 +0000 (17:21 +0100)]
Fix seg-fault in hardende.
Nick Clifton [Thu, 4 Oct 2018 13:20:17 +0000 (14:20 +0100)]
Update minor version number.
Nick Clifton [Thu, 4 Oct 2018 13:18:18 +0000 (14:18 +0100)]
Annobin: Fix section name selection for startup sections.
Annocheck: Improve gap skipping heuristics.
Nick Clifton [Mon, 1 Oct 2018 16:36:05 +0000 (17:36 +0100)]
Improve detection of COMDAT sections
Nick Clifton [Mon, 1 Oct 2018 12:16:44 +0000 (13:16 +0100)]
Add sources for retpoline checker
Nick Clifton [Fri, 28 Sep 2018 12:07:40 +0000 (13:07 +0100)]
Tweak assembler test
Nick Clifton [Fri, 28 Sep 2018 11:25:18 +0000 (12:25 +0100)]
Fix assembler test
Nick Clifton [Fri, 28 Sep 2018 10:53:34 +0000 (11:53 +0100)]
Use DWARF debug information to detect non-GNU tools as the DW_AT_producer, and skip compiler specific tests.
Update tests.
Nick Clifton [Wed, 26 Sep 2018 12:52:55 +0000 (13:52 +0100)]
Fix COMDAT section support
Nick Clifton [Wed, 26 Sep 2018 10:06:59 +0000 (11:06 +0100)]
Use .attach_to_group to attach a text section to a note group.
Nick Clifton [Tue, 25 Sep 2018 16:15:51 +0000 (17:15 +0100)]
Annocheck: Allow for +2 bias in PPC64 start symbols.
Nick Clifton [Tue, 25 Sep 2018 08:49:40 +0000 (09:49 +0100)]
Annocheck: Also skip symbols ending with .end.
Nick Clifton [Mon, 24 Sep 2018 13:50:52 +0000 (14:50 +0100)]
Add --rename option to plugin to add an extra prefix to symbol generation.
Nick Clifton [Fri, 21 Sep 2018 20:33:10 +0000 (21:33 +0100)]
More test tweaks
Nick Clifton [Fri, 21 Sep 2018 19:36:01 +0000 (20:36 +0100)]
Fix compile time errors in plugin.
Tweak testsuite.
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 [Wed, 19 Sep 2018 14:35:43 +0000 (15:35 +0100)]
Fix hardened checker so that test skipping skips all messages related to that test.
Nick Clifton [Mon, 17 Sep 2018 12:40:40 +0000 (13:40 +0100)]
Add a couple more files to the skip list.
Skip PIC failure messages.
Nick Clifton [Mon, 17 Sep 2018 10:32:52 +0000 (11:32 +0100)]
Add 4 byte alignment directive when creating note sub-sections.
Nick Clifton [Wed, 12 Sep 2018 13:28:27 +0000 (14:28 +0100)]
Bug fixes for recent update
Nick Clifton [Wed, 12 Sep 2018 12:08:16 +0000 (13:08 +0100)]
Add timing tool.
Add check of -fshort-enum.
Add check of GNU Property notes.
Update documentation and tests.
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 [Thu, 30 Aug 2018 10:40:55 +0000 (11:40 +0100)]
hardened: scan .comment section for compiler type in case the notes are insufficient.
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 [Wed, 29 Aug 2018 16:20:21 +0000 (17:20 +0100)]
Fix bug in buillt-by tool which would prevent it from reporting the name of a builder if it matched the name in a previous file.
Nick Clifton [Wed, 29 Aug 2018 10:04:17 +0000 (11:04 +0100)]
annobin: Detect comdat functions and create notes for them.
annocheck: Better temporary directory deletion. Default to ingnoring unknowns.
Nick Clifton [Thu, 23 Aug 2018 13:03:25 +0000 (14:03 +0100)]
Add more function names to list of those to be skipped for gap checks.
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, 22 Aug 2018 10:44:41 +0000 (11:44 +0100)]
Skip gaps at the end of functions
Nick Clifton [Tue, 21 Aug 2018 07:49:15 +0000 (08:49 +0100)]
Fix thinko in ppc64 plt stub detection code
Nick Clifton [Mon, 20 Aug 2018 13:15:19 +0000 (14:15 +0100)]
Skip gap at end of ppc64 .text section
Nick Clifton [Wed, 15 Aug 2018 08:45:20 +0000 (09:45 +0100)]
Make gaps be treated as failures
Nick Clifton [Wed, 15 Aug 2018 08:38:22 +0000 (09:38 +0100)]
Add stack_chk_local_fail.c to the list of skipped 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 [Thu, 2 Aug 2018 08:33:47 +0000 (09:33 +0100)]
Rename doc file run-on-binaries.1 to run-on-binaries-in.1
Nick Clifton [Mon, 23 Jul 2018 16:42:09 +0000 (17:42 +0100)]
Add support for big endian targets
Nick Clifton [Mon, 23 Jul 2018 16:03:34 +0000 (17:03 +0100)]
Add big endian support to annocheck
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 [Fri, 20 Jul 2018 11:46:56 +0000 (12:46 +0100)]
Replace call to targetm.asm_out.function_section with our own puplicate of the code that it would call.
Nick Clifton [Fri, 20 Jul 2018 09:41:23 +0000 (10:41 +0100)]
Generate group'ed attribute section straight away, rather then after the notes have been created.
Nick Clifton [Fri, 20 Jul 2018 08:19:59 +0000 (09:19 +0100)]
possible fix for duplicate sections bug
Nick Clifton [Fri, 20 Jul 2018 08:01:48 +0000 (09:01 +0100)]
possible fix for duplicate sections bug
Nick Clifton [Thu, 19 Jul 2018 11:09:48 +0000 (12:09 +0100)]
possible fix for section conflict problem
Nick Clifton [Wed, 18 Jul 2018 14:07:24 +0000 (15:07 +0100)]
Fix for building with gcc v4. Fix note corruption
Nick Clifton [Tue, 17 Jul 2018 17:02:05 +0000 (18:02 +0100)]
Fix asserts in range checks. Add detection of -U options
Nick Clifton [Tue, 17 Jul 2018 14:36:16 +0000 (15:36 +0100)]
GAP detection improvements
Nick Clifton [Tue, 17 Jul 2018 13:30:42 +0000 (14:30 +0100)]
Add support for startup and unlikely sections
Nick Clifton [Tue, 17 Jul 2018 12:04:23 +0000 (13:04 +0100)]
Interim commit - now works with function sections, but not startup or cold sections
Nick Clifton [Thu, 12 Jul 2018 08:46:55 +0000 (09:46 +0100)]
Fix construction of absolute versions of --dwarf-dir and --debug-rpm options.
Nick Clifton [Tue, 10 Jul 2018 13:38:05 +0000 (14:38 +0100)]
Fix silly buffer overflow bug.
Nick Clifton [Tue, 10 Jul 2018 09:08:35 +0000 (10:08 +0100)]
Do not force the generation of function notes when flag_function_sections is enabled - it breaks some packages.
Nick Clifton [Mon, 9 Jul 2018 16:10:39 +0000 (17:10 +0100)]
Skip the .annobin_ prefix when retrieving symbols for address ranges.
Nick Clifton [Mon, 9 Jul 2018 11:36:39 +0000 (12:36 +0100)]
Use assembler version of the function section name when creating local notes.
Nick Clifton [Mon, 9 Jul 2018 11:15:25 +0000 (12:15 +0100)]
Do not call function_section() it can lead to problems with section conflicts.
Nick Clifton [Fri, 6 Jul 2018 10:59:09 +0000 (11:59 +0100)]
Fix gap detection code to ignore cross-section gaps.
Nick Clifton [Thu, 5 Jul 2018 09:40:11 +0000 (10:40 +0100)]
Do not skip empty range notes in object files.
Refact function note generation to allow for function sections.
Nick Clifton [Thu, 28 Jun 2018 12:04:19 +0000 (13:04 +0100)]
Use a prefix for all annobin symbols.
Hide all annobin symbols.
Only generate weak symbol definitions for linkonce code.
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 [Fri, 22 Jun 2018 14:31:11 +0000 (15:31 +0100)]
Use --dwarf-dir when searching for build-id based debuginfo giles
Nick Clifton [Fri, 22 Jun 2018 10:16:32 +0000 (11:16 +0100)]
Fix premature closing of dwatf handle
This page took 0.05792 seconds and 5 git commands to generate.