> term% diff /n/dump/2011/0130/386/include/u.h /n/dump/2011/0404/386/include/u.h
> 21a22,34
> > /* for the GO toolchain */
> > /* (with some effort this could go into /go/386/include,
> >     but there's really no reason to keep it from the
> >     native toolchain)
> > */
> > typedef char int8;
> > typedef short int16;
> > typedef long int32;
> > typedef long long int64;
> > typedef unsigned char uint8;
> > typedef unsigned short uint16;
> > typedef unsigned long uint32;
> > typedef unsigned long long uint64;
> 
> Seems harmless enough. I'm sure I've actually rebuilt the Plan 9 binaries
> in their entirety with these changes and no ill effect.

that part is easy enough.  and this part is easy enough, too

        {
                # will get quoted instances, too
                echo X ,x:[a-zA-Z_][a-zA-Z_0-9]*: v/......./ 
s/u(8|16|32|64)int/uint\1/g
                echo X ,x:[a-zA-Z_][a-zA-Z_0-9]*: v/......./ 
s/s(8|16|32|64)int/int\1/g
                echo w
                ecgi q
        } | sam -d `{find /sys/src|grep '\.[chy]$' 

then you can get rid of the old definitions in /*/include/u.h
and declare a flag day.  having both seems wrong to me.
you might as well just do a local hack for the go stuff at that
point.

the hard part is convincing everyone that this large
patch is worth the pain.

i think it is, but maybe there's something i'm not
thinking of, or a different point of view.

- erik

Reply via email to