Commit Graph

3233 Commits

Author SHA1 Message Date
skrll
f7155e40f6 There's no need to pass a proc value when using UIO_SYSSPACE with
vn_rdwr(9) and uiomove(9).

OK'd by Jason Thorpe
2004-09-17 14:11:20 +00:00
jdolecek
52c9439e95 regen:
remove all alternative path check code, and (empty) ioctl wrapper
2004-09-14 17:40:59 +00:00
jdolecek
c2e4e13382 remove all alternative path check code, and (empty) ioctl wrapper 2004-09-14 17:39:18 +00:00
jdolecek
120bb37404 remove COMPAT_AOUT 2004-09-14 16:57:31 +00:00
jdolecek
f16bab2269 bsd_to_linux_statfs():
- filesystem size is expressed in number of fragments, not blocks;
  this fixes computed filesystem sizes for Linux df(1) and other Linux
  binaries using statfs(2) for filesystems, which use different value
  for frament and block, such as FFS
- use FS f_namemax instead of always using MAXNAMLEN
2004-09-13 20:09:44 +00:00
jdolecek
9cc50db4c5 if passed sockaddr has family AF_UNSPEC, use socket family of the socket
the sockaddr is used for

this fixes bind() problem in Linux version of Theocracy, testing
by Thomas Klausner
2004-09-12 15:32:55 +00:00
jdolecek
f7ec3be35d use native syscallnames[] for SYSCALL_DEBUG 2004-09-12 11:09:32 +00:00
jdolecek
f83c14f534 only include emulation syscallnames with SYSCALL_DEBUG, it's not used otherwise 2004-09-12 10:38:25 +00:00
he
936dfb04a0 More removal of references to aoutm68k_syscalls.c, following that file's
removal.  Allows our m68k ports to build again.
2004-09-12 08:04:50 +00:00
wiz
be98c25ecf Fix typo in comment. 2004-09-10 22:22:20 +00:00
jdolecek
725814cc94 garbage-collect aoutm68k_syscalls.c, it's just taking up space (it's not used) 2004-09-10 07:11:26 +00:00
tron
e5f111e223 Next attempt to fix the RCS Id. *sigh* 2004-09-09 10:45:52 +00:00
tron
e22003b771 Finish linux_sys_exit_group() with a (never reached) "return" statement so
that GCC will actually compile this.
2004-09-09 07:02:50 +00:00
jdolecek
3b18315bb9 regen: add exit_group(2) 2004-09-08 19:46:17 +00:00
jdolecek
78569d6650 implement basic exit_group(2), which just terminates calling thread;
apparently not many apps use thread groups yet, at least not with default
SuSE 9.1 libraries, so this is enough for now
2004-09-08 19:45:21 +00:00
jdolecek
6b3117d804 do more strict flag checking in clone(2) (matches what Linux does) 2004-09-08 19:41:24 +00:00
jdolecek
ec083dc43c linux_sa_get: g/c curproc use, we get the process as one of arguments 2004-09-05 09:38:17 +00:00
jdolecek
4032a79979 improve the (#ifdef DEBUG_LINUX) socketcall argument dump code:
- print the socketcall type
- special case socket(2) call, it's also the only one with first argument
  not being a socket descriptor
- only dump the relevant part of linux_socketcall_dummy_args, instead
  of always the whole structure
2004-09-05 09:09:02 +00:00
jdolecek
bae3c8fbb8 add some newer clone flags 2004-09-05 07:22:20 +00:00
jdolecek
6cfdd8bdbf dump socketcall data #ifdef DEBUG_LINUX 2004-08-29 20:45:18 +00:00
jdolecek
0659b2b55e in debug log, data dump is more useful unsigned 2004-08-29 20:10:42 +00:00
jdolecek
466a837559 handle mmap() request with MAP_GROWSDOWN flag (request for stack-like
grow-down auto extend segment) by allocating segment sized at
current stack size limit, and offsetting requested/returned address
as required

due to how normal virtual memory management work, allocating the
full sized stack memory segment up-front actually requires exactly same
amount of VA space and physical memory as the Linux 'grow' scheme and the
'grow' scheme is quite a lot more difficult to use in applications correctly,
so it's not very apparent why Linux introduced this feature at all

this fixes Thomas Klausner's Heroes3 crash, and might also
fix PR 26687 by Jan Schaumann
2004-08-29 14:08:06 +00:00
jdolecek
a95e4d7c87 g/c LINUX_MAP_IGNMASK define - it's not used anywhere 2004-08-28 18:58:57 +00:00
jdolecek
b63de69b76 fix debug printf - lm_addr is not pointer anumore 2004-08-24 17:41:54 +00:00
jdolecek
c341a3a03a make struct linux_oldmmap members explicitly unsigned (with exception
of lm_fd, which can be -1), rename lm_pos to lm_offset, g/c some unneeded casts

no functional change
2004-08-22 15:40:41 +00:00
cgd
61d7e536bd Fix my license notice. Back when hpux_exec.c was cloned from
sys/kern/exec_aout.c back in *1995*, apparently the line from my
license notice:
 *    must display the following acknowledgement:
was accidentally dropped.  This mistake was propagated into
hpux_exec_aout.c when it was split out of hpux_exec.c.
(Thanks to hubertf for noticing!)
2004-08-21 22:27:04 +00:00
hubertf
4592bf2278 Fix copyright notice - OK'd by the copyright holder. 2004-08-21 18:58:31 +00:00
mycroft
45a21b76f0 Fixing age old cruft:
* Rather than using mnt_maxsymlinklen to indicate that a file systems returns
  d_type fields(!), add a new internal flag, IMNT_DTYPE.

Add 3 new elements to ufsmount:
* um_maxsymlinklen, replaces mnt_maxsymlinklen (which never should have existed
  in the first place).
* um_dirblksiz, which tracks the current directory block size, eliminating the
  FS-specific checks littered throughout the code.  This may be used later to
  make the block size variable.
* um_maxfilesize, which is the maximum file size, possibly adjusted lower due
  to implementation issues.

Sync some bug fixes from FFS into ext2fs, particularly:
* ffs_lookup.c 1.21, 1.28, 1.33, 1.48
* ffs_inode.c 1.43, 1.44, 1.45, 1.66, 1.67
* ffs_vnops.c 1.84, 1.85, 1.86

Clean up some crappy pointer frobnication.
2004-08-15 07:19:54 +00:00
jdolecek
42d15fca03 on Linux, unlink() fails with EISDIR if the target is directory,
rather than EPERM; to emulate this properly, translate the error to EISDIR
if the target patch exists and points to a directory

this fixes the 'ant clean' problem reported by Marc Recht on current-users@
with SuSE 9.1 libraries
2004-08-13 21:27:32 +00:00
jdolecek
b43cbaf291 fix two bugs in previous:
* flags passed from fork1() are FORK_*, not CLONE_*; thus, correct is to check
  for FORK_SHAREVM, not CLONE_VM
* fix a reference counting bug
2004-08-08 19:52:37 +00:00
jdolecek
a714ac8294 linux processes sharing VM space (via clone() call) must also
share same 'break' value used for brk()/sbrk(), otherwise application SIGSEGVs
quickly once different threads try to adjust data segment size

this fixes linux Mozilla crashes with SuSE 9.1 libraries, and possibly
other linux applications using real threads
2004-08-08 09:40:50 +00:00
jdolecek
74436be135 pass the fork flags down to the emulation fork hook, so that emulation
code can use the information for setup
2004-08-08 08:42:03 +00:00
manu
158fe62cd6 Fix a build problem pointed out by wiz 2004-08-02 18:45:53 +00:00
jdolecek
10a205d5d1 Linux returns ENOMEM (not EFAULT) if the address specified in mprotect()
is not part of process address space

this fixes Linux libgcc_s's stack executability setup
2004-08-01 22:44:10 +00:00
jdolecek
88c36114af regen - sync syscall lists with Linux kernel 2.6.7 2004-08-01 15:38:10 +00:00
jdolecek
6e41cd161f add entries for #403, #404 (unused) 2004-08-01 15:36:23 +00:00
jdolecek
d1d5ac79b4 sync the syscall lists with Linux kernel 2.6.7 2004-08-01 15:34:22 +00:00
jdolecek
945fc3e577 regen:
add stub entries for syscalls added until Linux kernel 2.6.7

move the ARM-specific syscall range up to offset 0x180, to make room
for the new syscalls
2004-08-01 14:17:19 +00:00
jdolecek
2873b62b57 add stub entries for syscalls added until Linux kernel 2.6.7
move the ARM-specific syscall range up to offset 0x180, to make room
for the new syscalls
2004-08-01 14:16:32 +00:00
jdolecek
4b33174cf9 regen:
connect madvise(2) and mincore(2) - apparently the newer Linux libs
don't stub it anymore, so allow the application to take advantage
of them

the Linux calls appear to be compatible in the flag values and semantics,
so a wrapper is not necessary
2004-08-01 10:38:38 +00:00
jdolecek
ae85fa27f7 connect madvise(2) and mincore(2) - apparently the newer Linux libs
don't stub it anymore, so allow the application to take advantage
of them

the Linux calls appear to be compatible in the flag values and semantics,
so a wrapper is not necessary
2004-08-01 10:32:40 +00:00
manu
cdd12932c6 Regen 2004-07-28 22:25:10 +00:00
manu
66fc5fb621 Empty shell for Darwin audit API 2004-07-28 22:24:06 +00:00
manu
bc620e30a6 Added the utrace system call 2004-07-28 21:30:00 +00:00
manu
6c669327ef Add the emul.mach.exception.hang sysctl, which helps catching programs
that die before they disapear. This is usefull because we cannot start
Mach-O binaries under gdb. We attach the hung process instead.
2004-07-27 22:01:56 +00:00
manu
09ee1c0349 The entropy collection sysctl returns the number of record and not the
copied data size.
2004-07-27 20:41:48 +00:00
manu
0a61854f64 Build with debug enabled 2004-07-27 20:41:13 +00:00
chs
f8fa568ead remove the LINUX_SP_WRAP hack since it doesn't seem to be needed anymore,
and removing it lets us go back to mapping the stack non-executable again.
2004-07-25 23:26:44 +00:00
manu
a380f938d4 Added kern.debug.getentropy sysctl 2004-07-25 07:54:54 +00:00
manu
7e06aa42fb Regen 2004-07-24 15:47:23 +00:00