Linuxolator whitespace cleanup

A version of each of the MD files by necessity exists for each CPU
architecture supported by the Linuxolator.  Clean these up so that new
architectures do not inherit whitespace issues.

Clean up shared Linuxolator files while here.

Sponsored by:	Turing Robotic Industries Inc.
This commit is contained in:
emaste 2018-02-05 17:29:12 +00:00
parent 578257632e
commit 5c9ea56c98
35 changed files with 172 additions and 176 deletions

View File

@ -459,7 +459,7 @@ struct l_pollfd {
struct linux_robust_list {
l_uintptr_t next;
};
struct linux_robust_list_head {
struct linux_robust_list list;
l_long futex_offset;

View File

@ -74,7 +74,7 @@ __FBSDID("$FreeBSD$");
#define LINUX_PTRACE_O_TRACEVFORKDONE 32
#define LINUX_PTRACE_O_TRACEEXIT 64
#define LINUX_PTRACE_O_TRACESECCOMP 128
#define LINUX_PTRACE_O_EXITKILL 1048576
#define LINUX_PTRACE_O_EXITKILL 1048576
#define LINUX_PTRACE_O_SUSPEND_SECCOMP 2097152
#define LINUX_NT_PRSTATUS 1
@ -239,7 +239,7 @@ linux_ptrace_setoptions(struct thread *td, pid_t pid, l_ulong data)
if (data & LINUX_PTRACE_O_TRACEFORK)
mask |= PTRACE_FORK;
if (data & LINUX_PTRACE_O_TRACEVFORK)
if (data & LINUX_PTRACE_O_TRACEVFORK)
mask |= PTRACE_VFORK;
if (data & LINUX_PTRACE_O_TRACECLONE)

View File

@ -758,7 +758,7 @@ linux_vsyscall(struct thread *td)
struct trapframe *frame;
uint64_t retqaddr;
int code, traced;
int error;
int error;
frame = td->td_frame;
@ -832,7 +832,7 @@ linux_vdso_install(void *param)
amd64_lower_shared_page(&elf_linux_sysvec);
linux_szsigcode = (&_binary_linux_locore_o_end -
linux_szsigcode = (&_binary_linux_locore_o_end -
&_binary_linux_locore_o_start);
if (linux_szsigcode > elf_linux_sysvec.sv_shared_page_len)

View File

@ -471,10 +471,10 @@
278 AUE_NULL STD { int linux_vmsplice(void); }
279 AUE_NULL STD { int linux_move_pages(void); }
280 AUE_FUTIMESAT STD { int linux_utimensat(l_int dfd, const char *pathname, \
const struct l_timespec *times, l_int flags); }
281 AUE_NULL STD { int linux_epoll_pwait(l_int epfd, struct epoll_event *events, \
l_int maxevents, l_int timeout, l_sigset_t *mask, \
l_size_t sigsetsize); }
const struct l_timespec *times, l_int flags); }
281 AUE_NULL STD { int linux_epoll_pwait(l_int epfd, struct epoll_event *events, \
l_int maxevents, l_int timeout, l_sigset_t *mask, \
l_size_t sigsetsize); }
282 AUE_NULL STD { int linux_signalfd(void); }
283 AUE_NULL STD { int linux_timerfd_create(l_int clockid, l_int flags); }
284 AUE_NULL STD { int linux_eventfd(l_uint initval); }
@ -496,10 +496,10 @@
293 AUE_NULL STD { int linux_pipe2(l_int *pipefds, l_int flags); }
294 AUE_NULL STD { int linux_inotify_init1(l_int flags); }
; linux 2.6.30:
295 AUE_NULL STD { int linux_preadv(l_ulong fd, \
295 AUE_NULL STD { int linux_preadv(l_ulong fd, \
struct iovec *vec, l_ulong vlen, \
l_ulong pos_l, l_ulong pos_h); }
296 AUE_NULL STD { int linux_pwritev(l_ulong fd, \
296 AUE_NULL STD { int linux_pwritev(l_ulong fd, \
struct iovec *vec, l_ulong vlen, \
l_ulong pos_l, l_ulong pos_h); }
; linux 2.6.31:
@ -551,7 +551,7 @@
void *attr, l_uint size, l_uint flags); }
; linux 3.15:
316 AUE_NULL STD { int linux_renameat2(l_int oldfd, \
const char *oldname, l_int newfd, \
const char *oldname, l_int newfd, \
const char *newname, unsigned int flags); }
; linux 3.17:
317 AUE_NULL STD { int linux_seccomp(l_uint op, l_uint flags, \

View File

@ -242,19 +242,19 @@ struct l_stat64 {
l_ulonglong st_ino;
} __packed;
struct l_statfs64 {
l_int f_type;
l_int f_bsize;
uint64_t f_blocks;
uint64_t f_bfree;
uint64_t f_bavail;
uint64_t f_files;
uint64_t f_ffree;
l_fsid_t f_fsid;
l_int f_namelen;
l_int f_frsize;
l_int f_flags;
l_int f_spare[4];
struct l_statfs64 {
l_int f_type;
l_int f_bsize;
uint64_t f_blocks;
uint64_t f_bfree;
uint64_t f_bavail;
uint64_t f_files;
uint64_t f_ffree;
l_fsid_t f_fsid;
l_int f_namelen;
l_int f_frsize;
l_int f_flags;
l_int f_spare[4];
} __packed;
/* sigaction flags */
@ -454,11 +454,11 @@ struct l_sigframe {
struct l_rt_sigframe {
l_int sf_sig;
l_uintptr_t sf_siginfo;
l_uintptr_t sf_siginfo;
l_uintptr_t sf_ucontext;
l_siginfo_t sf_si;
struct l_ucontext sf_sc;
l_handler_t sf_handler;
struct l_ucontext sf_sc;
l_handler_t sf_handler;
} __packed;
/*

View File

@ -8,7 +8,7 @@
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer
* notice, this list of conditions and the following disclaimer
* in this position and unchanged.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the

View File

@ -72,12 +72,12 @@ NON_GPROF_ENTRY(linux32_vsyscall)
.previous
#endif
#define do_cfa_expr(offset) \
.byte 0x0f; /* DW_CFA_def_cfa_expression */ \
.uleb128 11f-10f; /* length */ \
10: .byte 0x74; /* DW_OP_breg4 */ \
.sleb128 offset; /* offset */ \
.byte 0x06; /* DW_OP_deref */ \
#define do_cfa_expr(offset) \
.byte 0x0f; /* DW_CFA_def_cfa_expression */ \
.uleb128 11f-10f; /* length */ \
10: .byte 0x74; /* DW_OP_breg4 */ \
.sleb128 offset; /* offset */ \
.byte 0x06; /* DW_OP_deref */ \
11:

View File

@ -125,7 +125,7 @@ static int elf_linux_fixup(register_t **stack_base,
struct image_params *iparams);
static register_t *linux_copyout_strings(struct image_params *imgp);
static void linux_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask);
static void exec_linux_setregs(struct thread *td,
static void exec_linux_setregs(struct thread *td,
struct image_params *imgp, u_long stack);
static void linux32_fixlimit(struct rlimit *rl, int which);
static boolean_t linux32_trans_osrel(const Elf_Note *note, int32_t *osrel);
@ -298,7 +298,7 @@ linux_rt_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask)
int oonstack;
int sig;
int code;
sig = ksi->ksi_signo;
code = ksi->ksi_code;
PROC_LOCK_ASSERT(p, MA_OWNED);
@ -971,10 +971,8 @@ SYSCTL_ULONG(_compat_linux32, OID_AUTO, maxvmem, CTLFLAG_RW,
&linux32_maxvmem, 0, "");
#if defined(DEBUG)
SYSCTL_PROC(_compat_linux32, OID_AUTO, debug,
CTLTYPE_STRING | CTLFLAG_RW,
0, 0, linux_sysctl_debug, "A",
"Linux debugging control");
SYSCTL_PROC(_compat_linux32, OID_AUTO, debug, CTLTYPE_STRING | CTLFLAG_RW, 0, 0,
linux_sysctl_debug, "A", "Linux debugging control");
#endif
static void
@ -1042,14 +1040,14 @@ struct sysentvec elf_linux_sysvec = {
.sv_shared_page_len = PAGE_SIZE,
.sv_schedtail = linux_schedtail,
.sv_thread_detach = linux_thread_detach,
.sv_trap = NULL,
.sv_trap = NULL,
};
static void
linux_vdso_install(void *param)
{
linux_szsigcode = (&_binary_linux32_locore_o_end -
linux_szsigcode = (&_binary_linux32_locore_o_end -
&_binary_linux32_locore_o_start);
if (linux_szsigcode > elf_linux_sysvec.sv_shared_page_len)

View File

@ -22,7 +22,7 @@
; types:
; STD always included
; UNIMPL not implemented, placeholder only
; NOPROTO same as STD except do not create structure or
; NOPROTO same as STD except do not create structure or
; function prototype in sys/sysproto.h. Does add a
; definition to syscall.h besides adding a sysent.
@ -532,9 +532,9 @@
317 AUE_NULL STD { int linux_move_pages(void); }
; linux 2.6.19:
318 AUE_NULL STD { int linux_getcpu(void); }
319 AUE_NULL STD { int linux_epoll_pwait(l_int epfd, struct epoll_event *events, \
l_int maxevents, l_int timeout, l_sigset_t *mask, \
l_size_t sigsetsize); }
319 AUE_NULL STD { int linux_epoll_pwait(l_int epfd, struct epoll_event *events, \
l_int maxevents, l_int timeout, l_sigset_t *mask, \
l_size_t sigsetsize); }
; linux 2.6.22:
320 AUE_FUTIMESAT STD { int linux_utimensat(l_int dfd, const char *pathname, \
const struct l_timespec *times, l_int flags); }

View File

@ -92,6 +92,6 @@ tick-10s
END
{
printf("Number of locks per type:");
printf("Number of locks per type:");
printa(@stats);
}

View File

@ -140,7 +140,7 @@ linux_proc_init(struct thread *td, struct thread *newtd, int flags)
}
void
void
linux_proc_exit(void *arg __unused, struct proc *p)
{
struct linux_pemuldata *pem;
@ -155,7 +155,7 @@ linux_proc_exit(void *arg __unused, struct proc *p)
pem = pem_find(p);
if (pem == NULL)
return;
return;
(p->p_sysent->sv_thread_detach)(td);
p->p_emuldata = NULL;
@ -170,7 +170,7 @@ linux_proc_exit(void *arg __unused, struct proc *p)
free(pem, M_LINUX);
}
int
int
linux_common_execve(struct thread *td, struct image_args *eargs)
{
struct linux_pemuldata *pem;
@ -218,7 +218,7 @@ linux_common_execve(struct thread *td, struct image_args *eargs)
return (EJUSTRETURN);
}
void
void
linux_proc_exec(void *arg __unused, struct proc *p, struct image_params *imgp)
{
struct thread *td = curthread;

View File

@ -343,7 +343,7 @@ epoll_to_kevent(struct thread *td, struct file *epfp,
return (0);
}
/*
/*
* Structure converting function from kevent to epoll. In a case
* this is called on error in registration we store the error in
* event->data and pick it up later in linux_epoll_ctl().
@ -370,7 +370,7 @@ kevent_to_epoll(struct kevent *kevent, struct epoll_event *l_event)
}
}
/*
/*
* Copyout callback used by kevent. This converts kevent
* events to epoll events and copies them back to the
* userspace. This is also called on error on registering
@ -417,7 +417,7 @@ epoll_kev_copyout(void *arg, struct kevent *kevp, int count)
/*
* Copyin callback used by kevent. This copies already
* converted filters from kernel memory to the kevent
* converted filters from kernel memory to the kevent
* internal kernel memory. Hence the memcpy instead of
* copyin.
*/
@ -600,7 +600,7 @@ linux_epoll_wait_common(struct thread *td, int epfd, struct epoll_event *events,
if (error == 0 && coargs.error != 0)
error = coargs.error;
/*
/*
* kern_kevent might return ENOMEM which is not expected from epoll_wait.
* Maybe we should translate that but I don't think it matters at all.
*/
@ -696,7 +696,7 @@ eventfd_create(struct thread *td, uint32_t initval, int flags)
knlist_init_mtx(&efd->efd_sel.si_note, &efd->efd_lock);
fflags = FREAD | FWRITE;
fflags = FREAD | FWRITE;
if ((flags & LINUX_O_NONBLOCK) != 0)
fflags |= FNONBLOCK;

View File

@ -42,10 +42,10 @@
*/
#define LINUX_POSIX_FADV_NORMAL 0
#define LINUX_POSIX_FADV_RANDOM 1
#define LINUX_POSIX_FADV_SEQUENTIAL 2
#define LINUX_POSIX_FADV_WILLNEED 3
#define LINUX_POSIX_FADV_DONTNEED 4
#define LINUX_POSIX_FADV_NOREUSE 5
#define LINUX_POSIX_FADV_SEQUENTIAL 2
#define LINUX_POSIX_FADV_WILLNEED 3
#define LINUX_POSIX_FADV_DONTNEED 4
#define LINUX_POSIX_FADV_NOREUSE 5
/*
* mount flags

View File

@ -123,7 +123,7 @@ linux_vfork(struct thread *td, struct linux_vfork_args *args)
linux_proc_init(td, td2, 0);
td->td_retval[0] = p2->p_pid;
td->td_retval[0] = p2->p_pid;
/*
* Make this runnable after we are finished with it.
@ -198,12 +198,12 @@ linux_clone_proc(struct thread *td, struct linux_clone_args *args)
if (args->flags & LINUX_CLONE_CHILD_SETTID)
em->child_set_tid = args->child_tidptr;
else
em->child_set_tid = NULL;
em->child_set_tid = NULL;
if (args->flags & LINUX_CLONE_CHILD_CLEARTID)
em->child_clear_tid = args->child_tidptr;
else
em->child_clear_tid = NULL;
em->child_clear_tid = NULL;
if (args->flags & LINUX_CLONE_PARENT_SETTID) {
error = copyout(&p2->p_pid, args->parent_tidptr,
@ -226,7 +226,7 @@ linux_clone_proc(struct thread *td, struct linux_clone_args *args)
linux_set_cloned_tls(td2, args->tls);
/*
* If CLONE_PARENT is set, then the parent of the new process will be
* If CLONE_PARENT is set, then the parent of the new process will be
* the same as that of the calling process.
*/
if (args->flags & LINUX_CLONE_PARENT) {
@ -324,15 +324,15 @@ linux_clone_thread(struct thread *td, struct linux_clone_args *args)
if (args->flags & LINUX_CLONE_CHILD_SETTID)
em->child_set_tid = args->child_tidptr;
else
em->child_set_tid = NULL;
em->child_set_tid = NULL;
if (args->flags & LINUX_CLONE_CHILD_CLEARTID)
em->child_clear_tid = args->child_tidptr;
else
em->child_clear_tid = NULL;
em->child_clear_tid = NULL;
cpu_thread_clean(newtd);
linux_set_upcall_kse(newtd, PTROUT(args->stack));
PROC_LOCK(p);
@ -465,7 +465,7 @@ linux_thread_detach(struct thread *td)
LINUX_CTR2(thread_detach, "thread(%d) %p",
em->em_tid, child_clear_tid);
error = suword32(child_clear_tid, 0);
if (error != 0)
return;

View File

@ -241,7 +241,7 @@ linux_ioctl_hdio(struct thread *td, struct linux_ioctl_args *args)
#if defined(DEBUG)
linux_msg(td, "HDIO_GET_GEO: mediasize %jd, c/h/s %d/%d/%d, "
"bpc %jd",
(intmax_t)mediasize, fwcylinders, fwheads, fwsectors,
(intmax_t)mediasize, fwcylinders, fwheads, fwsectors,
(intmax_t)bytespercyl);
#endif
if ((args->cmd & 0xffff) == LINUX_HDIO_GET_GEO) {
@ -1050,7 +1050,7 @@ linux_ioctl_termio(struct thread *td, struct linux_ioctl_args *args)
break;
case LINUX_TIOCGPTN: {
int nb;
error = fo_ioctl(fp, TIOCGPTN, (caddr_t)&nb, td->td_ucred, td);
if (!error)
error = copyout(&nb, (void *)args->arg,
@ -2319,7 +2319,7 @@ linux_ifconf(struct thread *td, struct ifconf *uifc)
goto again;
}
ifc.ifc_len = valid_len;
ifc.ifc_len = valid_len;
sbuf_finish(sb);
error = copyout(sbuf_data(sb), PTRIN(ifc.ifc_buf), ifc.ifc_len);
if (error == 0)
@ -2393,12 +2393,12 @@ bsd_to_linux_ifreq(struct ifreq *arg)
struct ifreq ifr;
size_t ifr_len = sizeof(struct ifreq);
int error;
if ((error = copyin(arg, &ifr, ifr_len)))
return (error);
*(u_short *)&ifr.ifr_addr = ifr.ifr_addr.sa_family;
error = copyout(&ifr, arg, ifr_len);
return (error);
@ -2980,7 +2980,7 @@ linux_v4l_cliplist_copy(struct l_video_window *lvw, struct video_window *vw)
}
}
ppvc = &((*ppvc)->next);
plvc = PTRIN(((struct l_video_clip *) plvc)->next);
plvc = PTRIN(((struct l_video_clip *) plvc)->next);
}
} else {
/*

View File

@ -252,7 +252,7 @@
#define LINUX_IOCTL_SOCKET_MAX LINUX_SIOCGIFCOUNT
/*
* Device private ioctl calls
* Device private ioctl calls
*/
#define LINUX_SIOCDEVPRIVATE 0x89F0 /* to 89FF */
#define LINUX_IOCTL_PRIVATE_MIN LINUX_SIOCDEVPRIVATE
@ -430,7 +430,7 @@
/* In addition to the termio values */
#define LINUX_VSTART 8
#define LINUX_VSTOP 9
#define LINUX_VSUSP 10
#define LINUX_VSUSP 10
#define LINUX_VEOL 11
#define LINUX_VREPRINT 12
#define LINUX_VDISCARD 13

View File

@ -731,8 +731,8 @@ linux_msgctl(struct thread *td, struct linux_msgctl_args *args)
return (error);
}
/*
* TODO: implement this
/*
* TODO: implement this
* case LINUX_MSG_STAT:
*/
case LINUX_IPC_STAT:

View File

@ -86,7 +86,7 @@
#if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32))
struct linux_msgctl_args
struct linux_msgctl_args
{
l_int msqid;
l_int cmd;

View File

@ -149,7 +149,7 @@ struct l_shminfo64 {
l_ulong shmmni;
l_ulong shmseg;
l_ulong shmall;
l_ulong __unused1;
l_ulong __unused1;
l_ulong __unused2;
l_ulong __unused3;
l_ulong __unused4;

View File

@ -116,7 +116,7 @@ int stclohz; /* Statistics clock frequency */
static unsigned int linux_to_bsd_resource[LINUX_RLIM_NLIMITS] = {
RLIMIT_CPU, RLIMIT_FSIZE, RLIMIT_DATA, RLIMIT_STACK,
RLIMIT_CORE, RLIMIT_RSS, RLIMIT_NPROC, RLIMIT_NOFILE,
RLIMIT_MEMLOCK, RLIMIT_AS
RLIMIT_MEMLOCK, RLIMIT_AS
};
struct l_sysinfo {
@ -839,7 +839,7 @@ linux_utimensat_nsec_valid(l_long nsec)
return (1);
}
int
int
linux_utimensat(struct thread *td, struct linux_utimensat_args *args)
{
struct l_timespec l_times[2];
@ -914,7 +914,7 @@ linux_utimensat(struct thread *td, struct linux_utimensat_args *args)
error = kern_futimens(td, dfd, timesp, UIO_SYSSPACE);
else {
error = kern_utimensat(td, dfd, path, UIO_SYSSPACE, timesp,
UIO_SYSSPACE, flags);
UIO_SYSSPACE, flags);
LFREEPATH(path);
}
@ -1222,7 +1222,7 @@ struct l_itimerval {
l_timeval it_value;
};
#define B2L_ITIMERVAL(bip, lip) \
#define B2L_ITIMERVAL(bip, lip) \
(bip)->it_interval.tv_sec = (lip)->it_interval.tv_sec; \
(bip)->it_interval.tv_usec = (lip)->it_interval.tv_usec; \
(bip)->it_value.tv_sec = (lip)->it_value.tv_sec; \

View File

@ -12,7 +12,7 @@
*/
enum {
LINUX_UNAME26 = 0x0020000,
LINUX_ADDR_NO_RANDOMIZE = 0x0040000, /* disable randomization
LINUX_ADDR_NO_RANDOMIZE = 0x0040000, /* disable randomization
* of VA space
*/
LINUX_FDPIC_FUNCPTRS = 0x0080000, /* userspace function

View File

@ -436,7 +436,7 @@ linux_rt_sigtimedwait(struct thread *td,
tv.tv_sec = (long)ltv.tv_sec;
tv.tv_usec = (suseconds_t)ltv.tv_usec;
if (itimerfix(&tv)) {
/*
/*
* The timeout was invalid. Convert it to something
* valid that will act as it does under Linux.
*/
@ -475,7 +475,7 @@ linux_rt_sigtimedwait(struct thread *td,
error = copyout(&linfo, args->ptr, sizeof(linfo));
}
if (error == 0)
td->td_retval[0] = sig;
td->td_retval[0] = sig;
return (error);
}

View File

@ -170,7 +170,7 @@ linux_getsockaddr(struct sockaddr **sap, const struct osockaddr *osa, int salen)
name = ((struct sockaddr_un *)kosa)->sun_path;
if (*name == '\0') {
/*
* Linux abstract namespace starts with a NULL byte.
* Linux abstract namespace starts with a NULL byte.
* XXX We do not support abstract namespace yet.
*/
namelen = strnlen(name + 1, salen - hdrlen - 1) + 1;
@ -761,7 +761,7 @@ linux_bind(struct thread *td, struct linux_bind_args *args)
error = kern_bindat(td, AT_FDCWD, args->s, sa);
free(sa, M_SONAME);
if (error == EADDRNOTAVAIL && args->namelen != sizeof(struct sockaddr_in))
return (EINVAL);
return (EINVAL);
return (error);
}

View File

@ -152,19 +152,19 @@ struct linux_accept_args {
int linux_accept(struct thread *td, struct linux_accept_args *args);
/* Operations for socketcall */
#define LINUX_SOCKET 1
#define LINUX_SOCKET 1
#define LINUX_BIND 2
#define LINUX_CONNECT 3
#define LINUX_LISTEN 4
#define LINUX_ACCEPT 5
#define LINUX_CONNECT 3
#define LINUX_LISTEN 4
#define LINUX_ACCEPT 5
#define LINUX_GETSOCKNAME 6
#define LINUX_GETPEERNAME 7
#define LINUX_SOCKETPAIR 8
#define LINUX_SEND 9
#define LINUX_RECV 10
#define LINUX_SENDTO 11
#define LINUX_RECVFROM 12
#define LINUX_SHUTDOWN 13
#define LINUX_SENDTO 11
#define LINUX_RECVFROM 12
#define LINUX_SHUTDOWN 13
#define LINUX_SETSOCKOPT 14
#define LINUX_GETSOCKOPT 15
#define LINUX_SENDMSG 16

View File

@ -437,7 +437,7 @@ linux_clock_getres(struct thread *td, struct linux_clock_getres_args *args)
}
/*
* Check user supplied clock id in case of per-process
* Check user supplied clock id in case of per-process
* or thread-specific cpu-time clock.
*/
switch (nwhich) {
@ -464,7 +464,7 @@ linux_clock_getres(struct thread *td, struct linux_clock_getres_args *args)
if (args->tp == NULL) {
LIN_SDT_PROBE0(time, linux_clock_getres, nullcall);
LIN_SDT_PROBE1(time, linux_clock_getres, return, 0);
return (0);
return (0);
}
switch (nwhich) {

View File

@ -64,7 +64,7 @@ int linux_emul_convpath(struct thread *, const char *, enum uio_seg, char **, in
return (_error); \
} while (0)
#define LCONVPATH(td, upath, pathp, i) \
#define LCONVPATH(td, upath, pathp, i) \
LCONVPATH_AT(td, upath, pathp, i, AT_FDCWD)
#define LCONVPATHEXIST(td, upath, pathp) LCONVPATH(td, upath, pathp, 0)

View File

@ -57,7 +57,7 @@ linuxulator*:::return
@stats[probeprov, execname, probefunc] = quantize(this->timediff);
@longest[probeprov, probefunc] = max(this->timediff);
self->time[probefunc] = 0;
}

View File

@ -157,10 +157,10 @@ linuxulator*:futex::return
{
this->timediff = self->time[probefunc] - timestamp;
@timestats[probeprov, execname, probefunc] = quantize(this->timediff);
@longest[probeprov, probefunc] = max(this->timediff);
@timestats[probeprov, execname, probefunc] = quantize(this->timediff);
@longest[probeprov, probefunc] = max(this->timediff);
self->time[probefunc] = 0;
self->time[probefunc] = 0;
}

View File

@ -217,19 +217,19 @@ struct l_stat64 {
l_ulonglong st_ino;
};
struct l_statfs64 {
l_int f_type;
l_int f_bsize;
uint64_t f_blocks;
uint64_t f_bfree;
uint64_t f_bavail;
uint64_t f_files;
uint64_t f_ffree;
l_fsid_t f_fsid;
l_int f_namelen;
l_int f_frsize;
l_int f_flags;
l_int f_spare[4];
struct l_statfs64 {
l_int f_type;
l_int f_bsize;
uint64_t f_blocks;
uint64_t f_bfree;
uint64_t f_bavail;
uint64_t f_files;
uint64_t f_ffree;
l_fsid_t f_fsid;
l_int f_namelen;
l_int f_frsize;
l_int f_flags;
l_int f_spare[4];
};
#define LINUX_NSIG_WORDS 2
@ -431,11 +431,11 @@ struct l_sigframe {
struct l_rt_sigframe {
l_int sf_sig;
l_siginfo_t *sf_siginfo;
l_siginfo_t *sf_siginfo;
struct l_ucontext *sf_ucontext;
l_siginfo_t sf_si;
struct l_ucontext sf_sc;
l_handler_t sf_handler;
struct l_ucontext sf_sc;
l_handler_t sf_handler;
};
extern struct sysentvec linux_sysvec;

View File

@ -8,7 +8,7 @@
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer
* notice, this list of conditions and the following disclaimer
* in this position and unchanged.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the

View File

@ -65,12 +65,12 @@ NON_GPROF_ENTRY(linux_vsyscall)
.previous
#endif
#define do_cfa_expr(offset) \
.byte 0x0f; /* DW_CFA_def_cfa_expression */ \
.uleb128 11f-10f; /* length */ \
10: .byte 0x74; /* DW_OP_breg4 */ \
.sleb128 offset; /* offset */ \
.byte 0x06; /* DW_OP_deref */ \
#define do_cfa_expr(offset) \
.byte 0x0f; /* DW_CFA_def_cfa_expression */ \
.uleb128 11f-10f; /* length */ \
10: .byte 0x74; /* DW_OP_breg4 */ \
.sleb128 offset; /* offset */ \
.byte 0x06; /* DW_OP_deref */ \
11:

View File

@ -282,7 +282,7 @@ linux_set_cloned_tls(struct thread *td, void *desc)
} else {
idx = info.entry_number;
/*
/*
* looks like we're getting the idx we returned
* in the set_thread_area() syscall
*/
@ -293,8 +293,8 @@ linux_set_cloned_tls(struct thread *td, void *desc)
/* this doesnt happen in practice */
if (idx == 6) {
/* we might copy out the entry_number as 3 */
info.entry_number = 3;
/* we might copy out the entry_number as 3 */
info.entry_number = 3;
error = copyout(&info, desc, sizeof(struct l_user_desc));
if (error)
printf(LMSG("copyout failed!"));
@ -638,51 +638,51 @@ linux_set_thread_area(struct thread *td, struct linux_set_thread_area_args *args
#ifdef DEBUG
if (ldebug(set_thread_area))
printf(ARGS(set_thread_area, "%i, %x, %x, %i, %i, %i, %i, %i, %i\n"),
printf(ARGS(set_thread_area, "%i, %x, %x, %i, %i, %i, %i, %i, %i\n"),
info.entry_number,
info.base_addr,
info.limit,
info.seg_32bit,
info.base_addr,
info.limit,
info.seg_32bit,
info.contents,
info.read_exec_only,
info.limit_in_pages,
info.seg_not_present,
info.useable);
info.read_exec_only,
info.limit_in_pages,
info.seg_not_present,
info.useable);
#endif
idx = info.entry_number;
/*
/*
* Semantics of linux version: every thread in the system has array of
* 3 tls descriptors. 1st is GLIBC TLS, 2nd is WINE, 3rd unknown. This
* 3 tls descriptors. 1st is GLIBC TLS, 2nd is WINE, 3rd unknown. This
* syscall loads one of the selected tls decriptors with a value and
* also loads GDT descriptors 6, 7 and 8 with the content of the
* per-thread descriptors.
*
* Semantics of fbsd version: I think we can ignore that linux has 3
* Semantics of fbsd version: I think we can ignore that linux has 3
* per-thread descriptors and use just the 1st one. The tls_array[]
* is used only in set/get-thread_area() syscalls and for loading the
* GDT descriptors. In fbsd we use just one GDT descriptor for TLS so
* we will load just one.
* we will load just one.
*
* XXX: this doesn't work when a user space process tries to use more
* than 1 TLS segment. Comment in the linux sources says wine might do
* this.
*/
/*
* we support just GLIBC TLS now
/*
* we support just GLIBC TLS now
* we should let 3 proceed as well because we use this segment so
* if code does two subsequent calls it should succeed
*/
if (idx != 6 && idx != -1 && idx != 3)
return (EINVAL);
/*
/*
* we have to copy out the GDT entry we use
* FreeBSD uses GDT entry #3 for storing %gs so load that
*
* XXX: what if a user space program doesn't check this value and tries
* to use 6, 7 or 8?
* to use 6, 7 or 8?
*/
idx = info.entry_number = 3;
error = copyout(&info, args->desc, sizeof(struct l_user_desc));
@ -700,7 +700,7 @@ linux_set_thread_area(struct thread *td, struct linux_set_thread_area_args *args
memcpy(&sd, &a, sizeof(a));
#ifdef DEBUG
if (ldebug(set_thread_area))
printf("Segment created in set_thread_area: lobase: %x, hibase: %x, lolimit: %x, hilimit: %x, type: %i, dpl: %i, p: %i, xx: %i, def32: %i, gran: %i\n", sd.sd_lobase,
printf("Segment created in set_thread_area: lobase: %x, hibase: %x, lolimit: %x, hilimit: %x, type: %i, dpl: %i, p: %i, xx: %i, def32: %i, gran: %i\n", sd.sd_lobase,
sd.sd_hibase,
sd.sd_lolimit,
sd.sd_hilimit,
@ -719,14 +719,14 @@ linux_set_thread_area(struct thread *td, struct linux_set_thread_area_args *args
PCPU_GET(fsgs_gdt)[1] = sd;
load_gs(GSEL(GUGS_SEL, SEL_UPL));
critical_exit();
return (0);
}
int
linux_get_thread_area(struct thread *td, struct linux_get_thread_area_args *args)
{
struct l_user_desc info;
int error;
int idx;
@ -767,7 +767,7 @@ linux_get_thread_area(struct thread *td, struct linux_get_thread_area_args *args
error = copyout(&info, args->desc, sizeof(struct l_user_desc));
if (error)
return (EFAULT);
return (EFAULT);
return (0);
}
@ -777,7 +777,7 @@ int
linux_mq_open(struct thread *td, struct linux_mq_open_args *args)
{
#ifdef P1003_1B_MQUEUE
return sys_kmq_open(td, (struct kmq_open_args *) args);
return sys_kmq_open(td, (struct kmq_open_args *) args);
#else
return (ENOSYS);
#endif
@ -787,7 +787,7 @@ int
linux_mq_unlink(struct thread *td, struct linux_mq_unlink_args *args)
{
#ifdef P1003_1B_MQUEUE
return sys_kmq_unlink(td, (struct kmq_unlink_args *) args);
return sys_kmq_unlink(td, (struct kmq_unlink_args *) args);
#else
return (ENOSYS);
#endif
@ -797,7 +797,7 @@ int
linux_mq_timedsend(struct thread *td, struct linux_mq_timedsend_args *args)
{
#ifdef P1003_1B_MQUEUE
return sys_kmq_timedsend(td, (struct kmq_timedsend_args *) args);
return sys_kmq_timedsend(td, (struct kmq_timedsend_args *) args);
#else
return (ENOSYS);
#endif
@ -807,7 +807,7 @@ int
linux_mq_timedreceive(struct thread *td, struct linux_mq_timedreceive_args *args)
{
#ifdef P1003_1B_MQUEUE
return sys_kmq_timedreceive(td, (struct kmq_timedreceive_args *) args);
return sys_kmq_timedreceive(td, (struct kmq_timedreceive_args *) args);
#else
return (ENOSYS);
#endif
@ -827,7 +827,7 @@ int
linux_mq_getsetattr(struct thread *td, struct linux_mq_getsetattr_args *args)
{
#ifdef P1003_1B_MQUEUE
return sys_kmq_setattr(td, (struct kmq_setattr_args *) args);
return sys_kmq_setattr(td, (struct kmq_setattr_args *) args);
#else
return (ENOSYS);
#endif

View File

@ -46,7 +46,7 @@ ENTRY(futex_xchgl)
movl 4(%esp),%eax
movl 8(%esp),%edx
cmpl $VM_MAXUSER_ADDRESS-4,%edx
ja futex_fault
ja futex_fault
xchgl %eax,(%edx)
movl 12(%esp),%edx
movl %eax,(%edx)
@ -60,7 +60,7 @@ ENTRY(futex_addl)
movl 4(%esp),%eax
movl 8(%esp),%edx
cmpl $VM_MAXUSER_ADDRESS-4,%edx
ja futex_fault
ja futex_fault
#ifdef SMP
lock
#endif
@ -76,7 +76,7 @@ ENTRY(futex_orl)
movl $futex_fault_decx,PCB_ONFAULT(%ecx)
movl 8(%esp),%edx
cmpl $VM_MAXUSER_ADDRESS-4,%edx
ja futex_fault
ja futex_fault
movl (%edx),%eax
1: movl %eax,%ecx
orl 4(%esp),%ecx
@ -85,7 +85,7 @@ ENTRY(futex_orl)
#endif
cmpxchgl %ecx,(%edx)
jnz 1b
futex_tail:
futex_tail:
movl 12(%esp),%edx
movl %eax,(%edx)
xorl %eax,%eax
@ -98,7 +98,7 @@ ENTRY(futex_andl)
movl $futex_fault_decx,PCB_ONFAULT(%ecx)
movl 8(%esp),%edx
cmpl $VM_MAXUSER_ADDRESS-4,%edx
ja futex_fault
ja futex_fault
movl (%edx),%eax
1: movl %eax,%ecx
andl 4(%esp),%ecx
@ -114,7 +114,7 @@ ENTRY(futex_xorl)
movl $futex_fault_decx,PCB_ONFAULT(%ecx)
movl 8(%esp),%edx
cmpl $VM_MAXUSER_ADDRESS-4,%edx
ja futex_fault
ja futex_fault
movl (%edx),%eax
1: movl %eax,%ecx
xorl 4(%esp),%ecx

View File

@ -85,10 +85,8 @@ MODULE_VERSION(linux, 1);
#endif
#if defined(DEBUG)
SYSCTL_PROC(_compat_linux, OID_AUTO, debug,
CTLTYPE_STRING | CTLFLAG_RW,
0, 0, linux_sysctl_debug, "A",
"Linux debugging control");
SYSCTL_PROC(_compat_linux, OID_AUTO, debug, CTLTYPE_STRING | CTLFLAG_RW, 0, 0,
linux_sysctl_debug, "A", "Linux debugging control");
#endif
/*
@ -436,7 +434,7 @@ linux_rt_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask)
int oonstack;
sig = ksi->ksi_signo;
code = ksi->ksi_code;
code = ksi->ksi_code;
PROC_LOCK_ASSERT(p, MA_OWNED);
psp = p->p_sigacts;
mtx_assert(&psp->ps_mtx, MA_OWNED);
@ -873,8 +871,8 @@ linux_fetch_syscall_args(struct thread *td)
if (sa->code >= p->p_sysent->sv_size)
/* nosys */
sa->callp = &p->p_sysent->sv_table[p->p_sysent->sv_size - 1];
else
sa->callp = &p->p_sysent->sv_table[sa->code];
else
sa->callp = &p->p_sysent->sv_table[sa->code];
sa->narg = sa->callp->sy_narg;
td->td_retval[0] = 0;
@ -1035,7 +1033,7 @@ static void
linux_vdso_install(void *param)
{
linux_szsigcode = (&_binary_linux_locore_o_end -
linux_szsigcode = (&_binary_linux_locore_o_end -
&_binary_linux_locore_o_start);
if (linux_szsigcode > elf_linux_sysvec.sv_shared_page_len)

View File

@ -22,7 +22,7 @@
; types:
; STD always included
; UNIMPL not implemented, placeholder only
; NOPROTO same as STD except do not create structure or
; NOPROTO same as STD except do not create structure or
; function prototype in sys/sysproto.h. Does add a
; definition to syscall.h besides adding a sysent.
@ -541,8 +541,8 @@
; linux 2.6.19:
318 AUE_NULL STD { int linux_getcpu(void); }
319 AUE_NULL STD { int linux_epoll_pwait(l_int epfd, struct epoll_event *events, \
l_int maxevents, l_int timeout, l_sigset_t *mask, \
l_size_t sigsetsize); }
l_int maxevents, l_int timeout, l_sigset_t *mask, \
l_size_t sigsetsize); }
; linux 2.6.22:
320 AUE_FUTIMESAT STD { int linux_utimensat(l_int dfd, const char *pathname, \
const struct l_timespec *times, l_int flags); }
@ -567,10 +567,10 @@
331 AUE_NULL STD { int linux_pipe2(l_int *pipefds, l_int flags); }
332 AUE_NULL STD { int linux_inotify_init1(void); }
; linux 2.6.30:
333 AUE_NULL STD { int linux_preadv(l_ulong fd, \
333 AUE_NULL STD { int linux_preadv(l_ulong fd, \
struct iovec *vec, l_ulong vlen, \
l_ulong pos_l, l_ulong pos_h); }
334 AUE_NULL STD { int linux_pwritev(l_ulong fd, \
334 AUE_NULL STD { int linux_pwritev(l_ulong fd, \
struct iovec *vec, l_ulong vlen, \
l_ulong pos_l, l_ulong pos_h); }
; linux 2.6.31:
@ -620,7 +620,7 @@
void *attr, l_uint size, l_uint flags); }
; linux 3.15:
353 AUE_NULL STD { int linux_renameat2(l_int oldfd, \
const char *oldname, l_int newfd, \
const char *oldname, l_int newfd, \
const char *newname, unsigned int flags); }
; linux 3.17:
354 AUE_NULL STD { int linux_seccomp(l_uint op, l_uint flags, \