Commit Graph

388 Commits

Author SHA1 Message Date
christos 10ecebd46a implement getdents64; my full java tree builds now. 2002-04-10 18:19:34 +00:00
christos bd432c1642 PR/16236: Joachim Koenig-Baltes: Linux emulation connect requires IPV6.
Apparently the sockaddr len fix was only compiled when IPV6 was enabled.
2002-04-08 14:00:31 +00:00
tron d09c25ca9a Set default kernel version of Linux emulation to 2.4.18 on the i386 port.
It has been successfully tested using SuSE 7.3 libraries and binaries with
many applications.
2002-04-04 09:32:11 +00:00
christos cb483bd247 make this compile on archs that don't define linux signals. 2002-04-03 17:18:21 +00:00
christos f28b55d327 provide missing types for arch's that don't have specific linux_types.h 2002-04-03 17:13:32 +00:00
christos aa3369abe2 don't bail out if we don't have an arch/siginfo.h because we are being used
from userland.
2002-04-03 17:02:12 +00:00
tron 9121bc2ec4 Fix a cut and paste error in the emulation of getresgid(2): it returned
the effective user id as effective group id.
2002-04-03 14:28:36 +00:00
fvdl 221107a13b Use shmat1(), and tell it to find removed segments. 2002-04-03 11:54:37 +00:00
fvdl 7fc44e13a8 Allocate the right size for the native gid_t array in setgroups16. 2002-04-03 10:17:01 +00:00
christos fa33d13de9 Don't blow up if we don't have a machine dependend linux_signal.h.
kdump includes linux_signo.c
2002-04-02 23:25:07 +00:00
jdolecek ee37f0c738 rename sysctl_linux() to linux_sysctl() and hook it into emul_linux 2002-04-02 20:23:43 +00:00
christos 840887afee bring the reverse signal mapping array into linux_signo.c 2002-03-31 22:40:16 +00:00
christos ac29fb3782 make signal array handling uniform, and put signal arrays in a separate
file. This is simular to errno array handling.
2002-03-31 22:22:43 +00:00
christos 018a4082cc - #undef DPRINTF for files that are included from other files.
- more debugging for socketcalls
- fix sa_len if AF_INET; somehow we get passed 28 instead of 16?
2002-03-29 20:49:40 +00:00
jdolecek 3089d90eeb add explicit comment a FILE_USE() is not needed here 2002-03-24 15:12:45 +00:00
jdolecek 0b5e2aba9a Fix problem with assumption non-socket == vnode in F_{G,S}ETOWN different way
(revisions 1.47 & 1.48 effectively backed off):
* for all but vnodes, just fallback to sys_fcntl(); assumming
  state of support for F_SETOWN/F_GETOWN and even hardcoding it here is
  not right (e.g. rev. 1.47 had this incorrect for DTYPE_PIPE)
* fallback to sys_fcntl() also for vnodes which don't represent tty
* don't need to use FILE_{,UN}USE() here, the code won't block while
  using the pointer
* add/fix some comments
2002-03-24 00:32:34 +00:00
christos 3c2d0dbff9 correct placement for FILE_UNUSE [from Izumi Tsutsui] 2002-03-23 15:36:15 +00:00
christos 65fc8539e4 gc debugging printfs. 2002-03-22 17:14:18 +00:00
christos 8b2467a1e9 nuke mmap2, cleanup mmap, add mprotect 2002-03-22 15:21:28 +00:00
christos b02cb6b16f implement the locking calls for linux_file64. 2002-03-22 14:54:49 +00:00
christos 3b57c6607c - obey FILE_USE and FILE_UNUSE
- don't assume that non sockets point to vnodes.
2002-03-22 14:53:26 +00:00
christos d9ada7eabf Don't bitch if we don't have support for a particular arch. This makes it
easier to include this header from userland binaries [sysctl] on archs that
don't support compat-linux without incurring ifdef hell.
2002-03-21 13:23:48 +00:00
christos 50981e06bc emulation specific sysctls. Also change the kernel date to nov 11 as requested
by bad.
2002-03-20 00:27:58 +00:00
christos bda4b15e05 - Now that RT-signals fit, fix the array to deliver them. [i386 only].
- jdk-1.4 works perfectly now. :-)
2002-03-19 20:51:59 +00:00
christos 381e6a7764 make the stackgap_{init,alloc} functions MP friendly (i.e. pass struct proc *
in, instead of using curproc). While there add an optional size argument to
stackgap_init.
2002-03-16 20:43:48 +00:00
christos 07a8b6bf28 proper statfs emulation... 2002-02-20 17:03:03 +00:00
christos 227c487828 allow writing of kernel.version, kernel.osrelease, kernel.ostype... I might
revert that l8r if I come up with something better.
2002-02-20 17:02:48 +00:00
christos e52b5e4bfb Resolve alpha compile issues:
- bug with order in args in mask conversion md code.
- flags can be both int and long on the alpha. kludge around that, by not
  passing pointers to the conversion function.
- something is wrong with the toolchain look at the void * cast in copyout().
- sa_restorer is in a different place on the aplha. Deal with that, by not
  initializing it as before. XXX: this should be changed in the MD signal
  definition.
2002-02-18 22:24:17 +00:00
jdolecek 2558157b0b Back off previous partially - make linux_release[] back 2.0.38
and linux_version[] "#0 Sun Apr 1 11:11:11 MET 2000";". Add a BIG
WARNING MESSAGE so that people won't break things changing this.
2002-02-18 18:51:51 +00:00
rafal efdd3f2dd7 There is no linux_sys_ugetrlimit on mips, so don't try building it (XXX: adds
icky ifdefs)
2002-02-17 23:56:35 +00:00
christos 57c8cc95f1 s/printf/uprintf/ 2002-02-15 20:02:56 +00:00
christos 28debea38a - add a real linux_sys___sysctl because the mib numbers are different.
implement only the kernel version getting entries.
- make the signal conversion functions consistent; dest is arg 1.
- make linux_fakedev deal with block and char devices differently.
- add linux_sys_ugetrlimit, and flesh out the regular get/setrlimit so
  that they work properly.
- add linux_mmap2 [untested].
- bump kernel to 2.4.18, and make the date be valentine's day :-)
- linux_sys_*stat64 family was totally busted. Fix it.

tested only on i386.

Status:
	gdb, telnet, work
	jdk-1.4.0 extractor works, jdk still coredumps.

christos
2002-02-15 16:47:58 +00:00
bjh21 4929dc576f Add support for PTRACE_GETREGS and PTRACE_SETREGS in ARMLinux emulation. 2002-01-27 15:11:38 +00:00
bjh21 72e7652233 Fix typo in last commit. 2002-01-17 21:19:22 +00:00
bjh21 16ee93eb67 On platforms that don't __HAVE_SYSCALL_INTERN, define LINUX_SYSCALL_FUNCTION
to be the value of emul_linux.e_syscall that we want.  This allows it to differ
between machines, so I can have a separate linux_syscall() on arm.
2002-01-17 17:19:03 +00:00
rjs 01529df446 Include arch/arm/linux_errno.h for arm build. 2002-01-17 15:11:38 +00:00
rjs 0046c56309 Add arm to #endif comment. 2002-01-17 15:10:26 +00:00
bjh21 6462506466 Crude first cut at ARMLinux binary compatibility. Successfully runs
"/emul/linux/bin/echo hello, world", dynamically linked.
2002-01-14 23:14:32 +00:00
augustss fa18fdc168 Add some missing ioctl()s. From Tommy Bohlin in PR kern/14414. 2001-12-19 15:20:16 +00:00
chs 8e9cdbbd63 replace "vnode" and "vtext" with "file" and "exec" in uvmexp field names. 2001-12-09 03:07:43 +00:00
lukem 2565646230 don't need <sys/types.h> when including <sys/param.h> 2001-11-15 09:47:59 +00:00
lukem dab6ef8b56 add RCSIDs (including regeneration of files as appropriate) 2001-11-13 02:07:52 +00:00
thorpej e8ee04475d - Add a new vnode flag VEXECMAP, which indicates that a vnode has
executable mappings.  Stop overloading VTEXT for this purpose (VTEXT
  also has another meaning).
- Rename vn_marktext() to vn_markexec(), and use it when executable
  mappings of a vnode are established.
- In places where we want to set VTEXT, set it in v_flag directly, rather
  than making a function call to do this (it no longer makes sense to
  use a function call, since we no longer overload VTEXT with VEXECMAP's
  meaning).

VEXECMAP suggested by Chuq Silvers.
2001-10-30 15:32:01 +00:00
manu abcf0c8406 Fixed a minor problem so that it builds 2001-10-14 17:15:58 +00:00
manu a9c8120ff3 Fixes my last commit: only mips really need fcntl64 to work now. i386 and
powerpc could use it later if needed. m68k and alpha should never need it.
2001-09-30 20:44:49 +00:00
manu 238328fb7a Added initial support for fcntl64 system call (file locking is not
implemented)
2001-09-30 16:04:03 +00:00
manu e302bb5bc5 Enable Mips Linux emulation in header files 2001-09-22 21:24:16 +00:00
manu 40a2d61d92 Fixes for mips support 2001-09-22 21:22:57 +00:00
jdolecek ef8abe0767 Make the setregs hook emulation-specific, rather than executable
format specific.
Struct emul has a e_setregs hook back, which points to emulation-specific
setregs function. es_setregs of struct execsw now only points to
optional executable-specific setup function (this is only used for
ECOFF).
2001-09-18 19:36:32 +00:00
fvdl 2c344fe7d9 Allow the old-style sockaddr_in6 for v6 addresses for which the
scope id is irrelevant. Makes netscape6 for Linux work again,
which uses v4-mapped addresses to connect to v4 sites.
2001-09-08 14:19:09 +00:00