[Lldb-commits] [PATCH] D53086: [PDB] Fix flaky `variables-locations.test` after PR38857

Aleksandr Urakov via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Oct 10 08:25:47 PDT 2018


aleksandr.urakov created this revision.
aleksandr.urakov added reviewers: zturner, rnk, stella.stamenova.
aleksandr.urakov added a project: LLDB.
Herald added subscribers: lldb-commits, abidh, JDevlieghere, aprantl.

This patch fixes the flaky test `variables-locations.test`. The test began flaking after the fix of the PR38857 issue. It have happened because in `PDBLocationToDWARFExpression` we treat a `VFRAME` register as a `LLDB_REGNUM_GENERIC_FP`, which leads to `EBP` on Windows x86, but in this case we can't read locals relative to `EBP`. Moreover, it seems that we have no alternative base, so I just have changed `double` with `float` to avoid alignment.

By the way, what do you think, how can we make LLDB support aligned stacks? As far as I know, similar alignment problems are reproducible on non-Windows too.


Repository:
  rLLDB LLDB

https://reviews.llvm.org/D53086

Files:
  lit/SymbolFile/PDB/Inputs/VariablesLocationsTest.cpp


Index: lit/SymbolFile/PDB/Inputs/VariablesLocationsTest.cpp
===================================================================
--- lit/SymbolFile/PDB/Inputs/VariablesLocationsTest.cpp
+++ lit/SymbolFile/PDB/Inputs/VariablesLocationsTest.cpp
@@ -2,7 +2,7 @@
 
 void __fastcall foo(short arg_0, float arg_1) {
   char loc_0 = 'x';
-  double loc_1 = 0.5678;
+  float loc_1 = 0.5678;
 }
 
 int main(int argc, char *argv[]) {


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D53086.169017.patch
Type: text/x-patch
Size: 422 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20181010/19a466a6/attachment.bin>


More information about the lldb-commits mailing list