Bug 550474 - Linuxtools GCov incorrectly interprets gcc 9.1 data files

- modify Line to store blocks that specify it (can be more than 1
  in later releases)
- modify SourceFile.createLines() method to store blocks for each
  line
- modify GcdaRecordsParser.parseGcdaRecord() method to note whether
  arcs are out of order (not currently used but may be needed in
  future)
- modify GcnoFunction.addLineCounts() method to account for multiple
  blocks pointing to same line in which case add all entry arc counts
  from blocks that are not registered for the line
- also remove kludge that set arc counts to 0 when totals ended up
  less than 0
- add destination block indice info to Arc to make it easier to debug
  in conjunction with gcov-dump output
- bump up gcov plug-in version

Change-Id: I2ac25c968d46871652f74ecb6bbb99cdd3d608fa
Reviewed-on: https://git.eclipse.org/r/149004
Tested-by: Linux Tools Bot <linuxtools-bot@eclipse.org>
Reviewed-by: Jeff Johnston <jjohnstn@redhat.com>
(cherry picked from commit 376e09dd9a67ed50f73707323ba845e3f521cb79)
Reviewed-on: https://git.eclipse.org/r/149008
7 files changed
tree: 38fb269a5e201d57af2c863aa9e0059952c9d7e3
  1. changelog/
  2. containers/
  3. gcov/
  4. gprof/
  5. javadocs/
  6. libhover/
  7. lttng/
  8. man/
  9. oprofile/
  10. perf/
  11. profiling/
  12. releng/
  13. rpm/
  14. systemtap/
  15. vagrant/
  16. valgrind/
  17. .gitignore
  18. .project
  19. pom.xml
  20. README.md
README.md

Contributing to Linux Tools

Thanks for your interest in this project.

Project description:

The Linux Tools project aims to bring a full-featured C and C++ IDE to Linux developers. We build on the source editing and debugging features of the CDT and integrate popular native development tools such as the GNU Autotools, Valgrind, OProfile, RPM, SystemTap, GCov, GProf, LTTng, etc. Current projects include LTTng trace viewers and analyzers, an RPM .spec editor, Autotools build integration, a Valgrind heap usage analysis tool, and OProfile call profiling tools. The project also provides a place for Linux distributions to collaboratively overcome issues surrounding distribution packaging of Eclipse technology. The project produces both best practices and tools related to packaging. One of our features is a source archive of the Eclipse SDK that can be used by all Linux distributions building and distributing it.

Developer resources:

Information regarding source code management, builds, coding standards, and more.

Contributor License Agreement:

Before your contribution can be accepted by the project, you need to create and electronically sign the Eclipse Foundation Contributor License Agreement (CLA).

Contact:

Contact the project developers via the project's “dev” list.

Search for bugs:

This project uses Bugzilla to track ongoing development and issues.

Create a new bug:

Be sure to search for existing bugs before you create another one. Remember that contributions are always welcome!