[all-commits] [llvm/llvm-project] a2e630: [BOLT][AArch64] Instrumentation for static binarie...

Paschalis Mpeis via All-commits all-commits at lists.llvm.org
Fri Jul 12 01:46:51 PDT 2024


  Branch: refs/heads/users/paschalis-mpeis/bolt-create-dummy-return
  Home:   https://github.com/llvm/llvm-project
  Commit: a2e6301fabe271c67070c484ce63eaa1c48dfdc1
      https://github.com/llvm/llvm-project/commit/a2e6301fabe271c67070c484ce63eaa1c48dfdc1
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    A bolt/test/AArch64/dummy-return.s
    A bolt/test/AArch64/dummy-return.test
    A bolt/test/Inputs/main.c

  Log Message:
  -----------
  [BOLT][AArch64] Instrumentation for static binaries doesn't work in reloc mode.

On AArch64, when trying to instrument a static binary that has relocation
data BOLT would crash as it misses `createDummyReturnFunction` function.


  Commit: 8e7dad8df29d61b5993b6b60c428c9f3d4049493
      https://github.com/llvm/llvm-project/commit/8e7dad8df29d61b5993b6b60c428c9f3d4049493
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/test/AArch64/dummy-return.test

  Log Message:
  -----------
  [BOLT][AArch64] Implemented createDummyReturnFunction.

On AArch64, this method is needed when trying to instrument a static
binary.

Sample commands:
```bash
clang -Wl,-q test.c -static -o out
llvm-bolt -instrument -instrumentation-sleep-time=5 out -o out.instr
```


  Commit: 0c3bc045b78757f3a65408808821a5a083953f67
      https://github.com/llvm/llvm-project/commit/0c3bc045b78757f3a65408808821a5a083953f67
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/lib/Passes/Instrumentation.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    M bolt/test/AArch64/dummy-return.test
    M bolt/test/Inputs/main.c

  Log Message:
  -----------
  Refactored, improved test, and addressed reviewers.


  Commit: 542e46efcdd3674910686e7fa567343b1269705b
      https://github.com/llvm/llvm-project/commit/542e46efcdd3674910686e7fa567343b1269705b
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/lib/Core/MCPlusBuilder.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp

  Log Message:
  -----------
  Addressing reviewers (1): Uplifted 'createDummyReturn' to base class


  Commit: 1a0542a012e8802ed0357732a5a1ec41f6cb8f54
      https://github.com/llvm/llvm-project/commit/1a0542a012e8802ed0357732a5a1ec41f6cb8f54
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/lib/Core/MCPlusBuilder.cpp
    M bolt/lib/Passes/Instrumentation.cpp

  Log Message:
  -----------
  Addressing reviewers (2)


  Commit: 8351110d590553bbbb6330d729e98c3d4cf3a384
      https://github.com/llvm/llvm-project/commit/8351110d590553bbbb6330d729e98c3d4cf3a384
  Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M bolt/test/AArch64/dummy-return.test

  Log Message:
  -----------
  Update bolt/test/AArch64/dummy-return.test

Co-authored-by: Amir Ayupov <aaupov at fb.com>


  Commit: 19e7cb3fd606f40ce219bc98dc588dd906e5bf76
      https://github.com/llvm/llvm-project/commit/19e7cb3fd606f40ce219bc98dc588dd906e5bf76
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
    M bolt/test/AArch64/dummy-return.s
    R bolt/test/AArch64/dummy-return.test

  Log Message:
  -----------
  Converted test to assembly for '%cflags' compatibility.

The '-static' option does not work well with '-nostartfiles -nostdlib'
that comes with '%cflags', but the latter is needed for better buildbot
compatibility.

I converted the test to assembly and dropped the previous c test.


Compare: https://github.com/llvm/llvm-project/compare/642edbecdcdf...19e7cb3fd606

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list