This is the mail archive of the gdb-patches@sourceware.org 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: [PATCH] Support for Xilinx MicroBlaze


Joel Brobecker wrote:
I'm just as happy to leave this problem unfixed.  Gcc generates an
incorrect CIE entry, which is philosophically not a good thing.
But fixing this causes far more problems than it solves.

One of the things that we perhaps didn't consider is debugging code compiled with a compiler other than GCC... Not sure if one even exists, though, but that compiler might be generating correct debugging info, which would trigger the "bug" in GDB.

There's no other compiler for MicroBlaze. (I was going to mention this hypothetical situation, but this has very low probability of ever being a real concern.)

Anyway, if "GCC" is unwilling to fix the problem, then GDB has to do
its best. It's disappointing when that happens, but it's not the first
time we introduce work-arounds. This one is a little harder to accept
because it causes GDB to malfunction in case of correct debugging info.
But it's still better this way, in practice.

It's not so much that GCC is unwilling to fix the problem. If I wanted to, I could extend the CIE generation code and modify the MicroBlaze-specific code in both GCC and GDB. This would break debugging existing programs and libraries with the new gdb as well as break debugging newly compiled code with an old gdb.

(There are ways that this might be synchronized with Xilinx's
release of tool chains to their customers, but I'd be very
reluctant to recommend that a new tool chain be incompatible
with older tool chains unless there was a very compelling reason.)

If anyone can suggest a reasonable way to identify whether the
CIE entry for return address is lr or lr+offset, I'll pursue making
gdb accept both.  This is certainly clear while parsing the CIE,
but it is particularly ugly to put a target-dependent test in
this code.

--
Michael Eager	 eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306  650-325-8077


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