Branch: refs/heads/kpp_amdgpu_instrument
  Home:   https://github.com/dyninst/dyninst
  Commit: 2cf183c088a4ecd4eb4adf5542afbbede46e9b26
      
https://github.com/dyninst/dyninst/commit/2cf183c088a4ecd4eb4adf5542afbbede46e9b26
  Author: Tim Haines <thaines.as...@gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M dwarf/CMakeLists.txt
    M dwarf/h/dwarf_cu_info.h
    M dwarf/h/dwarf_names.h
    A dwarf/h/dwarf_unit_info.h

  Log Message:
  -----------
  Create unique names for unnamed partial DWARF DIEs (#1558)

* Refactor out is_*_unit functions from dwarf_cu_info.h

* Give names to DW_TAG_partial_unit DIEs


  Commit: 8a3104dc67b2ec0bf0214dd2b51c9287f6cb2314
      
https://github.com/dyninst/dyninst/commit/8a3104dc67b2ec0bf0214dd2b51c9287f6cb2314
  Author: kupsch <kup...@cs.wisc.edu>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M dyninstAPI/src/emit-x86.C

  Log Message:
  -----------
  warning fix:  improve logical-op handling (#1559)

- use DYNINST_DIAGNOSTIC_BEGIN_SUPPRESS_LOGICAL_OP and END
  macros to suppress logical-op warning


  Commit: 53d4ae9e893bc773294b6342058fc6489d231992
      
https://github.com/dyninst/dyninst/commit/53d4ae9e893bc773294b6342058fc6489d231992
  Author: Tim Haines <thaines.as...@gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M .github/workflows/dev-containers.yaml
    M .github/workflows/pr-tests.yaml
    A docker/Dockerfile.fedora

  Log Message:
  -----------
  GithubCI: add testing on Fedora-39 (#1560)

* Add Dockerfile to build Fedora

* Add fedora-39 to PR tests (gcc only)

The available libomp is for clang-17, but the highest installable
version is clang-15. Seems like a bug.

* Add fedora-39 to release containers


  Commit: a11c15732e36270314c1bf94dbc32b98f2840cf3
      
https://github.com/dyninst/dyninst/commit/a11c15732e36270314c1bf94dbc32b98f2840cf3
  Author: Tim Haines <thaines.as...@gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M symtabAPI/src/dwarfWalker.C
    M symtabAPI/src/dwarfWalker.h

  Log Message:
  -----------
  Remove DwarfWalker::setModuleFromName (#1546)

It's replaced with the updated Symtab::findModuleByOffset. Finding by
name was always unnecessary as we know the offset of the current DIE.


  Commit: 33e198d70a624a77baabddddbd8643cb4dd9949f
      
https://github.com/dyninst/dyninst/commit/33e198d70a624a77baabddddbd8643cb4dd9949f
  Author: Tim Haines <thaines.as...@gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M symtabAPI/h/Symtab.h
    M symtabAPI/src/Symtab-edit.C

  Log Message:
  -----------
  Remove Symtab::changeSymbolOffset (#1567)

It is never used. Not a breaking change as it's private.

I have left the function of the same name in Aggregate because it's
protected, there is a virtual dtor, and that class is accessible by
users. It's possible that someone is using it.


  Commit: a135739fb40f987889fcdfadae34973ead36b6fe
      
https://github.com/dyninst/dyninst/commit/a135739fb40f987889fcdfadae34973ead36b6fe
  Author: Tim Haines <thaines.as...@gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M symtabAPI/src/dwarfWalker.C

  Log Message:
  -----------
  Clean up dead code in dwarfWalker.C (#1566)

* Remove commented-out code

It's just noise.

* Remove useless comments


  Commit: 9c7e76cdbe40522c68b832684726a92cc27507a4
      
https://github.com/dyninst/dyninst/commit/9c7e76cdbe40522c68b832684726a92cc27507a4
  Author: Tim Haines <thaines.as...@gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M symtabAPI/src/Object-elf.C

  Log Message:
  -----------
  Improve DWARF debugging in Object::fix_global_symbol_modules_static_dwarf 
(#1564)

* Remove dead debug code

* Add new debug tracing with dwarf_printf


  Commit: 21c79de9f1912fd862127ad899ff2755b315240c
      
https://github.com/dyninst/dyninst/commit/21c79de9f1912fd862127ad899ff2755b315240c
  Author: Tim Haines <thaines.as...@gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M symtabAPI/src/dwarfWalker.C

  Log Message:
  -----------
  Fix inline detection in findFuncName (#1563)


  Commit: 5ad3675325a708a03f301732059486a0cccf6f9f
      
https://github.com/dyninst/dyninst/commit/5ad3675325a708a03f301732059486a0cccf6f9f
  Author: Tim Haines <thaines.as...@gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M symtabAPI/doc/API/Symtab/Module.tex
    M symtabAPI/h/Module.h

  Log Message:
  -----------
  Remove Module::findFunctionsByName (#1562)

This was added by c848409 in 2009, but never implemented. It looks
like this was copy/pasted from the earliest Symtab rewrite.


  Commit: cb17dfc13896650b3fa7ff2b1901331644096707
      
https://github.com/dyninst/dyninst/commit/cb17dfc13896650b3fa7ff2b1901331644096707
  Author: Tim Haines <thaines.as...@gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M symtabAPI/doc/API/Symtab/Module.tex
    M symtabAPI/h/Module.h

  Log Message:
  -----------
  Remove Module::findFunctionByEntryOffset (#1561)

This was added by c848409ec in 2009, but never implemented. It looks
like this was copy/pasted from the earliest Symtab rewrite.


  Commit: a7326a6b9f9225ccf682a03171adb58675c713fd
      
https://github.com/dyninst/dyninst/commit/a7326a6b9f9225ccf682a03171adb58675c713fd
  Author: Tim Haines <thaines.as...@gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M symtabAPI/doc/3-Examples.tex
    M symtabAPI/doc/API/LineInfo/Iterating.tex
    M symtabAPI/doc/API/Symtab/Symtab.tex
    M symtabAPI/h/Symtab.h
    M symtabAPI/src/Symtab-lookup.C
    M symtabAPI/src/Symtab.C

  Log Message:
  -----------
  Remove Symtab::findModuleByName(Module *&, std::string) (#1565)

A Symtab::Module is a one-to-one mapping to a DWARF compilation unit
(CU). In DWARF4, we consider a CU to be an entry in the .debug_info
section with the tag DW_TAG_compile_unit. In DWARF5, we also include
entries with the tag DW_TAG_partial_unit as they can contain symbol
definitions; we assume libdw will merge all other split unit types for
us.

The name of a module is the DW_AT_name of the containing DIE. This is
either the full path name of the source file used to create the CU or
the relative path of the same with respect to the DW_AT_comp_dir. We
ensure that the module's name is always an absolute path.

Modules have never been required to have unique names. That is, many
modules can share the same name. The following demonstrates this case:

test.c
------
 #ifdef FUNC1
  void func1(){}
 #endif
 #ifdef FUNC2
  void func2(){}
 #endif

$ gcc -g -c -DFUNC1 -o func1.o test.c
$ gcc -g -c -DFUNC2 -o func2.o test.c
$ gcc -g -fPIC -shared func1.o func2.o -o libfunc.so
$ readelf --debug-dump=info libfunc.so | grep -A 6 DW_TAG_compile_unit
 <0><c>: Abbrev Number: 1 (DW_TAG_compile_unit)
    <d>   DW_AT_producer    : <redacted>
    <11>   DW_AT_language    : 29       (C11)
    <12>   DW_AT_name        : test.c
    <16>   DW_AT_comp_dir    : /path/to/test
    <1a>   DW_AT_low_pc      : 0x10f9
    <22>   DW_AT_high_pc     : 0x1104

 <0><55>: Abbrev Number: 1 (DW_TAG_compile_unit)
    <56>   DW_AT_producer    : <redacted>
    <5a>   DW_AT_language    : 29       (C11)
    <5b>   DW_AT_name        : test.c
    <5f>   DW_AT_comp_dir    : /path/to/test
    <63>   DW_AT_low_pc      : 0x1104
    <6b>   DW_AT_high_pc     : 0x110F

Because the two CUs have the same name, Dyninst throws away the contents
of the second one because this function would return the first. It is
also possible (and likely) that the two CUs have different line maps and
location lists. These, too, are discarded. Although unlikely, it is
legal for a compiler to emit CUs with overlapping PC range values. This
means the only way to uniquely identify a module is by its offset in
the .debug_info section.


  Commit: f9e70ac7d987696e739d9c8c67a7c4f473dfcd0d
      
https://github.com/dyninst/dyninst/commit/f9e70ac7d987696e739d9c8c67a7c4f473dfcd0d
  Author: Tim Haines <thaines.as...@gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M symtabAPI/src/Symtab.C

  Log Message:
  -----------
  Refactor Symtab::getOrCreateModule (#1568)

* Merge getOrCreateModule and newModule

The latter was only ever called from the former.

* Remove dead debug code

* Do not adjust Module's address

It's unclear why this was here. This function is currently called from
only two places: BinaryEdit::writeFile and
Object::fix_global_symbol_modules_static_dwarf.

In the first, the module created is called 'dyninstInst'. This is the
only place where that name is used, so only one module would be created.
Moreover, 'writeFile' will only produce a single binary output, so there
wouldn't be multiple modules.

In the second, the module lookup will always fail because we are
creating new ones for each DWARF compilation unit (CU), and those are
guaranteed to be unique as we iterate over the results of
'dwarf_nextcu'.

* Remove 'directory definitions' check

This kind of name is never used manually anywhere in Dyninst and the
names that come from DWARF compilation units (CUs) are never
directories.

* Clean up 'create' tracing message

* Tidy up variable declarations.

* Remove 'assert' after 'new'.

We require exceptions to be enabled when building Dyninst and we aren't
using the 'nothrow' version of 'operator new' here. This check is
useless.

* Remove existence check.

This will never be true because 'findModuleByOffset' would have found
the module.

* Don't return with parens

* Rename 'ret' to 'mod'.

For clarity.


  Commit: 6a41f5f048bacd67e8be3262610498a10a048d64
      
https://github.com/dyninst/dyninst/commit/6a41f5f048bacd67e8be3262610498a10a048d64
  Author: kupsch <kup...@cs.wisc.edu>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M common/h/compiler_annotations.h

  Log Message:
  -----------
  fix gcc 6's broken __has_x_attribute (#1569)

- gcc 6's __has_c_attribute and __has_cpp_attribute return true if
  an attribute is supported as a non-standard extension, but if used
  produces a warning if the language standard is earlier than the
  attribute's standardization; treat gcc 6 like clang and only allow
  if the language standard is after the introduction.

- refactor the conditional compilation tests into common macros


  Commit: a49362868e2b3904162f31c3210a97cfc17cd48c
      
https://github.com/dyninst/dyninst/commit/a49362868e2b3904162f31c3210a97cfc17cd48c
  Author: kupsch <kup...@cs.wisc.edu>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M common/h/compiler_diagnostics.h
    M symtabAPI/src/dwarfWalker.C

  Log Message:
  -----------
  warning fix:  false positive maybe uninitialized (#1570)

gcc 12 reports a diagnostic for a maybe uninitialized value when
boost::option::value_or is called on an optional that has no
value, even though this is safe

- add a diagnostic suppression macro for this warning and use it
  to suppress the warning


  Commit: 5f478bdf74290c122b9b759339a84a69c2b11855
      
https://github.com/dyninst/dyninst/commit/5f478bdf74290c122b9b759339a84a69c2b11855
  Author: Tim Haines <thaines.as...@gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M dyninstAPI/src/image.C
    M symtabAPI/doc/API/Symtab/Symtab.tex
    M symtabAPI/h/Symtab.h
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/Symtab-lookup.C
    M symtabAPI/src/Symtab.C
    M symtabAPI/src/symtab_impl.hpp

  Log Message:
  -----------
  Add Symtab::getContainingModule(Offset) (#1571)

* Add Symtab::getContainingModule(Offset)

Returns the module with PC ranges that contain a given offset (really
address). In contrast, findModuleByOffset(Offset) finds a module
starting at the given offset.


  Commit: e5573f006247229cc2c7bcd292af4feedf0688fc
      
https://github.com/dyninst/dyninst/commit/e5573f006247229cc2c7bcd292af4feedf0688fc
  Author: Tim Haines <thaines.as...@gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M symtabAPI/src/Symtab.C

  Log Message:
  -----------
  Use Symtab::getContainingModule instead of Symtab::findModuleByOffset (#1572)

This should have been part of ddd2315b5.


  Commit: 19140792e070330d26732a48f2f64a851ba02db1
      
https://github.com/dyninst/dyninst/commit/19140792e070330d26732a48f2f64a851ba02db1
  Author: Tim Haines <thaines.as...@gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M dyninstAPI/h/BPatch_statement.h
    M dyninstAPI/src/BPatch_statement.C
    M symtabAPI/CMakeLists.txt
    M symtabAPI/h/LineInformation.h
    M symtabAPI/h/Module.h
    M symtabAPI/h/RangeLookup.h
    A symtabAPI/h/Statement.h
    M symtabAPI/src/Module.C
    A symtabAPI/src/Statement.C

  Log Message:
  -----------
  Refactor symtab/Module.h (#1573)

* Move Statement class into its own header/source

* Add missing include in RangeLookup.h

* Remove redundant visibility specifier in Statement

* Use in-class member initializers

This removes the sign conversion.

* Default the dtor

* Whitespace Module.h

This was just too terrible to leave alone.

* Clean up includes in Module.h

* Merge public sections


  Commit: 1e0e22af7bd30ee4830d2ce5d59c672f55565516
      
https://github.com/dyninst/dyninst/commit/1e0e22af7bd30ee4830d2ce5d59c672f55565516
  Author: Tim Haines <thaines.as...@gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M dyninstAPI/h/BPatch.h
    M dyninstAPI/src/BPatch.C
    M dyninstAPI/src/mapped_module.C
    M dyninstAPI/src/mapped_module.h

  Log Message:
  -----------
  Deprecate mapped_module::truncateLineFilenames (#1574)

It's never used.


  Commit: 4fd92cb7a1598545f5a5ef28785f489f12173d97
      
https://github.com/dyninst/dyninst/commit/4fd92cb7a1598545f5a5ef28785f489f12173d97
  Author: Tim Haines <thaines.as...@gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M symtabAPI/h/Module.h
    M symtabAPI/src/Module.C
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/Object-elf.h
    M symtabAPI/src/Object.h

  Log Message:
  -----------
  Remove DWARFisms from Symtab::Module (#1575)

* Remove compilation directory from Module

This is a concept specific to DWARF. These functions are not documented.

* Remove DWARFisms from Symtab::Module

There is no need to store the CU DIE from which a Module instance is
derived. The address of the CU can be used to reconstitute the
entry in the .debug_info section using dwarf_addrdie.

Because Module.h is part of the public API for Dyninst, this also
removes the transitive dependency on libdw.


  Commit: ed5f4e054f75b9b6d15391d6b32d0c26808a242e
      
https://github.com/dyninst/dyninst/commit/ed5f4e054f75b9b6d15391d6b32d0c26808a242e
  Author: Tim Haines <thaines.as...@gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M symtabAPI/h/Module.h

  Log Message:
  -----------
  Remove MODULE_ANNOTATABLE_CLASS (#1576)

This is never used and Module doesn't inherit from AnnotatableSparse.


  Commit: 9aeb4638c5ff60accc879a9635684b1c89fb422c
      
https://github.com/dyninst/dyninst/commit/9aeb4638c5ff60accc879a9635684b1c89fb422c
  Author: Tim Haines <thaines.as...@gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M symtabAPI/h/Module.h

  Log Message:
  -----------
  Remove Module::findFunctionByEntryOffset (#1577)

This was originally done in d2d48213a, but was accidentally reverted in
1c5f4966b.


  Commit: 2915f777ca2105ea01414293f9f29c3a070ba780
      
https://github.com/dyninst/dyninst/commit/2915f777ca2105ea01414293f9f29c3a070ba780
  Author: Tim Haines <thaines.as...@gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M common/h/IBSTree-fast.h
    M symtabAPI/h/Aggregate.h
    M symtabAPI/h/Function.h

  Log Message:
  -----------
  Reduce usage of concurrent.h (#1578)


  Commit: 2d254367fc8671efd3a7fe4acfafeb3a51fd1141
      
https://github.com/dyninst/dyninst/commit/2d254367fc8671efd3a7fe4acfafeb3a51fd1141
  Author: Tim Haines <thaines.as...@gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M symtabAPI/doc/API/Symtab/Module.tex
    M symtabAPI/h/Module.h
    M symtabAPI/src/Module.C

  Log Message:
  -----------
  Replace Module::getAllFunctions (#1579)

The documented meaning did not match the implementation. This fixes
that and breaks the interface so that users are forced to see the
change rather than being surprised by it. It also makes it consistent
with the other 'find' members like findSymbol and findLocalVariable.


  Commit: c3f2f662039bb4137b2e2e31b4d2103ea9e86303
      
https://github.com/dyninst/dyninst/commit/c3f2f662039bb4137b2e2e31b4d2103ea9e86303
  Author: Tim Haines <thaines.as...@gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M dwarf/h/dwarf_cu_info.h
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/dwarfWalker.C

  Log Message:
  -----------
  Fix naming of Modules with relative CU paths (#1580)

* Use correct directory when adding source files

* Use correct directory when creating a Module


Compare: https://github.com/dyninst/dyninst/compare/5b56d12aa953...c3f2f662039b
_______________________________________________
Dyninst-api mailing list
Dyninst-api@cs.wisc.edu
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api

Reply via email to