[Bug debug/103241] Odd 0 length entries in location lists

marxin at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Nov 18 10:24:18 GMT 2021


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103241

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |WAITING
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2021-11-18

--- Comment #8 from Martin Liška <marxin at gcc dot gnu.org> ---
I tried reducing that to:

$ cat set_memory.i
enum { CPA_PROTECT, CPA_DETECT } check_conflict(int warnlvl, long) {
  warnlvl || conflicts();
}
long static_protections_start;
static_protections(warnlvl) {
  check_conflict(warnlvl, static_protections_start);
  lookup_address_in_pgd(0, static_protections_start);
}
__change_page_attr_numpages;
__change_page_attr() {
  __change_page_attr_numpages = 2;
  static_protections(CPA_DETECT);
}

$ gcc set_memory.i -w -g -O2 -c && llvm-dwarfdump -c
--name="static_protections" set_memory.o | grep "0x0000000000000055,
0x0000000000000055"
                       [0x0000000000000055, 0x0000000000000055): DW_OP_reg4
RSI)

Is it an example of the error you reported?


More information about the Gcc-bugs mailing list