]> sourceware.org Git - annobin.git/log
annobin.git
4 years agoFix potential illegal memory access in hardended
Nick Clifton [Mon, 20 Jan 2020 12:24:21 +0000 (12:24 +0000)]
Fix potential illegal memory access in hardended

4 years agoAdd includeds of annobin-global.h to arch specific plugin components
Nick Clifton [Mon, 20 Jan 2020 12:14:11 +0000 (12:14 +0000)]
Add includeds of annobin-global.h to arch specific plugin components

4 years agoFix compile time warning messages in gcc plugin from gcc-10
Nick Clifton [Mon, 20 Jan 2020 12:03:16 +0000 (12:03 +0000)]
Fix compile time warning messages in gcc plugin from gcc-10

4 years agoMore clang plugin improvements
Nick Clifton [Thu, 16 Jan 2020 16:39:33 +0000 (16:39 +0000)]
More clang plugin improvements

4 years agoAdd another clang plugin note
Nick Clifton [Wed, 15 Jan 2020 12:59:15 +0000 (12:59 +0000)]
Add another clang plugin note

4 years ago9.01: Move version number into global header file.
Nick Clifton [Thu, 12 Dec 2019 21:18:51 +0000 (21:18 +0000)]
9.01: Move version number into global header file.
Add real note generation to clang plugin.

4 years ago8.92: Annocheck: Ignore notes with an end address of 0.
Nick Clifton [Fri, 6 Dec 2019 14:32:33 +0000 (14:32 +0000)]
8.92: Annocheck: Ignore notes with an end address of 0.

4 years agoFix configure tests and add check for rpm libraries.
Serge Guelton [Mon, 2 Dec 2019 11:45:06 +0000 (11:45 +0000)]
Fix configure tests and add check for rpm libraries.

4 years agoAdd roptool like check for JCC vulnerability.
Nick Clifton [Tue, 26 Nov 2019 13:24:46 +0000 (13:24 +0000)]
Add roptool like check for JCC vulnerability.

4 years agoInitial commit of an actually working clang plugin
Nick Clifton [Thu, 21 Nov 2019 14:39:56 +0000 (14:39 +0000)]
Initial commit of an actually working clang plugin

4 years ago8.91: Annocheck: Fix gcc version checks in tool note parser
Nick Clifton [Sat, 16 Nov 2019 17:56:50 +0000 (17:56 +0000)]
8.91: Annocheck: Fix gcc version checks in tool note parser

4 years ago8.90: Annocheck: Do not skip positive tests
Nick Clifton [Fri, 15 Nov 2019 15:58:32 +0000 (15:58 +0000)]
8.90: Annocheck: Do not skip positive tests

4 years ago8.89: Fix for building plugin on RHEL7
Nick Clifton [Mon, 4 Nov 2019 11:12:40 +0000 (11:12 +0000)]
8.89: Fix for building plugin on RHEL7

4 years ago8.88:
Nick Clifton [Fri, 1 Nov 2019 13:48:54 +0000 (13:48 +0000)]
8.88:
Annobin: Record setting of instrumentation options (if any have been enabled).
Annocheck: Generate a warning if an instrumentation note is detected.

4 years agoReplace address checking code with dladdr1().
Nick Clifton [Tue, 22 Oct 2019 16:03:04 +0000 (17:03 +0100)]
Replace address checking code with dladdr1().

4 years ago8.86: annonbin: Add libabigail-like checks for specific variables.
Nick Clifton [Mon, 21 Oct 2019 15:51:10 +0000 (16:51 +0100)]
8.86: annonbin: Add libabigail-like checks for specific variables.

4 years agoLatest libabigail work
Nick Clifton [Mon, 21 Oct 2019 13:19:49 +0000 (14:19 +0100)]
Latest libabigail work

4 years ago8.85: annobin: Skip global notes for hot and cold sections.
Nick Clifton [Wed, 16 Oct 2019 15:25:35 +0000 (16:25 +0100)]
8.85: annobin: Skip global notes for hot and cold sections.

4 years agoTweak warnings check
Nick Clifton [Thu, 10 Oct 2019 13:28:36 +0000 (14:28 +0100)]
Tweak warnings check

4 years agoTweak function section test
Nick Clifton [Thu, 10 Oct 2019 13:15:29 +0000 (14:15 +0100)]
Tweak function section test

4 years agoFix function sections test
Nick Clifton [Thu, 10 Oct 2019 13:05:15 +0000 (14:05 +0100)]
Fix function sections test

4 years ago8.84:
Nick Clifton [Thu, 10 Oct 2019 10:49:59 +0000 (11:49 +0100)]
8.84:
annobin: Record -Wformat-security.
annocheck:  Report lack of -Wall/-Wformat-security.

4 years ago8.83: Add recording and reporting of the -mbranch-protection option of the AArch64...
Nick Clifton [Thu, 3 Oct 2019 12:48:27 +0000 (13:48 +0100)]
8.83: Add recording and reporting of the -mbranch-protection option of the AArch64 targeted gcc.

4 years ago8.82:
Nick Clifton [Wed, 25 Sep 2019 12:23:48 +0000 (13:23 +0100)]
8.82:
Annocheck: Add new function annocheck_process_extra_file().
Annocheck: Add new fields to annocheck_data structure (dwarf_fd, dwarf_filename, dwarf_searched).
Annocheck: Record filename and fd of loaded separate debuginfi file.
Hardened: If no notes are found in binary, look for them in the debuginfo file.

4 years agoRemove linking plugin with libabigail.
Nick Clifton [Mon, 23 Sep 2019 12:19:21 +0000 (13:19 +0100)]
Remove linking plugin with libabigail.

4 years ago8.81:
Nick Clifton [Mon, 23 Sep 2019 12:08:29 +0000 (13:08 +0100)]
8.81:
  Annocheck: Add detection of .note.go.buildid section.
  Annobin: Add preliminary libabigail support.

5 years ago8.80: annobin: Record gcc version used to build plugin in the notes.
Nick Clifton [Wed, 21 Aug 2019 13:35:05 +0000 (14:35 +0100)]
8.80: annobin: Record gcc version used to build plugin in the notes.
8.80: annobin: In LTO mode, assume that FORTIFY_SOURCE and GLIBCXX_ASSERTIONS were set.
8.80: annobin: When compiling for LTO, issue warning messages if FORTIFY_SOURCE or GLIBCXX_ASSERTIONS are insufficient.
8.80: annocheck: Add support for new build tool note format.

5 years ago8.79: Fix tests so that the tools can be specified on the command line.
Nick Clifton [Thu, 8 Aug 2019 14:11:50 +0000 (15:11 +0100)]
8.79: Fix tests so that the tools can be specified on the command line.

5 years agoFix a memory allocation error in the annobin plugin.
Nick Clifton [Tue, 6 Aug 2019 14:35:41 +0000 (15:35 +0100)]
Fix a memory allocation error in the annobin plugin.
Resolves: #1737306

5 years ago8.77:
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.

5 years agoannocheck: Also fail if -D_FORTIFY_SOURCE is present by -D_GLIBCXX_ASSERTIONS is...
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.

5 years ago8.76: Annocheck: Add detection of non-gcc code producers. Report missing -D_FORTIFY_...
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.

5 years ago8.74: annocheck: Add checks of command line options recorded by clang in the DW_AT_pr...
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.

5 years agoAnnocheck: Fix test for GNU_STACK segment being executable. (#1700924)
Nick Clifton [Wed, 24 Apr 2019 11:17:57 +0000 (12:17 +0100)]
Annocheck: Fix test for GNU_STACK segment being executable.  (#1700924)

5 years ago8.72: Minor debugging improvements.
Nick Clifton [Thu, 18 Apr 2019 11:03:46 +0000 (12:03 +0100)]
8.72: Minor debugging improvements.

5 years agoclang plugin: added reporting function
Nick Clifton [Thu, 28 Mar 2019 12:55:28 +0000 (12:55 +0000)]
clang plugin: added reporting function

5 years agoStart work on a plugin for clang
Nick Clifton [Thu, 28 Mar 2019 11:53:37 +0000 (11:53 +0000)]
Start work on a plugin for clang

5 years ago8.71: annobin: Suppress more calls to free() that are triggering memory check errors
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

5 years agoImprove a few error & warning messages
Nick Clifton [Thu, 21 Feb 2019 16:00:38 +0000 (16:00 +0000)]
Improve a few error & warning messages

5 years agoAnnocheck: Extend section size tool to allow for searching for sections or segments...
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.

5 years agoAdd in config/test-driver file
Nick Clifton [Thu, 24 Jan 2019 15:40:46 +0000 (15:40 +0000)]
Add in config/test-driver file

5 years ago8.69:
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.

5 years ago8.68: Annocheck: Skip tests for -D_FORTIFY_SOURCE and -D_GLIBCXX_ASSERTIONS if no...
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.

5 years agoVersion 8.67
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.

5 years agoFix typo in the prefix for cold sections.
Nick Clifton [Wed, 9 Jan 2019 16:38:06 +0000 (16:38 +0000)]
Fix typo in the prefix for cold sections.

5 years agoAnnocheck: Do not ignore -Og when checking to see if an optimization level has been...
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.

5 years ago8.65: Additional: Annobin: Do not create new section for end symbols if we are revers...
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.

5 years ago8.65: Additional: Annobin: Remove unused code.
Nick Clifton [Tue, 11 Dec 2018 09:44:10 +0000 (09:44 +0000)]
8.65: Additional: Annobin: Remove unused code.

5 years ago8.65: Fix handling of multiple cold sections.
Nick Clifton [Tue, 11 Dec 2018 09:33:28 +0000 (09:33 +0000)]
8.65: Fix handling of multiple cold sections.

5 years ago8.64: Skip PPC64 gaps covered by start_bcax symbols.
Nick Clifton [Fri, 30 Nov 2018 15:54:01 +0000 (15:54 +0000)]
8.64: Skip PPC64 gaps covered by start_bcax symbols.

5 years agoFix building on 32-bit systems.
Nick Clifton [Mon, 26 Nov 2018 14:07:09 +0000 (14:07 +0000)]
Fix building on 32-bit systems.

5 years agoannocheck: Add test for an ENDBR instruction at the entry point for x86/x86_64 execut...
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.

5 years agoSuppres -Wl,-z,now and -Wl,-z,relro checks for non-gcc (ie GO) produced binaries.
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.

5 years agoUse 8-byte alignment for x86_64 GNU Property notes.
Nick Clifton [Mon, 5 Nov 2018 16:51:59 +0000 (16:51 +0000)]
Use 8-byte alignment for x86_64 GNU Property notes.

5 years agoannocheck: if a gap is found, check for a symbol in the middle of the gap too.
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.

5 years agoannobin: Suppress a call to free() as it is triggering a memory fault.
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.

5 years agoannocheck: Fix detection of ppc64le plt stubs.
Nick Clifton [Thu, 18 Oct 2018 10:50:03 +0000 (11:50 +0100)]
annocheck: Fix detection of ppc64le plt stubs.

5 years agoannobin: Add code to reset size of section start symbol in empty sections on ppc64le.
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.

5 years agoannocheck: Skip virtual thinks.
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.

5 years agoIncrement version number
Nick Clifton [Wed, 10 Oct 2018 17:05:17 +0000 (18:05 +0100)]
Increment version number

5 years agoChange "fail" to "FAIL" in hardende output. Likewise for other result types. Make...
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.

5 years agoRework function section name and symbol caching.
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.

5 years agoannobin: Add active-checks option to enable compile time tests. Add test and documen...
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.

5 years agoFix snafu generating section name for end of function syms.
Nick Clifton [Mon, 8 Oct 2018 16:04:43 +0000 (17:04 +0100)]
Fix snafu generating section name for end of function syms.

5 years agoSkip dynamic checks (-z,now and -z,relro) for binaries without a dynamic segment.
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.

5 years agoDelay generating attach_to_group directives until the end of the compilation.
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.

5 years agoFix seg-fault in hardende.
Nick Clifton [Thu, 4 Oct 2018 16:21:39 +0000 (17:21 +0100)]
Fix seg-fault in hardende.

5 years agoUpdate minor version number.
Nick Clifton [Thu, 4 Oct 2018 13:20:17 +0000 (14:20 +0100)]
Update minor version number.

5 years agoAnnobin: Fix section name selection for startup sections.
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.

5 years agoImprove detection of COMDAT sections
Nick Clifton [Mon, 1 Oct 2018 16:36:05 +0000 (17:36 +0100)]
Improve detection of COMDAT sections

5 years agoAdd sources for retpoline checker
Nick Clifton [Mon, 1 Oct 2018 12:16:44 +0000 (13:16 +0100)]
Add sources for retpoline checker

5 years agoTweak assembler test
Nick Clifton [Fri, 28 Sep 2018 12:07:40 +0000 (13:07 +0100)]
Tweak assembler test

5 years agoFix assembler test
Nick Clifton [Fri, 28 Sep 2018 11:25:18 +0000 (12:25 +0100)]
Fix assembler test

5 years agoUse DWARF debug information to detect non-GNU tools as the DW_AT_producer, and skip...
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.

5 years agoFix COMDAT section support
Nick Clifton [Wed, 26 Sep 2018 12:52:55 +0000 (13:52 +0100)]
Fix COMDAT section support

5 years agoUse .attach_to_group to attach a text section to a note group.
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.

5 years agoAnnocheck: Allow for +2 bias in PPC64 start symbols.
Nick Clifton [Tue, 25 Sep 2018 16:15:51 +0000 (17:15 +0100)]
Annocheck: Allow for +2 bias in PPC64 start symbols.

5 years agoAnnocheck: Also skip symbols ending with .end.
Nick Clifton [Tue, 25 Sep 2018 08:49:40 +0000 (09:49 +0100)]
Annocheck: Also skip symbols ending with .end.

5 years agoAdd --rename option to plugin to add an extra prefix to symbol generation.
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.

5 years agoMore test tweaks
Nick Clifton [Fri, 21 Sep 2018 20:33:10 +0000 (21:33 +0100)]
More test tweaks

5 years agoFix compile time errors in plugin.
Nick Clifton [Fri, 21 Sep 2018 19:36:01 +0000 (20:36 +0100)]
Fix compile time errors in plugin.
Tweak testsuite.

5 years agoAnnobin:
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.

5 years agoFix hardened checker so that test skipping skips all messages related to that test.
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.

5 years agoAdd a couple more files to the skip list.
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.

5 years agoAdd 4 byte alignment directive when creating note sub-sections.
Nick Clifton [Mon, 17 Sep 2018 10:32:52 +0000 (11:32 +0100)]
Add 4 byte alignment directive when creating note sub-sections.

5 years agoBug fixes for recent update
Nick Clifton [Wed, 12 Sep 2018 13:28:27 +0000 (14:28 +0100)]
Bug fixes for recent update

5 years agoAdd timing tool.
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.

5 years agoHardened:
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.

6 years agohardened: scan .comment section for compiler type in case the notes are insufficient.
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.

6 years agoFix bugs in section-size tool:
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.

6 years agoFix bug in buillt-by tool which would prevent it from reporting the name of a builder...
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.

6 years agoannobin: Detect comdat functions and create notes for them.
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.

6 years agoAdd more function names to list of those to be skipped for gap checks.
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.

6 years agoDemangle c++ mangled function names when reporting gaps.
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.

6 years agoSkip gaps at the end of functions
Nick Clifton [Wed, 22 Aug 2018 10:44:41 +0000 (11:44 +0100)]
Skip gaps at the end of functions

6 years agoFix thinko in ppc64 plt stub detection code
Nick Clifton [Tue, 21 Aug 2018 07:49:15 +0000 (08:49 +0100)]
Fix thinko in ppc64 plt stub detection code

6 years agoSkip gap at end of ppc64 .text section
Nick Clifton [Mon, 20 Aug 2018 13:15:19 +0000 (14:15 +0100)]
Skip gap at end of ppc64 .text section

6 years agoMake gaps be treated as failures
Nick Clifton [Wed, 15 Aug 2018 08:45:20 +0000 (09:45 +0100)]
Make gaps be treated as failures

6 years agoAdd stack_chk_local_fail.c to the list of skipped symbols
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

6 years agoQuote rpm names when invoking system() as they may contain shell filename expansion...
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.

This page took 0.057549 seconds and 5 git commands to generate.