Re: [PATCH v2] covoar: Store address-to-line info outside of DWARF

2021-06-07 Thread Alex White
On Wed, Jun 2, 2021 at 7:37 PM Chris Johns wrote: > > Looking good with a single comment below ... > > On 3/6/21 6:08 am, Alex White wrote: > > This adds the AddressToLineMapper class and supporting classes to > > assume responsibility of tracking address-to-line informat

[PATCH] covoar/CoverageMapBase: Use reference for iteration in validAddress

2021-06-17 Thread Alex White
--- tester/covoar/CoverageMapBase.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tester/covoar/CoverageMapBase.cc b/tester/covoar/CoverageMapBase.cc index 6ca5cf7..f0b5890 100644 --- a/tester/covoar/CoverageMapBase.cc +++ b/tester/covoar/CoverageMapBase.cc @@ -121,7 +121,7

[PATCH v2] covoar/ Explanations.cc: Handle newline at end of file

2021-06-24 Thread Alex White
--- tester/covoar/Explanations.cc | 24 +++- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/tester/covoar/Explanations.cc b/tester/covoar/Explanations.cc index 1449fb2..4d177eb 100644 --- a/tester/covoar/Explanations.cc +++ b/tester/covoar/Explanations.cc @@

[PATCH] covoar/Explanations.cc: Remove unnecessary newline strip

2021-06-24 Thread Alex White
This corrects an issue where the starting line numbers of explanations had their last digit removed. This was caused by code left over for handling C file IO where the newline was included in the buffer. --- tester/covoar/Explanations.cc | 2 -- 1 file changed, 2 deletions(-) diff --git

Re: [PATCH v2] covoar: Store address-to-line info outside of DWARF

2021-06-16 Thread Alex White
On Mon, Jun 7, 2021 at 8:14 PM Chris Johns wrote: > > On 8/6/21 1:44 am, Joel Sherrill wrote: > > > > > > On Mon, Jun 7, 2021 at 7:00 AM Alex White > <mailto:alex.wh...@oarcorp.com>> wrote: > > > > > > On Wed, Jun 2, 2021 at 7:37

[PATCH] covoar/ Explanations.cc: Handle newline at end of file

2021-06-18 Thread Alex White
--- tester/covoar/Explanations.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tester/covoar/Explanations.cc b/tester/covoar/Explanations.cc index 1449fb2..64cad5c 100644 --- a/tester/covoar/Explanations.cc +++ b/tester/covoar/Explanations.cc @@ -87,6 +87,9 @@ namespace Coverage {

[PATCH v2] rtemstoolkit/mailer.py: Fix option ordering for add_arguments

2021-05-07 Thread Alex White
The ordering of keys cannot be guaranteed in a dictionary. This changes the options iteration to no longer rely on key ordering. Closes #4402 --- rtemstoolkit/mailer.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/rtemstoolkit/mailer.py b/rtemstoolkit/mailer.py index

Re: [PATCH] rtemstoolkit/mailer.py: Fix option ordering for add_arguments

2021-05-06 Thread Alex White
On Wed, May 5, 2021 at 10:15 PM Chris Johns wrote: > > On 6/5/21 4:49 am, Gedare Bloom wrote: > > On Wed, May 5, 2021 at 9:16 AM Alex White wrote: > >> > >> On Wed, May 5, 2021 at 9:47 AM Gedare Bloom wrote: > >>> > >>> Why? > >>

[PATCH v4] sb: Merge mailer changes from rtems-tools

2021-05-11 Thread Alex White
This adds the improved mailer.py script from rtems-tools. Closes #4388 --- source-builder/sb/mailer.py | 194 ++-- source-builder/sb/options.py| 26 - source-builder/sb/setbuilder.py | 2 + 3 files changed, 189 insertions(+), 33 deletions(-) diff --git

[PATCH] covoar: Fix single-byte uncovered ranges

2021-06-02 Thread Alex White
This fixes a bug where covoar reports uncovered ranges of size 1. When a NOP instruction is encountered at the end of a function, the remaining non-instruction bytes are marked as executed. The loop that marks the remaining bytes as executed was not considering the last address of the function.

Re: [PATCH v4] sb: Merge mailer changes from rtems-tools

2021-05-21 Thread Alex White
ping :) From: Alex White Sent: Tuesday, May 11, 2021 10:19 AM To: devel@rtems.org Cc: Alex White Subject: [PATCH v4] sb: Merge mailer changes from rtems-tools This adds the improved mailer.py script from rtems-tools. Closes #4388 --- source-builder/sb

Re: [PATCH v4] sb: Merge mailer changes from rtems-tools

2021-05-27 Thread Alex White
On Wed, May 26, 2021 at 7:39 PM Chris Johns wrote: > > On 12/5/21 3:19 am, Alex White wrote: > > This adds the improved mailer.py script from rtems-tools. > > > > Closes #4388 > > --- > > source-builder/sb/mailer.py | 194 ++

Re: [PATCH 2/2] covoar: Store address-to-line info outside of DWARF

2021-05-27 Thread Alex White
On Tue, May 25, 2021 at 7:24 PM Chris Johns wrote: > > > > On 1/5/21 8:01 am, Alex White wrote: > > This adds the AddressToLineMapper class and supporting classes to > > assume responsibility of tracking address-to-line information. > > > > This allows the D

Re: [PATCH 0/2] covoar: Dispose of file info in ExecutableInfo

2021-05-25 Thread Alex White
ping :) From: Alex White Sent: Friday, April 30, 2021 3:01 PM To: devel@rtems.org Cc: Alex White Subject: [PATCH 0/2] covoar: Dispose of file info in ExecutableInfo This patch set includes two patches that significantly lower the memory usage of covoar

[PATCH v2] covoar: Store address-to-line info outside of DWARF

2021-06-02 Thread Alex White
This adds the AddressToLineMapper class and supporting classes to assume responsibility of tracking address-to-line information. This allows the DWARF library to properly cleanup all of its resources and leads to significant memory savings. Closes #4383 --- rtemstoolkit/rld-dwarf.cpp

Re: [PATCH] Reports: Convert to C++

2021-07-08 Thread Alex White
On Wed, Jul 7, 2021 at 6:55 PM Chris Johns wrote: > > On 7/7/21 11:37 pm, Ryan Long wrote: > > I'll get those pointers changed to references, and remove the whitespace > > changes. Is there a particular reason to not use '\n' instead of std::endl? > > Awesome and thanks. > > > I read that

Re: [PATCH] covoar: Fix errors building on FreeBSD and clang

2021-07-02 Thread Alex White
On Wed, Jun 30, 2021 at 11:40 PM wrote: > > From: Chris Johns > > - The member variable `path_` cannot be a reference and initialised to > a const char* type input. To do so would require there is a temporary with > an unspecified life time. > --- > tester/covoar/AddressToLineMapper.h | 2

[PATCH v3] sb: Merge mailer changes from rtems-tools

2021-04-27 Thread Alex White
This adds the improved mailer.py script from rtems-tools. Closes #4388 --- source-builder/sb/mailer.py | 193 ++-- source-builder/sb/options.py| 26 - source-builder/sb/setbuilder.py | 2 + 3 files changed, 188 insertions(+), 33 deletions(-) diff --git

[PATCH 0/2] covoar: Dispose of file info in ExecutableInfo

2021-04-30 Thread Alex White
constructor to its destructor. This was done to ensure that ExecutableInfo::getSourceAndLine() could utilize the DWARF info. A side effect of that change was increased memory usage. These patches ensure that no ELF or DWARF objects are held by the ExecutableInfo class after construction. Alex

[PATCH 1/2] covoar: Store only the file name in ExecutableInfo

2021-04-30 Thread Alex White
This changes the ExecutableInfo class to only store the executable file's name rather than an entire instance of rld::files::object. This allows the rld::files::object to be cleaned up in the ExecutableInfo constructor. Updates #4383 --- tester/covoar/ExecutableInfo.cc | 12 +---

[PATCH 2/2] covoar: Store address-to-line info outside of DWARF

2021-04-30 Thread Alex White
This adds the AddressToLineMapper class and supporting classes to assume responsibility of tracking address-to-line information. This allows the DWARF library to properly cleanup all of its resources and leads to significant memory savings. Closes #4383 --- rtemstoolkit/rld-dwarf.cpp

[PATCH] sb: Merge mailer changes from rtems-tools

2021-04-21 Thread Alex White
This adds the improved mailer.py script from rtems-tools. Closes #4388 --- source-builder/sb/mailer.py | 192 ++-- source-builder/sb/options.py| 9 ++ source-builder/sb/setbuilder.py | 2 + 3 files changed, 171 insertions(+), 32 deletions(-) diff --git

[PATCH v2] sb: Merge mailer changes from rtems-tools

2021-04-22 Thread Alex White
This adds the improved mailer.py script from rtems-tools. Closes #4388 --- source-builder/sb/mailer.py | 192 ++-- source-builder/sb/options.py| 26 - source-builder/sb/setbuilder.py | 2 + 3 files changed, 187 insertions(+), 33 deletions(-) diff --git

[PATCH] rtemstoolkit/mailer.py: Fix option ordering for add_arguments

2021-05-05 Thread Alex White
The ordering of keys cannot be guaranteed in a dictionary. This changes the options dictionary to an OrderedDict to preserve key order. This also fixes the iteration start point in add_arguments. Closes #4402 --- rtemstoolkit/mailer.py | 24 +--- 1 file changed, 13

Re: [PATCH] rtemstoolkit/mailer.py: Fix option ordering for add_arguments

2021-05-05 Thread Alex White
On Wed, May 5, 2021 at 9:47 AM Gedare Bloom wrote: > > Why? To prevent the '--mail' and '--use-gitconfig' options from being added more than once to the ArgumentParser in add_arguments. Alex > > On Wed, May 5, 2021 at 8:08 AM Alex White wrote: > > > > The

[PATCH v4] cpukit/aarch64: Add ESR register decoding

2021-03-22 Thread Alex White
--- .../aarch64/aarch64-exception-frame-print.c | 105 +- 1 file changed, 101 insertions(+), 4 deletions(-) diff --git a/cpukit/score/cpu/aarch64/aarch64-exception-frame-print.c b/cpukit/score/cpu/aarch64/aarch64-exception-frame-print.c index 59b5d06032..348151a468 100644 ---

RE: [PATCH v3] cpukit/aarch64: Add ESR register decoding

2021-03-22 Thread Alex White
On Mon, Mar 22, 2021 at 2:33 PM Joel Sherrill wrote: >> +static const char* _exception_class_to_string( uint16_t exception_class ) >> +{ >> +  switch (exception_class) >> +  { >> +  case 0b01: return "Trapped WFI or WFE instruction"; >> +  case 0b11: return "Trapped MCR or MRC access with

[PATCH v2 2/2] covoar/TargetBase: Fix QEMU branch info

2021-03-24 Thread Alex White
The taken/not taken bit was being interpreted incorrectly. This led to branches being marked "always taken" when they were never taken. This has been fixed. --- tester/covoar/TargetBase.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tester/covoar/TargetBase.cc

[PATCH v2 1/2] covoar/CoverageReaderQEMU: Fix infinite loop

2021-03-24 Thread Alex White
There was a potential that the branch info loop never terminated. This has been fixed by adding a more reliable termination condition and logging an error if it cannot find the branch target. --- tester/covoar/CoverageReaderQEMU.cc | 9 - 1 file changed, 8 insertions(+), 1 deletion(-)

[PATCH v2 0/2] Fix QEMU branch analysis

2021-03-24 Thread Alex White
v2: - Revert change to ENTRIES macro in CoverageReaderQEMU.cc This patch set contains a couple of fixes for issues that were found while using covoar to analyze branch coverage in QEMU. Alex White (2): covoar/CoverageReaderQEMU: Fix infinite loop covoar/TargetBase: Fix QEMU branch info

Recent rtems-tools patches status

2021-03-24 Thread Alex White
Hi, Here is the status of the rtems-tools patches I have sent out over the past few weeks (an X means the latest patch revision has been reviewed): [ ] tester: Limit branch coverage percentage precision [ ] coverage: Fix option processing on FreeBSD [ ] coverage/symbol-sets.ini : Add libtrace [

[PATCH] covoar: Add aarch64 target

2021-03-24 Thread Alex White
--- tester/covoar/TargetFactory.cc | 2 + tester/covoar/Target_aarch64.cc | 100 tester/covoar/Target_aarch64.h | 77 tester/covoar/wscript | 1 + 4 files changed, 180 insertions(+) create mode 100644

RE: [PATCH] covoar: Add aarch64 target

2021-03-24 Thread Alex White
On Wed, Mar 24, 2021 at 12:25 PM Gedare Bloom wrote: > > On Wed, Mar 24, 2021 at 10:46 AM Alex White wrote: > > diff --git a/tester/covoar/Target_aarch64.cc > > b/tester/covoar/Target_aarch64.cc > > new file mode 100644 > > index 000..64472d6 > > -

RE: Recent rtems-tools patches status

2021-03-24 Thread Alex White
On Wed, Mar 24, 2021 at 11:04 AM Joel Sherrill wrote: > > > > On Wed, Mar 24, 2021 at 10:52 AM Gedare Bloom wrote: >> >> On Wed, Mar 24, 2021 at 7:56 AM Alex White wrote: >> > My plan is to resend the patches that have not been reviewed and meter >> &

RE: [PATCH v5 0/2] Fix NOP recognition

2021-03-25 Thread Alex White
ping > -Original Message- > From: Alex White > Sent: Thursday, March 18, 2021 1:05 PM > To: devel@rtems.org > Cc: Alex White > Subject: [PATCH v5 0/2] Fix NOP recognition > > v5: > - Fix missing std::dec at the end of error message printing in > Cove

RE: [PATCH] covoar/Target_arm: Add THUMB branch instructions

2021-03-26 Thread Alex White
ping > -Original Message- > From: Alex White > Sent: Thursday, March 11, 2021 12:26 PM > To: devel@rtems.org > Cc: Alex White > Subject: [PATCH] covoar/Target_arm: Add THUMB branch instructions > > The ".n" and ".w" variants of the T

[PATCH v7 1/2] covoar: Fix NOP execution marking

2021-03-26 Thread Alex White
Some NOP instructions were not being marked as executed because they are located at the end of uncovered ranges. This has been fixed. --- tester/covoar/CoverageMapBase.cc | 10 +++ tester/covoar/CoverageMapBase.h | 4 ++ tester/covoar/DesiredSymbols.cc | 38 +--

[PATCH v7 0/2] Fix NOP recognition

2021-03-26 Thread Alex White
instructions were showing up as unexecuted in coverage reports. Alex White (2): covoar: Fix NOP execution marking covoar/Target_i386: Add NOP patterns tester/covoar/CoverageMapBase.cc | 10 +++ tester/covoar/CoverageMapBase.h | 4 ++ tester/covoar/DesiredSymbols.cc | 38

[PATCH v7 2/2] covoar/Target_i386: Add NOP patterns

2021-03-26 Thread Alex White
A couple of NOP patterns found with the pc686 BSP were not detected. This has been fixed. --- tester/covoar/Target_i386.cc | 9 + 1 file changed, 9 insertions(+) diff --git a/tester/covoar/Target_i386.cc b/tester/covoar/Target_i386.cc index e0c9c0f..4567c1e 100644 ---

RE: [PATCH v4] covoar: Handle periods in symbols from objdump

2021-03-26 Thread Alex White
ping > -Original Message- > From: Alex White > Sent: Friday, March 19, 2021 2:10 PM > To: devel@rtems.org > Cc: Alex White > Subject: [PATCH v4] covoar: Handle periods in symbols from objdump > > Occasionally the compiler will generate symbols that look simi

RE: [PATCH v5 1/2] covoar: Fix NOP execution marking

2021-03-25 Thread Alex White
On Thu, Mar 25, 2021 at 2:38 PM Gedare Bloom wrote: > > On Thu, Mar 25, 2021 at 10:05 AM Joel Sherrill wrote: > > > > > > > > On Thu, Mar 25, 2021 at 10:42 AM Gedare Bloom wrote: > >> > >> On Thu, Mar 18, 2021 at 12:05 PM Alex White wrote: &

[PATCH v6 0/2] Fix NOP recognition

2021-03-25 Thread Alex White
in Coverage::finalizeSymbol() v3: - Fix double increment of rangeIndex in Coverage::finalizeSymbol() v2: - Fix leftover debugging code in Coverage::finalizeSymbol() This patch set fixes a couple cases where NOP instructions were showing up as unexecuted in coverage reports. Alex White (2): covoar

[PATCH v6 2/2] covoar/Target_i386: Add NOP patterns

2021-03-25 Thread Alex White
A couple of NOP patterns found with the pc686 BSP were not detected. This has been fixed. --- tester/covoar/Target_i386.cc | 9 + 1 file changed, 9 insertions(+) diff --git a/tester/covoar/Target_i386.cc b/tester/covoar/Target_i386.cc index e0c9c0f..4567c1e 100644 ---

[PATCH v6 1/2] covoar: Fix NOP execution marking

2021-03-25 Thread Alex White
Some NOP instructions were not being marked as executed because they are located at the end of uncovered ranges. This has been fixed. --- tester/covoar/CoverageMapBase.cc | 10 +++ tester/covoar/CoverageMapBase.h | 4 ++ tester/covoar/DesiredSymbols.cc | 38 +--

RE: [PATCH] covoar: Add option to create named objdumps

2021-03-29 Thread Alex White
On Mon, Mar 29, 2021 at 4:39 PM Chris Johns wrote: > > On 30/3/21 7:56 am, Gedare Bloom wrote: > > On Fri, Mar 12, 2021 at 10:07 AM Alex White wrote: > >> > >> This adds a new behavior to the -d option which allows the creation of > >> named objdump out

Re: [PATCH 3/3] covoar: Fix overflow of high PC address

2021-03-30 Thread Alex White
ping On Fri, Mar 12, 2021 at 11:14 AM Alex White wrote: > > This fixes an integer overflow that would occur if a function's high PC > address were zero in the DWARF info. > --- >  tester/covoar/ExecutableInfo.cc | 5 + >  1 file changed, 5 insertions(+) > > di

RE: [PATCH 1/3] covoar: Catch exceptional case

2021-03-30 Thread Alex White
ping On Fri, Mar 12, 2021 at 11:14 AM Alex White wrote: > > --- >  tester/covoar/ExecutableInfo.cc | 10 ++ >  1 file changed, 10 insertions(+) > > diff --git a/tester/covoar/ExecutableInfo.cc b/tester/covoar/ExecutableInfo.cc > index 187bb77..5a730fd 100644

RE: [PATCH 3/3] covoar: Fix overflow of high PC address

2021-03-30 Thread Alex White
ything. Alex > > On Tue, Mar 30, 2021 at 8:45 AM Alex White wrote: > > > > ping > > > > On Fri, Mar 12, 2021 at 11:14 AM Alex White wrote: > > > > > > This fixes an integer overflow that would occur if a function's high PC > > > addr

[PATCH v2] covoar: Fix off-by-one in Coverage::finalizeSymbol()

2021-03-31 Thread Alex White
The `rangeIndex` variable is 1 higher than the index at which the first instruction address was found. This fixes the loop to set `rangeIndex` correctly. --- tester/covoar/ObjdumpProcessor.cc | 9 - 1 file changed, 4 insertions(+), 5 deletions(-) diff --git

RE: [rtems-tools commit] rld-process: Add named tempfile constructor

2021-03-31 Thread Alex White
t; > Branch:    master > > Commit:    420d7a13672991a1480d06ac02190f2976b9253b > > Changeset: > > http://git.rtems.org/rtems-tools/commit/?id=420d7a13672991a1480d06ac02190f2976b9253b > > > > Author:    Alex White > > Date:      Wed Mar  3 09:48:00 2021 -0600 > > > > rld-

[PATCH] covoar: Fix off-by-one in Coverage::finalizeSymbol()

2021-03-31 Thread Alex White
The `rangeIndex` variable is 1 higher than the index at which the first instruction address was found. This fixes the lookup after the loop to account for that fact. --- tester/covoar/ObjdumpProcessor.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git

RE: [PATCH] covoar: Fix off-by-one in Coverage::finalizeSymbol()

2021-03-31 Thread Alex White
On Wed, Mar 31, 2021 at 11:22 AM Gedare Bloom wrote: > > On Wed, Mar 31, 2021 at 10:05 AM Alex White wrote: > > > > The `rangeIndex` variable is 1 higher than the index at which the first > > instruction address was found. This fixes the lookup after the loop to &

[PATCH 1/2] covoar: Split symbols by symbol set

2021-04-05 Thread Alex White
This changes the way covoar organizes the symbols. Instead of treating all symbols as one set, covoar is now aware of multiple symbol sets and tracks statistics for each set. It now also generates reports for each symbol set. This change relieves the caller of covoar of the reponsibility of

[PATCH 0/2] covoar: Handle symbol sets

2021-04-05 Thread Alex White
the amount of formatting and C++ modernization changes so that patch review is easier. A follow-up patch will clean up some of the methods that were touched as part of the covoar patch. Details can be found here: https://devel.rtems.org/ticket/4374 Alex White (2): covoar: Split symbols

[PATCH 2/2] coverage.py: Call covoar once

2021-04-05 Thread Alex White
Updates #4374 --- tester/rt/coverage.py | 59 +-- 1 file changed, 29 insertions(+), 30 deletions(-) diff --git a/tester/rt/coverage.py b/tester/rt/coverage.py index 29ed60b..8860c94 100644 --- a/tester/rt/coverage.py +++ b/tester/rt/coverage.py @@ -304,22

RE: [PATCH 0/2] covoar: Handle symbol sets

2021-04-05 Thread Alex White
On Mon, Apr 5, 2021 at 2:25 PM Alex White wrote: > > This patch set changes the way covoar is invoked so that its run time > is greatly reduced. For instance, a full coverage run for the > xilinx_zynq_a9_qemu took 58 minutes before these changes. After making > these changes, tha

[PATCH v5] cpukit/aarch64: Add ESR register decoding

2021-03-23 Thread Alex White
--- .../aarch64/aarch64-exception-frame-print.c | 133 -- 1 file changed, 123 insertions(+), 10 deletions(-) diff --git a/cpukit/score/cpu/aarch64/aarch64-exception-frame-print.c b/cpukit/score/cpu/aarch64/aarch64-exception-frame-print.c index 59b5d06032..a8c492b1da 100644 ---

RE: [PATCH v5] cpukit/aarch64: Add ESR register decoding

2021-03-23 Thread Alex White
On Tue, Mar 23, 2021 at 11:46 AM Gedare Bloom wrote: > > On Tue, Mar 23, 2021 at 10:31 AM Alex White wrote: > > > > --- > >  .../aarch64/aarch64-exception-frame-print.c   | 133 -- > >  1 file changed, 123 insertions(+), 10 deletions(-) > &g

RE: [PATCH v6 1/2] covoar: Fix NOP execution marking

2021-03-25 Thread Alex White
On Thu, Mar 25, 2021 at 6:10 PM Chris Johns wrote: > > On 26/3/21 8:49 am, Alex White wrote: > > Some NOP instructions were not being marked as executed because they > > are located at the end of uncovered ranges. This has been fixed. > > --- > >  tester/co

RE: [PATCH] coverage/symbol-sets.ini : Add libtrace

2021-03-29 Thread Alex White
On Sat, Mar 27, 2021 at 9:46 AM Gedare Bloom wrote: > > On Fri, Mar 12, 2021 at 10:17 AM Alex White wrote: > > > > --- > >  tester/rtems/testing/coverage/symbol-sets.ini | 3 ++- > >  1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/tes

RE: [PATCH] covoar: Add option to create named objdumps

2021-03-29 Thread Alex White
ping > -Original Message- > From: Alex White > Sent: Friday, March 12, 2021 11:07 AM > To: devel@rtems.org > Cc: Alex White > Subject: [PATCH] covoar: Add option to create named objdumps > > This adds a new behavior to the -d option which allows the creation of

[PATCH v6] cpukit/aarch64: Add ESR register decoding

2021-03-23 Thread Alex White
--- .../aarch64/aarch64-exception-frame-print.c | 135 -- 1 file changed, 125 insertions(+), 10 deletions(-) diff --git a/cpukit/score/cpu/aarch64/aarch64-exception-frame-print.c b/cpukit/score/cpu/aarch64/aarch64-exception-frame-print.c index 59b5d06032..e207a5a81d 100644 ---

[PATCH v2] coverage.py: Call covoar once

2021-04-06 Thread Alex White
Updates #4374 --- tester/rt/coverage.py | 60 +-- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/tester/rt/coverage.py b/tester/rt/coverage.py index 29ed60b..beda207 100644 --- a/tester/rt/coverage.py +++ b/tester/rt/coverage.py @@ -304,22

RE: [PATCH 1/2] covoar: Split symbols by symbol set

2021-04-06 Thread Alex White
On Tue, Apr 6, 2021 at 10:56 AM Gedare Bloom wrote: > > looks ok, it's a lot to try to process though. > > In a future patch it would be good to provide more useful names, I > don't know what 'ha' and 'la' mean, if anything. at least 'a' I > understand to be an address. > > Also, the typedef with

[PATCH 0/3] covoar: Improve error handling

2021-03-12 Thread Alex White
This patch set contains a few improvements to error handling in covoar that result in more meaningful error messages. Alex White (3): covoar: Catch exceptional case covoar: Improve findCoverageMap error message covoar: Fix overflow of high PC address tester/covoar/ExecutableInfo.cc | 23

[PATCH 3/3] covoar: Fix overflow of high PC address

2021-03-12 Thread Alex White
This fixes an integer overflow that would occur if a function's high PC address were zero in the DWARF info. --- tester/covoar/ExecutableInfo.cc | 5 + 1 file changed, 5 insertions(+) diff --git a/tester/covoar/ExecutableInfo.cc b/tester/covoar/ExecutableInfo.cc index 30828a6..7f33f20 100644

[PATCH 2/3] covoar: Improve findCoverageMap error message

2021-03-12 Thread Alex White
--- tester/covoar/ExecutableInfo.cc | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tester/covoar/ExecutableInfo.cc b/tester/covoar/ExecutableInfo.cc index 5a730fd..30828a6 100644 --- a/tester/covoar/ExecutableInfo.cc +++ b/tester/covoar/ExecutableInfo.cc @@ -177,7

[PATCH] covoar: Handle periods in symbols from objdump

2021-03-12 Thread Alex White
Occasionally the compiler will generate symbols that look similar to symbols defined in RTEMS code except that they contain some suffix. This looks to be related to compiler optimizations. Such symbols were being treated as unique. For our purposes, they should be mapped to the equivalent symbols

[PATCH] covoar: Fix null pointer dereference

2021-03-12 Thread Alex White
A null pointer dereference happens later in the program execution if the files are cleaned up at the end of the ExecutableInfo constructor. This change fixes the null pointer dereference. --- tester/covoar/ExecutableInfo.cc | 9 ++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff

[PATCH] coverage/symbol-sets.ini : Add libtrace

2021-03-12 Thread Alex White
--- tester/rtems/testing/coverage/symbol-sets.ini | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tester/rtems/testing/coverage/symbol-sets.ini b/tester/rtems/testing/coverage/symbol-sets.ini index 9617dd8..52e25ff 100644 --- a/tester/rtems/testing/coverage/symbol-sets.ini

[PATCH] covoar: Add option to create named objdumps

2021-03-12 Thread Alex White
This adds a new behavior to the -d option which allows the creation of named objdump outputs in the /tmp directory. This allows the outputs to be reused on subsequent runs of covoar rather than running objdump again. --- tester/covoar/ObjdumpProcessor.cc | 22 +-

[PATCH v3 1/2] covoar: Fix NOP execution marking

2021-03-12 Thread Alex White
Some NOP instructions were not being marked as executed because they are located at the end of uncovered ranges. This has been fixed. --- tester/covoar/CoverageMapBase.cc | 10 +++ tester/covoar/CoverageMapBase.h | 4 ++ tester/covoar/DesiredSymbols.cc | 38 --

[PATCH v3 0/2] Fix NOP recognition

2021-03-12 Thread Alex White
v3: - Fix double increment of rangeIndex in Coverage::finalizeSymbol() v2: - Fix leftover debugging code in Coverage::finalizeSymbol() This patch set fixes a couple cases where NOP instructions were showing up as unexecuted in coverage reports. Alex White (2): covoar: Fix NOP execution

[PATCH v3 2/2] covoar/Target_i386: Add NOP patterns

2021-03-12 Thread Alex White
A couple of NOP patterns found with the pc686 BSP were not detected. This has been fixed. --- tester/covoar/Target_i386.cc | 9 + 1 file changed, 9 insertions(+) diff --git a/tester/covoar/Target_i386.cc b/tester/covoar/Target_i386.cc index e0c9c0f..4567c1e 100644 ---

[PATCH] covoar: Account for build path change

2021-03-12 Thread Alex White
Covoar had not been updated to account for the paths used by the new build system. This has been fixed. --- tester/covoar/covoar.cc | 5 - 1 file changed, 5 deletions(-) diff --git a/tester/covoar/covoar.cc b/tester/covoar/covoar.cc index 84d883a..bf95cb4 100644 --- a/tester/covoar/covoar.cc

[PATCH 0/4] coverage/reports: Improve coverage reports

2021-03-12 Thread Alex White
This patch set includes a few improvements to the coverage reports. Alex White (4): covoar/reports: Add new statistics to summary coverage/reports: Improve formatting and clarity coverage/reports: Share common JS and CSS in reports coverage: Give coverage bars red background tester

[PATCH 4/4] coverage: Give coverage bars red background

2021-03-12 Thread Alex White
--- tester/rt/coverage.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tester/rt/coverage.py b/tester/rt/coverage.py index ec3957c..a561d26 100644 --- a/tester/rt/coverage.py +++ b/tester/rt/coverage.py @@ -129,6 +129,9 @@ class report_gen_html: head_section += 'width:

[PATCH 3/4] coverage/reports: Share common JS and CSS in reports

2021-03-12 Thread Alex White
This moves all of the javascript and CSS files that are shared by the symbol set HTML reports to the shared parent directory. It also includes the javascript and CSS in the top-level index file. --- tester/covoar/ReportsHtml.cc | 4 ++-- tester/rt/coverage.py| 11 ++- 2 files

[PATCH] covoar/TargetBase: Rename branchInstructions to conditionalBranchInstructions

2021-03-11 Thread Alex White
The TargetBase class contains a member variable named branchInstructions. The name omits the fact that it is only meant to contain conditional branch instructions. Its name has been changed to conditionalBranchInstructions to avoid confusion. --- tester/covoar/TargetBase.cc | 10 +++-

RE: [PATCH 1/2] covoar: Fix NOP execution marking

2021-03-11 Thread Alex White
al Message- From: Chris Johns Sent: Wednesday, March 10, 2021 7:18 PM To: Alex White ; devel@rtems.org Subject: Re: [PATCH 1/2] covoar: Fix NOP execution marking On 11/3/21 10:33 am, Alex White wrote: > Some NOP instructions were not being marked as executed because they > are located at the

[PATCH v2 1/2] covoar: Fix NOP execution marking

2021-03-11 Thread Alex White
Some NOP instructions were not being marked as executed because they are located at the end of uncovered ranges. This has been fixed. --- tester/covoar/CoverageMapBase.cc | 10 +++ tester/covoar/CoverageMapBase.h | 4 ++ tester/covoar/DesiredSymbols.cc | 38 --

[PATCH v2 0/2] Fix NOP recognition

2021-03-11 Thread Alex White
v2: - Fix leftover debugging code in Coverage::finalizeSymbol() This patch set fixes a couple cases where NOP instructions were showing up as unexecuted in coverage reports. Alex White (2): covoar: Fix NOP execution marking covoar/Target_i386: Add NOP patterns tester/covoar

[PATCH v2 2/2] covoar/Target_i386: Add NOP patterns

2021-03-11 Thread Alex White
A couple of NOP patterns found with the pc686 BSP were not detected. This has been fixed. --- tester/covoar/Target_i386.cc | 9 + 1 file changed, 9 insertions(+) diff --git a/tester/covoar/Target_i386.cc b/tester/covoar/Target_i386.cc index e0c9c0f..4567c1e 100644 ---

[PATCH] covoar/Target_arm: Add THUMB branch instructions

2021-03-11 Thread Alex White
The ".n" and ".w" variants of the THUMB branch instructions were not included in the list of conditional branch instructions. They have been added. --- tester/covoar/Target_arm.cc | 34 ++ 1 file changed, 34 insertions(+) diff --git a/tester/covoar/Target_arm.cc

[PATCH] covoar: Fix DWARF reading

2021-03-11 Thread Alex White
There were a couple of issues with the way the DWARF info was being read. The first issue was that it inefficiently included all symbols, even symbols that were not desired. The second issue is that it did not handle inline functions correctly. These have been fixed. ---

[PATCH 0/2] Fix QEMU branch analysis

2021-03-11 Thread Alex White
This patch set contains a couple of fixes for issues that were found while using covoar to analyze branch coverage in QEMU. Alex White (2): covoar/CoverageReaderQEMU: Fix infinite loop covoar/TargetBase: Fix QEMU branch info tester/covoar/CoverageReaderQEMU.cc | 11 +-- tester

[PATCH 2/2] covoar/TargetBase: Fix QEMU branch info

2021-03-11 Thread Alex White
The taken/not taken bit was being interpreted incorrectly. This led to branches being marked "always taken" when they were never taken. This has been fixed. --- tester/covoar/TargetBase.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tester/covoar/TargetBase.cc

[PATCH 1/2] covoar/CoverageReaderQEMU: Fix infinite loop

2021-03-11 Thread Alex White
There was a potential that the branch info loop never terminated. This has been fixed by adding a more reliable termination condition and logging an error if it cannot find the branch target. --- tester/covoar/CoverageReaderQEMU.cc | 11 +-- 1 file changed, 9 insertions(+), 2 deletions(-)

RE: [PATCH 2/3] covoar: Improve findCoverageMap error message

2021-03-16 Thread Alex White
This patch no longer applies assuming that the latest revision of my earlier patch, "covoar: Handle periods in symbols from objdump", is accepted. -Original Message----- From: Alex White Sent: Friday, March 12, 2021 11:14 AM To: devel@rtems.org Cc: Alex White Subject: [PATCH 2

[PATCH v3] covoar: Handle periods in symbols from objdump

2021-03-16 Thread Alex White
Occasionally the compiler will generate symbols that look similar to symbols defined in RTEMS code except that they contain some suffix. These symbol suffixes are only found in the ELF symbol table; the symbols appear to be normal in the DWARF info. This appears to be happening on all

RE: [PATCH v3] covoar: Handle periods in symbols from objdump

2021-03-16 Thread Alex White
> I have lost of the context of why covoar would like to strip the suffixes and > use only the base symbol name. Could you please explain why this is being > done? Sure. The symbol names in the DWARF info never contain these suffixes. Covoar strips the suffixes while reading the objdump output

RE: [PATCH v3] covoar: Handle periods in symbols from objdump

2021-03-16 Thread Alex White
. I found a good explanation of this directly in the GCC source here: https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/ipa-split.c;h=5e918ee3fbf6a86bd7fbfab6293f90c146b74977;hb=HEAD Alex From: Joel Sherrill Sent: Tuesday, March 16, 2021 9:53 AM To: Alex White Cc: rtems-de...@rtems.org Subject: Re

[PATCH v5 0/2] Fix NOP recognition

2021-03-18 Thread Alex White
in Coverage::finalizeSymbol() v2: - Fix leftover debugging code in Coverage::finalizeSymbol() This patch set fixes a couple cases where NOP instructions were showing up as unexecuted in coverage reports. Alex White (2): covoar: Fix NOP execution marking covoar/Target_i386: Add NOP patterns

[PATCH v5 2/2] covoar/Target_i386: Add NOP patterns

2021-03-18 Thread Alex White
A couple of NOP patterns found with the pc686 BSP were not detected. This has been fixed. --- tester/covoar/Target_i386.cc | 9 + 1 file changed, 9 insertions(+) diff --git a/tester/covoar/Target_i386.cc b/tester/covoar/Target_i386.cc index e0c9c0f..4567c1e 100644 ---

[PATCH v5 1/2] covoar: Fix NOP execution marking

2021-03-18 Thread Alex White
Some NOP instructions were not being marked as executed because they are located at the end of uncovered ranges. This has been fixed. --- tester/covoar/CoverageMapBase.cc | 10 +++ tester/covoar/CoverageMapBase.h | 4 ++ tester/covoar/DesiredSymbols.cc | 38 +--

RE: [PATCH v3] covoar: Handle periods in symbols from objdump

2021-03-18 Thread Alex White
> -Original Message- > From: Chris Johns > Sent: Tuesday, March 16, 2021 7:18 PM > To: j...@rtems.org; Alex White > Cc: rtems-de...@rtems.org > Subject: Re: [PATCH v3] covoar: Handle periods in symbols from objdump > > On 17/3/21 9:56 am, Joel Sherrill wrote:

[PATCH 2/3] tester: Remove target from BSP coverage configs

2021-03-10 Thread Alex White
--- tester/rt/coverage.py| 3 ++- tester/rtems/testing/bsps/griscv-sis-cov.ini | 1 - tester/rtems/testing/bsps/leon3-qemu-cov.ini | 1 - tester/rtems/testing/bsps/leon3-sis-cov.ini | 1 - 4 files changed, 2 insertions(+), 4 deletions(-) diff --git

[PATCH 1/3] tester: Update to support new build system

2021-03-10 Thread Alex White
The tester configurations had not been updated to match the paths and conventions used by the new build system. These have been updated, and a few more libraries have been enabled in symbol-sets.ini. --- tester/rtems/testing/coverage/symbol-sets.ini | 91 ++- 1 file changed, 46

[PATCH 3/3] tester: Add coverage variants for a few BSPs

2021-03-10 Thread Alex White
/rtems/testing/bsps/a53_lp64_qemu-cov.ini @@ -0,0 +1,40 @@ +# +# RTEMS Tools Project (http://www.rtems.org/) +# Copyright 2021 Alex White(alex.wh...@oarcorp.com) +# All rights reserved. +# +# This file is part of the RTEMS Tools package in 'rtems-tools'. +# +# Redistribution and use in source and binary

[PATCH 0/3] tester: Update coverage configs

2021-03-10 Thread Alex White
This patch set updates symbol-sets.ini to work with the paths used by the new build system, removes the need for "target" in the BSP configurations that include coverage, and adds a few new coverage-enabled BSP configurations. Alex White (3): tester: Update to support new build syste

  1   2   3   >