[DynInst_API:] [dyninst/dyninst] 304633: Update global ELF ctor/dtor instrumentation for st...


Date: Thu, 23 Feb 2023 14:24:14 -0800
From: Tim Haines <noreply@xxxxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] 304633: Update global ELF ctor/dtor instrumentation for st...
  Branch: refs/heads/master
  Home:   https://github.com/dyninst/dyninst
  Commit: 3046332ba3d32eccb63f8dd6ecc65afca3b2c63f
      https://github.com/dyninst/dyninst/commit/3046332ba3d32eccb63f8dd6ecc65afca3b2c63f
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2023-02-23 (Thu, 23 Feb 2023)

  Changed paths:
    M dyninstAPI/src/parse-aarch64.C
    M dyninstAPI/src/parse-power.C
    M dyninstAPI/src/parse-x86.C

  Log Message:
  -----------
  Update global ELF ctor/dtor instrumentation for static executables (#1355)

If __libc_csu_init doesn't exist, try to insert the constructor call into the beginning of 'main'. If __libc_csu_fini doesn't exist, try to insert the constructor call into the beginning of 'exit'.

* Use C-style strings for symbol names

There's no need to have a std::string object that incurs the overhead of a constructor/destructor call to just hold a literal that's only visible in the current translation unit.


[← Prev in Thread] Current Thread [Next in Thread→]
  • [DynInst_API:] [dyninst/dyninst] 304633: Update global ELF ctor/dtor instrumentation for st..., Tim Haines <=