> 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