[DynInst_API:] [dyninst/dyninst] 04fe09: Fix transitive include breakages


Date: Thu, 13 Mar 2025 11:37:33 -0700
From: Tim Haines <noreply@xxxxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] 04fe09: Fix transitive include breakages
  Branch: refs/heads/thaines/cleanup_findMain
  Home:   https://github.com/dyninst/dyninst
  Commit: 04fe09efa08a00706e90d0973971f6306c2c4d2a
      https://github.com/dyninst/dyninst/commit/04fe09efa08a00706e90d0973971f6306c2c4d2a
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2025-03-13 (Thu, 13 Mar 2025)

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

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


  Commit: 58143300c035e7172fc624aaf374852d247da75f
      https://github.com/dyninst/dyninst/commit/58143300c035e7172fc624aaf374852d247da75f
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2025-03-13 (Thu, 13 Mar 2025)

  Changed paths:
    M dyninstAPI/src/image.h

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


  Commit: 305b73bc3d1bc7261d0d9d9b763af7cd50a9737a
      https://github.com/dyninst/dyninst/commit/305b73bc3d1bc7261d0d9d9b763af7cd50a9737a
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2025-03-13 (Thu, 13 Mar 2025)

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

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


  Commit: 51b80a7231899d7711b2cd536470a2fdc7edd7a3
      https://github.com/dyninst/dyninst/commit/51b80a7231899d7711b2cd536470a2fdc7edd7a3
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2025-03-13 (Thu, 13 Mar 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: 416440ffc1ccaf131d79e7da1df664283a41c636
      https://github.com/dyninst/dyninst/commit/416440ffc1ccaf131d79e7da1df664283a41c636
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2025-03-13 (Thu, 13 Mar 2025)

  Changed paths:
    M dyninstAPI/src/image.C

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


  Commit: 929443b207508433af403bdfa219606f77699217
      https://github.com/dyninst/dyninst/commit/929443b207508433af403bdfa219606f77699217
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2025-03-13 (Thu, 13 Mar 2025)

  Changed paths:
    M dyninstAPI/src/image.C

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


  Commit: be1ea1ed854cb860da577ffcf3498e20e6823804
      https://github.com/dyninst/dyninst/commit/be1ea1ed854cb860da577ffcf3498e20e6823804
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2025-03-13 (Thu, 13 Mar 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: a7dca658c200b823a1f62ccf96da0c533df58b41
      https://github.com/dyninst/dyninst/commit/a7dca658c200b823a1f62ccf96da0c533df58b41
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2025-03-13 (Thu, 13 Mar 2025)

  Changed paths:
    M dyninstAPI/src/image.C

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


  Commit: 6454c0f4ed201fef5605b1fbb14cfc1b8e69ff87
      https://github.com/dyninst/dyninst/commit/6454c0f4ed201fef5605b1fbb14cfc1b8e69ff87
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2025-03-13 (Thu, 13 Mar 2025)

  Changed paths:
    M dyninstAPI/src/image.C

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


  Commit: fed521094217f6c799af268f9d80be91e6de1cb6
      https://github.com/dyninst/dyninst/commit/fed521094217f6c799af268f9d80be91e6de1cb6
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2025-03-13 (Thu, 13 Mar 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: 4295965af20c415f16a4e10f88d40d2daa7461a8
      https://github.com/dyninst/dyninst/commit/4295965af20c415f16a4e10f88d40d2daa7461a8
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2025-03-13 (Thu, 13 Mar 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: dec26fe529524cc8c189a93c69d30e8b79766cff
      https://github.com/dyninst/dyninst/commit/dec26fe529524cc8c189a93c69d30e8b79766cff
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2025-03-13 (Thu, 13 Mar 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 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: 880fca1e5cc173a5cc5286c94e2b3e335cb9a24e
      https://github.com/dyninst/dyninst/commit/880fca1e5cc173a5cc5286c94e2b3e335cb9a24e
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2025-03-13 (Thu, 13 Mar 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: 34fed9a3ef283ec8c5792b0850bae0d1ba309b3b
      https://github.com/dyninst/dyninst/commit/34fed9a3ef283ec8c5792b0850bae0d1ba309b3b
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2025-03-13 (Thu, 13 Mar 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/04fe09efa08a%5E...34fed9a3ef28

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] 04fe09: Fix transitive include breakages, Tim Haines <=