Re: Rewriting the type system

Daniel Berlin
2001-06-12T10:44:00Z

Jim Blandy <jimb@zwingli.cygnus.com> writes:

> Daniel Berlin <dan@cgsoftware.com> writes:
>> Jim, GDB development is moving a lot slower than it should. If
>> someone told me, after just rewriting the typesystem, that i needed to
>> redo it from scratch, i'd probably just start making my own GDB
>> releases instead (in effect, forking GDB). Not out of spite or
>> anything, just so i could get stuff done without having to keep track
>> of tons of patches that go months without review.
>
> I apologize if I have been slow to review patches from time to time.
> I don't like to feel that I'm a bottleneck in GDB development.
>
> However, in your case, Dan, I think we can back up and ask a more
> fundamental question. You're a smart guy; you've got a lot of energy;
> you have a lot of time, too, apparently. You've been working on GDB
> for at least a year and a half now. You've taken on large, ambitious
> tasks.
>
> So, given all that, why are you in the position of waiting for my
> approval for your changes? Why aren't you listed as a maintainer of
> the Dwarf2 reader and the symtab reader?
>
> It's because, for whatever reason, you don't take the time to make
> your changes correct.

Now that's simply bullshit.

>
> Here is part of the function gnuv3_rtti_type in gnu-v3-abi.c, from
> your GCC V3 C++ ABI support patch:
>
> coreptr =
> *((CORE_ADDR *) (VALUE_CONTENTS_ALL (v) + VALUE_OFFSET (v) +
> VALUE_EMBEDDED_OFFSET (v)));
> coreptr -= 12;
> *top =
> value_as_long (value_at
> (builtin_type_int, coreptr, VALUE_BFD_SECTION (v)));
> coreptr += 8;
> vp = value_at (builtin_type_int, coreptr, VALUE_BFD_SECTION (v));
>
> Here we have, in the space of less than a dozen lines of code:
>
> - host == target assumptions (why are you applying `*' to
> target-format data?)
>
> - sizeof (foo) assumptions (what is 8? what is 12?)
>

Neat, but that code was written 2 years ago, when i was first starting
gdb development.
It was introduced into value_rtti_type, and copied in the gnuv3 rtti
type because gnuv3-abi.c was based on gnuv2-abi.c, which was based on
all that code.

> It makes me angry to be asked to review this kind of patch. If you're
> not going to bother with even the most basic rules of GDB
> development,

Really?
That's pretty frickin funny.
Please point out the problems with the misc_obstack changes I
submitted 2 weeks ago, unreviewed.

> why should I bother to read your patches?

Because as maintainer, it's your job?
>
> You have an extensive history of reverted changes:
>
> 2000-11-07 Daniel Berlin <dberlin@redhat.com>
>
> * dwarf2read.c: Revert June 5th change for caching of types,
> as per Jim Blandy's request.
>
> and the changes to lookup_symbol that were broken,

Actually, Jim, they changes to lookup_symbol were broken because of
two things. First, an undocumented change 4 years ago (IE nobody
updated the comments) that caused demangled names to not appear on
partial symbols, only full symbols and minimal symbols.
I submitted a patch to fix the problem by documenting the behavior,
and reverting the binary search on partial symbols, which took until
Jim Ingham noticed the same damn problem 3 months later, and raised
more hell, for you to actually review the damn patch and approve it.
Remember that part?

> the minsym sorting
> issue that Peter Schauer called you on,

What are you talking about?
> etc.

Cute.
Extensive history through 1 example.

>
> One of the reasons it took me three or four months to review your GCC
> V3 C++ ABI changes was that I had to learn enough C++ to be able to
> understand the ABI spec. Isn't that odd? Why do we need to have our
> C++ maintainer's patches reviewed by someone who doesn't know the
> language?
Because they touch the symbol code?
Or the types code?
Or the values code?
Because language support in GDB is hopelessly intertwined with other
parts of GDB, such that you can't fix one thing without touching 18
other parts?
It's nice of you to try to imply that most of my patches are wrong, when they
aren't.
> As someone said recently, "This, IMHO, is amazingly silly."
Hey, maybe I should start taking your quotes out of context too.

>
> Given your record, I'm not sure I think you should be the GDB C++
> maintainer, or the maintainer of any part of GDB.

Okay Jim, you want it, you got it.
I officially give up as C++ maintainer.
I've removed myself from the MAINTAINERS list.
Have fun.
Doesn't change anything, does it?
Don't review my patches, or the patches of others, and i'll complain.

--
"My friend Winnie is a procrastinator. He didn't get his
birthmark until he was eight years old.
"-Steven Wright