Commit Graph

615 Commits

Author SHA1 Message Date
jtc 43fa6fe319 If port provides __weak_alias(), provide an Standard C and POSIX pure
identifier namespace by renaming non standard functions and variables
such that they have a leading underscore.  The library will use those
names internally.  Weak aliases are used to provide the original names
to the API.

This is only the first part of this change.  It is most of the functions
which are implemented in C for all NetBSD ports.  Subsequent changes are
to add the same support to the remaining C files, to assembly files, and
to the automagically generated assembly source used for system calls.
When all of the above is done, ports with weak alias support should add
a definition for __weak_alias to <sys/cdefs.h>.
1997-07-21 14:06:24 +00:00
kleink d77864a270 Substitute a `2' with STDERR_FILENO for clarity; minor KNF. 1997-07-19 19:43:59 +00:00
kleink 897349ed1e __RCSID() police, typo in variable name; from jbernard@tater.mines.edu in
PR lib/3889.
1997-07-19 16:02:05 +00:00
kleink fd8f56cb11 __RCSID() police; from jbernard@tater.mines.edu in PR lib/3890. 1997-07-19 15:58:31 +00:00
jtc 2526fda257 Implement sleep() and usleep() in terms of nanosleep(). Uses only one
syscall instead of eight, and doesn't have any interactions with alarm
or interval timers.
1997-07-19 02:42:30 +00:00
thorpej 2d0f14c527 "Fix" the non-__indr_reference verions of the user-callable versions
of these functions.  This is somewhat of a kludge, but there is not
much else we can do for this case.

Because of how the callable versions are created, by CPP trickery
and inclusion of another .c file, we cannot allow the included .c
file to pull in "namespace.h", since it undoes the CPP trickery we
have performed.  Introduce a CPP macro that prevents the included .c
file from pulling in "namespace.h".
1997-07-17 21:33:14 +00:00
thorpej c1109ff89e - Don't deref a bad pointer in the event the object has no symbol
section header.  Instead, treat the object as stripped.
- Add a "default" case to the symbol type switch to calm GCC's jets.
1997-07-17 00:54:27 +00:00
mikel ab18bfe1bf add toascii(3) 1997-07-16 06:22:07 +00:00
mikel bd37c10e9d add NetBSD RCSid 1997-07-16 06:20:20 +00:00
mikel b797d3b1e5 import 4.4BSD-Lite2 version 1997-07-16 06:18:11 +00:00
kleink c213a3af8b Add missing `STANDARDS' compliance statements. As we #define _POSIX_VERSION
to 199009L, bump existing statements to 1003.1-1990.
1997-07-14 23:19:39 +00:00
kleink b9ae69fdae KNF. 1997-07-14 19:40:49 +00:00
mikel e6f7684f2a xref getlogin(2) not getlogin(3) 1997-07-14 02:07:10 +00:00
christos 26cc2d4f50 Fix RCSID's 1997-07-13 19:45:36 +00:00
christos 3e24b5bccd Use "namespace.h"
Fix RCSID's
1997-07-13 19:43:28 +00:00
christos 7df7f83e92 Fix RCSID's
Fix gcc warnings.
1997-07-13 19:43:00 +00:00
christos 464fdb2e8e Fix RCSID's
Use "namespace.h"
1997-07-13 19:42:37 +00:00
christos 28db57eb43 Fix RCSID's
Use "namespace.h"
1997-07-13 19:42:12 +00:00
christos 3f8967b868 Add prototype for sleephandler
Fix RCSID's
1997-07-13 19:41:46 +00:00
christos bcc1cc51d6 Fix gcc warning
Fix RCSID's
1997-07-13 19:41:13 +00:00
christos f4e2b6ec66 Fix RCSID's
Fix gcc warnings
1997-07-13 19:35:36 +00:00
christos 615413beb6 Include "extern.h" to get prototype for _tztab
Fix gcc warnings.
Fix RCSID's
1997-07-13 19:35:08 +00:00
christos 129c9a2b53 Pacify gcc
Fix RCSID's
1997-07-13 19:34:16 +00:00
christos 68c8f13fd6 Include "extern.h" to pick up prototype for sysctl.
Fix RCSID's
1997-07-13 19:33:49 +00:00
christos f01d533d35 Fix RCSID's
Remove unused variable
1997-07-13 19:32:15 +00:00
christos 47d1af8a89 Fix RCSID's
Use namespace.h
1997-07-13 19:31:49 +00:00
christos 918197d3b3 Prototype sleephandler
Fix RCSID's
1997-07-13 19:31:25 +00:00
christos 1200f6cd80 Fix RCSID's
pacify gcc
1997-07-13 19:18:39 +00:00
christos 5ea18919c4 Fix RCSID's
Add missing unistd.h include
1997-07-13 19:18:05 +00:00
christos 6ca98be503 Fix RCSID's
Add missing unistd.h unclude
1997-07-13 19:17:41 +00:00
christos 28af8b8ef8 Fix RCSID's
Parenthesize
1997-07-13 19:17:13 +00:00
christos 7febd1ef31 Fix RCSID's
Use extern.h don't make local prototypes
1997-07-13 19:16:45 +00:00
christos db55960be8 Fix clobbered variable warning
Fix RCSID's
1997-07-13 19:16:07 +00:00
christos 70e0aeb159 Use namespace.h 1997-07-13 19:15:28 +00:00
christos 004c816903 Fix readdirfunc prototype
Fix RCSID's
1997-07-13 19:15:11 +00:00
christos 052e43e478 Fix gcc warnings
Add missing prototypes
Fix RCSID's
1997-07-13 19:14:35 +00:00
christos 1adc5f2d31 Fix gcc warnings (unused variables, missing prototypes, etc.)
Fix RCSID's
1997-07-13 19:13:59 +00:00
christos 3e458a6238 Fix RCSID's
Fix gcc warning
1997-07-13 19:13:01 +00:00
christos 8b1ce69490 Add missing unistd.h include
Fix RCSID's
1997-07-13 19:12:30 +00:00
christos f7f1b818de Fix RCSID's
Use namespace.h
1997-07-13 19:12:05 +00:00
christos 8a80fc440f Add extern.h to get missing __getlogin prototype
Fix RCSID's
1997-07-13 19:03:35 +00:00
christos 6f65806265 Add missing unistd.h include
Fix RCSID's
1997-07-13 19:02:53 +00:00
christos 23f517328b Fix RCSID's
Fix inconsistent function definition with unistd.h
Fix gcc warnings
1997-07-13 19:02:23 +00:00
christos 11cac2080a Add missing prototypes
Fix RCSID's
Fix gcc warnings
1997-07-13 19:01:22 +00:00
christos d177cac3ba Fix RCSID's
Fix gcc warnings.
1997-07-13 19:00:13 +00:00
christos e91aca9696 Fix namespace problems
Fix RCSID's
Fix gcc warnings.
1997-07-13 18:59:34 +00:00
christos 282afa2f88 Fix RCSID's
Add missing prototypes.
Fix rest of gcc warnings.
1997-07-13 18:59:02 +00:00
christos 7957cf151f Fix RCSID's
Fix bogus NULL casts
GC constant strings.
Fix gcc warnings.
1997-07-13 18:58:23 +00:00
christos 1e9dc86b19 Fix gcc warnings.
Fix RCSID's
1997-07-13 18:57:26 +00:00
christos b8e9ff89a3 Fix RCSID's
Initialize `path' in case of error.
Fix gcc warnings.
1997-07-13 18:57:04 +00:00
christos d1af1220a3 Use "namespace.h"
Fix RCSID's
1997-07-13 18:55:50 +00:00
christos ae5f0ca647 Fix RCSID's
Use namespace.h
1997-07-13 18:55:18 +00:00
christos eccdadf1e1 Fix RCSID's
#if 0 a local unused error function
1997-07-13 18:54:50 +00:00
christos bbe90d58a6 Use "namespace.h"
Add missing stdlib.h
1997-07-13 18:54:19 +00:00
christos 29189e2b8a Add missing stdlib.h include
Fix RCSID's
1997-07-13 18:53:49 +00:00
christos 19228f8132 Move the #undef errno where it is actually needed. 1997-07-13 18:53:13 +00:00
phil e9044db523 Fix it so fts_* never adds a / to a path name when there is
already a trailing /.  Fixes PR 1495.
1997-07-10 22:12:08 +00:00
kleink 8470989b67 Common sense dictates that the `basegid' paramater of initgroups(3) should
be of type gid_t, and not int.
1997-07-04 09:14:52 +00:00
veego f766c4fe95 Update the manpage for HW_MACHINE_ARCH. 1997-06-06 23:24:00 +00:00
kleink dbda158f1f Add support for localized character sets (a.k.a. LC_CTYPE).
Thanks go to Matthias Scheler <tron@lyssa.owl.de> for contributing his initial
work in PR/3592, and to Christos Zoulas for refining it!
1997-06-02 09:52:36 +00:00
kleink f37e2cc7d5 Add a missing comma. 1997-05-31 21:34:25 +00:00
cgd c917dfb5b2 Fix broken uses of Dd. Both the mdoc and mdoc.samples pages agree:
.Dd is supposed to be invoked like:
	.Dd month day, year
e.g. ".Dd January 25, 1989", rather than:
	.Dd "month day, year"
which is what these pages did.
1997-05-29 01:48:05 +00:00
lukem f10a006346 cleanup some problems with the use of mandoc macros 1997-05-26 14:02:53 +00:00
lukem 76c3314d9b a valid uid/gid *ends* in \0 (i.e, barf if (*ep != '\0'), not if (*ep == '\0')) 1997-05-22 10:38:07 +00:00
lukem 50820e9b86 * parse gid with strtoul() instead of atoi(), and sanity check a) the parsed
value was just a number, b) it doesn't exceed GID_MAX
* convert gid to a string with %u not %d
* use [gu]id_t instead of int
1997-05-22 03:24:37 +00:00
lukem f442f20a30 * parse uid with strtoul() instead of atoi(), and sanity check a) the parsed
value was just a number, b) it doesn't exceed UID_MAX
* convert uid to a string with %u not %d
1997-05-22 03:14:42 +00:00
lukem 8041f4f4ab fix potential memory leaks: before calling yp_next(), reset key to NULL. if
an error occurred, and key != NULL, free(key).
1997-05-21 01:51:39 +00:00
lukem 1e601ecc2b * fix [lib/3580], by ensuring that the outdata arg to the yp_xxx()
calls is initialised to the null pointer so that the error condition
  doesn't fail by trying to free() memory that wasn't malloc()ed
* cleanup a bit; remove use of register, KNFify
1997-05-20 15:59:59 +00:00
lukem 27d1a6365b * ensure that "outdata" values to various yp_xxx() functions are set
to the null pointer before invocation, so that the test in the
  error case of "if (outdata != NULL) free(outdata)" won't potentially
  try and free memory that wasn't malloc()ed.
* factor some duplicated code out of both parts of an "if {} else {}"
  construct.
* remove use of `register' & KNFify.
1997-05-20 15:46:03 +00:00
pk 58efb9d20c NULL => 0 (Arne Juul; PR#3629) 1997-05-17 19:24:44 +00:00
mycroft 440af0196f Do the previous change is a much less klugy fashion. 1997-05-17 16:14:22 +00:00
kleink f41ec7b2ac Add/update 1003.1 conformance notice. 1997-05-16 16:03:53 +00:00
gwr d09e80b05d Add a default definition of __ps_strings as suggested by PK.
(With lots of XXX marks advising its eventual removal! 8^)
1997-05-13 21:34:26 +00:00
mikel 658cbd165a xref sigsuspend(2), not obsolete sigpause(2). 1997-05-12 07:12:00 +00:00
kleink 44864185e6 POSIX.1/stopgap measure: if "" is to be executed, fail with ENOENT
immediately as there is no way for namei() to deal with this when
traversing $PATH.
1997-04-24 18:55:51 +00:00
cjs 15c91fd024 Add `glob' to the brief description to make this easier to find when
searching the permuted index.
1997-04-23 07:14:51 +00:00
kleink af8354a02d Fixed a typo and a .Os mistake. 1997-04-09 08:59:25 +00:00
thorpej 1db298180b MIPS: a.out, ecoff, and elf nlist support
PowerPC: a.out and elf nlist support
1997-03-29 21:02:47 +00:00
mikel 51ec208436 fix type of fts_open() argument; from Enami Tsugutomo in PR lib/3368. 1997-03-21 05:31:21 +00:00
perry 23d6697446 fix 3364 from enami tsugutomo -- FTS ftsp -> FTS *ftsp 1997-03-20 05:39:55 +00:00
mouse ff44468136 alternate -> alternative, per PR 2643 1997-03-08 13:36:38 +00:00
cjs 93eb52853b PR 3279, from <david@mono.org>.
Bugs section changed to clarify that static passwd structure
used for return value is shared among all functions.
1997-03-03 19:43:45 +00:00
fvdl 1ed7a0186a Check for both the filesystem name and the filesystem flags to determine
whether a directory is a union mount, and thus needs to have double
entries filtered out.
1997-02-25 13:16:39 +00:00
lukem a3fc812065 man page for stringlist functions 1997-02-24 11:47:10 +00:00
mikel 28acf64f40 clarify what is printed; from Arne Henrik Juul in PR 3242, with some
minor editing by myself.
1997-02-21 07:44:50 +00:00
scottr 48b6b629bf getdiskbyname() was broken by previous change, adversely affecting
newfs(8) and disklabel(8).  Back this out, and note instead that all
instances of strcpy() here are safe.
1997-02-14 08:30:32 +00:00
christos 50c92675a9 I ``who'' was not specified, set the appropriate bits as the manual page
states. chmod +s foo  and chmod +t . now work.
1997-02-07 22:21:06 +00:00
mrg 9cd5492c02 - convert unsafe strcpy(), strcat() and sprintf() to the `n' versions.
- some KNF.
1997-01-23 14:01:45 +00:00
thorpej 30ec3e8a63 Don't transfer the entire YP database using yp_{first,next}(); instead
use yp_match(), which is much more efficient.

From Michael.Eriksson@era-t.ericsson.se, PR #3114.
1997-01-22 01:21:06 +00:00
lukem f694f3b120 Add stringlist implementation
Convert getnetgrent from private stringlist to public version
1997-01-17 07:26:18 +00:00
perry 44f0373a13 change sigpause(2) to sigsuspend(2) or sigpause(3), depending
Also try to fix other bad references to sig* man pages.
Fixes pr-2885 from Jonathan Stone
These SEE ALSO sections are still bloody messes (sigh)
1997-01-17 03:44:59 +00:00
perry 0ec29f87c1 add setitimer (mentioned in text) to SEE ALSO 1997-01-17 03:14:02 +00:00
perry 4023eb8dfd close 2885 -- sigpause->sigsuspend 1997-01-17 03:12:24 +00:00
thorpej 2e0f6cf5bb Document CTL_DDB MIB nodes. 1997-01-09 05:39:26 +00:00
mikel d40586fc26 there is no sysctl(2); reference sysctl(3) instead. 1997-01-03 06:43:56 +00:00
cgd 22eee680d6 ifdef YP, needs rpcsvc/ypclnt.h for protos 1996-12-20 20:46:19 +00:00
cgd c97004a9b9 string.h for prototypes 1996-12-20 20:44:55 +00:00
sommerfe f218af3428 Longer login name support: use MAXLOGNAME, not UT_NAMESIZE 1996-12-20 20:16:05 +00:00
cgd a1971a18d9 pull in unistd.h, const poisoning 1996-12-20 19:38:57 +00:00
cgd 7edc9015ae grscan()'s last arg has to be a const char *, not just a char * 1996-12-20 19:38:16 +00:00
lukem 64af799db3 fix example, from bgrayson@ece.utexas.edu (Brian C. Grayson) in [misc/2735] 1996-11-09 08:41:46 +00:00
jtc a13179edf1 Declare global errno 1996-11-08 00:27:35 +00:00
jtc 8610f496a7 New __errno() function, returns the address of the errno variable. 1996-11-07 05:37:34 +00:00
lukem d7578a89cf man page is "toupper" not "tolower". from msaitoh@spa.is.uec.ac.jp [misc/2902] 1996-10-29 05:49:04 +00:00
perry 90dac65cbf Nuked tahoe machine specific conditionals. 1996-10-16 17:53:44 +00:00
cgd 61dc0e200c fix pasto: Elf_{Off,Word} rather than Elf32_{Off,Word} 1996-10-03 04:55:31 +00:00
cgd e5629b37cc clone from nlist_elf32.c (with ECOFF mods). Adds comments,
optimization, cleanup.
1996-10-01 13:37:05 +00:00
cgd 802cbd1ba7 clean up comments a bit. 1996-10-01 13:35:34 +00:00
cgd 561e189aaa "do over." Rewrite from scratch, or, more precisely, based on a high-speed
merge of libc's ECOFF nlist support (written by me, a while ago), and the
(relatively new, but again written by me) kvm_mkdb ELF support.
1996-10-01 00:32:52 +00:00
cgd 571692b849 fix a thinko in the check-removal changes 1996-10-01 00:27:38 +00:00
cgd e5699c2fe3 kill recently added 'check' functions, since they only add code to be more
expensive, i.e. they save nothing and add code.  also, beat it with the
style stick.
1996-09-30 23:51:05 +00:00
cgd 80fde3aab4 kill recently added 'check' functions, since they only add code to be more
expensive, i.e. they save nothing and add code.
1996-09-30 23:49:27 +00:00
cgd 9a5eb71903 slightly tune what gets compiled in: On the Alpha, we need ECOFF and
ELF64.  On other architectures only include a.out support, since we don't
know whether or not they'll have the headers necessary for ECOFF and/or
ELF, and since they only want a.out for now (execpt the mips archs, but
they do Special things).  There should be a better way to select which
bits of nlist code get compiled in, but currently there is not.
1996-09-27 22:41:59 +00:00
cgd d1bae5c5d5 rename rcsid to e64rcsid, so it doesn't conflict with the one in nlist_elf32.c 1996-09-27 22:38:06 +00:00
cgd c8365a76b4 Seriously revamp libc's nlist()/__fdnlist() support:
(1) split nlist() into multiple files, for clarity and to make
	    ELF 32/64 support easier,
	(2) support multiple executable types at the same time, and
	(3) add support for 32- and 64-bit ELF (32-bit ELF support
	    originally from OpenBSD, but with several bug fixes so
	    that it actually handles symbols types more correctly
	    (and therefore _works_ for some of the more tricky uses
	    of the nlist routines) and changes for 64-bit ELF support).
1996-09-27 22:23:03 +00:00
thorpej 95c870f69b Update for the new internal name for __getlogin(). 1996-09-23 02:43:11 +00:00
phil 8bcbf9b3bb Make it correctly return unslept seconds if interrupted for any other
reason than SIGALRM.  (Was ALWAYS returning 0.)
1996-08-02 17:52:50 +00:00
explorer 24ff249a08 document AUTONICETIME and AUTONICEVAL sysctls 1996-07-17 18:06:36 +00:00
jtc a0d2fe2548 Thanks to the calling conventions used by some cpus, the argument lists
passed to the execl(), execle(), and execlp() functions are in the form
of the argument vector to be passed to execve().  On these architectures,
it is unnecessary to count the number of arguments, allocate space on
the stack, copy the arguments, etc.  The vector already on the stack
can be used instead.

When some arguments are passed in registers (like most RISC CPU's), it
should be possible to allocate stack space adjacent such that the
registers can be copied to that memory.  After that, the same
approach described above can be used.

This change takes advantage of this on the i386, m68k, and ns32k.  It
is probably true on the vax, but I am unable to check.  RISC CPU's
probably need assembly language implementations to ensure everything
is placed exactly as needed when registers are copied to the stack...
1996-07-04 07:18:56 +00:00
jtc 614420255a Split all exec*() functions out of exec.c into their own files. 1996-07-03 21:41:46 +00:00
jtc a174b58e2c Added a new VA_START macro to hide the differences between varargs.h
and stdargs.h.  This cleans up a lot of conditionals throughout this
file.
1996-07-03 19:53:46 +00:00
jtc b021f209c3 Changed to conform to POSIX.2 B.3.2.2 "popen() shall ensure that any streams
from previous popen() calls that remain open in the parent process are closed
in the new child process."  Fixes PR #2575.
1996-06-29 00:51:49 +00:00
jtc 9647f42d70 Signal mask was not restored correctly.
Fix from James Chacon <jmc@pobox.com> in PR #2442.
1996-05-20 06:13:07 +00:00
cgd 85b3fc5c34 update for ecoff header changes. Most changes taken from PR 2413,
submitted by Jason Thorpe.
1996-05-16 20:49:20 +00:00
christos b2459dacce Use the POSIX signal mask interface 1996-05-16 19:39:13 +00:00
mycroft c2102b50ad Slight simplification. 1996-05-11 11:04:51 +00:00
christos e904bb0ffc Close PR 2376 1996-05-06 13:45:44 +00:00
christos b078384e49 - grab prototypes from netgroup.h
- added _ng_print, netgroup pretty printing function
1996-04-27 18:59:05 +00:00
scottr 7fde8d9997 comprised -> composed. Closes PR 2345. 1996-04-23 05:18:06 +00:00
cgd 4e82cb0a0a fix a couple of typesetting and grammatical errors in GLOB_BRACE's description 1996-04-19 00:12:16 +00:00
cgd 67d51cc7b5 #define _verr* to verr*, to make these use prototypes correctly
and compile in the "no indr_references" case.
1996-04-17 23:05:44 +00:00
jtc ec081115f9 Split each function in err.c out into its own file. This is needed
for systems without weak or indirect references.
1996-04-15 23:44:53 +00:00
thorpej 6779689463 Document that "<sys/sysctl.h>" isn't enough ... suggest including
<sys/param.h>, too.  Suggested my Kevin M. Lahey <kml@nas.nasa.gov>
in PR #1999.
1996-04-13 02:07:15 +00:00
jtc 20779dadd6 Add proper punctuation; Reported by Mike Long <mike.long@analog.com> in PR #2302. 1996-04-08 20:56:38 +00:00
jtc af07dd15d4 Add explict function return types 1996-04-03 19:48:56 +00:00
jtc 45da58c78f Changed signal prototype to be more like ANSI C 1996-03-26 02:05:55 +00:00
christos 0ded611f77 Add missing documentation for TTY_MDMBUF. 1996-03-17 19:36:53 +00:00
neil c276195bf7 Fixed SEE ALSO section. Closes PR # 2049 1996-02-11 16:15:40 +00:00
phil 7b194ded98 Rewrite the description of alarm(3) to match reality. 1996-02-01 20:11:48 +00:00
mycroft 99374f84f7 Add missing argument to warnx(). 1996-01-22 16:34:08 +00:00
thorpej 535abd80a2 Add a net.inet.ip.directed-broadcast sysctl as suggested by
Darren Reed <darrenr@vitruvius.arbld.unimelb.edu.au> in PR #1227.
This change is slightly different than the one submitted by Darren in
that the DIRECTED_BROADCAST compile-time option will behave like it used
to so that existing configurations utilizing it won't have to change.
1996-01-16 04:17:30 +00:00
thorpej 4b359df8c4 Add net.inet.ip.forwsrcrt: if zero, the system will not forward
source-routed packets.  Note this value is protected by kernel security
level; it can only be changed if securelevel < 1.
1996-01-15 21:11:46 +00:00
thorpej 6dda330ef6 New-style RCS ids. 1995-12-28 08:51:55 +00:00
jtc bdb00bc144 Changed to use alloca() instead of malloc() to allocate argument vectors.
Programs that don't use malloc()/free() (ie. provide their own allocation
scheme atop sbrk()) should still be able to use exec*.
1995-12-14 16:51:27 +00:00
pk 5e25a3816d Eliminate race by stopping timer before restarting it with remaining time
(one more system call).
1995-10-26 22:07:00 +00:00
pk 0a3f02bda0 Eliminate race in the "normal" case of not being interrupted by another signal. 1995-10-20 17:32:06 +00:00
pk d2c2babb9f 1) Turn off timer before resetting signal disposition.
2) Set signal mask before signal action, to avoid held SIGALRMs
   bursting in after unsetting the handler.
1995-10-16 18:58:47 +00:00
jtc 0e3da40dbe Manpage fixes from Jochen Pohl. Aligns the prototypes in the SYNOPSIS
section with the actual function declarations.  Also fixes decription
of _SC_CLK_TCK in sysconf(3).  See PR #1587 and PR #1589 for details.
1995-10-12 15:39:23 +00:00
thorpej 07db43dc14 Document new RFC1323 sysctl variable. 1995-09-30 07:03:54 +00:00
cgd c178576bae add hack-ish support for ecoff nlists (used only on the Alpha).
It's hack-ish, but it appears to work well enough for all/most
programs that use libkvm, e.g. ps, w, netstat, dmesg, etc.
1995-09-29 04:19:59 +00:00