[PATCH] Configury changes for IA-64

Kevin Buettner kevinb@cygnus.com
Sat Apr 1 00:00:00 GMT 2000


On Mar 20, 11:13pm, Kevin Buettner wrote:

> Note:  The observant among you will notice that I've diffed revision
> 1.1 and revision 1.3 for configure.host.  This is because in revision
> 1.2, I inadvertently merged in all of the differences between the copy
> of configure.host that I used for my IA-64 work and sourceware.  (And
> these diffs were far more substantial than just the addition of the
> ia64-*-linux* entry.) I realized this when I made diffs after my 1.2
> commit.  So 1.3 puts things right; it restores everything that I
> inadvertently changed, but leaves in place my new ia64-*-linux entry. 
> If you do a diff between 1.1 and 1.3, you'll see what I wanted to
> commit in the first place.  I apologize for any confusion that this
> may cause.

I've done some more digging... It turns out that revision 1.2 of
configure.host wasn't botched after all.  But CVS's messages lead
me to believe it was.  I've just checked in a 1.4 which (I think) puts
everything back right.

I'll now explain the reason for my confusion...

Immediately after checking in my changes to configure.host, CVS told
me the following:

    Checking in configure.host;
    /cvs/src/src/gdb/configure.host,v  <--  configure.host
    new revision: 1.2; previous revision: 1.1
    done

I thought it would be a good idea to check my work.  So I did

    cvs diff -up -r1.1 configure.host

to verify that everything was correct.  I expected to see only
the following hunk.

	 i[3456]86-*-sysv*)	gdb_host=i386v ;;
	 i[3456]86-*-isc*)	gdb_host=i386v32 ;;
	 i[3456]86-*-cygwin*)	gdb_host=cygwin ;;
	+
	+ia64-*-linux*)		gdb_host=linux ;;
	+
	 m680[01]0-sun-sunos3*)	gdb_host=sun2os3 ;;
	 m680[01]0-sun-sunos4*)	gdb_host=sun2os4 ;;
	 m68030-sony-*)		gdb_host=news1000 ;;

But (to my horror), I found that the diff was 108 lines long!  What
could have gone wrong?

Suspecting that cvs might be playing tricks on me, I did a "cvs annotate"
to see who was really responsible for all of those other changes.  Well,
"cvs annotate" said it was me!!  Here's a small portion of the output
from CVS annotate:

    1.1          (shebs    16-Apr-99): 
    1.1          (shebs    16-Apr-99): alpha*)                      gdb_host_cpu=alpha ;;
    1.2          (kevinb   21-Mar-00): arm*)                        gdb_host_cpu=arm ;;
    1.2          (kevinb   21-Mar-00): # OBSOLETE c[12])            gdb_host_cpu=convex ;;
    1.1          (shebs    16-Apr-99): hppa*)                       gdb_host_cpu=pa ;;

Yup, sure enough; in version 1.2, it says that I was responsible for
the arm entry and the OBSOLETE c[12] entry.  So my conclusion at this
point was that I'd made a grievous error in merging the configure.host
file from my IA-64 sources with the one in sourceware.  (Hey, I probably
have you convinced at this point too, right?)

So I used "cvs update -r1.1 -p configure.head >configure.head" to
fetch the original file.  (After all, 1.2 *was* all my doing, right?) I
then hand applied my IA-64 changes, committed that and wrote that nice
little note quoted above apologizing for any confusion.

But I like to think of myself as a pretty careful guy when it comes to
these things, so I did some more checking to find out how I could have
made such an error in the first place.  The first thing I did was to
check my [PATCH RFA] message that I sent to sourceware.  I suspected
that I must have sent a patch made vs. the Cygnus internal repository.
(I'm not supposed to mention this repository in this forum, so forget
that I said anything about it.) But, if I *had* taken this diff against
Cygnus's internal repository, it could explain how I could have sent a
perfectly reasonable looking diff to gdb-patches and yet managed to
horribly bungle my commit to the sourceware repository.

But it turns out that the diff I sent to the list was vs. the sourceware
repository.  How could this be?

The following line from the diff in question gave a telling clue:

    diff -u -p -r1.1.1.10 configure.host

That 1.1.1.10 number looks like something on a branch, or maybe an
import...  In any event, it's certainly different than the 1.1 number
which CVS claimed was the previous revision.  So I did a "cvs log" to
find out more.  Here's the relevant portion:

    revision 1.3
    date: 2000/03/21 05:43:30;  author: kevinb;  state: Exp;  lines: +10 -16
    Fixed botched commit in 1.2.
    ----------------------------
    revision 1.2
    date: 2000/03/21 05:26:31;  author: kevinb;  state: Exp;  lines: +19 -10
    IA-64 changes.
    ----------------------------
    revision 1.1
    date: 1999/04/16 01:33:58;  author: shebs;  state: Exp;
    branches:  1.1.1;
    Initial revision
    ----------------------------
    revision 1.1.1.10
    date: 1999/12/22 21:45:03;  author: jsm;  state: Exp;  lines: +3 -1
    import gdb-1999-12-21 snapshot

My conclusion at this point is that CVS lied to me after I did the
commit.  Moreover, it lied to me when I did the annotate.  jsm
should be credited with those changes due to his import, not me.

As I said at the outset, I think I've now put everything back right. 
Certainly, when I diff 1.1.1.10 and my current version, I am seeing
just those IA-64 changes that I had originally wanted to commit in the
first place.  (But it wouldn't hurt for one or more of you to check
*before* you update.  Do a "cvs diff -u -rHEAD configure.host" and
make sure that the only change that you see is the one adding the
"ia64-*-linux*" entry.)

Once again, I apologize for the confusion.  (Though I think ample
blame can be laid upon CVS.)

Kevin


More information about the Gdb-patches mailing list