[all-commits] [llvm/llvm-project] 213c90: [win/asan] GetInstructionSize: Fix `41 81 7c ...` ...

Paul Kirth via All-commits all-commits at lists.llvm.org
Mon Dec 9 09:25:49 PST 2024


  Branch: refs/heads/users/ilovepi/spr/libcxxcmake-allow-using-fatlto-in-libc-builds
  Home:   https://github.com/llvm/llvm-project
  Commit: 213c90d3c1f1517eb7a75ecf834f1faf90c288a8
      https://github.com/llvm/llvm-project/commit/213c90d3c1f1517eb7a75ecf834f1faf90c288a8
  Author: bernhardu <bernhardu at mailbox.org>
  Date:   2024-12-09 (Mon, 09 Dec 2024)

  Changed paths:
    M compiler-rt/lib/interception/interception_win.cpp
    M compiler-rt/lib/interception/tests/interception_win_test.cpp

  Log Message:
  -----------
  [win/asan] GetInstructionSize: Fix `41 81 7c ...` to return 9. (#117828)

Trying to populate the recently added test for GetInstructionSize I
stumbled over this.
gdb and bddisasm have the opinion this instruction is 9 bytes.
Also lldb shows this:
```
(lldb) disassemble --bytes --start-address 0x0000555555556004 --end-address 0x0000555555556024
    0x555555556004: 41 81 7b 73 74 75 76 77     cmpl   $0x77767574, 0x73(%r11)   ; imm = 0x77767574 
    0x55555555600c: 41 81 7c 73 74 75 76 77 78  cmpl   $0x78777675, 0x74(%r11,%rsi,2) ; imm = 0x78777675 
    0x555555556015: 41 81 7d 73 74 75 76 77     cmpl   $0x77767574, 0x73(%r13)   ; imm = 0x77767574 
    0x55555555601d: 00 00                       addb   %al, (%rax)
```

There is also a handy tool in llvm to directly feed in the byte sequence
- `41 81 7c` also uses 9 bytes here:
```
$ echo -n -e "0x41, 0x81, 0x7b, 0x73, 0x74, 0x75, 0x76, 0x77, 0x90" | ./llvm/build/bin/llvm-mc --disassemble --show-encoding
        .text
        cmpl    $2004252020, 115(%r11)          # encoding: [0x41,0x81,0x7b,0x73,0x74,0x75,0x76,0x77]
                                        # imm = 0x77767574
        nop                                     # encoding: [0x90]
$ echo -n -e "0x41, 0x81, 0x7c, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x90" | ./llvm/build/bin/llvm-mc --disassemble --show-encoding
        .text
        cmpl    $2021095029, 116(%r11,%rsi,2)   # encoding: [0x41,0x81,0x7c,0x73,0x74,0x75,0x76,0x77,0x78]
                                        # imm = 0x78777675
        nop                                     # encoding: [0x90]
```


  Commit: bf6f1ca236c943cc382759f71adfbf40b154a79e
      https://github.com/llvm/llvm-project/commit/bf6f1ca236c943cc382759f71adfbf40b154a79e
  Author: bernhardu <bernhardu at mailbox.org>
  Date:   2024-12-09 (Mon, 09 Dec 2024)

  Changed paths:
    M compiler-rt/lib/interception/interception_win.cpp
    M compiler-rt/lib/interception/tests/interception_win_test.cpp

  Log Message:
  -----------
  [win/asan] GetInstructionSize: Make `F6 C1 XX` a generic entry. (#118144)


  Commit: 2344cc49836aa82837986a43efcf6b0f93cb0072
      https://github.com/llvm/llvm-project/commit/2344cc49836aa82837986a43efcf6b0f93cb0072
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-12-09 (Mon, 09 Dec 2024)

  Changed paths:
    A flang/Maintainers.md
    R flang/Maintainers.txt

  Log Message:
  -----------
  [Flang] Update Maintainers (#117124)

Move to a markdown file and update maintainers.
This brings the project closer to updated guidance
(https://llvm.org/docs/DeveloperPolicy.html#maintainers). A list of
active and inactive maintainers is provided. Maintainers are also
grouped into lead or component maintainers.


  Commit: b6c22a4e58f9dd38644368dd5d5de237703a360d
      https://github.com/llvm/llvm-project/commit/b6c22a4e58f9dd38644368dd5d5de237703a360d
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2024-12-09 (Mon, 09 Dec 2024)

  Changed paths:
    A clang/test/Driver/print-supported-cpus-aarch64.c
    M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
    M llvm/include/llvm/MC/MCSubtargetInfo.h
    M llvm/lib/CodeGen/TargetSubtargetInfo.cpp
    M llvm/lib/MC/MCSubtargetInfo.cpp
    M llvm/unittests/CodeGen/MFCommon.inc
    M llvm/unittests/Target/AArch64/AArch64InstPrinterTest.cpp
    M llvm/utils/TableGen/SubtargetEmitter.cpp

  Log Message:
  -----------
  Add processor aliases back to -print-supported-cpus and -mcpu=help (#118581)

They were accidentally dropped in
https://github.com/llvm/llvm-project/pull/96249

rdar://140853882


  Commit: 4646cabf01c8ca8e301a75ee46c56ce76eb412e0
      https://github.com/llvm/llvm-project/commit/4646cabf01c8ca8e301a75ee46c56ce76eb412e0
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2024-12-09 (Mon, 09 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
    M llvm/test/Instrumentation/SanitizerCoverage/cmp-tracing-api-x86_32.ll
    M llvm/test/Instrumentation/SanitizerCoverage/missing_dbg.ll

  Log Message:
  -----------
  [SanitizerCoverage] Avoid unnecessary inttoptr

We are indexing into an array here, so we can use
CreateConstInBoundsGEP2_64 instead of the manual arithmetic.

Reviewed By: vitalybuka

Pull Request: https://github.com/llvm/llvm-project/pull/119097


  Commit: fac9fcd55245479d040dde3f5e9f4e169c30a0ec
      https://github.com/llvm/llvm-project/commit/fac9fcd55245479d040dde3f5e9f4e169c30a0ec
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-12-09 (Mon, 09 Dec 2024)

  Changed paths:
    M libcxxabi/src/CMakeLists.txt

  Log Message:
  -----------
  [libcxxabi] Always link against libzircon for Fuchsia targets (#115910)

When using LTO, the deplibs mechanism is insufficient to ensure that
libzircon is always brought into the link prior to LTO code generation.
The general problem is discussed in depth in
https://github.com/llvm/llvm-project/issues/56070

To work around this, we can just provide libzircon as a link input.


  Commit: 8118e0415c557799cba4cfa1c1624b0604910cd2
      https://github.com/llvm/llvm-project/commit/8118e0415c557799cba4cfa1c1624b0604910cd2
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-12-09 (Mon, 09 Dec 2024)

  Changed paths:
    A clang/test/Driver/print-supported-cpus-aarch64.c
    M compiler-rt/lib/interception/interception_win.cpp
    M compiler-rt/lib/interception/tests/interception_win_test.cpp
    A flang/Maintainers.md
    R flang/Maintainers.txt
    M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
    M llvm/include/llvm/MC/MCSubtargetInfo.h
    M llvm/lib/CodeGen/TargetSubtargetInfo.cpp
    M llvm/lib/MC/MCSubtargetInfo.cpp
    M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
    M llvm/test/Instrumentation/SanitizerCoverage/cmp-tracing-api-x86_32.ll
    M llvm/test/Instrumentation/SanitizerCoverage/missing_dbg.ll
    M llvm/unittests/CodeGen/MFCommon.inc
    M llvm/unittests/Target/AArch64/AArch64InstPrinterTest.cpp
    M llvm/utils/TableGen/SubtargetEmitter.cpp

  Log Message:
  -----------
  Rebase

Created using spr 1.3.6-beta.1


Compare: https://github.com/llvm/llvm-project/compare/52c567ec4866...8118e0415c55

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