]> sourceware.org Git - annobin.git/log
annobin.git
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.

6 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.

6 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.

6 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.

6 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.

6 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.

6 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.

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

6 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.

6 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.

6 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.

6 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.

6 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.

6 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.

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

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

6 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.

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

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

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

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

6 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.

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

6 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.

6 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.

6 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.

6 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.

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

6 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.

6 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.

6 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.

6 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.

6 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.

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

6 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.

6 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.

6 years agoChange annobin plugin to only report an incompatibility if the major gcc version...
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.

6 years agoFix bug in annobin plugin which would generate bogus assembler symbol names if static...
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.

6 years agoRename doc file run-on-binaries.1 to run-on-binaries-in.1
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

6 years agoAdd support for big endian targets
Nick Clifton [Mon, 23 Jul 2018 16:42:09 +0000 (17:42 +0100)]
Add support for big endian targets

6 years agoAdd big endian support to annocheck
Nick Clifton [Mon, 23 Jul 2018 16:03:34 +0000 (17:03 +0100)]
Add big endian support to annocheck

6 years agoRecord absence of FORTIFY_SOURCE and GLIBCXX_ASSERTIONS in the notes.
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.

6 years agoReplace call to targetm.asm_out.function_section with our own puplicate of the code...
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.

6 years agoGenerate group'ed attribute section straight away, rather then after the notes have...
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.

6 years agopossible fix for duplicate sections bug
Nick Clifton [Fri, 20 Jul 2018 08:19:59 +0000 (09:19 +0100)]
possible fix for duplicate sections bug

6 years agopossible fix for duplicate sections bug
Nick Clifton [Fri, 20 Jul 2018 08:01:48 +0000 (09:01 +0100)]
possible fix for duplicate sections bug

6 years agopossible fix for section conflict problem
Nick Clifton [Thu, 19 Jul 2018 11:09:48 +0000 (12:09 +0100)]
possible fix for section conflict problem

6 years agoFix for building with gcc v4. Fix note corruption
Nick Clifton [Wed, 18 Jul 2018 14:07:24 +0000 (15:07 +0100)]
Fix for building with gcc v4.  Fix note corruption

6 years agoFix asserts in range checks. Add detection of -U options
Nick Clifton [Tue, 17 Jul 2018 17:02:05 +0000 (18:02 +0100)]
Fix asserts in range checks.  Add detection of -U options

6 years agoGAP detection improvements
Nick Clifton [Tue, 17 Jul 2018 14:36:16 +0000 (15:36 +0100)]
GAP detection improvements

6 years agoAdd support for startup and unlikely sections
Nick Clifton [Tue, 17 Jul 2018 13:30:42 +0000 (14:30 +0100)]
Add support for startup and unlikely sections

6 years agoInterim commit - now works with function sections, but not startup or cold 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

6 years agoFix construction of absolute versions of --dwarf-dir and --debug-rpm options.
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.

6 years agoFix silly buffer overflow bug.
Nick Clifton [Tue, 10 Jul 2018 13:38:05 +0000 (14:38 +0100)]
Fix silly buffer overflow bug.

6 years agoDo not force the generation of function notes when flag_function_sections is enabled...
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.

6 years agoSkip the .annobin_ prefix when retrieving symbols for address ranges.
Nick Clifton [Mon, 9 Jul 2018 16:10:39 +0000 (17:10 +0100)]
Skip the .annobin_ prefix when retrieving symbols for address ranges.

6 years agoUse assembler version of the function section name when creating local notes.
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.

6 years agoDo not call function_section() it can lead to problems with section conflicts.
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.

6 years agoFix gap detection code to ignore cross-section gaps.
Nick Clifton [Fri, 6 Jul 2018 10:59:09 +0000 (11:59 +0100)]
Fix gap detection code to ignore cross-section gaps.

6 years agoDo not skip empty range notes in object files.
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.

6 years agoUse a prefix for all annobin symbols.
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.

6 years agoAdd --debug-rpm=<file> option to annocheck.
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.

6 years agoUse --dwarf-dir when searching for build-id based debuginfo giles
Nick Clifton [Fri, 22 Jun 2018 14:31:11 +0000 (15:31 +0100)]
Use --dwarf-dir when searching for build-id based debuginfo giles

6 years agoFix premature closing of dwatf handle
Nick Clifton [Fri, 22 Jun 2018 10:16:32 +0000 (11:16 +0100)]
Fix premature closing of dwatf handle

6 years agoFix scoping bug computing name for debuginfo file
Nick Clifton [Fri, 22 Jun 2018 09:42:51 +0000 (10:42 +0100)]
Fix scoping bug computing name for debuginfo file

6 years agoFix possible file descriptor leak
Nick Clifton [Tue, 19 Jun 2018 14:36:37 +0000 (15:36 +0100)]
Fix possible file descriptor leak

6 years agoUpdate documentation
Nick Clifton [Tue, 19 Jun 2018 13:43:37 +0000 (14:43 +0100)]
Update documentation

6 years agoannocheck: Move test descriptions into the test structure.
Nick Clifton [Tue, 19 Jun 2018 13:20:16 +0000 (14:20 +0100)]
annocheck: Move test descriptions into the test structure.

6 years agoAdd options to annocheck to control individual tests.
Nick Clifton [Mon, 18 Jun 2018 16:24:09 +0000 (17:24 +0100)]
Add options to annocheck to control individual tests.

6 years agoRemove // style comments
Nick Clifton [Fri, 8 Jun 2018 09:52:49 +0000 (10:52 +0100)]
Remove // style comments

6 years agoRemove C99 feature from annocheck sources
Nick Clifton [Fri, 8 Jun 2018 09:43:27 +0000 (10:43 +0100)]
Remove C99 feature from annocheck sources

6 years agoVarious minor bugfixes found whilst attempting to build an rpm
Nick Clifton [Wed, 6 Jun 2018 16:26:31 +0000 (17:26 +0100)]
Various minor bugfixes found whilst attempting to build an rpm

6 years agoVarious minor bugfixes found whilst attempting to build an rpm
Nick Clifton [Wed, 6 Jun 2018 15:03:25 +0000 (16:03 +0100)]
Various minor bugfixes found whilst attempting to build an rpm

6 years agoImport eu-checksec program into annobin.
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.

6 years agoDo not use SHF_GNU_BUILD_NOTE section flag
Nick Clifton [Fri, 1 Jun 2018 14:05:42 +0000 (15:05 +0100)]
Do not use SHF_GNU_BUILD_NOTE section flag

6 years agoRemove .sh extension from scripts
Nick Clifton [Thu, 31 May 2018 15:01:00 +0000 (16:01 +0100)]
Remove .sh extension from scripts

6 years agoReplace reference to RHEL-8 with reference to Fedora rawhide
Nick Clifton [Thu, 31 May 2018 14:47:38 +0000 (15:47 +0100)]
Replace reference to RHEL-8 with reference to Fedora rawhide

6 years agoSkip stackrealign test in hardening checks as this is not enabled for i686 binaries...
Nick Clifton [Wed, 30 May 2018 11:01:58 +0000 (12:01 +0100)]
Skip stackrealign test in hardening checks as this is not enabled for i686 binaries (yet).

6 years agoAdd recording of the -mstackrealign option for i686 binaries
Nick Clifton [Wed, 30 May 2018 10:48:23 +0000 (11:48 +0100)]
Add recording of the -mstackrealign option for i686 binaries

6 years agoImprove handling of functions with section names. Hide the start of file symbol
Nick Clifton [Mon, 14 May 2018 16:26:33 +0000 (17:26 +0100)]
Improve handling of functions with section names.  Hide the start of file symbol

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