This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA] Repost ARM frame patches



i.e. GCC emits _empty_ dwarf unwind information for thumb functions,
rather than none at all.  That's unlikely to work.  We'd need to modify
the dwarf2 unwinder to ignore empty FDEs.

I'll check in the non-dwarf parts now, and then we can figure out what
to do about that.


Though of course a trivial leaf function *will* have an empty FDE. Consider

int func(void) { return 0;}

Which compiles to

	mov	r0, #0
	bx	lr

I would have thought that wouldn't need any frame unwind information. So we would have a problem distinguishing trivial cases from "not generated" cases.

FYI, the dwarf2 spec (draft 7) doesn't specify the disposition of unspecified registers that result from an empty or under populated CFI info - such registers are truly undefined. GCC is pushing the bounds of well defined behavior in emitting such info.


Andrew



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]