]>
CyberLeo.Net >> Repos - FreeBSD/stable/10.git/log
dchagin [Sat, 9 Jan 2016 18:22:09 +0000 (18:22 +0000)]
MFC r284166 (by jkim):
Properly initialize flags for accept4(2) not to return spurious EINVAL.
Note this fixes a Linuxulator regression introduced in r283490.
PR: 200662
git-svn-id: svn://svn.freebsd.org/base/stable/10@293605
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 18:19:18 +0000 (18:19 +0000)]
MFC r284159:
Futex is an aligned 32-bit integer. Use the proper instruction and
operand when dereferencing futex pointer.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293604
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 18:17:58 +0000 (18:17 +0000)]
MFC r284051:
Finish r283544. In exec case properly detach threads from user space
before suicide.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293603
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 18:16:36 +0000 (18:16 +0000)]
MFC r283680, r283681:
Move linux64 and linux_common to it's right place and make them not
depend on bhyve.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293602
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 18:09:07 +0000 (18:09 +0000)]
MFC r283569 (by nyan):
MFi386: r283407
Implement vdso - virtual dynamic shared object.
MFi386: r283474
Rework signal code to allow using it by other modules, like linprocfs.
MFi386: r283506
For objcopy, use --input-target and --output-target.
This fixes pc98 build.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293601
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 18:07:48 +0000 (18:07 +0000)]
MFC r283544:
When I merged the lemul branch I missied kib@'s r282708 commit.
This is not the final fix as I need properly cleanup thread resources
before other threads suicide.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293600
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 18:06:38 +0000 (18:06 +0000)]
MFC r283506 (by rodrigc):
For objcopy, use --input-target and --output-target
When building with gcc 4.9 and binutils 2.25,
using '--input' and '--output' returns an error
message:
objcopy: option `--input' is ambiguous
git-svn-id: svn://svn.freebsd.org/base/stable/10@293599
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 18:05:04 +0000 (18:05 +0000)]
MFC r283498:
Linux nanosleep() and clock_nanosleep() system calls always
writes the remaining time into the structure pointed to by rmtp
unless rmtp is NULL. The value of *rmtp can then be used to call
nanosleep() again and complete the specified pause if the previous
call was interrupted.
Note. clock_nanosleep() with an absolute time value does not write
the remaining time.
While here fix whitespaces and typo in SDT_PROBE.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293598
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 18:04:10 +0000 (18:04 +0000)]
MFC r283497:
Convert SCM_TIMESTAMP in recvmsg().
git-svn-id: svn://svn.freebsd.org/base/stable/10@293597
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 18:03:09 +0000 (18:03 +0000)]
MFC r283496:
The latest cp tool is trying to use the btrfs clone operation that is
implemented via ioctl interface. First of all return ENOTSUP for this
operation as a cp fallback to usual method in that case. Secondly, do
not print out the message about unimplemented operation.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293596
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 18:02:08 +0000 (18:02 +0000)]
MFC r283495:
Hide vfs.pfs.trace variable if it is not used.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293595
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 18:00:51 +0000 (18:00 +0000)]
MFC r283494:
Fix an mbuf(9) leak in sendmsg() under failure condition and
remove unneeded check for failed M_WAITOK allocation.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293594
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:56:04 +0000 (17:56 +0000)]
Regen for r293592.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293593
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:54:37 +0000 (17:54 +0000)]
MFC r283492:
Implement Linux specific syncfs() system call.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293592
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:53:32 +0000 (17:53 +0000)]
MFC r283491:
Properly check tv_nsec value. The tv_nsec field can also be one
of the special value UTIME_NOW or UTIME_OMIT.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293591
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:52:27 +0000 (17:52 +0000)]
MFC r283490:
Since FreeBSD supports SOCK_CLOEXEC & SOCK_NONBLOCK options
remove its emulation via fcntl call from Linuxulator.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293590
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:51:17 +0000 (17:51 +0000)]
Regen for r293588.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293589
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:50:13 +0000 (17:50 +0000)]
MFC r283488:
Implement recvmmsg() and sendmmsg() system calls.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293588
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:49:05 +0000 (17:49 +0000)]
MFC r283487:
Reduce duplication between MD Linux code by moving msg related
struct definitions out into the compat/linux/linux_socket.h
git-svn-id: svn://svn.freebsd.org/base/stable/10@293587
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:47:57 +0000 (17:47 +0000)]
Regen for r293585.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293586
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:45:02 +0000 (17:45 +0000)]
MFC r283484:
Implement epoll_pwait() system call.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293585
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:44:08 +0000 (17:44 +0000)]
MFC r283483:
Convert signal number to native for VT_SETMODE ioctl and remove
strange and invalid ISSIGVALID macro.
The code has not been tested right way but it was originally broken.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293584
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:42:25 +0000 (17:42 +0000)]
Regen for r293582.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293583
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:41:00 +0000 (17:41 +0000)]
MFC r283480:
Add utimensat() system call.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293582
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:39:41 +0000 (17:39 +0000)]
MFC r283479:
The kernel sends signals to the processes via ABI specific sv_sendsig method.
Native ABI do not need signal conversion, only emulators may want this. Usually
emulators implements its own sv_sendsig method. For now only ibcs2 emulator does
not have own sv_sendsig implementation and depends on native sendsig() method.
So, remove any extra attempts to convert signal numbers from native sendsig()
methods except from i386 where ibsc2 is living.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293581
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:35:09 +0000 (17:35 +0000)]
MFC r283478:
Simplify linprocfs_doprocenviron(). Remove extra proc visibility checks
and initialize pn_vis by well known procfs_candebug().
git-svn-id: svn://svn.freebsd.org/base/stable/10@293580
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:31:20 +0000 (17:31 +0000)]
MFC r283476:
Convert Linux signal number to the FreeBSD.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293578
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:30:10 +0000 (17:30 +0000)]
MFC r283475:
Convert Linux sigsets before showing.
Linux kernel displays sigset always as 16x4 bit mask.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293576
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:29:08 +0000 (17:29 +0000)]
MFC r283474:
Rework signal code to allow using it by other modules, like linprocfs:
1. Linux sigset always 64 bit on all platforms. In order to move Linux
sigset code to the linux_common module define it as 64 bit int. Move
Linux sigset manipulation routines to the MI path.
2. Move Linux signal number definitions to the MI path. In general, they
are the same on all platforms except for a few signals.
3. Map Linux RT signals to the FreeBSD RT signals and hide signal conversion
tables to avoid conversion errors.
4. Emulate Linux SIGPWR signal via FreeBSD SIGRTMIN signal which is outside
of allowed on Linux signal numbers.
PR: 197216
git-svn-id: svn://svn.freebsd.org/base/stable/10@293575
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:27:36 +0000 (17:27 +0000)]
MFC r283473:
Add support for /proc/<pid>/auxv.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293574
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:23:57 +0000 (17:23 +0000)]
MFC r283472:
Add vdso and stack names to the /proc/self/maps.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293573
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:22:51 +0000 (17:22 +0000)]
MFC r283471:
According to Linux man sigaltstack(3) shall return EINVAL if the ss
argument is not a null pointer, and the ss_flags member pointed to by ss
contains flags other than SS_DISABLE. However, in fact, Linux also
allows SS_ONSTACK flag which is simply ignored.
For buggy apps (at least mono) ignore other than SS_DISABLE
flags as a Linux do.
While here move MI part of sigaltstack code to the appropriate place.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293572
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:21:28 +0000 (17:21 +0000)]
MFC r283470:
Add EPOLLERR flag handling to epoll.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293571
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:20:19 +0000 (17:20 +0000)]
Regen for r293569.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293570
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:18:03 +0000 (17:18 +0000)]
MFC r283467:
Call nosys in case when the incorrect syscall number is specified.
Its my fault, fixed by mjg@ at r289055.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293569
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:15:03 +0000 (17:15 +0000)]
Regen for r293567.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293568
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:13:43 +0000 (17:13 +0000)]
MFC r283465:
Add preliminary fallocate system call implementation
to emulate posix_fallocate() function.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293567
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:12:45 +0000 (17:12 +0000)]
MFC r283464:
Delete the duplicate of linux_to_native_clockid() function.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293566
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:11:25 +0000 (17:11 +0000)]
MFC r283463:
Do not use struct l_timespec without conversion. While here move
args->timeout handling before acquiring the futex key at FUTEX_WAIT path.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293565
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:10:22 +0000 (17:10 +0000)]
MFC r283462:
Add prototypes for static futex functions.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293564
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:08:33 +0000 (17:08 +0000)]
MFC r283461:
As for now our tmpfs is no longer being considered
"highly experimental" remove /dev/shm magic commited
in r218497 and convert tmpfs type to an expected magic number.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293563
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:07:17 +0000 (17:07 +0000)]
MFC r283460:
Print out unsupported futex operation message only once for the process.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293562
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:06:21 +0000 (17:06 +0000)]
MFC r283459:
Add some clock mappings used in glibc 2.20.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293561
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:05:00 +0000 (17:05 +0000)]
MFC r283456:
Improve ktr(9) records in thread managment code.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293560
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:03:53 +0000 (17:03 +0000)]
MFC r283455:
Use local struct proc * varable instead of dereferencing td->td_proc.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293559
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:02:35 +0000 (17:02 +0000)]
MFC r283454:
Avoid unnecessary em zeroing in non-exec path
as it already zeroed by malloc with M_ZERO flag
and move zeroing to the proper place in exec path.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293558
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:01:26 +0000 (17:01 +0000)]
MFC r283453:
Remove the unnecessary cast.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293557
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 17:00:15 +0000 (17:00 +0000)]
Regen for r293555.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293556
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 16:58:57 +0000 (16:58 +0000)]
MFC r283451:
Implement ppoll() system call.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293555
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 16:58:03 +0000 (16:58 +0000)]
MFC r283450:
td_sigmask of a newly created thread copied from td.
Remove excess initialization of td_sigmask.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293554
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 16:57:03 +0000 (16:57 +0000)]
MFC r283449:
Update Linux compat revision to 32.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293553
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 16:55:44 +0000 (16:55 +0000)]
MFC r283448:
Connect linux64 module to the build.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293552
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 16:52:25 +0000 (16:52 +0000)]
MFC r283446:
Include opt_compat.h, so that COMPAT_LINUX32 is defined, and we can
access to the semop structs and functions.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293551
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 16:50:09 +0000 (16:50 +0000)]
Regen for r293549.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293550
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 16:48:50 +0000 (16:48 +0000)]
MFC r283444:
Implement eventfd system call.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293549
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 16:47:36 +0000 (16:47 +0000)]
MFC r283443:
Put the correct value for the abi_nfdbits parameter of kern_select() for
all supported Linuxulators.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293548
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 16:45:54 +0000 (16:45 +0000)]
Regen for r293546.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293547
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 16:44:17 +0000 (16:44 +0000)]
MFC r283441:
Implement epoll family system calls. This is a tiny wrapper
around kqueue() to implement epoll subset of functionality.
The kqueue user data are 32bit on i386 which is not enough for
epoll user data, so we keep user data in the proc emuldata.
Initial patch developed by rdivacky@ in 2007, then extended
by Yuri Victorovich @ r255672 and finished by me
in collaboration with mjg@ and jillies@.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293546
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 16:39:15 +0000 (16:39 +0000)]
MFC r283440:
For future use in the Linuxulator:
1. Add a kern_kqueue() counterpart for kqueue() with flags parameter.
2. Be a bit secure. To avoid a double fp lookup add a kern_kevent_fp()
counterpart for kern_kevent() with file pointer parameter instead
of file descriptor an pass the buck to it.
Suggested by: mjg [2]
git-svn-id: svn://svn.freebsd.org/base/stable/10@293545
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 16:33:55 +0000 (16:33 +0000)]
MFC r283439:
Implement F_DUPFD_CLOEXEC fcntl flag.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293543
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 16:32:35 +0000 (16:32 +0000)]
MFC r283438:
Add several fcntl flags.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293542
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 16:31:10 +0000 (16:31 +0000)]
MFC r283437:
To avoid code duplication move open/fcntl definitions to the MI
header file.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293541
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 16:29:51 +0000 (16:29 +0000)]
MFC r283436:
Use the BSD_TO_LINUX_SIGNAL() wherever there is no need
to check the ABI as it is known.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293540
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 16:28:40 +0000 (16:28 +0000)]
MFC r283435:
Convert Linux wait options to the FreeBSD.
Check wait options as a Linux do.
Linux always set WEXITED option not a WUNTRACED|WNOHANG
which is a strange bug.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293539
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 16:27:33 +0000 (16:27 +0000)]
MFC r283434:
Set WIFCONTINUED to the wait status if needed.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293538
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 16:26:39 +0000 (16:26 +0000)]
MFC r283433:
Rewrite linux_recvfrom. To avoid double conversion of sockaddr use
kern_recvit() directly.
And check fromlen parameter before sockaddr copyin and conversion.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293537
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 16:25:30 +0000 (16:25 +0000)]
MFC r283432:
Being exported through vdso the note.Linux section used by glibc
to determine the kernel version (this saves one uname call).
Temporarily disable the export of a note.Linux section until I figured
out how to change the kernel version in the note.Linux on the fly.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293536
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 16:24:30 +0000 (16:24 +0000)]
MFC r283431:
Add AT_RANDOM and AT_EXECFN auxiliary vector entries which are used by
glibc. At list since glibc version 2.16 using AT_RANDOM is mandatory.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293535
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 16:23:11 +0000 (16:23 +0000)]
Regen for r293533.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293534
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 16:21:39 +0000 (16:21 +0000)]
MFC r283428:
Change linux faccessat syscall definition to match actual linux one.
The AT_EACCESS and AT_SYMLINK_NOFOLLOW flags are actually implemented
within the glibc wrapper function for faccessat(). If either of these
flags are specified, then the wrapper function employs fstatat() to
determine access permissions.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293533
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 16:20:29 +0000 (16:20 +0000)]
MFC r283427:
Where possible we will use M_LINUX malloc(9) type.
Move M_FUTEX defines to the linux_common.ko.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293532
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 16:16:16 +0000 (16:16 +0000)]
Regen for r293530.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293531
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 16:14:24 +0000 (16:14 +0000)]
MFC r283424:
Add preliminary support for x86-64 Linux binaries.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293530
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 16:12:37 +0000 (16:12 +0000)]
MFC r283423:
Move FEATURE macros for v4l and v4l2 to the common module.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293529
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 16:11:09 +0000 (16:11 +0000)]
MFC r283422:
Refund the proc emuldata struct for future use. For now move flags from
thread emuldata to proc emuldata as it was originally intended.
As we can have both 64 & 32 bit Linuxulator running any eventhandler
can be called twice for us. To prevent this move eventhandlers code
from linux_emul.c to the linux_common.ko module.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293528
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 16:08:22 +0000 (16:08 +0000)]
MFC r283421:
Introduce a new module linux_common.ko which is intended for the
following primary purposes:
1. Remove the dependency of linsysfs and linprocfs modules from linux.ko,
which will be architecture specific on amd64.
2. Incorporate into linux_common.ko general code for platforms on which
we'll support two Linuxulator modules (for both instruction set - 32 & 64 bit).
3. Move malloc(9) declaration to linux_common.ko, to enable getting memory
usage statistics properly.
Currently linux_common.ko incorporates a code from linux_mib.c and linux_util.c
and linprocfs, linsysfs and linux kernel modules depend on linux_common.ko.
Temporarily remove dtrace garbage from linux_mib.c and linux_util.c
git-svn-id: svn://svn.freebsd.org/base/stable/10@293527
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 16:01:57 +0000 (16:01 +0000)]
MFC r283447:
Fix build with KTR option.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293526
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 16:00:13 +0000 (16:00 +0000)]
MFC r283420:
Add newfstatat system call for 64-bit Linuxulator.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293525
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 15:58:42 +0000 (15:58 +0000)]
MFC r283419:
Fix compilation with -DDEBUG option.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293524
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 15:57:28 +0000 (15:57 +0000)]
MFC r283417:
Add 64 bit support to the vdso.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293523
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 15:56:01 +0000 (15:56 +0000)]
MFC r283416:
x86_64 Linux do not use multiplexing on ipc system calls.
Move struct ipc_perm definition to the MD path as it differs for 64 and
32 bit platform.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293522
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 15:54:55 +0000 (15:54 +0000)]
MFC r283415:
Disable i386 call for x86-64 Linux.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293521
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 15:53:50 +0000 (15:53 +0000)]
MFC r283414:
Print out proper procmap entry for 64 bit binaries.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293520
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 15:52:32 +0000 (15:52 +0000)]
MFC r283413:
64-bit paltforms, like x86_64, do not use multiplexing on
socketcall system calls.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293519
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 15:50:55 +0000 (15:50 +0000)]
MFC r283412:
Get ready to commit x86_64 Linux emulation.
All fields of type l_int in struct statfs are defined
as l_long on i386 and amd64.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293518
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 15:49:42 +0000 (15:49 +0000)]
MFC r283411:
Remove stale comment about a signal trampoline which
is moved to the shared page at r219609.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293517
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 15:48:11 +0000 (15:48 +0000)]
MFC r283410:
Put linux_platform into the vdso to avoid copying it onto the stack at
every exec.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293516
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 15:46:05 +0000 (15:46 +0000)]
MFC r283408:
Eliminate a now unused global declaration of elf_linux_sysvec.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293515
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 15:44:38 +0000 (15:44 +0000)]
MFC r283407:
Implement vdso - virtual dynamic shared object. Through vdso Linux
exposes functions from kernel with proper DWARF CFI information so that
it becomes easier to unwind through them.
Using vdso is a mandatory for a thread cancelation && cleanup
on a modern glibc.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293514
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 15:40:44 +0000 (15:40 +0000)]
Regen for r293511.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293513
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 15:39:41 +0000 (15:39 +0000)]
MFC r283403:
Implement pselect6() system call.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293512
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 15:38:16 +0000 (15:38 +0000)]
Regen for r293510.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293511
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 15:37:10 +0000 (15:37 +0000)]
MFC r283401:
Implement prlimit64() system call.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293510
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 15:35:57 +0000 (15:35 +0000)]
Regen for r293508.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293509
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 15:34:54 +0000 (15:34 +0000)]
MFC r283399:
Implement dup3() system call.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293508
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 15:33:48 +0000 (15:33 +0000)]
MFC r283398:
Sched_rr_get_interval returns EINVAL in case when the invalid pid
specified. This silence the ltp tests.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293507
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 15:32:33 +0000 (15:32 +0000)]
Regen for r293505.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293506
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 15:31:15 +0000 (15:31 +0000)]
MFC r283396:
Implement rt_sigqueueinfo() system call.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293505
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 15:29:10 +0000 (15:29 +0000)]
Regen for r293503.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293504
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f
dchagin [Sat, 9 Jan 2016 15:28:05 +0000 (15:28 +0000)]
MFC r283394:
Implement waitid() system call.
git-svn-id: svn://svn.freebsd.org/base/stable/10@293503
ccf9f872 -aa2e-dd11-9fc8-
001c23d0bc1f