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

6 years agoFix bug in hardended.sh script
Nick Clifton [Tue, 8 May 2018 12:19:38 +0000 (13:19 +0100)]
Fix bug in hardended.sh script

6 years agocheck-abi: With --verbose, show all the notes extracted.
Nick Clifton [Mon, 30 Apr 2018 08:58:30 +0000 (09:58 +0100)]
check-abi: With --verbose, show all the notes extracted.
abi-test: Skip the ABI check, since the crt[in].o files are compiled with different settings.

6 years agoAdd manual pages
Nick Clifton [Fri, 20 Apr 2018 14:12:57 +0000 (15:12 +0100)]
Add manual pages

6 years agoAdd function-verbose option to print messages when function notes are created.
Nick Clifton [Tue, 20 Mar 2018 11:18:42 +0000 (11:18 +0000)]
Add function-verbose option to print messages when function notes are created.
Handle dwarf_version being -1.
Put the end-of-function symbol in the same section as the function itself.
Add function-sections-test.

6 years agoAdd test with -ffunction-sections enabled.
Nick Clifton [Mon, 19 Mar 2018 10:24:55 +0000 (10:24 +0000)]
Add test with -ffunction-sections enabled.
Add "function-verbose" option to display messages when creating function notes.

6 years agoBias file start symbols to avoid them being confused with the start address of the...
Nick Clifton [Thu, 15 Mar 2018 17:11:22 +0000 (17:11 +0000)]
Bias file start symbols to avoid them being confused with the start address of the first function in the file.

6 years agoAdd --ignore-gaps option to the check-abi script.
Nick Clifton [Mon, 12 Mar 2018 12:36:35 +0000 (12:36 +0000)]
Add --ignore-gaps option to the check-abi script.
Use it in the abi-check test.
Tweak hardended test to skip pic and stack checks.

6 years agoMove function_asm_name() into annobin.cc and have it cope with asterisk prefixed...
Nick Clifton [Tue, 6 Mar 2018 11:14:08 +0000 (11:14 +0000)]
Move function_asm_name() into annobin.cc and have it cope with asterisk prefixed assembler names

6 years agoFix typo in makefile
Nick Clifton [Fri, 9 Feb 2018 08:44:15 +0000 (08:44 +0000)]
Fix typo in makefile

6 years agoChange type and size of symbols created by annobin to STT_NOTYPE/size 0. See BZ...
Nick Clifton [Fri, 9 Feb 2018 08:31:37 +0000 (08:31 +0000)]
Change type and size of symbols created by annobin to STT_NOTYPE/size 0.  See BZ 1539664.
Update documentation to describe the global-file-sym option.

6 years agoBug fixing in scripts
Nick Clifton [Fri, 2 Feb 2018 16:41:39 +0000 (16:41 +0000)]
Bug fixing in scripts

6 years agoImprove run-on script and add documentation of scripts
Nick Clifton [Fri, 2 Feb 2018 13:41:29 +0000 (13:41 +0000)]
Improve run-on script and add documentation of scripts

6 years agoAdd a new run-on-binaries-in script
Nick Clifton [Wed, 31 Jan 2018 17:49:25 +0000 (17:49 +0000)]
Add a new run-on-binaries-in script

6 years agoAdd recording of control-flow protection options
Nick Clifton [Wed, 31 Jan 2018 10:51:52 +0000 (10:51 +0000)]
Add recording of control-flow protection options

6 years agoSynchronise with internal repository
Nick Clifton [Fri, 26 Jan 2018 12:05:08 +0000 (12:05 +0000)]
Synchronise with internal repository

6 years agoFix compile time warning about unused variable
Nick Clifton [Thu, 4 Jan 2018 10:01:03 +0000 (10:01 +0000)]
Fix compile time warning about unused variable

6 years agoUpdate PowerPC and AArch64 plugins to use new version of annobin_output_note function.
Nick Clifton [Thu, 4 Jan 2018 08:53:23 +0000 (08:53 +0000)]
Update PowerPC and AArch64 plugins to use new version of annobin_output_note function.
Add checking of operator[] range and -fstack-clash-protection status to hardened.sh script.
Tweak test harness.

6 years agoFix tests to work with enhanced scripts.
Nick Clifton [Wed, 3 Jan 2018 15:24:06 +0000 (15:24 +0000)]
Fix tests to work with enhanced scripts.
Enhance scripts so that they do not complain about not being able to parse notes if the notes are note needed.
Add support for recording _GLIBCXX_ASSERTIONS.
Add support for recording -fstack-clash-protection.

6 years agoUpdate scripts to work with v3 notes
Nick Clifton [Wed, 3 Jan 2018 14:08:04 +0000 (14:08 +0000)]
Update scripts to work with v3 notes

6 years agoVersion 3 of protocol
Nick Clifton [Thu, 21 Dec 2017 17:16:44 +0000 (17:16 +0000)]
Version 3 of protocol

6 years ago Do not generate notes when there is no output file. (#1523875)
Nick Clifton [Mon, 11 Dec 2017 10:34:33 +0000 (10:34 +0000)]
 Do not generate notes when there is no output file.  (#1523875)

6 years agoFix compile time warning introduced by previous delta
Nick Clifton [Fri, 8 Dec 2017 11:32:59 +0000 (11:32 +0000)]
Fix compile time warning introduced by previous delta

6 years agoHandle the case where source input is from a pipe
Nick Clifton [Fri, 8 Dec 2017 11:10:32 +0000 (11:10 +0000)]
Handle the case where source input is from a pipe

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