-
Notifications
You must be signed in to change notification settings - Fork 568
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ARM suite test regressions: api.disA32, api.disT32, many more #3699
Comments
I'm assuming these regressions have happened because we don't have AArch32 precommit testing in the same way we have for AArch64? |
Note: in a recent debug run In a recent release run we observe |
That's my assumption, but I wouldn't have expected the ARM encoder/decoder tests to have broken. Hopefully it's something simple. |
The log message for c76c485 (Oct 2021) says:
That change is responsible for most of the The other |
I did a bisection on |
Yes, I did see (A spurious retcode of length 8 bytes happens to be harmless because there are a couple of items on the stack beyond the |
In an Perhaps it's obvious in hindsight was was happening but I had to do stuff like insert home-made
So I changed (In order to build the tests I also had to add a bogus definition of Question for @derekbruening: Is changing (Since DynamoRIO has been broken on 32-bit ARM hardware since 2019 there's perhaps not a huge amount of interest in it so we probably can't invest a huge amount of effort into it so an easy fix would be preferred!) |
The definition did not agree with the Linux kernel's definition. There is a retcode field in sigframe, but not in rt_sigframe. Issue: #3699 Change-Id: Icbdd204a021778e329d5f5831933debda4bd9dd4
The definition did not agree with the Linux kernel's definition. There is a retcode field in sigframe, but not in rt_sigframe. This change made the previously failing common.segfault test pass in a Debian 10 container running under a 64-bit 5.4.47 kernel on Cortex-A72 hardware. Issue: #3699
Maybe that is the simplest rather than having to find all C++ uses and replacing with |
Add previously missing asm for 32-bit ARM clone3 system call. Issue: #3699
dd1589c modified dstack_offs in insert_push_all_registers without generating an instruction that modifies SP. So add a SUB SP, SP, #4 there, and a corresponding ADD SP, SP, #4 in insert_pop_all_registers. This made the test client.cleancallparams pass. Issue: #3699 Change-Id: I25d2a22e7feb7bc1227aeec74847c80754eae254
With 73b1df1 plus a few changes that have not yet been merged, namely:
in an AArch32 Debian 10 container under a 64-bit 5.4.47 Linux kernel running on Cortex-A72 I got 47 tests failed out of 298:
|
Some C++ library functions require 8-byte alignment. This made the test drcacheoff.simple pass on 32-bit ARM. Issue: #3699 Change-Id: I507833f3367508fd512ee2d1fa272b04203bfff1
Some C++ library functions require 8-byte alignment. This made the test drcacheoff.simple pass on 32-bit ARM. Issue: #3699
On ARM/AArch64 not all MRS/MSR instructions operate on aflags, and on ARM the register source operand of MSR, if there is one, is the second operand. This change made the test sample.memval_simple pass on 32-bit ARM. Issue: #3699 Change-Id: I9a04273ed0507c0f8cccd636fdbc0aff1b5bf36d
On ARM/AArch64 not all MRS/MSR instructions operate on aflags, and on ARM the register source operand of MSR, if there is one, is the second operand. This change made the test sample.memval_simple pass on 32-bit ARM. (But client.drreg-test does not yet pass.) Issue: #3699
We did not have ARM tests being run for a while. Now that we have a CDash machine back up, I compared its debug run yesterday to the most recent on that same machine name from April 2018:
http://dynamorio.org/CDash/viewTest.php?buildid=35255
http://dynamorio.org/CDash/viewTest.php?buildid=44194
The text was updated successfully, but these errors were encountered: