* Prologue analysis interface @ 2005-11-22 19:30 Jim Blandy 2005-11-22 19:44 ` Daniel Jacobowitz 2006-01-27 17:11 ` Daniel Jacobowitz 0 siblings, 2 replies; 18+ messages in thread From: Jim Blandy @ 2005-11-22 19:30 UTC (permalink / raw) To: Daniel Jacobowitz; +Cc: gdb Daniel, you said that you felt that the interface in the prologue-value.h that I posted wasn't at the right level, and suggested that, instead of providing types and some operations on those types, it should instead provide the interpretation loop and call back into tdep code to interpret specific instructions. Could you sketch that interface for me? I'm concerned that it will be difficult to allow the tdep code the flexibility it needs to model the processor without a lot of bureaucracy, but I'm willing to be impressed. ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Prologue analysis interface 2005-11-22 19:30 Prologue analysis interface Jim Blandy @ 2005-11-22 19:44 ` Daniel Jacobowitz 2005-11-23 0:20 ` Jim Blandy 2006-01-27 17:11 ` Daniel Jacobowitz 1 sibling, 1 reply; 18+ messages in thread From: Daniel Jacobowitz @ 2005-11-22 19:44 UTC (permalink / raw) To: Jim Blandy; +Cc: gdb On Tue, Nov 22, 2005 at 11:24:06AM -0800, Jim Blandy wrote: > Daniel, you said that you felt that the interface in the > prologue-value.h that I posted wasn't at the right level, and > suggested that, instead of providing types and some operations on > those types, it should instead provide the interpretation loop and > call back into tdep code to interpret specific instructions. > > Could you sketch that interface for me? I'm concerned that it will be > difficult to allow the tdep code the flexibility it needs to model the > processor without a lot of bureaucracy, but I'm willing to be > impressed. What I don't know is how much flexibility is needed. Maybe it's more than I thought. I'm penciling in reading the existing s390 analyzer and posted m32c analyzers for tonight's schedule, since this keeps coming up in conversation. I promise I'll get back to you about this soon. -- Daniel Jacobowitz CodeSourcery, LLC ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Prologue analysis interface 2005-11-22 19:44 ` Daniel Jacobowitz @ 2005-11-23 0:20 ` Jim Blandy 2005-11-23 2:14 ` Daniel Jacobowitz 0 siblings, 1 reply; 18+ messages in thread From: Jim Blandy @ 2005-11-23 0:20 UTC (permalink / raw) To: Jim Blandy, gdb On 11/22/05, Daniel Jacobowitz <drow@false.org> wrote: > What I don't know is how much flexibility is needed. Maybe it's more > than I thought. Could be less than I think. I'm interested to see what you come up with. > I'm penciling in reading the existing s390 analyzer and posted m32c > analyzers for tonight's schedule, since this keeps coming up in > conversation. I promise I'll get back to you about this soon. Thanks. The m32c port is blocked on this; I'd like to get it out of the way. ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Prologue analysis interface 2005-11-23 0:20 ` Jim Blandy @ 2005-11-23 2:14 ` Daniel Jacobowitz 2005-11-23 2:52 ` Joel Brobecker ` (2 more replies) 0 siblings, 3 replies; 18+ messages in thread From: Daniel Jacobowitz @ 2005-11-23 2:14 UTC (permalink / raw) To: Jim Blandy; +Cc: gdb On Tue, Nov 22, 2005 at 03:49:59PM -0800, Jim Blandy wrote: > On 11/22/05, Daniel Jacobowitz <drow@false.org> wrote: > > What I don't know is how much flexibility is needed. Maybe it's more > > than I thought. > > Could be less than I think. I'm interested to see what you come up with. > > > I'm penciling in reading the existing s390 analyzer and posted m32c > > analyzers for tonight's schedule, since this keeps coming up in > > conversation. I promise I'll get back to you about this soon. > > Thanks. The m32c port is blocked on this; I'd like to get it out of the way. OK, here's what I've got from reading the m32c port. I'm afraid that I don't have a whole lot of time to build such an interface myself, just now; what GDB time I have for the next couple of weeks is going to go to implementing my "target properties query" interface from earlier this year. But I do still feel that this code should call into the tdep file rather than the other way around. Almost everything the analyzer does for m32c is perfectly explainable as a generic concept. 80% of that is decoding what an instruction accomplishes. The rest seems to break down into: - Setting an initial state, by modeling the call instruction. - Recognizing "frame-related" stores to the stack, to find the real end of the prologue. - Recognizing whether a frame pointer has been set up, and if so, what it is and its relation to the CFA. - Finding saved registers in the stack after analyzing. - All of the infrastructure for a frame unwinder based on this data. The frame pointer bits do involve some target heuristics. I think we could do away with that, if we had reason to (i.e. an interesting target which didn't use a fixed register for this). But I'm not suggesting it until we have such a target, hopefully not for a long time. The simplest form of a common-code-driven interface would just call target supplied routines to initialize state, decode and process an instruction, and finalize any use of a frame pointer. The common code would subsume m32c_skip_prologue through m32c_frame_sniffer. m32c_analyze_prologue would be broken up into the init/decode/fini hooks, or even (for now this seems just as good) left as containing the whole loop, but the pv_area_scan call at the end could live in target-independent code. I did have a more sophisticated approach in mind but I think it's not justified yet. I spoke with Alan briefly about supplying some of the decoding information from the disassembler, which would help, but it's a big project. One thing that jumped out at me in the m32c analyzer. You record pushes of registers as frame related, and you record spills of argument registers using "mov" as frame related. This seems to me to defeat the appeal of a code-driven analyzer somewhat; it'll break if the compiler uses "mov" instead of "push" to save a register. I think all stores of the original value of registers (or part of that value), to the stack, are effectively frame related; whether they're arg registers or not is irrelevant. At that point it's pretty much a target-independent concept. The question in my mind is whether the target-independently-describable tweaks we need for this are good for all targets. And as unlikely as it may seem, I think it's true. For instance, S/390 has a bit to use only the stack slot with the highest address if it sees multiple saves. We could easily enough handle that in the target-dependent part in the model I described above, but we don't have to (with an appropriate check for the direction of the stack). It's probably good just about everywhere. If time proves me wrong on this, we can migrate checks into targets as necessary. I'm trying to minimize the amount of "boilerplate" code a target needs, so that we can (A) make targets easier and smaller, and (B) improve the template bits and see benefit uniformly. The S/390 code is a lot less clear-cut than the m32c, not surprisingly. Most of the tangly bits are related to frameless functions. Some of this could be further commonized too, but for now my suggested plan above should work for this also. Both the S/390 and m32c use heuristics to terminate the frame chain. I agree that these are necessary, but I've also come to see a bit of the counterargument that they're in the wrong place. I think what we need may be an additional method for frames to say "this same unwinder thinks the stack is finished here". Pathological examples: calling thread_start() or an optimized noreturn function from gdb. So, for now, how about that? Just provide something along the lines of the tramp-frame interface that does the busywork. We can adjust later what is busywork and what isn't. -- Daniel Jacobowitz CodeSourcery, LLC ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Prologue analysis interface 2005-11-23 2:14 ` Daniel Jacobowitz @ 2005-11-23 2:52 ` Joel Brobecker 2005-11-23 3:52 ` Jim Blandy 2005-11-23 3:14 ` Jim Blandy 2005-11-23 14:54 ` Ulrich Weigand 2 siblings, 1 reply; 18+ messages in thread From: Joel Brobecker @ 2005-11-23 2:52 UTC (permalink / raw) To: Jim Blandy, gdb > The frame pointer bits do involve some target heuristics. I think we > could do away with that, if we had reason to (i.e. an interesting > target which didn't use a fixed register for this). But I'm not > suggesting it until we have such a target, hopefully not for a long > time. Not sure if this is relevant, but the HPPA ABI says that when there is a frame pointer, it is either in r3 or r4, depending on the frame size (IIRC). GCC doesn't follow the ABI, and always uses r3, but I am pretty sure that the HP C compiler does follow that convention... -- Joel ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Prologue analysis interface 2005-11-23 2:52 ` Joel Brobecker @ 2005-11-23 3:52 ` Jim Blandy 2005-11-23 16:56 ` Ulrich Weigand 0 siblings, 1 reply; 18+ messages in thread From: Jim Blandy @ 2005-11-23 3:52 UTC (permalink / raw) To: Joel Brobecker; +Cc: gdb On 11/22/05, Joel Brobecker <brobecker@adacore.com> wrote: > > The frame pointer bits do involve some target heuristics. I think we > > could do away with that, if we had reason to (i.e. an interesting > > target which didn't use a fixed register for this). But I'm not > > suggesting it until we have such a target, hopefully not for a long > > time. > > Not sure if this is relevant, but the HPPA ABI says that when there > is a frame pointer, it is either in r3 or r4, depending on the frame > size (IIRC). GCC doesn't follow the ABI, and always uses r3, but I am > pretty sure that the HP C compiler does follow that convention... The MIPS (if I recall, the first architecture to give us real headaches in prologue analysis, before it became popular, things were pretty simple and the current approach worked pretty well) doesn't designate a particular register for use as a frame pointer, either. I think all we really need to know is how to find the original SP (for use as the CFA). Having a designated frame pointer narrows the set of places we need to look, but we could search all the registers for something with the right value. ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Prologue analysis interface 2005-11-23 3:52 ` Jim Blandy @ 2005-11-23 16:56 ` Ulrich Weigand 2005-11-23 18:37 ` Joel Brobecker 2005-11-24 10:21 ` Jim Blandy 0 siblings, 2 replies; 18+ messages in thread From: Ulrich Weigand @ 2005-11-23 16:56 UTC (permalink / raw) To: Jim Blandy; +Cc: Joel Brobecker, gdb Jim Blandy wrote: > I think all we really need to know is how to find the original SP (for > use as the CFA). Just one comment on this: the CFA is not necessarily the original SP (on s390 we have a constant offset). We'd have to leave it to platform code to actually determine the CFA itself. Bye, Ulrich -- Dr. Ulrich Weigand Linux on zSeries Development Ulrich.Weigand@de.ibm.com ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Prologue analysis interface 2005-11-23 16:56 ` Ulrich Weigand @ 2005-11-23 18:37 ` Joel Brobecker 2005-11-24 6:21 ` Jim Blandy 2005-11-24 10:21 ` Jim Blandy 1 sibling, 1 reply; 18+ messages in thread From: Joel Brobecker @ 2005-11-23 18:37 UTC (permalink / raw) To: Ulrich Weigand; +Cc: Jim Blandy, gdb > > I think all we really need to know is how to find the original SP (for > > use as the CFA). > > Just one comment on this: the CFA is not necessarily the original SP > (on s390 we have a constant offset). We'd have to leave it to platform > code to actually determine the CFA itself. If I understand the new approach correctly, we really don't need to know what the CFA is. All you need to know is where things have been saved. Things like : r3 is saved at original SP + offset, or r4 saved at r30 + offset. Right? -- Joel ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Prologue analysis interface 2005-11-23 18:37 ` Joel Brobecker @ 2005-11-24 6:21 ` Jim Blandy 0 siblings, 0 replies; 18+ messages in thread From: Jim Blandy @ 2005-11-24 6:21 UTC (permalink / raw) To: Joel Brobecker; +Cc: Ulrich Weigand, gdb On 11/23/05, Joel Brobecker <brobecker@adacore.com> wrote: > If I understand the new approach correctly, we really don't need to know > what the CFA is. All you need to know is where things have been saved. > Things like : r3 is saved at original SP + offset, or r4 saved at r30 + > offset. Right? We need it for use in frame ID's. ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Prologue analysis interface 2005-11-23 16:56 ` Ulrich Weigand 2005-11-23 18:37 ` Joel Brobecker @ 2005-11-24 10:21 ` Jim Blandy 2005-11-24 17:18 ` Ulrich Weigand 1 sibling, 1 reply; 18+ messages in thread From: Jim Blandy @ 2005-11-24 10:21 UTC (permalink / raw) To: Ulrich Weigand; +Cc: Joel Brobecker, gdb On 11/23/05, Ulrich Weigand <uweigand@de.ibm.com> wrote: > Just one comment on this: the CFA is not necessarily the original SP > (on s390 we have a constant offset). We'd have to leave it to platform > code to actually determine the CFA itself. Why does your CFA need to be an offset from the original SP? Aside from some more code needing to add an offset itself, what would break? ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Prologue analysis interface 2005-11-24 10:21 ` Jim Blandy @ 2005-11-24 17:18 ` Ulrich Weigand 2005-11-25 3:06 ` Jim Blandy 0 siblings, 1 reply; 18+ messages in thread From: Ulrich Weigand @ 2005-11-24 17:18 UTC (permalink / raw) To: Jim Blandy; +Cc: Ulrich Weigand, Joel Brobecker, gdb Jim Blandy wrote: > On 11/23/05, Ulrich Weigand <uweigand@de.ibm.com> wrote: > > Just one comment on this: the CFA is not necessarily the original SP > > (on s390 we have a constant offset). We'd have to leave it to platform > > code to actually determine the CFA itself. > > Why does your CFA need to be an offset from the original SP? Aside > from some more code needing to add an offset itself, what would break? Well, as CFA is just convention, it does *need* an offset as such. However, fact is that this is how CFA is currently registered in DWARF-2 CFI generated by GCC (due to an historical accident ...). Changing this is difficult: if you were to mix object files built with different CFA base locations, ordering of CFA values along the stack frame chain would no longer be guaranteed. (The same would hold if GDB internally used different CFA conventions for DWARF-2 detected frames and prolog-parser detected frames ...) Bye, Ulrich -- Dr. Ulrich Weigand Linux on zSeries Development Ulrich.Weigand@de.ibm.com ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Prologue analysis interface 2005-11-24 17:18 ` Ulrich Weigand @ 2005-11-25 3:06 ` Jim Blandy 0 siblings, 0 replies; 18+ messages in thread From: Jim Blandy @ 2005-11-25 3:06 UTC (permalink / raw) To: Ulrich Weigand; +Cc: Joel Brobecker, gdb On 11/24/05, Ulrich Weigand <uweigand@de.ibm.com> wrote: > Changing this is difficult: if you were to mix object files built with > different CFA base locations, ordering of CFA values along the stack > frame chain would no longer be guaranteed. (The same would hold if > GDB internally used different CFA conventions for DWARF-2 detected > frames and prolog-parser detected frames ...) Yes --- certainly the prologue CFA and Dwarf CFA need to match. ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Prologue analysis interface 2005-11-23 2:14 ` Daniel Jacobowitz 2005-11-23 2:52 ` Joel Brobecker @ 2005-11-23 3:14 ` Jim Blandy 2005-11-23 6:18 ` Daniel Jacobowitz 2005-11-23 14:54 ` Ulrich Weigand 2 siblings, 1 reply; 18+ messages in thread From: Jim Blandy @ 2005-11-23 3:14 UTC (permalink / raw) To: gdb On 11/22/05, Daniel Jacobowitz <drow@false.org> wrote: > One thing that jumped out at me in the m32c analyzer. You record > pushes of registers as frame related, and you record spills of argument > registers using "mov" as frame related. You mean "not frame related" right? Yes, it does undermine the general principle. I don't really see why stores of original values to the stack would be any worse. > The question in my mind is whether the target-independently-describable > tweaks we need for this are good for all targets. And as unlikely as > it may seem, I think it's true. For instance, S/390 has a bit to use > only the stack slot with the highest address if it sees multiple saves. > We could easily enough handle that in the target-dependent part in the > model I described above, but we don't have to (with an appropriate > check for the direction of the stack). It's probably good just about > everywhere. I see how the m32c and the S/390 could both be accomodated by a single piece of code. But I think there's something to watch out for here. We don't want the generic prologue analyzer driver to become a somewhat complex piece of code with a lot of little behaviors carefully chosen to make things work nicely on particular targets --- exactly what you're suggesting. Think about (if I'm remembering correctly) monitor_fetch_register. It's a generic function, meant to be shared amongst all sorts of monitors, that does a decent job groveling through the output of a ROM monitor's "show me the registers" commands and finding the actual values. When it works, it's great, but when it isn't working right for your monitor, you just have to custom-code your own register parser. You can't change the generic function's behavior in the slightest, because you don't know what behaviors all the other monitors (which you can't test) are depending on. Which puts you in the ridiculous situation of not being able to change monitor_fetch_register even if *nobody* wants the current behavior --- because you can't discover that that's the case. It's an ossified function. It will never change. That's not the end of the world --- you just copy it, install it as a custom function in the monitor_ops structure, and go on your way. But you lose the benefits you'd like to get from common code. > Both the S/390 and m32c use heuristics to terminate the frame chain. > I agree that these are necessary, but I've also come to see a bit of > the counterargument that they're in the wrong place. I think what we > need may be an additional method for frames to say "this same unwinder > thinks the stack is finished here". Pathological examples: calling > thread_start() or an optimized noreturn function from gdb. Why is it better to have a separate method than to have 'this_id' leave the id unchanged? > So, for now, how about that? Just provide something along the lines of > the tramp-frame interface that does the busywork. We can adjust later > what is busywork and what isn't. Having voiced my misgivings above, I'll give it a shot. ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Prologue analysis interface 2005-11-23 3:14 ` Jim Blandy @ 2005-11-23 6:18 ` Daniel Jacobowitz 0 siblings, 0 replies; 18+ messages in thread From: Daniel Jacobowitz @ 2005-11-23 6:18 UTC (permalink / raw) To: Jim Blandy; +Cc: gdb On Tue, Nov 22, 2005 at 07:09:44PM -0800, Jim Blandy wrote: > On 11/22/05, Daniel Jacobowitz <drow@false.org> wrote: > > One thing that jumped out at me in the m32c analyzer. You record > > pushes of registers as frame related, and you record spills of argument > > registers using "mov" as frame related. > > You mean "not frame related" right? Yes, it does undermine the > general principle. I don't really see why stores of original values > to the stack would be any worse. Eh, no, I mean frame related: if (m32c_is_arg_spill (&st, dest, src_value)) after_last_frame_related_insn = st.next_addr; > > The question in my mind is whether the target-independently-describable > > tweaks we need for this are good for all targets. And as unlikely as > > it may seem, I think it's true. For instance, S/390 has a bit to use > > only the stack slot with the highest address if it sees multiple saves. > > We could easily enough handle that in the target-dependent part in the > > model I described above, but we don't have to (with an appropriate > > check for the direction of the stack). It's probably good just about > > everywhere. > > I see how the m32c and the S/390 could both be accomodated by a single > piece of code. But I think there's something to watch out for here. > We don't want the generic prologue analyzer driver to become a > somewhat complex piece of code with a lot of little behaviors > carefully chosen to make things work nicely on particular targets --- > exactly what you're suggesting. Think about (if I'm remembering > correctly) monitor_fetch_register. It's a generic function, meant to > be shared amongst all sorts of monitors, that does a decent job > groveling through the output of a ROM monitor's "show me the > registers" commands and finding the actual values. When it works, > it's great, but when it isn't working right for your monitor, you just > have to custom-code your own register parser. You can't change the > generic function's behavior in the slightest, because you don't know > what behaviors all the other monitors (which you can't test) are > depending on. Which puts you in the ridiculous situation of not being > able to change monitor_fetch_register even if *nobody* wants the > current behavior --- because you can't discover that that's the case. > It's an ossified function. It will never change. That's not the end > of the world --- you just copy it, install it as a custom function in > the monitor_ops structure, and go on your way. But you lose the > benefits you'd like to get from common code. Point taken. But please take another look at what I've suggested - in the end, I ended up leaving almost all of the likely-fiddly-bits to the target. My message was a bit confusing to read, since that's not where I _wanted_ to end up. > > Both the S/390 and m32c use heuristics to terminate the frame chain. > > I agree that these are necessary, but I've also come to see a bit of > > the counterargument that they're in the wrong place. I think what we > > need may be an additional method for frames to say "this same unwinder > > thinks the stack is finished here". Pathological examples: calling > > thread_start() or an optimized noreturn function from gdb. > > Why is it better to have a separate method than to have 'this_id' > leave the id unchanged? My thinking was: because !frame_id_p (get_frame_id (next_frame)) means "there can be no frames after me" and "frame_should_unwind_past (next_frame)" means "it looks like I've come to the end of the stack, here, I don't know how to go on". Maybe someone else does, e.g. to find a dummy frame. But really the value of this seems minimal. I just keep coming back to the nagging feeling that the way we find the last frame is just not right. -- Daniel Jacobowitz CodeSourcery, LLC ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Prologue analysis interface 2005-11-23 2:14 ` Daniel Jacobowitz 2005-11-23 2:52 ` Joel Brobecker 2005-11-23 3:14 ` Jim Blandy @ 2005-11-23 14:54 ` Ulrich Weigand 2 siblings, 0 replies; 18+ messages in thread From: Ulrich Weigand @ 2005-11-23 14:54 UTC (permalink / raw) To: Daniel Jacobowitz; +Cc: Jim Blandy, gdb Daniel Jacobowitz wrote: > The S/390 code is a lot less clear-cut than the m32c, not surprisingly. > Most of the tangly bits are related to frameless functions. Some of > this could be further commonized too, but for now my suggested plan > above should work for this also. Note that some of the heuristics is actually wrong. I hope to be able to update the s390 prolog analyzer soon to simplify it a bit and fix some of the issues I've found. Unfortunately I cannot guarantee I'll find time to do so right now ... Bye, Ulrich -- Dr. Ulrich Weigand Linux on zSeries Development Ulrich.Weigand@de.ibm.com ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Prologue analysis interface 2005-11-22 19:30 Prologue analysis interface Jim Blandy 2005-11-22 19:44 ` Daniel Jacobowitz @ 2006-01-27 17:11 ` Daniel Jacobowitz 2006-01-27 18:25 ` Jim Blandy 1 sibling, 1 reply; 18+ messages in thread From: Daniel Jacobowitz @ 2006-01-27 17:11 UTC (permalink / raw) To: Jim Blandy; +Cc: gdb On Tue, Nov 22, 2005 at 11:24:06AM -0800, Jim Blandy wrote: > Daniel, you said that you felt that the interface in the > prologue-value.h that I posted wasn't at the right level, and > suggested that, instead of providing types and some operations on > those types, it should instead provide the interpretation loop and > call back into tdep code to interpret specific instructions. > > Could you sketch that interface for me? I'm concerned that it will be > difficult to allow the tdep code the flexibility it needs to model the > processor without a lot of bureaucracy, but I'm willing to be > impressed. Hi Jim, I'm assuming you haven't had any time for this since we last talked about it. If that's true, how do you feel about reposting the current version of the code for review anyway? I just needed to fix a prologue analysis bug for Thumb. It took me about six hours to rewrite the prologue analyzer from scratch based on prologue-value.[ch], and it has equivalent testsuite results to the DWARF-2 unwinder; one more pass than the existing unwinder with DWARF-2 disabled; and handles the somewhat odd case that I was trying to fix without impairing anything else. It's an obvious step forwards. -- Daniel Jacobowitz CodeSourcery ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Prologue analysis interface 2006-01-27 17:11 ` Daniel Jacobowitz @ 2006-01-27 18:25 ` Jim Blandy 2006-01-28 13:40 ` Jim Blandy 0 siblings, 1 reply; 18+ messages in thread From: Jim Blandy @ 2006-01-27 18:25 UTC (permalink / raw) To: Jim Blandy, gdb On 1/27/06, Daniel Jacobowitz <drow@false.org> wrote: > I'm assuming you haven't had any time for this since we last talked > about it. If that's true, how do you feel about reposting the current > version of the code for review anyway? Yes, I haven't had time for it. I'll re-post. > I just needed to fix a prologue analysis bug for Thumb. It took me > about six hours to rewrite the prologue analyzer from scratch based > on prologue-value.[ch], and it has equivalent testsuite results to > the DWARF-2 unwinder; one more pass than the existing unwinder with > DWARF-2 disabled; and handles the somewhat odd case that I was trying > to fix without impairing anything else. It's an obvious step forwards. Yay! :) ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: Prologue analysis interface 2006-01-27 18:25 ` Jim Blandy @ 2006-01-28 13:40 ` Jim Blandy 0 siblings, 0 replies; 18+ messages in thread From: Jim Blandy @ 2006-01-28 13:40 UTC (permalink / raw) To: Jim Blandy, gdb [-- Attachment #1: Type: text/plain, Size: 224 bytes --] I merged some recent changes from our internal tree, and there's some bitrot; I haven't looked at what's wrong yet. But if anyone is interested, here's the patch as it stands. This patch includes prologue-value.[ch]. [-- Attachment #2: jimb.gdb-contribute-m32c.patch.gz --] [-- Type: application/x-gzip, Size: 30436 bytes --] ^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2006-01-28 5:24 UTC | newest] Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2005-11-22 19:30 Prologue analysis interface Jim Blandy 2005-11-22 19:44 ` Daniel Jacobowitz 2005-11-23 0:20 ` Jim Blandy 2005-11-23 2:14 ` Daniel Jacobowitz 2005-11-23 2:52 ` Joel Brobecker 2005-11-23 3:52 ` Jim Blandy 2005-11-23 16:56 ` Ulrich Weigand 2005-11-23 18:37 ` Joel Brobecker 2005-11-24 6:21 ` Jim Blandy 2005-11-24 10:21 ` Jim Blandy 2005-11-24 17:18 ` Ulrich Weigand 2005-11-25 3:06 ` Jim Blandy 2005-11-23 3:14 ` Jim Blandy 2005-11-23 6:18 ` Daniel Jacobowitz 2005-11-23 14:54 ` Ulrich Weigand 2006-01-27 17:11 ` Daniel Jacobowitz 2006-01-27 18:25 ` Jim Blandy 2006-01-28 13:40 ` Jim Blandy
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox