Updated: Sat Feb 11 22:55:03 1995

This is a list of problems I've been having on various platforms.  Almost
all of them are fixed or hacked around for now, but perhaps someone else
might find it useful later on.

*** ALL

  ioctl breaks everything because it is getting called at initialization
  time before everything else is ready...  have to figure this one out
  generically.

		FIXED.  pulled in isatty and hacked around the problem.

* Sparc, Sunos 4.1.3

1] test_sock_1 core dumps when the sleep in the initial thread ends.
   reason: context_switch() calls sig_handler(0) in the loop at the
   end which calls pthread_sig_register() which expects pthread_run to
   be non-NULL, but in this case it is guaranteed to be NULL.  Setting
   pthread_run to next does not appear to be the answer, as the sleep
   then never terminates.  I don't grok the signal.c code well enough
   to see the light here.

		FIXED

2] engine-sparc-sunos-4.1.3.h.  __FD_NONBLOCK is set to O_NONBLOCK,
   which doesn't appear to work, at least for me -- test_sock_1 does
   not work because we block in accept.  Changing it to O_NDELAY makes
   things work, but I'm not sure of the implications.

		FIXED, use (O_NONBLOCK|O_NDELAY) like for ultrix

3] test_fork doesn't work.  Not sure why.

		FIXED, apparently by the fix to #1

4] test_pthread_cond_timedwait fails with a segfault, and it really smells
   like problem #1.

		FIXED, apparently by the fix to #1

* HP, HP-UX 9.03

1] configure complains that it can't find timezone stuff.  I cannot figure
   out what to do in this case, as I'm new to HP-UX.  This looks really
   nasty; there are no timezone files for HP!  Instead, there is this thing
   called tztab.  How can we get around this?

		HACKED AROUND.  proven sent me bsd zoneinfo files
		and I've figured out a way to trick depot into installing
		them in a reasonable place on our hps.  NOTE That
		if you want to compile under HP-UX, you have to get this
		stuff or there will be trouble.

2] unistd.h doesn't get linked in from machdep... why?

		Not sure if I fixed this or not.

3] syscall.S compiles but produces non-global symbols for everything but
   machdep_sys_fork.  I don't know HPUX asm syntax enough to know why,
   but if you look at the macro and the defn of fork, it doesn't look like
   there would be ANY difference.

		HACKED AROUND. ran syscall.S through gcc -E by hand,
		fixed it up and added some addl syscalls.  This is
		not pretty, but it does work for now.

4] floating point output from stdio didn't work.

		same ifdef as for alphas

5] test_fork still acts funny.  it works, more or less, when I run it
   from gdb, but never terminates when I run it from the shell.  I traced
   through things for a while, but never did figure it out.  I will have to,
   though, because I have code that needs to use fork().

* Alpha, OSF/1 1.3

1] gcc pukes all over the place unless you give it
	-I<gcc-loc>/include -fno-builtin

		Check gcc configuration.

2] It does not appear as if any of the net/ code was ever compiled on
   an alpha, because u_long is everywhere, and it is WRONG.  I changed
   it to __u_intt32, which I added to machdep/alpha-osf1/types.h,
   which I copied from sys/types.h.  I also copied some net header
   files from arpa/ and renamed them arpa_ in the machdep/alpha-osf1/
   and changed out source appropriately, because all the prototypes
   were wrong.

   UPDATE: I found the include/arpa directory after doing the above. I
   revamped things, stole a bunch of headers 4.4bsd lite and got things
   to compile cleanly on the alpha by using u_int32_t and u_int16_t
   everywhere and adding defns of {u_,}int{16,32}_t to cdefs.h for all
   ports.

		FIXED for now.

		UPDATE: Moved to pthread_ipaddr_type, but I really,
		really dislike the fact that it lives in config.h,
		since I can't cleanly include that from any exported
		header file, which means I can't use it in exported
		header files without defining it myself anyway, so what
		is the point of the config.h hack?

		I just punted and added #ifdef'ed defns of it to inet.h
		and nameser.h so that the netdb code would compile and work.

3] Needed uio.h.

		OK.

4] test_stdio_1 fails if you test floating point #s

		Merge in ifdefs from my copy of 1.5 in vfprintf.c

* Linux -- NOT DONE YET

1] Added the int types to cdefs.h.  Is this the right place to put them?

2] unistd.h doesn't get linked in from machdep -- why?
