Commit Graph

2172 Commits

Author SHA1 Message Date
John Birrell 883674371e Enable static initialisation of mutexes and condition variables. 1998-04-04 11:33:01 +00:00
John Birrell 5a2f1fed77 Change in name of the static initializer define. 1998-04-04 11:03:07 +00:00
John Birrell f9c7be5357 Rename static initializer defines for opaque structures so that the
POSIX specified names can be declared in pthread.h.
1998-04-04 10:58:12 +00:00
John Birrell 377aa2cbb6 Move the magic field initialisation to a place when it is more magic. 1998-04-04 07:27:29 +00:00
John Birrell ed92686917 Add a magic field to the pthread structure to help recognize valid
threads from invalid ones. The pthread structure is opaque to the user
so this change does not cause any incompatibilities.

Hopefully this change will help code that was written for draft 4
fail gracefully if the programmer ignores the compiler warning about
the change in the level of indirection for the argument passed to
pthread_detach(). I got burnt, so I fixed then (expletive deleted)
thing.

These functions comply with the revised standard. That should shut
Terry up!
1998-04-03 09:31:15 +00:00
John Birrell 4d2c1d2306 This function compiles with the standard, so say so. 1998-04-03 09:12:19 +00:00
John Birrell bb8a420424 This function compiles with the standard, so say so.
Add a note about not touching errno and warn about previous drafts
of the standard which changed the level of indirection to the thread
argument. POSIX had a bit of trouble deciding what to do. So anyone
coding to both draft 4 and draft 10 (the final draft) will get burnt
by this function. I did. Grrr.
1998-04-03 09:11:15 +00:00
John Birrell 8999cfc9b5 Temporary fix for problems that occur if CFLAGS=-g is added to
/etc/make.conf. The tools can't handle generating debug code where
we fiddle with the ELF segments.
1998-04-01 03:24:19 +00:00
Peter Dufault 8a6472b723 Finish _POSIX_PRIORITY_SCHEDULING. Needs P1003_1B and
_KPOSIX_PRIORITY_SCHEDULING options to work.  Changes:

Change all "posix4" to "p1003_1b".  Misnamed files are left
as "posix4" until I'm told if I can simply delete them and add
new ones;

Add _POSIX_PRIORITY_SCHEDULING system calls for FreeBSD and Linux;

Add man pages for _POSIX_PRIORITY_SCHEDULING system calls;

Add options to LINT;

Minor fixes to P1003_1B code during testing.
1998-03-28 11:51:01 +00:00
Poul-Henning Kamp c6bcf724da Split the padding out into a separate function.
Synchronize the kernel and libmd versions of md5c.c

PR:		misc/6127
Reviewed by:	phk
Submitted by:	Ari Suutari <ari@suutari.iki.fi>
1998-03-27 10:23:00 +00:00
John Birrell 20219d9a7b For 1.3, NetBSD replaced the swapon() syscall with swapctl() and moved
the only call to compat_12 which isn't there by default. Provide
a wrapper.
1998-03-23 21:04:06 +00:00
Bruce Evans 6b20a4e1b1 Fixed function types in synopsis.
Commented out docmentation of nonexistent authenticate() and
auth_timesok().  authenticate() seems to be obsolete and
auth_timesok() never existed in FreeBSD.
1998-03-23 13:29:49 +00:00
Bruce Evans 16a4564707 Fixed bitrot in synopsis. 1998-03-23 13:23:22 +00:00
Bruce Evans b9f4538c63 Regenerate (install tclAppInit.c in the installhdrs step). 1998-03-23 13:21:35 +00:00
Bruce Evans 5c7e14e4fb Fixed a function arg type in the synopsis. 1998-03-23 13:07:17 +00:00
Bruce Evans c7091c3117 (Ab)use .Vt instead of .Fd for a variable declaration. 1998-03-23 13:05:07 +00:00
Bruce Evans 73de262e04 Fixed bitrot in synopsis. Didn't fix bitrot elsewhere. 1998-03-23 13:02:37 +00:00
Bruce Evans bf9a92b782 FixedSpellingErrorInAFunctionname. 1998-03-23 12:28:31 +00:00
Philippe Charnier 306005e78c .Sh AUTHOR -> .Sh AUTHORS. Use .An/.Aq. 1998-03-23 07:48:45 +00:00
John Birrell a145fea480 For 1.3, NetBSD walloped the msync syscall and replaced it with
__msync13. The old one got moved to compat_12. Wrap __msync13 up
to look like FreeBSD's msync and be careful to respect the fact that
MS_SYNC is 0x0000 on FreeBSD, but 0x0004 on NetBSD.
1998-03-23 06:58:06 +00:00
Jordan K. Hubbard 698b7ad3c9 Add Compaq & SCO partition types.
PR:		6092
Submitted by:	Drew Derbyshire <ahd@kew.com>
1998-03-22 07:41:23 +00:00
John Birrell 0122d62264 Fix a problem of indirection unblocking signals that would have caused
signals to be unblocked even if they were already blocked when entering
the function.

Pointed out by: bde
1998-03-22 04:13:23 +00:00
Mark Murray efa3929e79 Build both libscrypt and libdescrypt. There is no point in letting
libscrypt stagnate, even if it is superceded by libdescrypt. It is
a tiny library anyway, and building it is inexpensive.
1998-03-21 08:18:57 +00:00
Jordan K. Hubbard a299349b09 MF22: teach about LS-120 devices. 1998-03-20 23:43:04 +00:00
Bruce Evans 682c5f7c6e Renamed the generated include file keys.tries to keys.tries.h so
that it can be put in SRCS for dependency generation to work
properly.  Don't use beforedepend, as usual.
1998-03-20 16:50:08 +00:00
Bruce Evans c9811e98d6 Build the libraries in a correct order. Reorganized the ifdefs so
that the order is easy to see.
1998-03-19 16:56:58 +00:00
Bruce Evans c8151f7b9b Don't use the beforedepend target. It was a no-op here except for
helping bsd.dep.mk break `make -jN depend'.
1998-03-19 15:27:08 +00:00
Philippe Charnier a5941fc2aa .Sh AUTHOR -> .Sh AUTHORS. Use .An/.Aq 1998-03-19 07:34:22 +00:00
Eivind Eklund 38b22f2b1f <sys/errno.h> -> <errno.h> 1998-03-16 18:00:18 +00:00
Andrey A. Chernov dd6f94f065 Add more AIX/DOS/Win95 partition types 1998-03-14 21:14:31 +00:00
Bruce Evans df5cf212e6 Changed speed_t from long to unsigned long. POSIX.1 requires an
unsigned integral type.  Changing it doesn't seem to cause any
sign extension bugs in /usr/src.  In the kernel, this is partly
because `struct speedtab' and its lookup function are too bogus
to use speed_t's for speeds - they use ints.

Reminded by:	PR 5786
1998-03-12 14:09:55 +00:00
Bruce Evans 034abff918 Fixed disordering and inconsistent style in previous commit. 1998-03-12 12:05:14 +00:00
Bruce Evans 46986e6888 Separated header creation from header installation in libss. Create
the libss headers before installing them in `make world'.
1998-03-12 10:08:50 +00:00
John Birrell f672a042cf Don't share sources with i386-elf. That was too difficult. 8-(
Add a bootstrap mode so that non-rtld versions of these objects can
be built when bootstrapping the system with NetBSD tools, headers
and libraries. Once the FreeBSD tools are built, the FreeBSD headers
are installed and *then* these objects can be recompiled with the
rtld references. Phew.
1998-03-11 20:41:55 +00:00
John Birrell 1901906aa6 Sharing the crt sources with i386-elf wasn't too successful. The crti
asm code didn't link the way it was supposed to and the calling convention
for the entry "function" turned out to be very different. On alpha
it's a true function, but on i386 it's a fudge. Blech.

So jdp suggested keeping separate sets of source and avoiding lots
of #ifdefs. These files are based on his i386-elf code, with crt1.c
borrowing code from NetBSD's crt0. The copyright reflects that.

Complicating matters, the code turned out to be difficult to bootstrap
build using NetBSD tools. To compile against the FreeBSD rtld header
requires FreeBSD specific headers, but these can't be installed until
the tools are built, and they can't be built without the FreeBSD crt
objects. Anal retentive. So I introduced a HAVE_RTLD #define that isn't
set during the build process until all the tools are built and the
headers installed.
1998-03-11 20:36:11 +00:00
John Birrell b843e53a97 Trash startup sources from NetBSD in favour of jdp's FreeBSD source
now that has been committed.

The makefile is derived from the i386-elf version, modified to pick
up most of the source (except crt1.c) from i386-elf. With minor changes
to i386-elf/crt1.c, this directory can be combined with i386-elf to
be a single csu/elf directory for all seasons.
1998-03-10 07:04:18 +00:00
John Birrell fbb2bc058d Import a sanitized version of jdp's crt1.c from i386-elf. I have removed
the rtld code pending implementation on the alpha.

The csu/i386-elf should be renamed as csu/elf and this directory
trashed. Consider this a temporary implementation.
1998-03-10 06:56:16 +00:00
John Birrell 0db2fac06a Nearly missed this one.
List non-default asm sources in MDASM so that they replace the defaults.

For funny or incomplete syscalls, list them in NOASM to stop them
from getting built as defaults.
1998-03-09 07:36:56 +00:00
John Birrell 45dd718425 Add #include <unistd.h> to get the prototype for __syscall().
Cast to long before casting to a void ptr to shut up gcc.
1998-03-09 07:27:58 +00:00
John Birrell abd529ceba Yikes, this is the worst of the lot. Bruce suggested doing this (!).
Include the architecture specific sys makefile like previously, but
what this contains differs. It defines MDASM which list architecture
specific asm code that *replaces* syscalls of the same name defined
in MIASM (which gets defined by the syscall.mk or netbsd_syscall.mk
dependent of NETBSD_SYSCALLS being defined). If a syscall has a
C source implementation or something funny done to it, or just doesn't
need default asm source generated for it, then it is listed in NOASM.

syscall.mk is generated by makesyscalls.sh with other syscall files.
netbsd_syscall.mk is a hand-generated equivalent. So if a new syscall
is added and no other makefiles are edited, it will automatically have
the default asm source generated for it (whether you want it or not).

Anything listed in MDASM gets added to SRCS and gets built. For
each syscall name in MIASM, if it doesn't exist in MDASM or NOASM,
it gets added to the ASM or ASMR lists to have code generated for it.
If the syscall name was listed in HIDDEN_SYSCALLS (intended for use
by libc_r, not libc which has it defined, but empty), then the name
is added to the ASMR list and gets renamed before being built;
otherwise it is added to the ASM list and gets built with the same
name.

I wonder if this is too complicated. But it works on both i386 and alpha.
1998-03-09 07:22:12 +00:00
John Birrell 8258119519 Function to return a pointer to the non-threaded errno. This is declared
with a weak symbol so that it won't be linked when linking against
libc_r or libpthread.
1998-03-09 07:09:55 +00:00
John Birrell e2e5d981b7 Compatibility functions for use when __NETBSD_SYSCALLS is defined. 1998-03-09 07:07:21 +00:00
John Birrell c995d3ba90 Oops, we don't need NetBSD's malloc 'cause we can turn off utrace
in phk's malloc.
1998-03-09 07:03:06 +00:00
John Birrell e4193688da NetBSD doesn't have a utrace syscall, so don't define that if
__NETBSD_SYSCALLS is defined.
1998-03-09 07:00:38 +00:00
John Birrell 9dbdb44326 When forking a process, only the running thread gets to live. All
other threads never see the light of day and if they leave things
locked, blame POSIX.
1998-03-09 06:54:50 +00:00
John Birrell e7b6782c39 Added #include <string.h> to get prototypes. 1998-03-09 06:51:23 +00:00
John Birrell 196c0ee373 Change MACHINE to MACHINE_ARCH.
Add _spinlock.c (stubs) to sources.

Nuke tahoe and vax.
1998-03-09 06:48:25 +00:00
John Birrell 1b5fef40c7 Stub functions for thread locking with weak symbols so that they are
only linked when not linking an application against libc_r or libpthread.
1998-03-09 06:46:21 +00:00
John Birrell 03fcbeae91 Import sources from NetBSD, tweaked for building in FreeBSD. 1998-03-09 06:34:43 +00:00
John Birrell 3d46539c46 MACHINE -> MACHINE_ARCH 1998-03-09 06:24:02 +00:00