Skip to content

instruction-referencing creates DW_OP_deref_size with invalid/too large size #64093

Closed
@dwblaikie

Description

@dwblaikie

From a discussion/debugging here: https://reviews.llvm.org/D154907

void b(double);
void c();
void e(double e) {
  c();
  b(e);
}
$ clang-tot x.ii -g -c -o - -O3 | llvm-dwarfdump-tot - | grep DW_OP_deref_size
                     [0x0000000000000006, 0x0000000000000016): DW_OP_breg7 RSP+0, DW_OP_deref_size 0x10, DW_OP_stack_value)

This seems to be created here:

OffsetOps.push_back(dwarf::DW_OP_deref_size);
OffsetOps.push_back(DerefSizeInBytes);
- where the size is 16 (0x10).

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions