aboutsummaryrefslogtreecommitdiffstats
path: root/debug
diff options
context:
space:
mode:
authorBernhard Schommer <bernhardschommer@gmail.com>2016-12-01 10:49:21 +0100
committerBernhard Schommer <bernhardschommer@gmail.com>2016-12-01 10:49:21 +0100
commit7576599c91a7be973369349d25969f4a3d1c623c (patch)
treefd5f582cc919cc1faf44d300bef2f11b094b8be0 /debug
parent80f1f7c160068b4ad35e44e213747bb6bd59fd22 (diff)
downloadcompcert-kvx-7576599c91a7be973369349d25969f4a3d1c623c.tar.gz
compcert-kvx-7576599c91a7be973369349d25969f4a3d1c623c.zip
Compute the correct size of location expressions.
The arm dwarf float registers constants are larger than 2 bytes. Bug 20489
Diffstat (limited to 'debug')
-rw-r--r--debug/DwarfUtil.ml2
1 files changed, 1 insertions, 1 deletions
diff --git a/debug/DwarfUtil.ml b/debug/DwarfUtil.ml
index 8db80fca..33bf95f6 100644
--- a/debug/DwarfUtil.ml
+++ b/debug/DwarfUtil.ml
@@ -156,4 +156,4 @@ let size_of_loc_expr = function
| DW_OP_bregx (a,b) -> 1 + (sizeof_uleb128 a) + (sizeof_sleb128 (Int32.to_int b))
| DW_OP_plus_uconst a
| DW_OP_piece a -> 1 + (sizeof_uleb128 a)
- | DW_OP_reg i -> if i < 32 then 1 else 2
+ | DW_OP_reg i -> if i < 32 then 1 else 1 + (sizeof_uleb128 i)