Commit Graph

12515 Commits

Author SHA1 Message Date
christos
0738e9e28d no more texinfo files. 2008-03-18 14:48:39 +00:00
wiz
636a4f58a9 Describe how to portable extend a file. From joerg. Bump date. 2008-03-16 11:33:40 +00:00
bjs
22c6c5ebca s/prototyoe/prototype/ 2008-03-15 20:18:20 +00:00
rearnsha
00f0061ae9 ARM/Thumb interworking support 2008-03-15 10:46:24 +00:00
christos
749de7f2a4 Since _file is a short, check that the fd fits in it, otherwise bail with
EMFILE. We treat _file as an unsigned short to double our range, with a
special case for -1 (closed). Make a note of what we should do about stdio
if we ever bump libc. We could change _file in the future compatibly to an
int by putting it in the extension space but for now we don't bother.
2008-03-13 15:40:00 +00:00
mrg
3db9261484 don't need <sys/tty.h> here. 2008-03-12 05:57:28 +00:00
joerg
d134e844b3 libform and libmenu need libcurses. 2008-03-12 00:21:29 +00:00
joerg
cb41266e10 Depends on libcurses. 2008-03-11 23:06:04 +00:00
rmind
38b8e432cc Add "This API is expected to be compatible with the APIs found in Solaris and
HP-UX operating systems" into the STANDARDS section, as discussed with <wiz>.
2008-03-11 18:09:40 +00:00
rmind
1c7eae5598 Use size_t to avoid overflow when sorting large arrays. While here, ANSIfy.
Obtained from FreeBSD (das@).
2008-03-11 18:04:59 +00:00
rmind
f67f2ea584 Add pset(3) manual page, and appropriate links.
Thanks <wiz> for review and fixes!
2008-03-10 19:00:21 +00:00
he
71ca0c37fa As mrg@ informs me, delay slots are indented 1 and not 2 spaces. 2008-03-10 18:31:08 +00:00
he
bbed82985f Fix the problem that CURBRK can't be referenced directly via R_SPARC_GOT13
here anymore (apparently libc grew too big).  Use sethi and %hi/%lo instead.
2008-03-10 18:28:43 +00:00
rmind
2ac12931eb Add sched(3) manual page, and appropriate links.
Thanks <wiz> for review and fixes!
2008-03-10 14:47:06 +00:00
wiz
388f16d85b Move previously added sentence to STANDARDS section, as suggested by yamt. 2008-03-10 12:25:55 +00:00
wiz
4111fbb94d Mention that extending files with truncate is a POSIX extension.
Requested by joerg.

Bump date.
2008-03-10 11:47:28 +00:00
lukem
da757a063f Style tweaks:
* test defined(HAVE_foo) not just HAVE_foo
* replace u_foo with unsigned foo
* the whitespace change whose name we dare not mention
2008-03-10 01:18:44 +00:00
drochner
33e5dbb818 fix so that it doesn't interact strangely with ARCH_SRCS definitions
in the base Makefile, makes the lib built correctly again for eg amd64
(seen by wiz)
2008-03-08 14:21:41 +00:00
ad
61f666ba09 _pthread_rwlock_held_np: if write locked, only return true if held by
the current thread.
2008-03-08 13:46:59 +00:00
yamt
b82fd04ee9 sysconf: cache the result of _SC_PAGESIZE. 2008-03-08 13:34:40 +00:00
ad
eceac52f08 Complain if _lwp_ctl() fails. 2008-03-08 13:23:13 +00:00
ad
8b2c109b14 Add a cast to make lint happy. 2008-03-08 13:22:22 +00:00
ad
91224074af Redo the CPU-based arena selection slightly differently. With the latest
libpthread and kernel, this mysteriously works without a problem.
2008-03-08 13:17:13 +00:00
ad
55faac1242 pthread_key_create: instead of using a simple 1/0 value to record a key
as allocated, use an array of pointers and save __builtin_return_address(0)
so keys can be identified when doing post-mortem debugging.
2008-03-07 22:27:07 +00:00
ad
8548e33886 pthread__mutex_lock_slow:
- don't stop spinning if there are already waiters on the mutex, there is
  no point.
- cosmetic change.
2008-03-07 22:23:57 +00:00
joerg
c3302ae742 Regen to get HAVE_FSTAT. 2008-03-07 20:10:55 +00:00
ad
1046045268 Keep one builtin slot so that pthread initialization doesn't need to use
malloc().
2008-03-07 17:56:39 +00:00
cube
c6726d686a Bump libprop's minor after addition of prop_dictionary_make_immutable. 2008-03-05 07:55:36 +00:00
tnozaki
47d7f820fd bin/38047 fix bad prototype for function mbrlen
reported by cheusov AT tut DOT by, thanks!
2008-02-28 19:36:51 +00:00
christos
908cf676a4 mention RANDOM_MAX 2008-02-28 16:16:35 +00:00
ad
0565241b89 +#define _KERNEL
+#include <sys/types.h>
+#undef _KERNEL
2008-02-27 15:46:23 +00:00
joerg
d59870515d Build with WARNS=4. 2008-02-26 15:42:29 +00:00
joerg
76f009d25d Update build infrastructure for libarchive-2.4.13. 2008-02-26 14:54:18 +00:00
xtraeme
c3e906d7a0 There's no need to do the mutex_trylock dance anymore in __cxa_finalize(),
just using mutex_lock() is enough.
2008-02-25 14:35:54 +00:00
xtraeme
1b5143aa5d Add a comment for __libc_atexit_init() missed in previous that was
available in the original patch.
2008-02-25 14:15:10 +00:00
xtraeme
95157b046e Make the atexit mutex recursive and initialize it in __libc_init()
as suggested by ad@, based on the patch provided by Sverre Froyen
in lib/37654.

Reviewed by ad@ and jmcneill@.
2008-02-25 14:06:13 +00:00
christos
972b0b15b4 doecument that we now can return eagain. 2008-02-24 21:55:45 +00:00
oster
8b2eb1e024 Add the missing 'n' to 'correspoding'. 2008-02-23 18:35:04 +00:00
sborrill
b701bbf89d Fix tiny typo 2008-02-23 17:53:23 +00:00
christos
6711b9aec7 use the proper variable. 2008-02-23 15:53:22 +00:00
christos
8fbaff1005 fix lint issues. 2008-02-23 15:18:04 +00:00
ad
6869216239 Fix pthread_mutex_trylock() for recursive mutexes. PR lib/38087.
Based on a patch provided by rafal@.
2008-02-23 15:15:57 +00:00
joerg
758ec1af13 Also cast before anding the characters. 2008-02-22 19:25:59 +00:00
christos
5b9284aa07 GLOB_NO_DOTDIRS patch from mouse@
Fixes re-definition of GLOB_PERIOD.
2008-02-22 18:33:51 +00:00
joerg
966f3cc69d Add some explicit casts to stop GCC complains about signed char shifts. 2008-02-22 14:40:15 +00:00
joerg
2ca83a6a31 Replace O(nm) versions of strspn, strcspn and strpbrk with O(n+m)
implementations based on the suggestions I made for DragonFly's libc
ages ago. For charset with more than one entry and iterating over the
first two characters of s, this is consistently faster on amd64.
2008-02-22 13:32:19 +00:00
garbled
f908c50890 Make use of ppc tuned assembler. 2008-02-21 17:37:00 +00:00
drochner
c7a43da627 Add manpages for the complex math functions, originally from SUSv3,
roff source from the Linux documentation project.
Modifications before import:
-added NetBSD RCS ID
-removed Linux PROLOG and declarations with "long double"
-ran the "deshallify" script as required by The Open Group
Split out complex related things into an own Makefile fragment.
Thanks to hubertf for directions.
2008-02-20 09:55:37 +00:00
tnn
26fe2af07d minor pedanticism about glibc. Suggested by Joerg. 2008-02-16 17:45:39 +00:00
ad
377f098ab0 Adjust mutex/rwlock definitions to match reality now that there is only
one implementation of each. PR lib/38030.
2008-02-14 21:40:51 +00:00
tnn
c4bfcd4e81 Add a history section and a compatibility section. 2008-02-14 18:08:35 +00:00
rillig
e477e0fd7c I tried to add a partition to the swap space that wasn't marked as swap
partition, and I got ENXIO. Since the existing description didn't apply
to this case, I added another.
2008-02-13 11:10:31 +00:00
rillig
ae9e303fcf Aligned the text of ENXIO with the one in gen/errlist.c. 2008-02-13 10:48:18 +00:00
drochner
58cba952a0 remove a stale __weak_alias (code went into the compat section) 2008-02-12 19:36:06 +00:00
ad
a67e1e3475 - Remove libpthread's atomic ops.
- Remove the old spinlock-based mutex and rwlock implementations.
- Use the atomic ops from libc.
2008-02-10 18:50:54 +00:00
ad
749400b704 Crank minor for atomic ops. 2008-02-10 18:47:06 +00:00
ad
b5b3e9fb51 Enable the atomic ops in userspace. 2008-02-10 18:45:40 +00:00
ad
9c43df3853 We've got the priority/class stuff now. 2008-02-10 14:52:05 +00:00
junyoung
a81d5c256d __attribute__((__packed__)) -> __packed. 2008-02-10 05:58:22 +00:00
yamt
603e4b9abd update for _sched_{get,set}param changes. from rmind@. 2008-02-09 17:01:51 +00:00
junyoung
f59892f81b u_intXX_t -> uintXX_t. 2008-02-09 14:56:20 +00:00
jmmv
2630bb2c25 Document dehumanize_number(3). 2008-02-09 09:09:04 +00:00
dholland
c60100b138 Use STDIN_FILENO and friends instead of magic constants 0/1/2.
Suggested by the patches in PR bin/36551 from Greg A. Woods.
2008-02-09 05:07:26 +00:00
dholland
3ad5f9069e Document the behavior of dup2 when oldfd == newfd: nothing happens.
Suggested by the patches in PR bin/36551 from Greg A. Woods.
2008-02-09 04:58:30 +00:00
mrg
d638eaddc1 m68k/Makefile.inc:
- add __mmap.S to SRCS.
- add _lwp_getprivate.S mremap.S to ASM.
sys/Makefile.inc:
- look for __glue.S as well as glue.S.
- introduce a new ASM_MD and set it to "_lwp_getprivate.S mremap.S".
  this is used for assembler files that may have non-default
  implementations.

now m68k and m68000 mostly build again.
2008-02-09 02:41:06 +00:00
mrg
ecc90aa046 make all sun2 use -O0 and move most of the hacks out into just 3 files. 2008-02-09 02:37:21 +00:00
mrg
b757a71702 only use -Wuninitialized with -O>0. 2008-02-09 02:36:12 +00:00
elad
5c80416b17 PR/37962: Andrew Doran: libkvm is busted due to kauth_cred redefinition
Sync structure with kernel version.
2008-02-05 15:56:01 +00:00
mrg
e6f4791d95 make sun2 build again with liberal use of -O0. 2008-02-05 02:41:15 +00:00
rtr
1db9feaaa0 fix comment Abtract -> Abstract 2008-02-04 23:08:01 +00:00
jmmv
bd40f72cd9 Adjust for atf 0.4: add new files and adapt configuration. 2008-02-04 20:32:11 +00:00
christos
ed13fe5855 fix posix_memalign; we are not going to support alignments > pagesize in
this implementation.
2008-02-03 22:56:53 +00:00
christos
708c364c0e namespace protection for csetexpandtc() 2008-02-02 22:06:34 +00:00
christos
0d149bc5fe Add csetexpandtc() 2008-02-02 20:56:46 +00:00
christos
a0e4739ced PR/37932: Yakovetsky Vladimir: build distribution with USE_FORT fails
Avoid read redefinition
2008-02-02 17:09:29 +00:00
christos
56709adfc9 Try to fix previous commit of /.. and /. handling for GLOB_PERIOD. I will
write a regression test for this.
2008-02-01 23:29:54 +00:00
ad
d8251138f4 pthread_rwlock_wrheld_np: return true only if locked by the calling thread. 2008-01-31 11:50:40 +00:00
mlelstv
58dedb340c use the correct symbols 2008-01-31 10:07:09 +00:00
apb
9eaab5ee00 Mention use of /var/run/dev.db, and add .Xr dev_mkdb 8 .
Could somebody update the HISTORY?
2008-01-30 19:24:59 +00:00
pooka
04973f7441 When reading a request from the kernel, only allocate as much memory
as needed to read a request instead of the maximum message size.
Insanely enough, this makes "cheap backend I/O" file systems such
dtfs and sysctlfs perform 10-30% better (depending on the average
size of incoming requests).
2008-01-29 14:54:08 +00:00
abs
e26de9edf5 Adjust "The getpeereid() function appeared in NetBSD 4.0" to a more
correct NetBSD 5.0.
2008-01-29 13:55:27 +00:00
pooka
98d94502be whoops, bump date - pretty significant change 2008-01-29 10:15:50 +00:00
pooka
be5ed87c1e Fix a weirdosity in the framebuf gotfb interface: hand buffer
ownership to the called routine instead of keeping it.  This means
that callees must now destroy the buffer once they are done with it.
2008-01-29 10:07:29 +00:00
pooka
704ded372f Don't add asserts between testing and commit - especially not
if you're going to write "assert(foo = 0)"
2008-01-28 18:51:03 +00:00
pooka
7c2ddc1d53 Bump version for lazy contexts (probably not necessary, but it's
been a long time since I bumbed the version ;)
2008-01-28 18:42:09 +00:00
pooka
d1d05d65b9 Implement lazy contexts for file systems using puffs_mainloop().
Previously each request was executed on its own callcontext and
switched to every time the request was being processed.  Now requests
borrow the mainloop context and switch only if/when they yield.
This takes two context switches away from a file system request
bringing down the typical amounts 2->0 (e.g. dtfs) and 4->2 (e.g.
psshfs).

The interfaces for manually executing requests changed a bit:
puffs_dispatch_create() and puffs_dispatch_exec() must now be used.
They are not tested, as nothing in-tree wants them and I doubt
anyone else is really interested in them either.

Also do some misc code cleanup related to execution contexts.  The
"work-in-progress checkpoint" committed over a year ago was starting
to look slightly weed-infested.
2008-01-28 18:35:49 +00:00
christos
ef1144e6de Always try both tcp and udp, trying first the one specified by the protocol
wanted.
2008-01-28 01:10:22 +00:00
christos
dedb237183 Remove static module defines; they are done in openpam.h now. 2008-01-27 20:26:56 +00:00
martin
29ef53c683 libc part of posix_fadvise changes.
The new compatibility stub is ABI compatible to the old syscall, so no
need to bump libc minor.
2008-01-27 16:18:22 +00:00
christos
9d58de27f0 Install a new include file. 2008-01-27 01:27:05 +00:00
christos
4466f6b5f6 Fix compilation 2008-01-27 01:23:20 +00:00
pooka
e9ff674b00 For operations with a target (remove, rmdir, link), print the
target cookie.
2008-01-27 00:29:24 +00:00
rmind
b5e9addd22 sched_setparam: fix the case when incorrect (according to the class)
in-kernel priority is used.  Reported by <drochner>.

Minor fixes for scheduling calls to conform the POSIX:
- If pid is equal to zero, use the calling process;
- In case of permission problem, return EPERM instead of EACESS;
- sched_setscheduler() should return previously used policy;
- pthread_* calls should return the error code or zero;

Should fix the namespace problems (and builds of some packages):
- Move cpuset_t defintion from pset.h to sched.h;
- Remove the #include of pset.h in pthread.h;
2008-01-26 17:55:29 +00:00
christos
a1e4f75af9 PR/37864: Wolfgang Stukenbrock: when requesting TCP rcp-service port numbers
UDP is used
2008-01-25 19:43:53 +00:00
rafal
2e86943de9 Make this compile after Andrew's fix (remove now-unused variables) 2008-01-25 02:12:10 +00:00
ad
bba572530b pthread_mutex_lock_slow: remove "deliberate deadlock" code that's not
needed with 1:1. PR lib/37524.
2008-01-25 01:09:18 +00:00
christos
8c03790350 remove redundant check. 2008-01-20 04:56:08 +00:00
weinem
0b27d36fa7 Fixes the wrong reference to s_time(1), which should be openssl(1). Closes PR misc/29998. Fix proposed by Igor Sobrado 2008-01-20 03:19:49 +00:00
christos
19884cbfe6 s/set/test/ 2008-01-19 16:05:34 +00:00
christos
f2df27b721 only include <sys/pset.h> if _NETBSD_SOURCE 2008-01-19 16:03:48 +00:00
ginsbach
0d03389c52 Treat input "0x" as invalid and return INADDR_NONE. Inspired by
FreeBSD-PR 92880.
2008-01-19 03:46:52 +00:00
martin
3049bc6660 Use the new information about per-cpu mappings. Gdb now can examine
the interrupt stack.
2008-01-18 16:26:09 +00:00
christos
4e783482fa Fix off-by-one buffer overflow. VU#203611, CVE-2008-0122 2008-01-18 16:20:57 +00:00
christos
00f5cbb6dc From Richard M Kreuter: GLOB_PERIOD fix for trailing ./ or ../ 2008-01-18 16:20:00 +00:00
pooka
c142350bc6 Fix fakecc case.
Noticed by Pavel Jirout on current-users
2008-01-17 17:43:14 +00:00
pooka
9f5abca72f Comment out the puffs_executor hacks for now, they have races.
The issue should be solved in another fashion anyway.
2008-01-16 23:17:43 +00:00
pooka
614c59fcb2 Cache a number of execution contexts instead of re-initializing
them every time.  Speeds up pure in-memory file systems such as
sysctlfs or dtfs quite a bit.  For actual I/O-workhorses the result
is of course less tasty.
2008-01-16 21:29:59 +00:00
ad
bbc79e58a6 Pull in my modules code for review/test/hacking. 2008-01-16 12:34:50 +00:00
pooka
3a433fe13b Use PROT_NONE page to protect bottom of stack from overrun 2008-01-16 00:29:42 +00:00
ad
eba222df68 ... and make kvm_dump_inval() work on the raw device. 2008-01-15 14:16:30 +00:00
ad
a7a2d171df Handle reading from raw disk devices. 2008-01-15 13:57:41 +00:00
rmind
5c71a4d49f Implementation of processor-sets, affinity and POSIX real-time extensions.
Add schedctl(8) - a program to control scheduling of processes and threads.

Notes:
- This is supported only by SCHED_M2;
- Migration of LWP mechanism will be revisited;

Proposed on: <tech-kern>. Reviewed by: <ad>.
2008-01-15 03:37:10 +00:00
pooka
86499e8154 Remove puffs_ops from fuse_operations, no reason for it to be there. 2008-01-14 20:46:11 +00:00
pooka
aa3b40df48 return -ret from statfs 2008-01-14 16:07:00 +00:00
pooka
d7412d56b1 Introduce PUFFS_STACKSIZE_MIN to avoid overloading 0 and getting
a warning from the library when really wanting to say "just the
minimum, please".
2008-01-14 13:57:26 +00:00
simonb
ccab3b34ce Remove support for NetBSD/pc532. 2008-01-10 13:40:36 +00:00
elad
e7f75b7de6 PR/35562: khorben at defora dot org: Potential denial of service when
listing files on an NFS share

Limit the number of retries as suggested in the PR.

Reviewed by and okay fvdl@.
2008-01-10 09:49:04 +00:00
martin
8f4340d1d4 Modify the high part of the fraction so that we recognize our __infinityl
value.
XXX - seems like we could share this with LE archs
2008-01-10 00:34:27 +00:00
simonb
d8de5b102b Remove support for NetBSD/pc532. 2008-01-09 11:25:58 +00:00
christos
c6409540ef add missing static decls. 2008-01-08 20:56:08 +00:00
christos
6c924f05f9 cast -1 to unsigned int. 2008-01-08 20:55:58 +00:00
christos
72f5cf0283 no semis after weak alias. 2008-01-08 20:55:25 +00:00
pooka
1309a27c5e liberate gas-huffin crack-puffin' assert 2008-01-08 00:22:31 +00:00
yamt
48a1e4cf46 pthread_curcpu_np: map LWPCTL_CPU_NONE to 0 so that this works in the case
of _lwp_ctl failure.
2008-01-07 11:51:43 +00:00
christos
5f01dfbd0d PR/37708: A.Leo.: getservbyname, segetaddrinfo sefgfaults when user has no
rights for reading ``/etc/services''
2008-01-06 16:34:18 +00:00
christos
9780e68402 warns=4 2008-01-05 20:00:49 +00:00
jld
1717a7fe75 Add address translation support for 4MB pages, which we use to map the
kernel text.
2008-01-05 06:54:12 +00:00
jld
324e44d74f The address translation routine needs to use the plN_pi macros (for
indexing into the PTP), not the plN_i ones (for indexing into the entire
linear page table); cf. the analogous code for amd64.  Fixes ~everything
to do with kernel core dumps on i386.
2008-01-05 06:22:55 +00:00
ad
b43749fde1 machine/lock.h, not sys/lock.h 2008-01-05 01:37:35 +00:00
christos
aa33183605 Simplify and check for snprintf() error. 2008-01-03 04:26:27 +00:00
pooka
cf16702d95 fix pasto 2008-01-02 18:11:01 +00:00
pooka
b181a1a237 Also pass fromname in the "distributed" case. 2008-01-02 17:57:51 +00:00
pooka
636e495315 Provide some transparent "support" for "distributed" file systems.
If the env variable PUFFS_COMFD is set, the descriptor value
contained in it is used for communication instead of opening
/dev/puffs and doing mount(2).

This feature is obviously very undocumented and should not be used
without adult supervision.
2008-01-02 14:27:42 +00:00
christos
8bb176858f block signals before playing with files. From Anon Ymous 2008-01-01 21:22:55 +00:00
chris
cf792ccc84 Update libkvm to be able to deal with arm kernel core dumps.
These changes allow savecore to successfully save a kernel core dump.

Final part of fixing PR cats/18026
2008-01-01 14:10:37 +00:00
martin
e094ff6106 Add missing stubs for syscalls returning addresses.
We can now run on a kernel that does not copy the syscall return value
to register A0.
As discussed in PR port-m68k/37631.
2007-12-31 07:39:19 +00:00
martin
93310937f3 Avoid munmap(-1, ...) - doesn't make much sense. 2007-12-28 00:39:32 +00:00
pooka
38a05cc07d Flesh this out a bit more. Unfortunately it's still unfinished,
and I don't know when I'll get a chance to finish it.
2007-12-27 18:50:42 +00:00
pooka
cb36cc5493 Uncommit accidentally committed PUFFS_FLAG_OPDUMP.
overextensive library verbosity noticed by riz
2007-12-27 11:39:06 +00:00
pooka
c3b193c57f Add a public interface for setting a cookie mapper. 2007-12-25 20:38:01 +00:00
pooka
80ecfb9fc9 * dump r/w return resid
* fix RV dump order to be more logical
2007-12-25 20:36:53 +00:00
ad
622bbc505a - Use pthread__cancelled() in more places.
- pthread_join(): assert that pthread_cond_wait() returns zero.
2007-12-24 16:04:20 +00:00
ad
989565f81d - Fix pthread_rwlock_trywrlock() which was broken.
- Add new functions: pthread_mutex_held_np, mutex_owner_np, rwlock_held_np,
  rwlock_wrheld_np, rwlock_rdheld_np. These match the kernel's locking
  primitives and can be used when porting kernel code to userspace.

- Always create LWPs detached. Do join/exit sync mostly in userland. When
  looped on a dual core box this seems ~30% quicker than using lwp_wait().
  Reduce number of lock acquire/release ops during thread exit.
2007-12-24 14:46:28 +00:00
ad
8f05f9cc26 Update. 2007-12-24 14:30:09 +00:00
skrll
24ced765a1 Add a comment explaining stack layout and register contents. 2007-12-22 14:10:03 +00:00
yamt
392c2dc8c2 sync with kernel. 2007-12-22 01:22:03 +00:00
martin
53a105b083 Disable the umac-64 MAC for now, it needs to be rewritten from scractch.
Addresses PR bin/37562.
2007-12-20 14:14:04 +00:00
pooka
a8e13cb420 Add generic getattr routine. 2007-12-19 14:01:16 +00:00
christos
cd7947efb0 update to 4.7 2007-12-18 02:34:32 +00:00
pooka
08c7b6138e * nuke puffs_cc_get{specific,usermount} for good
* move prototypes for puffs_docc and puffs_dopufbuf into the
  public header, as they are should be exposed
2007-12-16 20:02:57 +00:00