Subject: None
To: matthew green <mrg@eterna.com.au>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: port-sparc
Date: 01/05/2000 11:18:08
>> I'm using X11R6.4p3, and it didn't even take significant work.
> what did it take in X11R6.4p3?

Well, I rolled forward most of my X11R6.3p1 patches, though I'm not
certain they were all necessary.  What I have is:

config/cf/Imake.cf: ifdef __sun3__, define Sun3Architecture.  (Not
directly relevant to the sparc.)

config/cf/NetBSD.cf: ifdef Sun3Architecture, set ServerExtraDefines and
BootstrapCFlags.  Make DefaultUserPath overridable in site.def.  Define
LinkBuildLibrary and InstallSharedLibrary that work for NetBSD ELF
libraries.  Set SharedXmuReqs.  Turn on XKB_ALWAYS_USES_SOFT_REPEAT for
both SparcArchitecture and Sun3Architecture servers (this may be
unnecessary; I found I needed it on the Sun-3.)  Fix a few typos in
comments.

config/imake/imake.c: Diddle include file orders to get all the
relevant prototypes included at the right times.  I'm not sure whether
what I did was overkill....

config/makedepend/main.c: Teach it not to pass struct stat .st_size
directly as the third arg to read().  When I first did these patches
(on the sun3, years ago), this was necessary because there was no
prototype in scope, so read read zero bytes (the high half of the file
size), and main.c didn't check.  If there's now a prototype in scope
these changes may not be necessary.

lib/X11/: Many changes here in terms of files touched, but conceptually
a fairly small set: in the .h files, declare all return types (don't
let anything default), and declare functions that conceptually return
nothing as void.  In the .c files, make matching changes - declare a
return type, and remove the expression from return statements in
newly-void functions.  Also, fix the botch with _XcmsSetGetColor and
function pointers.  Also, if NeedFunctionPrototypes, actually provide
prototypes for everything, including some things that still had
K&R-style declarations (like some structure members which are function
pointers).  Rearrange slightly the way Display is declared, to
facilitate this.

lib/Xau/Xauth.h: If NeedFunctionPrototypes, provide a prototype for
XauFileName().

programs/Xserver/XIE/include/error.h: Add missing parentheses to the
Flo*Error() macros, to fix a bug that otherwise not only produces
compile-time warnings but actually tests the wrong thing.

programs/Xserver/cfb/stipsparc.s and programs/Xserver/cfb/stipsprc32.s:
Change #ifdef SVR4 to #if 1, to strip the underscores from external
symbols.  This really should be "if using ELF", but for my private
patches I was lazy.

programs/Xserver/hw/sun/sunCfb.c: On the sparc, it's
<machine/cgtworeg.h>, not <machine/cg2reg.h>.

programs/Xserver/hw/sun/sunFbs.c: Avoid calling valloc() ifdef
__NetBSD__.

programs/Xserver/include/servermd.h:
#ifdef sparc -> #if defined(sparc) || defined(__sparc__)
similarly for mc68020.

programs/rgb/Imakefile: Conditionalize rgb.db stuff on BSD_44_DBM
isntead of BSD386Architecture.

programs/xterm/main.c: ifdef __NetBSD__, define USE_POSIX_WAIT.

I was sorely tempted to strip trailing whitespace - it grates on me to
leave it alone - but it makes the patch files significantly bigger than
they otherwise would be and hinders rolling them forward, so I
restrained myself.

> at one point, all my/the patches against X11R6.whatever that NetBSD
> needed were integrated into the master X sources... we should get
> anything else needed in there as well.

I sent in a bug report about the XIE/include/error.h stuff, and I think
one other thing as well.  I'll be happy to send a copy of my patches to
anyone who wants.

					der Mouse

			       mouse@rodents.montreal.qc.ca
		     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B