Matthew Dillon [Mon, 2 May 2005 20:19:50 +0000 (20:19 +0000)]
The library compat Makefile needs 'tail'.
Matthew Dillon [Mon, 2 May 2005 20:19:19 +0000 (20:19 +0000)]
Add a binary library compatibility infrastructure. Library updates are
handled by creating a new library binary with an appropriate extension.
The Makefile will locate the binary with the highest-numbered extension.
Emplace the 1.2 release library set so programs (e.g. ports) built prior
to the major number bump will continue to operate with a fresh install.
Chooser-algorithm-by: "Simon 'corecode' Schubert" <corecode@fs.ei.tum.de>
Joerg Sonnenberger [Mon, 2 May 2005 19:52:58 +0000 (19:52 +0000)]
Override closefrom() in libc_r to prevent it from closing the
internal signal pipe. Handle this by closing it directly and
reopening it after calling closefrom. This fixes the 100% system load
from sshd.
Matthew Dillon [Mon, 2 May 2005 19:33:52 +0000 (19:33 +0000)]
A program which sets up a TLS segment and then loops with random sleeps
testing that the segment pointer is still pointing to the right place.
Matthew Dillon [Mon, 2 May 2005 19:31:56 +0000 (19:31 +0000)]
Report on segmentation violations (from testing file mmap) rather then
just seg-faulting.
Joerg Sonnenberger [Mon, 2 May 2005 17:41:05 +0000 (17:41 +0000)]
isprint() should be true only for characters in space, not blank.
blank might contain control chars, like TAB in the POSIX locale.
Joerg Sonnenberger [Mon, 2 May 2005 16:23:37 +0000 (16:23 +0000)]
Remove sys_set_tls_area hack, doesn't matter when we fault in case
of a missing syscall.
Requested-by: dillon
YONETANI Tomokazu [Mon, 2 May 2005 00:56:48 +0000 (00:56 +0000)]
Fix typo inside #ifdef SMP.
Reported-by: Jasse Jansson
Liam J. Foy [Sun, 1 May 2005 23:39:40 +0000 (23:39 +0000)]
- Add missing include <stdlib.h> for exit()
Joerg Sonnenberger [Sun, 1 May 2005 19:19:12 +0000 (19:19 +0000)]
Link with --no-undefined to enfore the normal missing symbol check,
it was disabled by the -Bshared. RTLD is a shared object, but can't
depend on any other source for symbols.
Joerg Sonnenberger [Sun, 1 May 2005 18:38:11 +0000 (18:38 +0000)]
Include __error in libc_rtld too, otherwise RTLD is left with an undefined
symbol.
Liam J. Foy [Sun, 1 May 2005 14:52:08 +0000 (14:52 +0000)]
- Use socklen_t
Obtained from: OpenBSD Camp (Rev: 1.25)
Liam J. Foy [Sun, 1 May 2005 12:11:36 +0000 (12:11 +0000)]
- sprintf -> snprintf
Hiten Pandya [Sun, 1 May 2005 04:05:35 +0000 (04:05 +0000)]
Networking routing statistics on a per-CPU basis:
(a) sysctl node net.route introduced.
(b) sysctl leaf node net.route.stats can be used for retrieving
a cpu indexed array of struct rtstatistics.
(a) add a function kinfo_get_net_rtstatistics(3), which will be
responsible for providing an aggregated view of the routing
statistics; part of libkinfo(3).
(d) adapt netstat(8) to make use of the new libkinfo interface
for retrieving routing statistics.
Discussed-with: Jeffrey Hsu <hsu at dragonflybsd.org> (long time ago)
Hiten Pandya [Sun, 1 May 2005 03:26:07 +0000 (03:26 +0000)]
Add some useful comments to interface functions; required a little bit of
re-arrangement.
Hiten Pandya [Sun, 1 May 2005 03:01:20 +0000 (03:01 +0000)]
Use reallocf(3) and cleanup some NULL checks.
Hiten Pandya [Sun, 1 May 2005 02:36:49 +0000 (02:36 +0000)]
Minor adjustment of types for consistency.
Hiten Pandya [Sun, 1 May 2005 02:30:50 +0000 (02:30 +0000)]
Adapt kcore_get_sched_cputime(3) to retrieve and present an aggregated
CPU time statistics to the client. The CPU indexed array is retrieved
from the kernel core and then put together.
Hiten Pandya [Sat, 30 Apr 2005 23:28:57 +0000 (23:28 +0000)]
Fix breakage.
Sascha Wildner [Sat, 30 Apr 2005 23:04:21 +0000 (23:04 +0000)]
Remove DEC Alpha support.
Liam J. Foy [Sat, 30 Apr 2005 16:17:06 +0000 (16:17 +0000)]
- Improve option handling
More patches for rwhod to come.
Joerg Sonnenberger [Sat, 30 Apr 2005 15:39:17 +0000 (15:39 +0000)]
Add NO_PKGTOOLS to not install the FreeBSD derived version of the tools.
Useful for pkgsrc installations.
Jeroen Ruigrok/asmodai [Sat, 30 Apr 2005 08:24:48 +0000 (08:24 +0000)]
Back out getloadavg()'s change from int to size_t. This breaks gmake, for
example. No telling what else breaks.
Needs further investigation.
YONETANI Tomokazu [Sat, 30 Apr 2005 04:27:51 +0000 (04:27 +0000)]
leftover from proc->thread stage 4
remove extra NULL check on non-existent pointer.
Max Okumoto [Fri, 29 Apr 2005 23:11:49 +0000 (23:11 +0000)]
FreeBSD-Date: 2005/04/29 16:15:28
Author: harti
Rename the directive_hash.[ch] files to hash_tables.[ch] now
that there are more than one hash table in them. There is no
history to preserve here, so go without a repo-copy.
Asked for by: Max Okumoto <okumoto@ucsd.edu>
Max Okumoto [Fri, 29 Apr 2005 22:44:38 +0000 (22:44 +0000)]
FreeBSD-Date: 2005/04/29 15:37:44
Author: harti
Implement a pseudo-target .WARN that allows toggeling the warning flags
for the current make. This does not override flags specified on the
command line and these settings are not passed to sub-makes.
Joerg Sonnenberger [Fri, 29 Apr 2005 22:01:43 +0000 (22:01 +0000)]
sys_set_tls_area is called from _init_tls path, it should not touch
errno at all. It might be better to explicitly call abort on error
conditions, instead of panicing when trying to load %gs.
Joerg Sonnenberger [Fri, 29 Apr 2005 22:00:20 +0000 (22:00 +0000)]
Prepare for thread-local errno by implementing full TLS support for
static binaries, which does not touch errno before the initial TLS
space is created. This code path is *very* sensitive to changes.
Joerg Sonnenberger [Fri, 29 Apr 2005 21:46:41 +0000 (21:46 +0000)]
Make a special libc version for RTLD which doesn't use TLS as it will
soon be added. Don't install it, keep it in the build tree. Also
build the rtld itself without TLS dependencies. Stop building and
installing the normal libc as PIC archive.
Discussed-with: dillon
Joerg Sonnenberger [Fri, 29 Apr 2005 21:25:09 +0000 (21:25 +0000)]
Separate INTERNALLIB and INSTALL_PIC_ARCHIVE. We want to have the latter
for RTLD, but we don't want to install it.
Joerg Sonnenberger [Fri, 29 Apr 2005 21:23:42 +0000 (21:23 +0000)]
Only install man page for libc.
Max Okumoto [Fri, 29 Apr 2005 19:40:49 +0000 (19:40 +0000)]
Put paren around return arg.
Matthew Dillon [Fri, 29 Apr 2005 16:12:52 +0000 (16:12 +0000)]
Final forced commit to correct log comments. char's are *signed*, not
unsigned. However, most string operations must do unsigned comparisons.
The CTYPE API is expected to properly fold signed chars when making
conversions but if a call does not do a conversion, e.g. tolower() on a
character which is not upper case, the original contents (negative or
positive) may be returned.
This means that we can safely use signed chars everywhere *except* when
we have to do an inequality.
Joerg Sonnenberger [Fri, 29 Apr 2005 10:04:45 +0000 (10:04 +0000)]
de-errno
Joerg Sonnenberger [Fri, 29 Apr 2005 09:51:32 +0000 (09:51 +0000)]
de-errno
Joerg Sonnenberger [Fri, 29 Apr 2005 09:43:58 +0000 (09:43 +0000)]
de-errno
Joerg Sonnenberger [Fri, 29 Apr 2005 09:27:00 +0000 (09:27 +0000)]
de-errno
Joerg Sonnenberger [Fri, 29 Apr 2005 09:22:57 +0000 (09:22 +0000)]
de-errno
Joerg Sonnenberger [Fri, 29 Apr 2005 09:14:50 +0000 (09:14 +0000)]
de-errno
Max Okumoto [Fri, 29 Apr 2005 03:54:52 +0000 (03:54 +0000)]
We have no more warnings, turn on WARNS_WERROR.
Max Okumoto [Fri, 29 Apr 2005 03:46:32 +0000 (03:46 +0000)]
Update directive_hash.c by running
% make hash
Max Okumoto [Fri, 29 Apr 2005 03:46:01 +0000 (03:46 +0000)]
FreeBSD-Date: 2005/04/28 16:37:25
Author: harti
Introduce a flag to enable extended warnings (-x) and make them off
by default. This should fix the problem of getting lots of errors
when building with an up-to-date make and old *.mk files.
Max Okumoto [Fri, 29 Apr 2005 03:45:36 +0000 (03:45 +0000)]
FreeBSD-Date: 2005/04/28 13:05:43
Author: harti
Use a minimal perfect hash for the special sources/targets too. Add
the corresponding magic to create the hash function to the Makefile.
Sascha Wildner [Fri, 29 Apr 2005 02:54:51 +0000 (02:54 +0000)]
Add C90 Amendment 1 (for citrus man pages).
Sascha Wildner [Fri, 29 Apr 2005 01:48:46 +0000 (01:48 +0000)]
Add a missing .El and fix a couple of typos.
Joerg Sonnenberger [Fri, 29 Apr 2005 01:00:27 +0000 (01:00 +0000)]
de-errno
Joerg Sonnenberger [Fri, 29 Apr 2005 00:37:08 +0000 (00:37 +0000)]
extern int errno considered harmful.
Joerg Sonnenberger [Thu, 28 Apr 2005 23:46:19 +0000 (23:46 +0000)]
Including errno.h and still declaring errno is BROKEN.
Joerg Sonnenberger [Thu, 28 Apr 2005 22:10:48 +0000 (22:10 +0000)]
PANIC for now, if the linker can't allocate TLS space.
Max Okumoto [Thu, 28 Apr 2005 21:11:51 +0000 (21:11 +0000)]
Restructured building the directive_hash.[ch] files via the Makefile.
Joerg Sonnenberger [Thu, 28 Apr 2005 20:53:19 +0000 (20:53 +0000)]
Readd lost line.
Joerg Sonnenberger [Thu, 28 Apr 2005 19:40:51 +0000 (19:40 +0000)]
Readd explicit u_char casts for tolower().
Requested-by: dillon
Confusion-by: joerg
Max Okumoto [Thu, 28 Apr 2005 18:52:52 +0000 (18:52 +0000)]
Handle longjmp(), vfork() warning message about variables.
Max Okumoto [Thu, 28 Apr 2005 18:52:32 +0000 (18:52 +0000)]
got rid of mktemp() warning.
Max Okumoto [Thu, 28 Apr 2005 18:52:15 +0000 (18:52 +0000)]
got rid of last warning in cond.c
Max Okumoto [Thu, 28 Apr 2005 18:52:00 +0000 (18:52 +0000)]
Move code between goto do_compare and label, above the goto and remove
the goto.
Max Okumoto [Thu, 28 Apr 2005 18:51:48 +0000 (18:51 +0000)]
Pass CondToken() through indent to cleanup indention.
Max Okumoto [Thu, 28 Apr 2005 18:51:31 +0000 (18:51 +0000)]
Negate if-statement and swap code sections in CondToken()
Max Okumoto [Thu, 28 Apr 2005 18:50:57 +0000 (18:50 +0000)]
Cleanup suff.c:SuffFindArchiveDeps() this removes two more warnings.
Max Okumoto [Thu, 28 Apr 2005 18:50:35 +0000 (18:50 +0000)]
The first element of the array return by brk_string(), is never
used so we can remove the Var_Value() call. This is good since
that code hasn't worked for a while.
Max Okumoto [Thu, 28 Apr 2005 18:50:08 +0000 (18:50 +0000)]
Clean up main.c
o Moved initialization of progam globals and file globals
to top of main().
o Grouped file and program globals defintions.
o made chdir_verify_path() static since it is only used in main.c
Max Okumoto [Thu, 28 Apr 2005 18:49:40 +0000 (18:49 +0000)]
Reduce the use of global variables by creating Var_SetGlobal() and
replacing Var_Set(name, val, VAR_GLOBAL).
Max Okumoto [Thu, 28 Apr 2005 18:49:18 +0000 (18:49 +0000)]
Cleanup main()
o Moved setting signal handler for SIGCHLD into job.c
o Moved unsetenv("ENV") into job.c where it belongs.
o Moved setting machine, machine_arch, machine_cpu close to its usage.
o Invert negative logic.
Max Okumoto [Thu, 28 Apr 2005 18:48:52 +0000 (18:48 +0000)]
Remove prototype for usage(), and move the definition above its use.
Max Okumoto [Thu, 28 Apr 2005 18:48:31 +0000 (18:48 +0000)]
remove prototype for Compat_RunCommand() and make it static.
Max Okumoto [Thu, 28 Apr 2005 18:48:15 +0000 (18:48 +0000)]
Move printing of variables into var.c
Max Okumoto [Thu, 28 Apr 2005 18:47:52 +0000 (18:47 +0000)]
Move some variables into the correct files.
Max Okumoto [Thu, 28 Apr 2005 18:47:27 +0000 (18:47 +0000)]
cleanup middle part of JobFinish()
Max Okumoto [Thu, 28 Apr 2005 18:47:09 +0000 (18:47 +0000)]
Cleanup code near the top part of JobFinish()
Max Okumoto [Thu, 28 Apr 2005 18:46:26 +0000 (18:46 +0000)]
Move comments to the proper section, and removed some unnessisary
gcc magic.
Max Okumoto [Thu, 28 Apr 2005 18:45:57 +0000 (18:45 +0000)]
Convert Compat_RunCommand() to use ProcWait()
Joerg Sonnenberger [Thu, 28 Apr 2005 18:29:54 +0000 (18:29 +0000)]
Always allocate static TLS space.
Joerg Sonnenberger [Thu, 28 Apr 2005 18:26:03 +0000 (18:26 +0000)]
Forced commit to correct imporant spelling error:
DragonFly has decided to depend on char being *unsigned*.
Joerg Sonnenberger [Thu, 28 Apr 2005 18:24:10 +0000 (18:24 +0000)]
Slight correction for the last commit, thread TCB == NULL as error
condition and return it. This could happen in case of memory shortage.
Joerg Sonnenberger [Thu, 28 Apr 2005 18:22:13 +0000 (18:22 +0000)]
For the initial thread, rtld has already created the TCB and TLS storage.
Use this. For all other threads allocate it. The TCB itself must not be
NULL, so we don't have to check for it.
Joerg Sonnenberger [Thu, 28 Apr 2005 18:16:47 +0000 (18:16 +0000)]
Add support for TLS.
Joerg Sonnenberger [Thu, 28 Apr 2005 18:09:03 +0000 (18:09 +0000)]
Always setup the initial TCB correctly. This saves us from having to
check for special cases in the thread initialisation code.
Joerg Sonnenberger [Thu, 28 Apr 2005 13:51:55 +0000 (13:51 +0000)]
Declare environ on file scope. Don't declare __findenv as inline,
in C99 this means static too. GCC doesn't implement this correctly,
but that's no excuse. Fix type issues. ANSIfy. Remove useless casts.
Joerg Sonnenberger [Thu, 28 Apr 2005 13:47:43 +0000 (13:47 +0000)]
Fix warnings.
Joerg Sonnenberger [Thu, 28 Apr 2005 13:47:15 +0000 (13:47 +0000)]
Rename symlink to my_symlink to avoid global shadowing.
Joerg Sonnenberger [Thu, 28 Apr 2005 13:45:42 +0000 (13:45 +0000)]
Fix the sign issue by reordering the operations. Use memcpy instead
of strncpy since we know that no '\0' can occur in the string. We have
also checked the size of the string already.
Joerg Sonnenberger [Thu, 28 Apr 2005 13:41:46 +0000 (13:41 +0000)]
Use __DECONST for interface const violation.
Joerg Sonnenberger [Thu, 28 Apr 2005 13:38:06 +0000 (13:38 +0000)]
Declare __system first. ANSIfy.
Joerg Sonnenberger [Thu, 28 Apr 2005 13:25:12 +0000 (13:25 +0000)]
DragonFly has decided to depend on char being signed, use it.
Use __DECONST for the interface const violations, those are intended.
Ansify.
YONETANI Tomokazu [Thu, 28 Apr 2005 01:43:53 +0000 (01:43 +0000)]
Backout part of the change in 1.4; copy directory part of the path,
rather than the whole path. This is something not doable with strlcpy()
alone, unless source buffer can be writable.
Jeroen Ruigrok/asmodai [Wed, 27 Apr 2005 19:00:46 +0000 (19:00 +0000)]
Remove dllockinit.3 from the Makefile.
Joerg Sonnenberger [Wed, 27 Apr 2005 16:46:12 +0000 (16:46 +0000)]
Remove unused local functions. Const correctness. Sign correctness.
Add a default case _dns_ghbyname to handle possible remaining cases.
Don't use the deprecated BIND4 interface, use NS_GET16 instead.
Joerg Sonnenberger [Wed, 27 Apr 2005 16:38:40 +0000 (16:38 +0000)]
Use const for internal casts to not conflict with const pointers.
Hiten Pandya [Wed, 27 Apr 2005 16:16:30 +0000 (16:16 +0000)]
KINFO library cleanups:
(a) stop including <sys/param.h> from kinfo_pcpu.h and kinfo.h
(b) remove useless include guards
(c) use _DIAGASSERT for enforcing interface requirements
(d) substitute use of relloc(3) with reallocf(3) to guard from
memory leaks.
Requested-by: Joerg Sonnenberger <joerg@britannica.bec.de>
Joerg Sonnenberger [Wed, 27 Apr 2005 15:24:43 +0000 (15:24 +0000)]
Include string.h, use strlcpy.
Joerg Sonnenberger [Wed, 27 Apr 2005 15:21:31 +0000 (15:21 +0000)]
When bitwise iterating over in_addr_t, use it for the loop variable too.
Hiten Pandya [Wed, 27 Apr 2005 15:13:35 +0000 (15:13 +0000)]
Adapt the KINFO library to aggregate per-cpu cputime statistics.
(a) add a framework for aggregating per-cpu structures, of variant
field types; this interface will undergo change once it is
formalised upon, kinfo_pcpu.[ch].
(b) minor style(9) cleanups while I am around these ends.
(c) adjust libkcore, this might not be fully correct but it fetches
the right symbol at the least, it is not so easy to collect
per-cpu statistics from core files without doing magic with the
CPU privatespace like how we do in GDB debug scripts.
(d) kinfo_get_sched_cputime(3) is fetching aggregate statistics to
retain behavior, most programs do not care about per-cpu stats
without getting really mucky anyway; (discussed with joerg)
Hiten Pandya [Wed, 27 Apr 2005 14:31:19 +0000 (14:31 +0000)]
Change CPU time statistics (cputime) to be accounted on a per-CPU basis.
(a) remove struct cp_time, it was redundant since kinfo_cputime has
been introduced; kinfo_get_sched_cputime(3) function makes use
of the latter struct.
(b) change global definition from cp_time into cpu_time, it's now a
#define that hides the ugliness of percpu array indexing.
(c) minor style(9) cleanups in nearby code.
Reviewed-by/discussed-with: Matthew Dillon <dillon@backplane.com>
Joerg Sonnenberger [Wed, 27 Apr 2005 12:44:29 +0000 (12:44 +0000)]
Fix warnings, use strlcpy instead of strcpy + manual check.
Joerg Sonnenberger [Wed, 27 Apr 2005 12:42:12 +0000 (12:42 +0000)]
Use size_t for the number of elements, use sysctlbyname instead of
hardwired OIDs.
Joerg Sonnenberger [Wed, 27 Apr 2005 12:37:43 +0000 (12:37 +0000)]
Fix warnings.
Joerg Sonnenberger [Wed, 27 Apr 2005 12:36:31 +0000 (12:36 +0000)]
ANSIfy, use strlcpy from strncpy, fix most warnings.
Joerg Sonnenberger [Wed, 27 Apr 2005 12:26:59 +0000 (12:26 +0000)]
Use size_t for length, not int.
Joerg Sonnenberger [Wed, 27 Apr 2005 12:10:24 +0000 (12:10 +0000)]
Fix warnings.
Joerg Sonnenberger [Wed, 27 Apr 2005 11:59:11 +0000 (11:59 +0000)]
Remove dllockinit.