Wrong dwarf-3 info for ansistring when cross compiling to 32 bit
Original Reporter info from Mantis: Martin @martin_frb
-
Reporter name: Martin Friebe
Original Reporter info from Mantis: Martin @martin_frb
- Reporter name: Martin Friebe
Description:
Tested on Mac, with fpc 3.0.4 (As supplied by Lazarus)
This fpc can compile for 64 bit and 32 bit.
If compiling for 32 bit
var s: ansistring;
will create incorrect debug info. Ansistring is an array of char. The lower bound is 1, the upper bound is calculated.
The calculation ends with
DW_OP_lit8, DW_OP_minus, DW_OP_deref
However on 32 bit the strings len, is 4 byte before the string. So it should be DW_OP_lit4
A 32bit fpc on windows correctly creates DW_OP_lit4
Mantis conversion info:
- Mantis ID: 35386
- OS: Mac
- OS Build: -
- Platform: MacOs
- Version: 3.0.4
- Fixed in version: 3.3.1
- Fixed in revision: 42038 (#e7692334)
- Monitored by: » @martin_frb (Martin Friebe)