test: Add large aligned vmov check for mingw #29874

pull laanwj wants to merge 2 commits into bitcoin:master from laanwj:2024-04-forbidden-vmov-check changing 4 files +122 −0
  1. laanwj commented at 11:26 am on April 15, 2024: member

    Add a check for 32-byte (256-bit) and 64-byte (512-bit) aligned AVX memory accesses (vmova instructions), which cause issues combined with a GCC stack alignment bug on Windows. This check is added to the existing symbol-check.py.

    Makes use of the capstone disassembler library.

    Also add a test to test the behavior of the check on a series of assembly instructions against the expected output.

    Closes #28413.

  2. laanwj added the label Windows on Apr 15, 2024
  3. laanwj added the label Tests on Apr 15, 2024
  4. DrahtBot commented at 11:26 am on April 15, 2024: contributor

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    Code Coverage

    For detailed information about the code coverage, see the test coverage report.

    Reviews

    See the guideline for information on the review process. A summary of reviews will appear here.

  5. test: Add large aligned vmov check for mingw
    Add a check for 32-byte (256 bit) and 64-byte (512 bit) aligned AVX
    memory accesses (vmova instructions), which cause issues combined with a
    GCC stack alignment bug on Windows. This check is added to the existing
    symbol-check.py.
    
    Makes use of the capstone disassembler library.
    
    Also add a test to test the behavior of the check on a series of
    assembly instructions against the expected output.
    
    Closes #28413.
    c21e680a8f
  6. laanwj force-pushed on Apr 15, 2024
  7. DrahtBot commented at 11:37 am on April 15, 2024: contributor

    🚧 At least one of the CI tasks failed. Make sure to run all tests locally, according to the documentation.

    Possibly this is due to a silent merge conflict (the changes in this pull request being incompatible with the current code in the target branch). If so, make sure to rebase on the latest commit of the target branch.

    Leave a comment here, if you need help tracking down a confusing failure.

    Debug: https://github.com/bitcoin/bitcoin/runs/23823549566

  8. DrahtBot added the label CI failed on Apr 15, 2024
  9. DrahtBot removed the label CI failed on Apr 15, 2024
  10. fanquake commented at 12:57 pm on April 18, 2024: member
    Looks like python-capstone at least exists in Guix already: https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/engineering.scm#n1820.
  11. laanwj commented at 1:03 pm on April 18, 2024: member

    Looks like python-capstone at least exists in Guix already: https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/engineering.scm#n1820.

    That’s good to know! i’m not that surprised, it’s a very popular library for doing binary analysis and reverse engineering kind of things. i’ll have a look at integrating it.

  12. guix: Add python-capstone 9a9930ef87
  13. DrahtBot added the label Needs rebase on May 15, 2024
  14. DrahtBot commented at 1:28 am on May 15, 2024: contributor

    🐙 This pull request conflicts with the target branch and needs rebase.

  15. laanwj commented at 10:12 am on May 16, 2024: member
    Closing for now.
  16. laanwj closed this on May 16, 2024


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-12-21 15:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me