Internal linker writes DW_AT_low_pc = 0 and DW_AT_high_pc = 0 for unused methods. This info must be striped.
Original Reporter info from Mantis: PaulIsh
-
Reporter name: Paul Ishenin
Original Reporter info from Mantis: PaulIsh
- Reporter name: Paul Ishenin
Description:
This is what Marc dwarf dumper writes for the test application:
| |abbrev: 8, tag: 46=DW_TAG_subprogram, has children
| | attrib: 3=DW_AT_name, form: 8=DW_FORM_string, value: GETCOLORSTATE
| | attrib: 39=DW_AT_prototyped, form: 12=DW_FORM_flag, value: $01
...
| | attrib: 17=DW_AT_low_pc, form: 1=DW_FORM_addr, value: $00000000
| | attrib: 18=DW_AT_high_pc, form: 1=DW_FORM_addr, value: $00000000
This cause gdb errors. External linker writes non zero values (no matter what assembler is used).
Either we need to write that methods to the executable (bad solution) or strip debug info for unused symbols (preferable).
Mantis conversion info:
- Mantis ID: 15281
- OS: windows
- OS Build: xp
- Platform: win32
- Version: 2.5.1
- Monitored by: » BigChimp (Reinier Olislagers), » etrusco (Flávio Etrusco), » @martin_frb (Martin Friebe)