Commit Graph

1990 Commits

Author SHA1 Message Date
nathanw
4b2dbe7a1a Note that negative system call numbers no longer appear negative in
ktrace output, due to range-bounding by binary masking.
2001-06-04 20:06:41 +00:00
manu
ae80f433ec Fixes by Chuck Silvers to make ptrace PEEKTEXT more 64 bit friendy 2001-06-04 07:44:39 +00:00
manu
b5269c31d1 added a double cast to build on alpha 2001-06-03 18:22:27 +00:00
manu
4788337ddb Fixed a rough buf in ptrace SETFPREGS (was using regs instead of fpregs) 2001-06-02 13:49:44 +00:00
jdolecek
58467b0a9d Slighly improve the PTRACE_CONT comment 2001-06-02 11:46:09 +00:00
mrg
6a89288a37 use _KERNEL_OPT. 2001-05-30 11:37:21 +00:00
manu
36ea8f0ed5 Fixed a potential security problem (copyout after an error) 2001-05-28 10:51:20 +00:00
manu
7046b15b3d Fixed the return value of ptrace for PEEKTEXT and PEEKDATA: return value must
be a pointer to data, which holds the result. Linux's glibc undo this odd
operation to bring the standard ptrace behavior to userland.
2001-05-27 21:17:16 +00:00
manu
befe23c119 Implements correctly PEEKUSER and fixes various serious bugs. The status
of this file is not "officially broken" any more (gdb works).
2001-05-27 21:15:07 +00:00
manu
383c1b6319 Fixed two typo in comments 2001-05-27 21:11:12 +00:00
kristerw
7ae7504033 Added a 'break' on the last line in a switch statement, since the ISO
C standard do not permit labels at the end of compound statements.
2001-05-24 10:49:31 +00:00
manu
8e9a35bbaa Enable PowerPC Linux ptrace() emulation 2001-05-22 21:11:54 +00:00
manu
9e29066532 Fixed ptrace() so that it is now possible to get traced process registers.
This makes Linux gdb able to run a Linux binary
2001-05-22 21:09:20 +00:00
manu
23e3fc1231 When c_ospeed in termio is null, NetBSD hangup the terminal. Since Linux
does not do this, we fake null c_ospeed values by -1 in the kernel, so
that NetBSD does not hangup.
2001-05-22 21:05:49 +00:00
manu
89047f2566 Added powerpc status in a comment 2001-05-20 09:29:10 +00:00
manu
05fe8173f8 Fixed a typo in a comment 2001-05-19 14:31:00 +00:00
jdolecek
a20a67e39b regen (some unnecessary passthrough stubs eliminated) 2001-05-15 21:39:31 +00:00
jdolecek
da5867c716 Eliminate passthrough syscalls stubs which only call appropriate sys_foo()
without any change.
Fixes kern/7270 by Bill Sommerfeld.
2001-05-15 21:37:47 +00:00
manu
56839426da This file is not used on alpha, and it causes some warning that break the
build. Added an ifdef to ignore the file content for alpha (not tested)
2001-05-15 20:35:02 +00:00
lukem
37aedd067b delint: fix comments 2001-05-15 15:20:29 +00:00
manu
d473f5bd8a Improved the accuracy of gettimeofday/settimeofday: Linux stores a srtuct
timezone in the kernel. We now keep track of it for emulated processes.
Tested for powerpc and i386. Untested on m68k, but it should be ok
Alpha has a particular implementation (osf1_sys_gettimeofday), and it has
therefore not been touched.
2001-05-13 20:54:42 +00:00
kleink
045d2b0272 Make this build again. 2001-05-11 19:19:44 +00:00
augustss
f63784bfbe Improved fix of PR12796, from Frederick Bruckman <fb@enteract.com> 2001-05-10 01:54:30 +00:00
augustss
5c9ba155e3 Apply patch in PR lib/12796 from Frederick Bruckman <fb@enteract.com> 2001-05-09 21:49:58 +00:00
manu
7e6929fe90 Changed EMUL_BSD_ASYNCIO_PIPE to EMUL_NO_BSD_ASYNCIO_PIPE, so that
the native emulation (NetBSD) does not have a flag.
2001-05-07 09:55:12 +00:00
manu
5a6b8191b5 Added two flags to emulation packages:
EMUL_BSD_ASYNCIO_PIPE notes that the emulated binaries expect the original
BSD pipe behavior for asynchronous I/O, which is to fire SIGIO on read() and
write(). OSes without this flag do not expect any SIGIO to be fired on
read() and write() for pipes, even when async I/O was requested. As far as
we know, the OSes that need EMUL_BSD_ASYNCIO_PIPE are NetBSD, OSF/1 and
Darwin.

EMUL_NO_SIGIO_ON_READ notes that the emulated binaries that requested
asynchrnous I/O expect the reader process to be notified by a SIGIO, but
not the writer process. OSes without this flag expect the reader and the
writer to be notified when some data has arrived or when some data have been
read. As far as we know, the OSes that need EMUL_NO_SIGIO_ON_READ are Linux
and SunOS.
2001-05-06 19:09:52 +00:00
ross
6b9d94cd8c Fix overflow errors in brk(2). 2001-05-06 04:32:08 +00:00
matt
eae1312a70 Use NULL instead of an explicit cast. 2001-05-03 05:30:35 +00:00
ross
2df695b1e4 o IEEE 754 floating-point completion code.
o Implement the architected FP_C "Floating Point Control Quadword"
2001-04-26 03:10:44 +00:00
manu
bc237413cb Fixed an error in a comment 2001-04-12 19:32:35 +00:00
manu
bb1594b20b Integrated security review for signal delivery by Wolfgang Solfrank 2001-04-11 19:41:02 +00:00
eeh
511e0204b1 Update to conform to new interface. 2001-04-10 18:57:49 +00:00
kleink
0e1ec27466 Regen. 2001-04-10 11:12:12 +00:00
kleink
7b62f6ff28 Slight indentation nit. 2001-04-10 11:11:17 +00:00
jdolecek
b6d1d4db02 Change the first arg to fileops fo_stat routine to struct file *, adjust
callers and appropriate routines to cope. This makes fo_stat more
consistent with rest of fileops routines and also makes the fo_stat
match FreeBSD as an added bonus.
Discussed with Luke Mewburn on tech-kern@.
2001-04-09 10:22:00 +00:00
jdolecek
c1dca7fa03 also use fops fo_stat for osf1_sys_fstat2() 2001-04-09 10:08:51 +00:00
jdolecek
3fc6fc58e6 Call file descriptor stat function via (*fp->f_ops->fo_stat) instead
of a switch statement and explicit call.
Sprinkle some FILE_USE()/FILE_UNUSE() as appropriate.
2001-04-09 09:39:09 +00:00
ross
2d8e2c19d6 Fix soo_stat() calls for the new parameter, even if the direct call is
now obsolete, so that kernels will at least compile. I guess it was too
much trouble to change all 10 call sites, or perhaps, these days, only
things that build on i386 are important. Maybe it's the full moon tonight.
2001-04-08 08:01:36 +00:00
jdolecek
bb8ceadfcc Adapt to struct fileops, soo_stat() changes.
Pointed out by Bernd Ernesti in private mail.
2001-04-07 17:37:09 +00:00
tsutsui
aff5787b5b Regen from aoutm68k/syscalls.master rev 1.5:
> Allow enabling/disabling /emul/aout alternate path search
> on COMPAT_AOUT_M68K environment by options COMPAT_AOUT_ALTPATH.
2001-04-07 12:28:55 +00:00
tsutsui
0286ef8bba Allow enabling/disabling /emul/aout alternate path search
on COMPAT_AOUT_M68K environment by options COMPAT_AOUT_ALTPATH.
2001-04-07 12:25:15 +00:00
jdolecek
16b1272b3f Add new 'stat' fileop and call the stat function via f_ops rather
than directly.
For compat syscalls, also add necessary FILE_USE()/FILE_UNUSE().
Now that soo_stat() gets a proc arg, pass it on to usrreq function.
2001-04-07 09:00:57 +00:00
ross
3bbe93edd6 new syscalls 2001-04-04 19:52:18 +00:00
ross
cf6a3cc49d prototypes and comments 2001-04-04 19:41:00 +00:00
jdolecek
9f531a91bb regen - use linux_sys_nosys() instead sys_nosys() 2001-03-30 18:33:22 +00:00
jdolecek
bbe1ee69af Use linux_sys_nosys() instead sys_nosys() here too. 2001-03-30 18:31:28 +00:00
jdolecek
02281ec1f5 regen 2001-03-30 18:02:28 +00:00
jdolecek
c51fe2a452 use UNIMPL instead of NODEF for the dummy syscalls 218, 219 2001-03-30 18:01:20 +00:00
jdolecek
36a42f0ce8 Add new syscalls from Linux 2.4.3 to the lists. Not implemented ATM. 2001-03-30 17:59:46 +00:00
jdolecek
e07a93ab5a regen 2001-03-30 17:18:47 +00:00
jdolecek
890850dddf Implement linux_sys_nosys() and use it instead of sys_nosys() for
unimplemented syscalls. Difference is that linux_sys_nosys() doesn't
post SIGSYS to the process. Linux doesn't do that and thus glibc (and
probably other Linux code) doesn't deal with SIGSYS, even through it
generally contains fallback code for ENOSYS case.

This also addresses port-i386/12503, though the issue was already discussed
earlier.
2001-03-30 17:16:33 +00:00
toddpw
8b733f7126 Our INCSDIR has been pruned from distrib/sets, so don't make it any more. 2001-03-30 12:42:30 +00:00
fvdl
879b34ea8c Don't do the ioctl call for the get hw addr case, all the work has
been done already.
2001-03-29 10:37:37 +00:00
jdolecek
569cf4b764 Use parent's vmspace in linux_e_proc_fork() hook, the child does not
have vmspace setup yet. This fixes lossage discussed on current-users,
thread "hard lockups with -current and Netscape", and should fix
kern/12433 by <kawamoto@tenjin.org>, maybe also kern/12455.

XXX Threads forked via linux_sys_clone() should share the brk value
XXX if they share vmspace. This needs to be implemented.
2001-03-24 11:13:04 +00:00
manu
ea545137cc Added a missing native to linux signal number translation in linux_sendsig(),
when building the trap frape
2001-03-22 22:10:04 +00:00
itojun
c35e5ed1b2 do not dereference p_vmspace, if it is not initialized yet (NULL). 2001-03-22 08:26:14 +00:00
manu
bfaa81d0e1 Fixed typos in comments 2001-03-18 11:31:44 +00:00
manu
802ed4d55c Removed an unused oldbrk variable in linux_sys_brk() 2001-03-16 07:46:57 +00:00
mrg
85b0b4096f s/rv/error/ in a uprintf(). (rv isn't defined.) 2001-03-16 04:05:15 +00:00
manu
27a41174dd Made linux_sys_brk() cleaner (no functionnality change) 2001-03-15 23:23:26 +00:00
manu
1208df7bdf Fixed brk() emulation. We now keep track of the processes' idea of the
break value. See http://mail-index.netbsd.org/tech-kern/2001/03/15/0000.html
for more details.
2001-03-15 19:18:20 +00:00
chs
ac3bc537bd eliminate the KERN_* error codes in favor of the traditional E* codes.
the mapping is:

KERN_SUCCESS			0
KERN_INVALID_ADDRESS		EFAULT
KERN_PROTECTION_FAILURE		EACCES
KERN_NO_SPACE			ENOMEM
KERN_INVALID_ARGUMENT		EINVAL
KERN_FAILURE			various, mostly turn into KASSERTs
KERN_RESOURCE_SHORTAGE		ENOMEM
KERN_NOT_RECEIVER		<unused>
KERN_NO_ACCESS			<unused>
KERN_PAGES_LOCKED		<unused>
2001-03-15 06:10:32 +00:00
mrg
f1a8e2ab5f be more verbose about failed vmcmds. 2001-03-04 13:42:32 +00:00
eeh
e330ffed34 Remove conflicts with changes made to COMPAT_SVR4. 2001-02-28 15:58:35 +00:00
eeh
a72ee87980 Add support for 64-bit SVR4 (Solaris 8) binaries. 2001-02-21 23:53:00 +00:00
jdolecek
522f569810 make some more constant arrays 'const' 2001-02-21 21:39:52 +00:00
eeh
82deda03bf Fixup compile problems. 2001-02-19 19:49:35 +00:00
eeh
800c3c476d Use svr4_ttold.c since it has no LP64 issues. 2001-02-19 15:48:59 +00:00
mrg
bc003b5676 use svr4_32 ttold ioctl types. 2001-02-18 00:27:20 +00:00
eeh
8a4a682091 Support flexible process address space limits and bump kernel version number. 2001-02-14 18:21:42 +00:00
manu
ad16681a92 Clarified comments about the LINUX_SCERR_SIGN macro 2001-02-12 21:25:08 +00:00
fvdl
6b7a7448f5 Cast 32bit sunos_nfs_arg member to (char *)(long) to avoid warning
after sunos.h change (cast is safe; a SunOS binary will pas a 32 bit
pointer).
2001-02-12 19:49:20 +00:00
manu
16bc5b4004 Moved the fix for negative errno returned to userland on the PowerPC to a
more machine independent fashion
2001-02-11 20:24:49 +00:00
eeh
fb46d1eed4 Export bits needed by COMPAT_SVR4_32. 2001-02-11 01:16:42 +00:00
eeh
c2a7dae9d2 Fix getuid() and getgid() to work like the Solaris ones. 2001-02-11 01:14:25 +00:00
eeh
7fd4c88055 Fix getuid() and getgid() calls to return both e[ug]id and r[ug]id. 2001-02-11 01:13:01 +00:00
eeh
82ca5fba5b Fixes to get dynamic binaries working. 2001-02-11 01:10:24 +00:00
eeh
a562e38910 Don't play fast and loose with pointers. 2001-02-11 00:00:29 +00:00
mrg
da9e4bd3a1 split up netbsd32_netbsd.c into 9 new files, leaving only those syscalls that
have no special interpretations besides simple syscall args conversion.
2001-02-08 13:19:33 +00:00
mrg
477f3d1140 header is struct netbsd32_exec 2001-02-08 12:32:41 +00:00
mrg
e927957b42 move the static inline conversion functions into a header file so other
files can see these.  note a bunch of functions that should be moved
into their own files.
2001-02-07 15:22:39 +00:00
mrg
7217f71af3 compat_12_netbsd32_{,fl}stat12() were not copyout()ing the converted result. 2001-02-07 13:15:54 +00:00
mrg
c1b372c5ca fix the glaring errors in compat_13_netbsd32_sigaltstack13 2001-02-07 13:14:07 +00:00
mrg
7a908a5f44 compat_sunos needs netbsd32_compat_09.c 2001-02-07 13:13:01 +00:00
mrg
098da9d296 use the standard alt check for creat. 2001-02-07 01:34:21 +00:00
eeh
4380259bc7 Specify a process' address space limits for uvmspace_exec(). 2001-02-06 17:01:51 +00:00
eeh
967cc758a6 Add 32-bit svr4 emulation (for 64-bit machines). 2001-02-06 16:37:56 +00:00
mrg
d0f57eaf28 regen 2001-02-06 15:42:34 +00:00
mrg
bb4dfb96a8 oops, use netbsd32_select(). 2001-02-06 15:41:53 +00:00
mrg
79c2fcd3b2 add from NetBSD Id. 2001-02-06 15:39:38 +00:00
mrg
5cd04bbafa use struct sunos32_dirent. now getwd() works. 2001-02-06 13:13:42 +00:00
mrg
04534d365c stat/lstat must use netbsd32_stat43 not stat43. 2001-02-06 10:32:34 +00:00
manu
82b165a23b Modified a cast so that it builds again 2001-02-05 19:44:32 +00:00
mrg
8507daffe2 regen 2001-02-05 12:48:33 +00:00
mrg
f973f47b9c s/sunos_sendsig/sunos32_sendsig/ 2001-02-05 12:48:13 +00:00
mrg
2bdf90f148 use sunos32_sys_sigreturn 2001-02-05 12:46:19 +00:00
chs
09cb38f22b expose the definitions of MIN() and MAX() in sys/param.h to the kernel
and use those in favor of a dozen copies scattered around the source tree.
2001-02-05 10:42:40 +00:00
mrg
8e76e697d7 fix the glaring errors in emulations for osendmsg, orecvmsg, osigvec and osigstack. 2001-02-05 06:32:55 +00:00
mrg
973fe837ab s/long/netbsd32_long/ in various places. call netbsd32_fcntl, not sys_fcntl. 2001-02-05 06:28:55 +00:00
mrg
07df067e6c make sunos32_sys_stime() & sunos32_sys_sigvec() work. 2001-02-05 06:27:57 +00:00