28788 Commits

Author SHA1 Message Date
jb
0e07a10674 Make errno finally and permanently thread-aware so that it is no longer
necessary to compile with _THREAD_SAFE defined. This means that people
will get thread-aware code whether they like it or not. This change
is required to allow a process to link against libpthread and libc
to use kernel threads (and prevent each thread from clobbering another
thread's errno just be doing a syscall).

This is bound to break some ports, but it is strictly allowed by ANSI C,
so anything that breaks as a result was already broken anyway 8-).
"Sorry".
1998-04-30 09:38:03 +00:00
jb
ae9a13b7c7 Make cerror thread aware by calling __error() to get a pointer to the
thread-specific error variable. This change make libc use the same cerror
code that libc_r has been using.
1998-04-30 09:32:48 +00:00
jb
96749f4d5c The syscall that creates a kernel thread is coming, but it doesn't use the
default syscall asm, so add it to NOASM. The other syscalls that manipulate
kernel threads use the default asm code, so they just get built
automatically.
1998-04-30 09:30:50 +00:00
jb
18a366f3a0 Build __error.c into libc, but not libc_r. The weak symbol in the
file works with libpthread, but when built into libc_r which has a non-weak
symbol of the same name, the linker behaves unpredicatably and sometimes
links the wrong symbol. The linker behaviour is a byproduct of what
the program calls from object to object so it is like winning a lottery
if the program actually works. The odds are quite good - 95:1, I think.
We need a sure thing, though, so weak symbols can't be used instead
of renaming things.
1998-04-30 09:13:48 +00:00
jb
0b5bef5fb7 Change the name of this source file so that libc_r builds it instead
of the one in libc that contains the weak symbol for __error. FreeBSD's
make accumulates paths to the point that it can find *anything*, possibly
including the car keys.
1998-04-30 09:04:10 +00:00
ache
60027966f4 Add removed files to the removed list 1998-04-30 08:21:28 +00:00
ache
ae8c3806c0 Turn on Readline support 1998-04-30 08:14:04 +00:00
dfr
9adf2e878f Add support for ELF shared libraries. Also use bfd from the binutils in that
case rather than gdb's own copy.
1998-04-30 08:03:50 +00:00
ache
008b6ec313 Remove junk files that occupes space: Flex/Bison output and TeX macros 1998-04-30 08:00:49 +00:00
dfr
0925595f73 Use the dynamic symtab of the runtime linker when looking for places to set
breakpoints.  It may have been installed stripped.
1998-04-30 07:56:18 +00:00
ache
42b079b4f3 fix make - use -I${.CURDIR} instead -I. 1998-04-30 07:52:05 +00:00
ache
ffa68fade6 Fix make - use -I${.CURDIR} instead of -I. 1998-04-30 07:50:49 +00:00
dfr
ff6b56dce1 Add GDB support. The method and some of the code came from NetBSD's elf
runtime linker.
1998-04-30 07:48:02 +00:00
dfr
e2f2fa5616 This was broken for ELF builds. 1998-04-30 07:38:27 +00:00
dyson
224581813c Fix an error that I made with an optimization. In the case
of softupdates, we need to do vtruncbuf the old way.  Luoqi
caught, found the bug and submitted this fix.
Submitted by:	Luoqi Chen <luoqi@chen.ml.org>
1998-04-30 05:28:53 +00:00
jmz
4b57027ea0 Resurrect exit.c
PR:		misc/6433
1998-04-29 22:43:18 +00:00
ache
9cd3e70e4d Basic support for LC_MESSAGES 1998-04-29 22:39:56 +00:00
andreas
71fc3af9ec update dc utility as well
after importing the new bc-1.0.4 sources,
which contain the latest DNU dc version
1998-04-29 22:15:05 +00:00
andreas
e2ae216f29 remove old bc-1.0.3 stuff
modify Makefile, to get bc-1.0.4 from src/contrib/bc
adjust config.h
PR:		closes 4183
1998-04-29 22:05:39 +00:00
ache
854c44e14a Make 'y' command 8bit clean
PR: 6458
1998-04-29 21:58:36 +00:00
andreas
3a033668d7 Added short instruction for FreeBSD how to import 1998-04-29 21:57:35 +00:00
andreas
a17a6a2830 This commit was generated by cvs2svn to compensate for changes in r35516,
which included commits to RCS files with non-trunk default branches.
1998-04-29 21:53:01 +00:00
andreas
0ec6169bea Import GNU bc 1.04
PR:		4183
1998-04-29 21:53:01 +00:00
imp
fe8d175e62 Add note about BLOCKSIZE variable to -s flag. 1998-04-29 18:39:51 +00:00
imp
307c5832d7 Use ${.TARGET} rather than $@. i386 tested, pc98 untested because config
on my box doesn't grok machine type pc98.
PR:		3272
Submitted by:	jhs
1998-04-29 18:21:35 +00:00
andreas
e4bced7382 Fixes incorrect company and product names in uha(4) manpage and
LINT config file. Should be merged to -STABLE as well.
PR:		closes 6447
Submitted by:	Steven Plite splite@purdue.edu
1998-04-29 17:09:41 +00:00
dt
0e69a77105 Use DFLTBSIZE instead of MAXBSIZE for pm_fatblksize.
In msdosfs_sync: spelling fix, formatting changes; fix MNT_LAZY (sync
modified denodes, don't sync device)

Mostly submitted by (and with hints from):	bde

Increase limit for maximum disk size: as far as I can see previous limit was
gratuitously too low.
1998-04-29 12:55:51 +00:00
jb
338768eab3 Add spinlock. 1998-04-29 11:03:34 +00:00
jb
6c9ee23acc Change signal model to match POSIX (i.e. one set of signal handlers
for the process, not a separate set for each thread). By default, the
process now only has signal handlers installed for SIGVTALRM, SIGINFO
and SIGCHLD. The thread kernel signal handler is installed for other
signals on demand. This means that SIG_IGN and SIG_DFL processing is now
left to the kernel, not the thread kernel.

Change the signal dispatch to no longer use a signal thread, and
call the signal handler using the stack of the thread that has the
signal pending.

Change the atomic lock method to use test-and-set asm code with
a yield if blocked. This introduces separate locks for each type
of object instead of blocking signals to prevent a context
switch. It was this blocking of signals that caused the performance
degradation the people have noted.

This is a *big* change!
1998-04-29 09:59:34 +00:00
kato
a44088edc8 Sync with sys/i386/i386/trap.c revision 1.127. 1998-04-29 09:45:38 +00:00
jb
9bbe93edfa Don't need wrappers for longjmp/setjmp anymore. 1998-04-29 09:40:51 +00:00
jb
ba3f8d4e2e Remove empty files that were renamed some time ago. 1998-04-29 09:39:34 +00:00
jb
f7b2be7722 Atomic lock source. 1998-04-29 09:36:03 +00:00
jb
da5557c468 Stop renaming these in libc_r because wrappered versions don't make sense.
PR: i386/4826, bin/5953
1998-04-29 09:14:35 +00:00
jb
f1fb79481d Replace the threaded locking with spinlock calls for both threaded
and non-threaded programs. This makes malloc thread safe for linking
with libpthread and kernel threads.

Reviewed by: phk
1998-04-29 09:10:58 +00:00
jb
0d8f4028af Reference an external variable in threaded programs so that the
autoinitialiser gets linked in and therefore called before main().
1998-04-29 09:08:43 +00:00
jb
44b61e0100 Use signal() in both the threaded and non-threaded cases. 1998-04-29 09:06:13 +00:00
jb
fe85f77293 Stubs are required in libc so that it can be used with libpthread
(and kernel threads), but weak symbols and non-weak symbols of the
same name built into libc_r result in unpredictable linking.
1998-04-29 09:02:16 +00:00
dyson
a7cf05f1b7 Add a needed prototype, and fix a panic problem with the new
memory code.
1998-04-29 06:59:08 +00:00
max
42ba449fff Add "flags 0x10" to the sio0 entry so that SMP-GENERIC acts in thesame
manner as the GENERIC kernel to the -h option.
1998-04-29 06:58:43 +00:00
dyson
b5a79794cd Tighten up management of memory and swap space during map allocation,
deallocation cycles.  This should provide a measurable improvement
on swap and memory allocation on loaded systems.  It is unlikely a
complete solution.  Also, provide more map info with procfs.
Chuck Cranor spurred on this improvement.
1998-04-29 04:28:22 +00:00
eivind
67c7bb9c04 Translate T_PROTFLT to SIGSEGV instead of SIGBUS when running under
Linux emulation.  This make Allegro Common Lisp 4.3 work under
FreeBSD!

Submitted by: Fred Gilham <gilham@csl.sri.com>
Commented on by: bde, dg, msmith, tg
Hoping he got everything right:  eivind
1998-04-28 18:15:08 +00:00
ache
470efec49a Fix merge errors 1998-04-28 07:37:54 +00:00
ache
2786576745 Upgrade to 2.2 1998-04-28 07:16:24 +00:00
dg
f42a694aec Oops, revert part of a diff that wasn't supposed to have been committed. 1998-04-28 07:02:33 +00:00
dg
32d2657828 Cache the results of the ps_strings sysctl so that it doesn't have to be
redone for every call of setproctitle().
1998-04-28 06:59:14 +00:00
ache
f66beda6a7 Merge local changes 1998-04-28 06:49:42 +00:00
ache
57352a1b33 This commit was generated by cvs2svn to compensate for changes in r35486,
which included commits to RCS files with non-trunk default branches.
1998-04-28 06:22:20 +00:00
ache
27ef633cd3 V2.2 import 1998-04-28 06:22:20 +00:00
dyson
36e092b938 Fix a pseudo-swap leak problem. This mitigates "leaks" due to
freeing partial objects, not freeing entire objects didn't
free any of it.  Simple fix to the map code.
Reviewed by:	dg
1998-04-28 05:54:47 +00:00