#
ee55d560 |
| 26-Apr-2022 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Add a simple rseq syscall implementation.
To avoid annoyng messages from glibc-2.35 test suite add the simple implementation of rseq syscall which is do nothing for now.
I plan to impleme
linux(4): Add a simple rseq syscall implementation.
To avoid annoyng messages from glibc-2.35 test suite add the simple implementation of rseq syscall which is do nothing for now.
I plan to implement it if and when the API stabilizes.
MFC after: 2 weeks
show more ...
|
Revision tags: release/12.3.0 |
|
#
5bb3134a |
| 07-Nov-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
Fix some modules to export more used symbols
and remove non-present symbols that are now reported by kmod_syms.awk.
Reviewed by: emaste Sponsored by: The FreeBSD Foundation MFC after: 1 week Differ
Fix some modules to export more used symbols
and remove non-present symbols that are now reported by kmod_syms.awk.
Reviewed by: emaste Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D32878
show more ...
|
#
4dfd6122 |
| 03-Nov-2021 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
linux: mv sys/i386/linux/linux_ptrace{,_machdep}.c
In preparation for machine-independent sys/compat/linux/linux_ptrace.c, rename the i386-specific Linux ptrace(2) implementation. No functional cha
linux: mv sys/i386/linux/linux_ptrace{,_machdep}.c
In preparation for machine-independent sys/compat/linux/linux_ptrace.c, rename the i386-specific Linux ptrace(2) implementation. No functional changes.
Sponsored By: EPSRC Differential Revision: https://reviews.freebsd.org/D32757
show more ...
|
#
e36d0e86 |
| 22-Sep-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
Revert "linux32: add a hack to avoid redefining the type of the savefpu tag"
This reverts commit 0f6829488ef32142b9ea1c0806fb5ecfe0872c02. Also it changes the type of md_usr_fpu_save struct mdthread
Revert "linux32: add a hack to avoid redefining the type of the savefpu tag"
This reverts commit 0f6829488ef32142b9ea1c0806fb5ecfe0872c02. Also it changes the type of md_usr_fpu_save struct mdthread member to void *, which is what uncovered this trouble. Now the save area is untyped, but since it is hidden behind accessors, it is not too significant. Since apparently there are consumers affected outside the tree, this hack is better than one from the reverted revision.
PR: 258678 Reported by: cy Reviewed by: cy, kevans, markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D32060
show more ...
|
#
0f682948 |
| 13-Sep-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
linux32: add a hack to avoid redefining the type of the savefpu tag
when compiling in amd64 kernel environment with -m32. This is a temporal workaround for some future proper (but unclear) fix.
Re
linux32: add a hack to avoid redefining the type of the savefpu tag
when compiling in amd64 kernel environment with -m32. This is a temporal workaround for some future proper (but unclear) fix.
Reviewed by: jhb, markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D31954
show more ...
|
#
b0fa09a0 |
| 26-Jul-2021 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Fix amd64 gcc build.
Do not specify memory model and mregparm for amd64, it's only available on IA-32 architecture.
Reported by: jhb, jrtc27 MFC after: 2 weeks
|
#
de273c83 |
| 26-Jul-2021 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Fix i386 gcc build.
Do not specify memory model for i386. Seems that clang silencly ignores -mcmodel unlike gcc.
Reported by: jhb MFC after: 2 weeks
|
#
9931033b |
| 20-Jul-2021 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4); Almost complete the vDSO.
The vDSO (virtual dynamic shared object) is a small shared library that the kernel maps R/O into the address space of all Linux processes on image activation. The
linux(4); Almost complete the vDSO.
The vDSO (virtual dynamic shared object) is a small shared library that the kernel maps R/O into the address space of all Linux processes on image activation. The vDSO is a fully formed ELF image, shared by all processes with the same ABI, has no process private data.
The primary purpose of the vDSO: - non-executable stack, signal trampolines not copied to the stack; - signal trampolines unwind, mandatory for the NPTL; - to avoid contex-switch overhead frequently used system calls can be implemented in the vDSO: for now gettimeofday, clock_gettime.
The first two have been implemented, so add the implementation of system calls.
System calls implemenation based on a native timekeeping code with some limitations: - ifunc can't be used, as vDSO r/o mapped to the process VA and rtld can't relocate symbols; - reading HPET memory is not implemented for now (TODO).
In case on any error vDSO system calls fallback to the kernel system calls. For unimplemented vDSO system calls added prototypes which call corresponding kernel system call.
Tested by: trasz (arm64) Differential revision: https://reviews.freebsd.org/D30900 MFC after: 2 weeks
show more ...
|
#
447636e4 |
| 30-Jun-2021 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
linux(4): implement coredump support
Implement dumping core for Linux binaries on amd64, for both 32- and 64-bit executables. Some bits are still missing.
This is based on a prototype by chuck@.
linux(4): implement coredump support
Implement dumping core for Linux binaries on amd64, for both 32- and 64-bit executables. Some bits are still missing.
This is based on a prototype by chuck@.
Reviewed By: kib Sponsored By: EPSRC Differential Revision: https://reviews.freebsd.org/D30019
show more ...
|
Revision tags: release/13.0.0 |
|
#
df4ca45c |
| 05-Dec-2020 |
Tijl Coosemans <tijl@FreeBSD.org> |
Fix i386 linux module after r367395.
In r367395 parts of machine dependent linux_dummy.c were moved to a new machine independent file sys/compat/linux/linux_dummy.c and the existing linux_dummy.c wa
Fix i386 linux module after r367395.
In r367395 parts of machine dependent linux_dummy.c were moved to a new machine independent file sys/compat/linux/linux_dummy.c and the existing linux_dummy.c was renamed to linux_dummy_machdep.c.
Add linux_dummy_machdep.c to the linux module for i386. Rename sys/amd64/linux32/linux_dummy.c for consistency. Add the new linux_dummy.c to the linux module for i386.
show more ...
|
#
e9b13c66 |
| 05-Nov-2020 |
Conrad Meyer <cem@FreeBSD.org> |
linux(4): Deduplicate unimpl/dummy syscall handlers
No functional change.
Reviewed by: emaste, trasz Differential Revision: https://reviews.freebsd.org/D27099
|
Revision tags: release/12.2.0 |
|
#
e2515283 |
| 27-Aug-2020 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: Rubicon Communications, LLC (netgate.com)
|
#
2b6ee34c |
| 25-Aug-2020 |
Alex Richardson <arichardson@FreeBSD.org> |
Pass -fuse-ld=/path/to/ld if ${LD} != "ld"
This is needed so that setting LD/XLD is not ignored when linking with $CC instead of directly using $LD. Currently only clang accepts an absolute path for
Pass -fuse-ld=/path/to/ld if ${LD} != "ld"
This is needed so that setting LD/XLD is not ignored when linking with $CC instead of directly using $LD. Currently only clang accepts an absolute path for -fuse-ld= (Clang 12+ will add a new --ld-path flag), so we now warn when building with GCC and $LD != "ld" since that might result in the wrong linker being used.
We have been setting XLD=/path/to/cheri/ld.lld in CheriBSD for a long time and used a similar version of this patch to avoid linking with /usr/bin/ld. This change is also required when building FreeBSD on an Ubuntu with Clang: In that case we set XCC=/usr/lib/llvm-10/bin/clang and since /usr/lib/llvm-10/bin/ does not contain a "ld" binary the build fails with `clang: error: unable to execute command: Executable "ld" doesn't exist!` unless we pass -fuse-ld=/usr/lib/llvm-10/bin/ld.lld.
This change passes -fuse-ld instead of copying ${XLD} to WOLRDTMP/bin/ld since then we would have to ensure that this file does not exist while building the bootstrap tools. The cross-linker might not be compatible with the host linker (e.g. when building on macos: host-linker= Mach-O /usr/bin/ld, cross-linker=LLVM ld.lld).
Reviewed By: brooks, emaste Differential Revision: https://reviews.freebsd.org/D26055
show more ...
|
#
de6fc2e3 |
| 15-Aug-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r364082 through r364250.
|
#
440cec3f |
| 12-Aug-2020 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: Rubicon Communications, LLC (netgate.com)
|
#
1a18ab42 |
| 11-Aug-2020 |
Alex Richardson <arichardson@FreeBSD.org> |
Allow overriding the tool used for stripping binaries
Since the make variable STRIP is already used for other purposes, this uses STRIPBIN (which is also used for the same purpose by install(1). Thi
Allow overriding the tool used for stripping binaries
Since the make variable STRIP is already used for other purposes, this uses STRIPBIN (which is also used for the same purpose by install(1). This allows using LLVM objcopy to strip binaries instead of the in-tree elftoolchain objcopy. We make use of this in CheriBSD since passing binaries generated by our toolchain to elftoolchain strip sometimes results in assertion failures.
This allows working around https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248516 by specifying STRIPBIN=/path/to/llvm-strip
Obtained from: CheriBSD Reviewed By: emaste, brooks Differential Revision: https://reviews.freebsd.org/D25988
show more ...
|
Revision tags: release/11.4.0 |
|
#
4db3ef4c |
| 18-Apr-2020 |
Alex Richardson <arichardson@FreeBSD.org> |
More fixes to build the kernel with a compiler that defaults to -fno-common
Using the same approach as the last commit for the files used by genassym.sh.
Obtained from: CheriBSD
|
Revision tags: release/12.1.0 |
|
#
c5c3ba6b |
| 03-Sep-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r351317 through r351731.
|
#
32e6af46 |
| 26-Aug-2019 |
Warner Losh <imp@FreeBSD.org> |
Replace -Werror with ${WERROR} in module builds
|
Revision tags: release/11.3.0 |
|
#
0269ae4c |
| 06-Jun-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @348740
Sponsored by: The FreeBSD Foundation
|
#
6e4cf32e |
| 13-May-2019 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Add warning to the Linuxulator makefiles that building it outside of a kernel does not make sence.
PR: 222861 MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D20179
|
#
7648bc9f |
| 13-May-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @347527
Sponsored by: The FreeBSD Foundation
|
#
c5156c77 |
| 13-May-2019 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Linuxulator depends on a fundamental kernel settings such as SMP. Many of them listed in opt_global.h which is not generated while building modules outside of a kernel and such modules never match re
Linuxulator depends on a fundamental kernel settings such as SMP. Many of them listed in opt_global.h which is not generated while building modules outside of a kernel and such modules never match real cofigured kernel.
So, we should prevent our users from building obviously defective modules.
Therefore, remove the root cause of the building of modules outside of a kernel - the possibility of building modules with DEBUG or KTR flags. And remove all of DEBUG printfs as it is incomplete and in threaded programms not informative, also a half of system call does not have DEBUG printf. For debuging Linux programms we have dtrace, ktr and ktrace ability.
PR: 222861 Reviewed by: trasz MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D20178
show more ...
|
#
7c28c7e8 |
| 06-May-2019 |
Dmitry Chagin <dchagin@FreeBSD.org> |
The build process generates assym.inc from genassym.o, so don't forget to clean genassym.o
MFC after: 2 weeks
|
Revision tags: release/12.0.0 |
|
#
ccca101f |
| 03-Jul-2018 |
Bryan Drewery <bdrewery@FreeBSD.org> |
All genassym.sh usage need offset.inc
|