[M3devel] merging gdb from 6.4 to 7.1?
Rodney M. Bates
rodney_bates at lcwb.coop
Tue Jul 20 17:20:38 CEST 2010
I have been thinking about doing this myself for some time, but up to
now, have not had the time. I can certainly help, if you want to do it,
or maybe take it on myself. I think I will be having more time soon.
I have done it a couple of times before. A few things can be hard to
figure out, because they rework existing stuff in gdb and it's hard to
dig out what the new equivalent of the old mechanism is. A lot of the
M3-specific code I either heavily modified or wrote.
Jay K wrote:
> The merge of m3cc/gcc from 4.3.0 to 4.3.5 went well enough.
>
> I'll volunteer to merge m3gdb from 6.4 to 7.1.
BTW, there is now or will be very soom, a 7.2 gdb.
Also, the latest gdb does reverse debugging, by recording
snapshots during the forward run. This would be a *very*
nice feature to have for Modula-3.
>
> Are people interested?
>
> I saw some mention of 6.4.3 in our history.
> But there's no release called that.
> What is it?
I don't remember anything about this.
>
> Some of the conflicts are about SYMBOL_TYP vs. LHS_SYMBOL_TYPE.
> What that a deliberate important change on our port?
Yes, this is my change, very deliberate, and gets around a nasty
group of dangling pointer bugs. I would have to took at it again,
but it used to cache a pointer to a gdb type struct, lazily looked-
up the first time, right into an existing field of another gdb struct.
When you rerun, gdb reloads the referent structs of such pointers,
leaving them dangling. Or maybe I am mixing up two different
problems. Anyway, the two macros are essential.
I have long thought it might be nice to design a better mechanism,
but it's not simple. I strongly recommend not messing with it during
merging to a newer gdb. Save that for a subsequent job with a separate
CVS tag. It's only a performance matter, and except for debugging work
that proceeds without requiring user-types commands all the time, it
scarcely matters.
Also, we would be a lot better off to dump stabs+ and use whatever
latest version of dwarf that gdb already has support for. But that
is also a job that should be done separately, with its own tag, after
a new merge is working with the existing mechanisms.
>
> Thanks,
> - Jay
>
>
>
>
>
More information about the M3devel
mailing list