[DynInst_API:] [dyninst/dyninst] 42c3a4: Fix virtual derived signature to match base class


Date: Thu, 09 Mar 2023 11:28:05 -0800
From: Tim Haines <noreply@xxxxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] 42c3a4: Fix virtual derived signature to match base class
  Branch: refs/heads/cmake_modernization
  Home:   https://github.com/dyninst/dyninst
  Commit: 42c3a4b497071e421686ded49ad0da406c8053ac
      https://github.com/dyninst/dyninst/commit/42c3a4b497071e421686ded49ad0da406c8053ac
  Author: wuxx1279 <bbiiggppiigg@xxxxxxxxx>
  Date:   2023-02-27 (Mon, 27 Feb 2023)

  Changed paths:
    M instructionAPI/src/AMDGPU/cdna2/InstructionDecoder-amdgpu-cdna2.C
    M instructionAPI/src/AMDGPU/cdna2/InstructionDecoder-amdgpu-cdna2.h
    M instructionAPI/src/AMDGPU/gfx908/InstructionDecoder-amdgpu-gfx908.C
    M instructionAPI/src/AMDGPU/gfx908/InstructionDecoder-amdgpu-gfx908.h

  Log Message:
  -----------
  Fix virtual derived signature to match base class

makeRegisterExpression in the derived class had
an incorrect function signature, which made
compilation fails on gcc-6 and clang.


  Commit: 557a01949a4c11e8e8975fe113e4ab07b64bf25d
      https://github.com/dyninst/dyninst/commit/557a01949a4c11e8e8975fe113e4ab07b64bf25d
  Author: James A. Kupsch <kupsch@xxxxxxxxxxx>
  Date:   2023-02-27 (Mon, 27 Feb 2023)

  Changed paths:
    M instructionAPI/src/AMDGPU/cdna2/InstructionDecoder-amdgpu-cdna2.h
    M instructionAPI/src/AMDGPU/gfx908/InstructionDecoder-amdgpu-gfx908.h

  Log Message:
  -----------
  add InstructionDecoderImpl::makeRegisterExpression to derived classes

Eliminate virtual-overloaded warning as there are 3 overloaded methods of
InstructionDecoderImpl::makeRegisterExpression, but only 2 are defined in
these classes for add a using so the 3rd is not hidden.


  Commit: f89cc72416fdc1d467b130f48609b8fc93126d37
      https://github.com/dyninst/dyninst/commit/f89cc72416fdc1d467b130f48609b8fc93126d37
  Author: Bolo -- Josef Burger <bigtrak@xxxxxxxxxxxxxxxxxxxxxxxx>
  Date:   2023-02-28 (Tue, 28 Feb 2023)

  Changed paths:
    M instructionAPI/src/AMDGPU/cdna2/InstructionDecoder-amdgpu-cdna2.C
    M instructionAPI/src/AMDGPU/cdna2/InstructionDecoder-amdgpu-cdna2.h
    M instructionAPI/src/AMDGPU/gfx908/InstructionDecoder-amdgpu-gfx908.C
    M instructionAPI/src/AMDGPU/gfx908/InstructionDecoder-amdgpu-gfx908.h

  Log Message:
  -----------
  Merge pull request #1389 from dyninst/wuxx1279/gfx908/clang-error

Fix ambiguous override of InstructionDecoder_amdgpu_*::makeRegisterExpression


  Commit: 46ea3009e1e0e27bd035ac3152dc772bf861f3fd
      https://github.com/dyninst/dyninst/commit/46ea3009e1e0e27bd035ac3152dc772bf861f3fd
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2023-03-01 (Wed, 01 Mar 2023)

  Changed paths:
    M dyninstAPI/src/BPatch.C

  Log Message:
  -----------
  Avoid possible copy in BPatch::createEnum (#1390)

The Type class doesn't have a user-defined copy constructor and its
implicit declaration is deprecated in C++20. Rearranging the construction
here removes the possibility of copying.


  Commit: ae43ebc6f905345499ed9c55eccb007e9a69efa9
      https://github.com/dyninst/dyninst/commit/ae43ebc6f905345499ed9c55eccb007e9a69efa9
  Author: Balazs Nemeth <bnemeth@xxxxxxxxxx>
  Date:   2023-03-01 (Wed, 01 Mar 2023)

  Changed paths:
    M dyninstAPI/src/inst-aarch64.C

  Log Message:
  -----------
  Aarch64: Fix restoring special purpose registers order (#1000)

The special purpose registers are pushed onto the stack by
EmitterAARCH64SaveRegs::saveSPRegisters. This patch reverses the order
used for popping the stored registers from the stack. Without
this patch, some of the state registers get swapped.


  Commit: 067be96bb64a3d4191f12db1694b0fcfec51d457
      https://github.com/dyninst/dyninst/commit/067be96bb64a3d4191f12db1694b0fcfec51d457
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2023-03-02 (Thu, 02 Mar 2023)

  Changed paths:
    M dyninstAPI/src/inst-power.C

  Log Message:
  -----------
  Restore PPC special-purpose registers in opposite order of saving them (#1392)

* Restore PPC special-purpose registers in opposite order of saving them

This is the same fix as https://github.com/dyninst/dyninst/pull/1000,
but for PowerPC.

* Reverse order of FPSCR restore


  Commit: b9e83871f0380068dba79648c6acee503cac5d76
      https://github.com/dyninst/dyninst/commit/b9e83871f0380068dba79648c6acee503cac5d76
  Author: James A. Kupsch <kupsch@xxxxxxxxxxx>
  Date:   2023-03-09 (Thu, 09 Mar 2023)

  Changed paths:
    M common/h/compiler_annotations.h

  Log Message:
  -----------
  warning fix:  [[fallthrough]] requires C++ 17 (#1394)

- clang's __has_cpp_attribute(fallthrough) feature test macro returns
  true, but produces warnings if used.  [[clang::fallthough]] works, so
  force it if the language version is pre-17 with clang compiler.

- fix typo in __cplusplus macro name

- improve robustness: try all alternative fallthrough attributes names


  Commit: e6b41075d61009b539107836591cb47b8cb3e3c8
      https://github.com/dyninst/dyninst/commit/e6b41075d61009b539107836591cb47b8cb3e3c8
  Author: James A. Kupsch <kupsch@xxxxxxxxxxx>
  Date:   2023-03-09 (Thu, 09 Mar 2023)

  Changed paths:
    M common/h/concurrent.h

  Log Message:
  -----------
  warning fix:  mismatched class/struct (#1394)

- use consistent 'struct' and 'class' keyword between forward
  declaration and definition; a mismatch is legal be breaks on
  some versions of MS C++


  Commit: 84fe176ef5ab61376911570de6b506473a3c8d35
      https://github.com/dyninst/dyninst/commit/84fe176ef5ab61376911570de6b506473a3c8d35
  Author: James A. Kupsch <kupsch@xxxxxxxxxxx>
  Date:   2023-03-09 (Thu, 09 Mar 2023)

  Changed paths:
    M instructionAPI/src/AMDGPU/cdna2/amdgpu_cdna2_decoder_impl.C
    M instructionAPI/src/AMDGPU/gfx908/amdgpu_gfx908_decoder_impl.C

  Log Message:
  -----------
  warning fix:  tautological always true comparison (#1394)

- value of type unsigned char compared to 256 produces a warning as 256
  is outside the range of the uint8_t.  256 is the number of array
  elements (computed using sizeof's).  Changed from (n < numElems) to (n
  <= numElems - 1) which is also always true, but the error is
  eliminated due to 255 being within range of a uint8_t.  Ugly but makes
  the warning disappear.


  Commit: b88b16dba9477f18fe598fad5552758204a1558e
      https://github.com/dyninst/dyninst/commit/b88b16dba9477f18fe598fad5552758204a1558e
  Author: James A. Kupsch <kupsch@xxxxxxxxxxx>
  Date:   2023-03-09 (Thu, 09 Mar 2023)

  Changed paths:
    M parseAPI/h/SymLiteCodeSource.h

  Log Message:
  -----------
  warning fix:  missing override (#1394)

- add override to all overridden virtual methods of a class if present
  on any method


  Commit: 4aff07d1eba822b880558c030c7f5aec94b2ae9c
      https://github.com/dyninst/dyninst/commit/4aff07d1eba822b880558c030c7f5aec94b2ae9c
  Author: James A. Kupsch <kupsch@xxxxxxxxxxx>
  Date:   2023-03-09 (Thu, 09 Mar 2023)

  Changed paths:
    M symtabAPI/src/dwarfWalker.C

  Log Message:
  -----------
  warning fix:  pessimizing move (#1394)

- remove unnecessary std::move's


  Commit: 285ac938848739e02e38c044cf354dcb9d99f0b9
      https://github.com/dyninst/dyninst/commit/285ac938848739e02e38c044cf354dcb9d99f0b9
  Author: James A. Kupsch <kupsch@xxxxxxxxxxx>
  Date:   2023-03-09 (Thu, 09 Mar 2023)

  Changed paths:
    M common/h/Buffer.h
    A common/h/unaligned_memory_access.h
    M common/src/arch-aarch64.C
    M common/src/arch-power.C
    M common/src/arch-x86.C
    M dyninstAPI/src/Relocation/Widgets/PCWidget-x86.C
    M dyninstAPI/src/addressSpace.C
    M dyninstAPI/src/codegen-x86.C
    M dyninstAPI/src/emit-x86.C
    M dyninstAPI/src/inst-x86.C
    M instructionAPI/src/InstructionDecoder-power.C
    M instructionAPI/src/InstructionDecoder-x86.C
    M parseAPI/src/SymtabCodeSource.C
    M proccontrol/src/linux.C
    M proccontrol/src/loadLibrary/codegen-aarch64.C
    M proccontrol/src/mmapalloc.C
    M proccontrol/src/ppc_process.C
    M stackwalk/src/callchecker-IAPI.C
    M stackwalk/src/x86-wanderer.C
    M symlite/src/SymLite-elf.C
    M symtabAPI/src/Object-elf.C

  Log Message:
  -----------
  warning fix:  increased alignment cast (#1394)

- Casts of pointers to a type that has a larger alignment requirement
  will cause an exceptions on some architectures on dereference if the
  pointer does not meet its alignment requirements.

- Add new template functions read_memory_as and write_memory_as that
  read and write the bytes of (possibly) unaligned memory of the desired
  data at the supplied address using the length of the template type in
  a way that is safe even if the supplied pointer is not properly
  aligned.

- Add functions append_memory_as; like write_memory_as but updates the
  pointer value to memory location after the bytes written.

- Add template function alignas_cast to cast a pointer to another
  pointer without producing an increased alignment warning; requires
  manual auditing to pointer is properly aligned


  Commit: 1b0eeb1ee0407780ee07f603910d398f836dc2f7
      https://github.com/dyninst/dyninst/commit/1b0eeb1ee0407780ee07f603910d398f836dc2f7
  Author: James A. Kupsch <kupsch@xxxxxxxxxxx>
  Date:   2023-03-09 (Thu, 09 Mar 2023)

  Changed paths:
    M elf/src/Elf_X.C
    M parseThat/src/sha1.C
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/emitElf.C
    M symtabAPI/src/emitElfStatic.C

  Log Message:
  -----------
  warning fix:  increased alignment cast (pointers) (#1394)

- fix alignment warnings of pointers by using alignas_cast<> defined in
  common/h/raw_memory_access.h to eliminate the increase alignment
  warning.  For the code as currently written, these are all aligned
  properly, but these are inherently unsafe and require manual
  inspection of the pointers involved.  An assert in alignas_cast can be
  uncommented to validate proper alignment at runtime.

- explicitly force larger alignment of one variable to eliminate warning


  Commit: c21bd122187e87b74d45a5ba3ec3e3824750f9c3
      https://github.com/dyninst/dyninst/commit/c21bd122187e87b74d45a5ba3ec3e3824750f9c3
  Author: James A. Kupsch <kupsch@xxxxxxxxxxx>
  Date:   2023-03-09 (Thu, 09 Mar 2023)

  Changed paths:
    M common/h/unaligned_memory_access.h
    M dyninstAPI_RT/src/RTheap.c
    M dyninstAPI_RT/src/RTlinux.c

  Log Message:
  -----------
  warning fix:  increased alignment cast (C casts) (#1394)

- fixed increased alignment warnings in C code.  The macro
  CAST_WITHOUT_ALIGNMENT_WARNING eliminates the warning and allows for
  future auditing.  For the code as currently written, these are all
  aligned properly.


  Commit: 8d0e2760b307c7d465b56cac639c2e4a2cc93ca8
      https://github.com/dyninst/dyninst/commit/8d0e2760b307c7d465b56cac639c2e4a2cc93ca8
  Author: James A. Kupsch <kupsch@xxxxxxxxxxx>
  Date:   2023-03-09 (Thu, 09 Mar 2023)

  Changed paths:
    M dyninstAPI/src/Relocation/Widgets/PCWidget-x86.C
    M dyninstAPI/src/codegen-x86.C
    M dyninstAPI/src/emit-x86.C
    M dyninstAPI/src/inst-x86.C
    M parseAPI/src/SymtabCodeSource.C

  Log Message:
  -----------
  write_memory_as to append_memory_as as appropriate (#1394)

- where write_memory also updates the pointer, change then to
  append_memory_as(...)

- change '*insn++ = <value>' to append_memory_as_byte(...) to
  be consistent with append_memory_as(...)


  Commit: 4bf4a24c514d0c395fdd27d6fe68ddf0fef89040
      https://github.com/dyninst/dyninst/commit/4bf4a24c514d0c395fdd27d6fe68ddf0fef89040
  Author: James A. Kupsch <kupsch@xxxxxxxxxxx>
  Date:   2023-03-09 (Thu, 09 Mar 2023)

  Changed paths:
    M dyninstAPI/src/Relocation/Widgets/PCWidget-x86.C
    M dyninstAPI/src/addressSpace.C
    M dyninstAPI/src/codegen-x86.C
    M dyninstAPI/src/emit-x86.C
    M dyninstAPI/src/inst-x86.C
    M proccontrol/src/linux.C
    M proccontrol/src/mmapalloc.C

  Log Message:
  -----------
  replace C-style and functional casts (#1394)

- replace C-style casts ((T)e) and functional casts (T(e)) with modern
  casts that have a clearer intent and are safer:  static_cast<T>(e),
  and T{e}.


  Commit: 73064a866ee1d19d8e12e2562f60b9b7f8e05406
      https://github.com/dyninst/dyninst/commit/73064a866ee1d19d8e12e2562f60b9b7f8e05406
  Author: James A. Kupsch <kupsch@xxxxxxxxxxx>
  Date:   2023-03-09 (Thu, 09 Mar 2023)

  Changed paths:
    M dyninstAPI/src/BPatch_function.C
    M dyninstAPI/src/BPatch_snippet.C
    M dyninstAPI/src/IAPI_to_AST.C
    M dyninstAPI/src/StackMod/StackAccess.C
    M dyninstAPI/src/StackMod/StackAccess.h
    M dyninstAPI/src/StackMod/StackLocation.h
    M dyninstAPI/src/addressSpace.C
    M dyninstAPI/src/ast.C
    M dyninstAPI/src/ast.h
    M dyninstAPI/src/codegen.C
    M dyninstAPI/src/codegen.h
    M dyninstAPI/src/dynProcess.C
    M dyninstAPI/src/emit-x86.C
    M dyninstAPI/src/frame.h
    M dyninstAPI/src/function.C
    M dyninstAPI/src/inst-aarch64.C
    M dyninstAPI/src/inst-power.C
    M dyninstAPI/src/inst-x86.C
    M dyninstAPI/src/linux-x86.C
    M dyninstAPI/src/patch.h
    M dyninstAPI/src/syscallNotification.C

  Log Message:
  -----------
  warning fix:  shadow (enumerator names) (#1394)

enumerator names shadow names in other scopes

- made 3 internal enum types scoped enums:  StackAccessType,
  operandType and patch_type_t

- delete one internal and unused enum type:  frameType_t


  Commit: 344783a7954de9af7f98a5d3f0ec7c505b7536a1
      https://github.com/dyninst/dyninst/commit/344783a7954de9af7f98a5d3f0ec7c505b7536a1
  Author: James A. Kupsch <kupsch@xxxxxxxxxxx>
  Date:   2023-03-09 (Thu, 09 Mar 2023)

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

  Log Message:
  -----------
  warning fix:  shadow (variables) (#1394)

- rename variables that shadow names in containing scopes


  Commit: 9be477535debee15c2403bdc2ddedb31fdf0eb8e
      https://github.com/dyninst/dyninst/commit/9be477535debee15c2403bdc2ddedb31fdf0eb8e
  Author: James A. Kupsch <kupsch@xxxxxxxxxxx>
  Date:   2023-03-09 (Thu, 09 Mar 2023)

  Changed paths:
    M dyninstAPI/src/BPatch_memoryAccessAdapter.h
    M dyninstAPI/src/Relocation/Transformers/Movement-analysis.h
    M dyninstAPI/src/codegen-x86.C
    M dyninstAPI/src/function.C
    M dyninstAPI/src/image.C
    M dyninstAPI/src/image.h

  Log Message:
  -----------
  warning fix:  remove unused variables/members (#1394)

- remove variables that were never used

- remove code that only updated unused variables


  Commit: 0eb0b29def9cc2d18e0fe724e536c73e7e9ef964
      https://github.com/dyninst/dyninst/commit/0eb0b29def9cc2d18e0fe724e536c73e7e9ef964
  Author: James A. Kupsch <kupsch@xxxxxxxxxxx>
  Date:   2023-03-09 (Thu, 09 Mar 2023)

  Changed paths:
    M common/h/Buffer.h
    M dwarf/h/dwarfResult.h
    M dyninstAPI/h/BPatch_statement.h
    M dyninstAPI/src/codeRange.h
    M dyninstAPI/src/infHeap.h
    M dyninstAPI/src/patch.h
    M instructionAPI/h/Expression.h
    M instructionAPI/h/InstructionAST.h
    M instructionAPI/h/Register.h
    M parseAPI/h/CFG.h
    M proccontrol/h/ProcessSet.h
    M symtabAPI/h/Module.h
    M symtabAPI/h/Symtab.h
    M symtabAPI/h/Type.h
    M symtabAPI/src/Object-elf.h

  Log Message:
  -----------
  warning fix:  deprecated copy/op= with user provided dtor (#1394)

- Explicitly define the implicit operator or remove the explicit
  destructor; in C++ 20, if a destructor is explicitly defined then
  the other constructor, assignment and move operators will not be
  automatically generated


  Commit: b977e8d7132b312c853652a1e7e6f28eb39dbab0
      https://github.com/dyninst/dyninst/commit/b977e8d7132b312c853652a1e7e6f28eb39dbab0
  Author: James A. Kupsch <kupsch@xxxxxxxxxxx>
  Date:   2023-03-09 (Thu, 09 Mar 2023)

  Changed paths:
    M common/h/concurrent.h

  Log Message:
  -----------
  warning fix:  unused private field (#1394)

- removed myid member from dyn_thread as it is never used


  Commit: 55d8a338e362d3aa4448aa9bae776eb90ca1292a
      https://github.com/dyninst/dyninst/commit/55d8a338e362d3aa4448aa9bae776eb90ca1292a
  Author: James A. Kupsch <kupsch@xxxxxxxxxxx>
  Date:   2023-03-09 (Thu, 09 Mar 2023)

  Changed paths:
    M symtabAPI/h/Symtab.h

  Log Message:
  -----------
  warning fix:  std::iterator is deprecated (#1394)

- replace std::iterator with in class type aliass for required types


  Commit: 706fd0e3c532a3d7cfc1d752620ebed2fac65c5d
      https://github.com/dyninst/dyninst/commit/706fd0e3c532a3d7cfc1d752620ebed2fac65c5d
  Author: James A. Kupsch <kupsch@xxxxxxxxxxx>
  Date:   2023-03-09 (Thu, 09 Mar 2023)

  Changed paths:
    M dyninstAPI/src/Relocation/CodeBuffer.h
    M dyninstAPI/src/infHeap.h
    M symtabAPI/h/RangeLookup.h

  Log Message:
  -----------
  warning fix:  missing noexcept (#1394)

- declare functions noexcept


  Commit: e57fe4c395dff4fd11f18d2f00eb58ad25212501
      https://github.com/dyninst/dyninst/commit/e57fe4c395dff4fd11f18d2f00eb58ad25212501
  Author: James A. Kupsch <kupsch@xxxxxxxxxxx>
  Date:   2023-03-09 (Thu, 09 Mar 2023)

  Changed paths:
    M dyninstAPI/src/function.C

  Log Message:
  -----------
  warning fix:  std::random_shuffle is deprecated (#1394)

- replace std::random_shuffle with std::shuffle


  Commit: e6e380f7158326fc686f1b3f7ec7a01b3ac4bfe2
      https://github.com/dyninst/dyninst/commit/e6e380f7158326fc686f1b3f7ec7a01b3ac4bfe2
  Author: James A. Kupsch <kupsch@xxxxxxxxxxx>
  Date:   2023-03-09 (Thu, 09 Mar 2023)

  Changed paths:
    M dyninstAPI/src/frame.h
    M proccontrol/h/PCProcess.h
    M proccontrol/h/ProcessSet.h
    M proccontrol/src/process.C
    M proccontrol/src/procset.C
    M symtabAPI/h/Symtab.h

  Log Message:
  -----------
  warning fix:  ambiguous reversed operator (#1394)

C++ 20 considers the reversed parameter of a comparison operators in
addition to the given parameter order.  This implies that if the
argument is const then the member function must also be const.

- change    bool operator==(const T&)
      to    bool operator==(const T&) const


  Commit: 1a2e3fd795f8ec6cb730038ec277431b0832c03c
      https://github.com/dyninst/dyninst/commit/1a2e3fd795f8ec6cb730038ec277431b0832c03c
  Author: James A. Kupsch <kupsch@xxxxxxxxxxx>
  Date:   2023-03-09 (Thu, 09 Mar 2023)

  Changed paths:
    M common/h/Annotatable.h
    M instructionAPI/src/Instruction.C
    M symtabAPI/src/Collections.C
    M symtabAPI/src/emitElf.C

  Log Message:
  -----------
  warning fix:  set but unused variables (#1394)

- delete variables whose only use is to increment themselves


  Commit: 9dbc1e30e30ef263b174d1d2b5ca648e8ef6bf0d
      https://github.com/dyninst/dyninst/commit/9dbc1e30e30ef263b174d1d2b5ca648e8ef6bf0d
  Author: James A. Kupsch <kupsch@xxxxxxxxxxx>
  Date:   2023-03-09 (Thu, 09 Mar 2023)

  Changed paths:
    M dyninstAPI_RT/h/dyninstRTExport.h
    M dyninstAPI_RT/src/RTcommon.c
    M dyninstAPI_RT/src/RTcommon.h
    M dyninstAPI_RT/src/RTheap.h
    M dyninstAPI_RT/src/RTlinux.c
    M dyninstAPI_RT/src/RTposix.c
    M dyninstAPI_RT/src/RTstatic_ctors_dtors-x86.c
    M dyninstAPI_RT/src/RTthread.h

  Log Message:
  -----------
  warning fix:  C function decls without prototype (#1394)

- C functions declared as func() are a declaration without a prototype
  (from the original K&R C), not a function that takes no parameters
  (until C23), change all of these to func(void) which is how to
  declare such a function in C


  Commit: b78e883c77aefc27d1a30722b414266aa33897d1
      https://github.com/dyninst/dyninst/commit/b78e883c77aefc27d1a30722b414266aa33897d1
  Author: James A. Kupsch <kupsch@xxxxxxxxxxx>
  Date:   2023-03-09 (Thu, 09 Mar 2023)

  Changed paths:
    M instructionAPI/src/Register.C

  Log Message:
  -----------
  warning fix:  logical op (#1394)

- add suppressions for identical clauses of a logical operator
  even if they are only identical after evaluating constant
  expressions that are not identical as gcc 8 and prior warn
  about this

- Suppression for these are already in place for warnings in adjacent
  if statements, so extend the suppression to cover these also


  Commit: 12a4fd86738c048dd82c20c31359cf7a48c082eb
      https://github.com/dyninst/dyninst/commit/12a4fd86738c048dd82c20c31359cf7a48c082eb
  Author: James A. Kupsch <kupsch@xxxxxxxxxxx>
  Date:   2023-03-09 (Thu, 09 Mar 2023)

  Changed paths:
    M cmake/warnings.cmake

  Log Message:
  -----------
  warning fix:  stack frame larger than (#1394)

- increase stack frame size warning limit when using the clang compiler
  for a couple of files that needed a similar increase for gcc


  Commit: 7cd7cdb0ba98de24b0d916b8e440db8adb0af6f9
      https://github.com/dyninst/dyninst/commit/7cd7cdb0ba98de24b0d916b8e440db8adb0af6f9
  Author: James A. Kupsch <kupsch@xxxxxxxxxxx>
  Date:   2023-03-09 (Thu, 09 Mar 2023)

  Changed paths:
    M symtabAPI/h/Type.h

  Log Message:
  -----------
  warning fix:  ambiguous reversed operator (derived) (#1394)

- Derived type classes have an operator==(const Type&) const, and they
  call this operator with with both the lhs and rhs being the derived
  class type.  This is ambiguous when using C++ 20's rule that considers
  the parameters reversed.  Fix by adding an inlined non-virtual
  operator== that takes the derived types a parameter and then
  unambiguously calls the existing ==


  Commit: d1aeb249ff90fea49dc50efea1e6c11577bf9d90
      https://github.com/dyninst/dyninst/commit/d1aeb249ff90fea49dc50efea1e6c11577bf9d90
  Author: James A. Kupsch <kupsch@xxxxxxxxxxx>
  Date:   2023-03-09 (Thu, 09 Mar 2023)

  Changed paths:
    M dynC_API/src/C.l
    M dynC_API/src/lex.dynC.C

  Log Message:
  -----------
  warning fix:  unneeded internal declaration (#1394)

- clang warns of an unneeded internal declaration for yyinput. Since
  yyinput is generated by flex, just suppress it for the whole file.


  Commit: 1157c87c0b184d83e851bdd5b63582dd2a7647cf
      https://github.com/dyninst/dyninst/commit/1157c87c0b184d83e851bdd5b63582dd2a7647cf
  Author: James A. Kupsch <kupsch@xxxxxxxxxxx>
  Date:   2023-03-09 (Thu, 09 Mar 2023)

  Changed paths:
    M dyninstAPI/src/Relocation/CodeBuffer.C
    M dyninstAPI/src/Relocation/CodeBuffer.h
    M patchAPI/h/Point.h
    M patchAPI/src/PatchFunction.C

  Log Message:
  -----------
  warning fix:  deprecated copy with user dtor (#1394)

- Make classes move-only by removing public copy constructor and
  operator= as they contained pointer members that were just copied
  (with no semantics of copying the data). This is a double delete
  waiting to happen.  Luckily the pointer were always nullptr when the
  copy constructor was called.

- add move constructor (using std::move where appropriate)

- clean up the classes to use default constructors and default member
  initialization


  Commit: c021d5382f4d3e17c162cd43a659267e7c5b25f7
      https://github.com/dyninst/dyninst/commit/c021d5382f4d3e17c162cd43a659267e7c5b25f7
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2023-03-09 (Thu, 09 Mar 2023)

  Changed paths:
    M cmake/DyninstWarnings.cmake
    M common/h/Annotatable.h
    M common/h/Buffer.h
    M common/h/compiler_annotations.h
    M common/h/concurrent.h
    A common/h/unaligned_memory_access.h
    M common/src/arch-aarch64.C
    M common/src/arch-power.C
    M common/src/arch-x86.C
    M dwarf/h/dwarfResult.h
    M dynC_API/src/C.l
    M dynC_API/src/lex.dynC.C
    M dyninstAPI/h/BPatch_statement.h
    M dyninstAPI/src/BPatch.C
    M dyninstAPI/src/BPatch_function.C
    M dyninstAPI/src/BPatch_memoryAccessAdapter.h
    M dyninstAPI/src/BPatch_snippet.C
    M dyninstAPI/src/IAPI_to_AST.C
    M dyninstAPI/src/Relocation/CodeBuffer.C
    M dyninstAPI/src/Relocation/CodeBuffer.h
    M dyninstAPI/src/Relocation/Transformers/Movement-analysis.h
    M dyninstAPI/src/Relocation/Widgets/PCWidget-x86.C
    M dyninstAPI/src/StackMod/StackAccess.C
    M dyninstAPI/src/StackMod/StackAccess.h
    M dyninstAPI/src/StackMod/StackLocation.h
    M dyninstAPI/src/addressSpace.C
    M dyninstAPI/src/ast.C
    M dyninstAPI/src/ast.h
    M dyninstAPI/src/codeRange.h
    M dyninstAPI/src/codegen-x86.C
    M dyninstAPI/src/codegen.C
    M dyninstAPI/src/codegen.h
    M dyninstAPI/src/dynProcess.C
    M dyninstAPI/src/emit-x86.C
    M dyninstAPI/src/frame.h
    M dyninstAPI/src/function.C
    M dyninstAPI/src/image.C
    M dyninstAPI/src/image.h
    M dyninstAPI/src/infHeap.h
    M dyninstAPI/src/inst-aarch64.C
    M dyninstAPI/src/inst-power.C
    M dyninstAPI/src/inst-x86.C
    M dyninstAPI/src/linux-x86.C
    M dyninstAPI/src/patch.h
    M dyninstAPI/src/syscallNotification.C
    M dyninstAPI_RT/h/dyninstRTExport.h
    M dyninstAPI_RT/src/RTcommon.c
    M dyninstAPI_RT/src/RTcommon.h
    M dyninstAPI_RT/src/RTheap.c
    M dyninstAPI_RT/src/RTheap.h
    M dyninstAPI_RT/src/RTlinux.c
    M dyninstAPI_RT/src/RTposix.c
    M dyninstAPI_RT/src/RTstatic_ctors_dtors-x86.c
    M dyninstAPI_RT/src/RTthread.h
    M elf/src/Elf_X.C
    M instructionAPI/h/Expression.h
    M instructionAPI/h/InstructionAST.h
    M instructionAPI/h/Register.h
    M instructionAPI/src/AMDGPU/cdna2/InstructionDecoder-amdgpu-cdna2.C
    M instructionAPI/src/AMDGPU/cdna2/InstructionDecoder-amdgpu-cdna2.h
    M instructionAPI/src/AMDGPU/cdna2/amdgpu_cdna2_decoder_impl.C
    M instructionAPI/src/AMDGPU/gfx908/InstructionDecoder-amdgpu-gfx908.C
    M instructionAPI/src/AMDGPU/gfx908/InstructionDecoder-amdgpu-gfx908.h
    M instructionAPI/src/AMDGPU/gfx908/amdgpu_gfx908_decoder_impl.C
    M instructionAPI/src/Instruction.C
    M instructionAPI/src/InstructionDecoder-power.C
    M instructionAPI/src/InstructionDecoder-x86.C
    M instructionAPI/src/Register.C
    M parseAPI/h/CFG.h
    M parseAPI/h/SymLiteCodeSource.h
    M parseAPI/src/SymtabCodeSource.C
    M parseThat/src/sha1.C
    M patchAPI/h/Point.h
    M patchAPI/src/PatchFunction.C
    M proccontrol/h/PCProcess.h
    M proccontrol/h/ProcessSet.h
    M proccontrol/src/linux.C
    M proccontrol/src/loadLibrary/codegen-aarch64.C
    M proccontrol/src/mmapalloc.C
    M proccontrol/src/ppc_process.C
    M proccontrol/src/process.C
    M proccontrol/src/procset.C
    M stackwalk/src/callchecker-IAPI.C
    M stackwalk/src/x86-wanderer.C
    M symlite/src/SymLite-elf.C
    M symtabAPI/h/Module.h
    M symtabAPI/h/RangeLookup.h
    M symtabAPI/h/Symtab.h
    M symtabAPI/h/Type.h
    M symtabAPI/src/Collections.C
    M symtabAPI/src/Object-elf.C
    M symtabAPI/src/Object-elf.h
    M symtabAPI/src/dwarfWalker.C
    M symtabAPI/src/emitElf.C
    M symtabAPI/src/emitElfStatic.C

  Log Message:
  -----------
  Merge branch 'master' into cmake_modernization


Compare: https://github.com/dyninst/dyninst/compare/631396265c0b...c021d5382f4d
[← Prev in Thread] Current Thread [Next in Thread→]