[DynInst_API:] [dyninst/dyninst] eb6214: Fix transitive include breakages


Date: Wed, 25 Jun 2025 08:41:32 -0700
From: Tim Haines <noreply@xxxxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] eb6214: Fix transitive include breakages
  Branch: refs/heads/thaines/cleanup_findMain
  Home:   https://github.com/dyninst/dyninst
  Commit: eb6214e204f86861da40829cdfee5a0ff721084f
      https://github.com/dyninst/dyninst/commit/eb6214e204f86861da40829cdfee5a0ff721084f
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2025-06-24 (Tue, 24 Jun 2025)

  Changed paths:
    M symtabAPI/h/Aggregate.h
    M symtabAPI/h/Archive.h

  Log Message:
  -----------
  Fix transitive include breakages


  Commit: a1ef9e13af02f2bfffaf85181287b29d674d2486
      https://github.com/dyninst/dyninst/commit/a1ef9e13af02f2bfffaf85181287b29d674d2486
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2025-06-24 (Tue, 24 Jun 2025)

  Changed paths:
    M dyninstAPI/src/image.h

  Log Message:
  -----------
  Remove image::main_call_addr_


  Commit: 58090ad760a68bb2e596ae446e0bedb897b4ef36
      https://github.com/dyninst/dyninst/commit/58090ad760a68bb2e596ae446e0bedb897b4ef36
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2025-06-24 (Tue, 24 Jun 2025)

  Changed paths:
    M dyninstAPI/src/image.C
    M dyninstAPI/src/image.h

  Log Message:
  -----------
  Add image::getAddressOfMain


  Commit: ca8e617e7eec689ccbc0c21b9ac03913f7c5f591
      https://github.com/dyninst/dyninst/commit/ca8e617e7eec689ccbc0c21b9ac03913f7c5f591
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2025-06-24 (Tue, 24 Jun 2025)

  Changed paths:
    M tests/regression/CMakeLists.txt
    A tests/regression/dyninstAPI/CMakeLists.txt
    A tests/regression/dyninstAPI/find_main/CMakeLists.txt
    A tests/regression/dyninstAPI/find_main/find_main.cpp
    A tests/regression/dyninstAPI/find_main/find_main_test.c

  Log Message:
  -----------
  Add tests


  Commit: c5a20c028479bb43f5a1d4c43efcc8c05ceeee45
      https://github.com/dyninst/dyninst/commit/c5a20c028479bb43f5a1d4c43efcc8c05ceeee45
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2025-06-24 (Tue, 24 Jun 2025)

  Changed paths:
    M dyninstAPI/src/image.C

  Log Message:
  -----------
  Update function comment


  Commit: 63c87aecd726ece3e6299b2517057c54185aad3c
      https://github.com/dyninst/dyninst/commit/63c87aecd726ece3e6299b2517057c54185aad3c
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2025-06-24 (Tue, 24 Jun 2025)

  Changed paths:
    M dyninstAPI/src/image.C

  Log Message:
  -----------
  Ensure file is an executable


  Commit: 813ebd9b98726d6bd8c061097ab14d1890661243
      https://github.com/dyninst/dyninst/commit/813ebd9b98726d6bd8c061097ab14d1890661243
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2025-06-24 (Tue, 24 Jun 2025)

  Changed paths:
    M dyninstAPI/src/image.C

  Log Message:
  -----------
  Require the presence of at least one code region

For ppc, this is effectively the same as requiring the .text section.


  Commit: 0eb4fa7fbdcac566f4b764c3b0532c1566129fdc
      https://github.com/dyninst/dyninst/commit/0eb4fa7fbdcac566f4b764c3b0532c1566129fdc
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2025-06-24 (Tue, 24 Jun 2025)

  Changed paths:
    M dyninstAPI/src/image.C

  Log Message:
  -----------
  Uniformly check for 'main' symbol name


  Commit: 3a3765e716a77a27f5f93e364f03df26651c798f
      https://github.com/dyninst/dyninst/commit/3a3765e716a77a27f5f93e364f03df26651c798f
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2025-06-24 (Tue, 24 Jun 2025)

  Changed paths:
    M dyninstAPI/src/image.C

  Log Message:
  -----------
  Add extra logging


  Commit: 93222ee5f071a1983026b11045e95656ae666f1e
      https://github.com/dyninst/dyninst/commit/93222ee5f071a1983026b11045e95656ae666f1e
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2025-06-24 (Tue, 24 Jun 2025)

  Changed paths:
    M dyninstAPI/src/image.C

  Log Message:
  -----------
  Unify entry region construction

This is a slight change for PPC which previously parsed the entire
binary. There's no reason to do that since we know the only region we
need is near the entry point. Additionally, PPC allowed for an entry
region with no calls. That is inconsistent with the libc startup
procedure, so it's removed.


  Commit: c3bc4585a0786c670b98bc033ea9692dc5e2cd8b
      https://github.com/dyninst/dyninst/commit/c3bc4585a0786c670b98bc033ea9692dc5e2cd8b
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2025-06-24 (Tue, 24 Jun 2025)

  Changed paths:
    M dyninstAPI/CMakeLists.txt
    A dyninstAPI/src/find_main.h
    A dyninstAPI/src/find_main_ppc.C
    M dyninstAPI/src/image.C

  Log Message:
  -----------
  Extract, refactor ppc lookup

    This also removes deref_odp since it was part of the ELF V1 ABI for
    big-endian PPC that we no longer support. ppc64le uses ELF V2 that
    doesn't have function descriptors (and hence no .odp section).

    64-Bit ELF V2 ABI Specification
    Power Architecture Workgroup Specification
    Revision 1.5
    December 1, 2020
    Section 3.1 ELF Header

    E_flags defining the ABI level:

    0  For ELF object files of an unspecified nature.

    1  For the Power ELF V1 ABI using function descriptors. This ABI is
     currently only used for big-endian PowerPC implementations.

    2  For the OpenPOWER ELF V2 ABI using the facilities described here
and
     including function pointers to directly reference functions.


  Commit: 45c3b4965848d29790258510fd3bdf605c57a1d4
      https://github.com/dyninst/dyninst/commit/45c3b4965848d29790258510fd3bdf605c57a1d4
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2025-06-24 (Tue, 24 Jun 2025)

  Changed paths:
    M dyninstAPI/CMakeLists.txt
    M dyninstAPI/src/find_main.h
    A dyninstAPI/src/find_main_x86.C
    M dyninstAPI/src/image.C

  Log Message:
  -----------
  Extract, refactor x86 lookup

The heuristic code for FreeBSD hasn't compiled since at least 2009, so
I dropped it.


  Commit: 7a34cef434677fe9e2696214f113e7333c04f730
      https://github.com/dyninst/dyninst/commit/7a34cef434677fe9e2696214f113e7333c04f730
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2025-06-24 (Tue, 24 Jun 2025)

  Changed paths:
    M dyninstAPI/CMakeLists.txt
    A dyninstAPI/src/find_main.C
    M dyninstAPI/src/find_main.h
    M dyninstAPI/src/find_main_ppc.C
    M dyninstAPI/src/find_main_x86.C
    M dyninstAPI/src/image.h
    M tests/regression/dyninstAPI/find_main/CMakeLists.txt
    M tests/regression/dyninstAPI/find_main/find_main.cpp

  Log Message:
  -----------
  Extract find_main into separate module


  Commit: 1ea0cb79818cb4f7ebc3c3ed8db9e864d6101bed
      https://github.com/dyninst/dyninst/commit/1ea0cb79818cb4f7ebc3c3ed8db9e864d6101bed
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2025-06-24 (Tue, 24 Jun 2025)

  Changed paths:
    M dyninstAPI/src/find_main.h
    M dyninstAPI/src/image.C

  Log Message:
  -----------
  Extract missing symbol handling


Compare: https://github.com/dyninst/dyninst/compare/34fed9a3ef28...1ea0cb79818c

To unsubscribe from these emails, change your notification settings at https://github.com/dyninst/dyninst/settings/notifications
[← Prev in Thread] Current Thread [Next in Thread→]
  • [DynInst_API:] [dyninst/dyninst] eb6214: Fix transitive include breakages, Tim Haines <=