[PATCH 1/2] covoar: Store only the file name in ExecutableInfo
Gedare Bloom
gedare at rtems.org
Tue May 4 07:07:07 UTC 2021
On Fri, Apr 30, 2021 at 2:02 PM Alex White <alex.white at oarcorp.com> wrote:
>
> 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 +++++-------
> tester/covoar/ExecutableInfo.h | 10 +++++-----
> 2 files changed, 10 insertions(+), 12 deletions(-)
>
> diff --git a/tester/covoar/ExecutableInfo.cc b/tester/covoar/ExecutableInfo.cc
> index fc368ce..861e60d 100644
> --- a/tester/covoar/ExecutableInfo.cc
> +++ b/tester/covoar/ExecutableInfo.cc
> @@ -21,7 +21,7 @@ namespace Coverage {
> const char* const theExecutableName,
> const char* const theLibraryName,
> bool verbose
> - ) : executable(theExecutableName),
> + ) : fileName(theExecutableName),
> loadAddress(0)
> {
> if (theLibraryName != nullptr)
> @@ -34,6 +34,8 @@ namespace Coverage {
> std::cerr << std::endl;
> }
>
> + rld::files::object executable(theExecutableName);
> +
> executable.open();
> executable.begin();
> executable.load_symbols(symbols);
> @@ -82,8 +84,6 @@ namespace Coverage {
> }
> } catch (...) {
> debug.end();
> - executable.end();
> - executable.close();
I may be missing something, but don't you still need to end() and close() it?
> throw;
> }
>
> @@ -95,8 +95,6 @@ namespace Coverage {
> ExecutableInfo::~ExecutableInfo()
> {
> debug.end();
> - executable.end();
> - executable.close();
> }
>
> void ExecutableInfo::dumpCoverageMaps( void ) {
> @@ -132,9 +130,9 @@ namespace Coverage {
> return aCoverageMap;
> }
>
> - const std::string ExecutableInfo::getFileName ( void ) const
> + const std::string& ExecutableInfo::getFileName ( void ) const
> {
> - return executable.name().full();
> + return fileName;
> }
>
> const std::string ExecutableInfo::getLibraryName( void ) const
> diff --git a/tester/covoar/ExecutableInfo.h b/tester/covoar/ExecutableInfo.h
> index d5ccb19..5d5a595 100644
> --- a/tester/covoar/ExecutableInfo.h
> +++ b/tester/covoar/ExecutableInfo.h
> @@ -77,7 +77,7 @@ namespace Coverage {
> *
> * @return Returns the executable's file name
> */
> - const std::string getFileName( void ) const;
> + const std::string& getFileName( void ) const;
>
> /*!
> * This method returns the library name associated with the executable.
> @@ -158,14 +158,14 @@ namespace Coverage {
> );
>
> /*!
> - * The ELF executable.
> + * The DWARF data to the ELF executable.
> */
> - rld::files::object executable;
> + rld::dwarf::file debug;
>
> /*!
> - * The DWARF data to the ELF executable.
> + * The executable's file name.
> */
> - rld::dwarf::file debug;
> + std::string fileName;
>
> /*!
> * The executable's symbol table.
> --
> 2.27.0
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
More information about the devel
mailing list