|
Revision tags: release/13.4.0-p5, release/13.5.0-p1, release/14.2.0-p3, release/13.5.0, release/14.2.0-p2, release/14.1.0-p8, release/13.4.0-p4, release/14.1.0-p7, release/14.2.0-p1, release/13.4.0-p3, release/14.2.0, release/13.4.0 |
|
| #
d5e29c62 |
| 04-Jun-2024 |
Andrew Turner <[email protected]> |
linux64: Fix the build on arm64 with bti checking
When we enable checking for BTI on arm64 we need to include an ELF note in all object files linked into a module.
As using objcopy from a binary to
linux64: Fix the build on arm64 with bti checking
When we enable checking for BTI on arm64 we need to include an ELF note in all object files linked into a module.
As using objcopy from a binary to an ELF object file doesn't add the note switch to using .incbin from an assembly file. This allows us to add the needed note without affecting the included object.
Reviewed by: imp, kib, emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D45468
(cherry picked from commit bed65d85c631c3a8e60a81a15a5a745c8ef92fbe) (cherry picked from commit ec69d230933f82c7c142b053882255aa57475463)
show more ...
|
|
Revision tags: release/14.1.0, release/13.3.0, release/14.0.0 |
|
| #
031beb4e |
| 16-Aug-2023 |
Warner Losh <[email protected]> |
sys: Remove $FreeBSD$: one-line sh pattern
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
|
| #
22dca7ac |
| 22-Jul-2023 |
Dmitry Chagin <[email protected]> |
linux(4): Implement xattr syscalls
Reviewed by: Differential revision: https://reviews.freebsd.org/D35544 MFC after: 1 month
|
|
Revision tags: release/13.2.0 |
|
| #
825fbd08 |
| 14-Feb-2023 |
Dmitry Chagin <[email protected]> |
linux(4): Trim unused opt_usb.h from modules Makefiles
MFC after: 2 weeks
|
| #
10d16789 |
| 12-Feb-2023 |
Dmitry Chagin <[email protected]> |
linux(4): Get rid of the opt_compat.h include.
Since e013e369 COMPAT_LINUX, COMPAT_LINUX32 build options are removed, so include of opt_compat.h is no more needed.
MFC after: 2 weeks
|
|
Revision tags: release/12.4.0 |
|
| #
35548e48 |
| 19-Jul-2022 |
Ed Maste <[email protected]> |
linux64: improve linux_support.s make rules
Previously we relied on the .s.o rule in share/mk/bsd.suffixes.mk to tell make that linux_support.o is built from linux_support.s, even though we do not u
linux64: improve linux_support.s make rules
Previously we relied on the .s.o rule in share/mk/bsd.suffixes.mk to tell make that linux_support.o is built from linux_support.s, even though we do not use the .s.o rule to assemble it.
Reviewed by: sjg MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D35864
show more ...
|
| #
ccd9b49f |
| 24-Jul-2022 |
Elliott Mitchell <[email protected]> |
sys: use .S for assembly language files that use the preprocessor
Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/609 Differential Revision: https://reviews.freebsd.org/D3
sys: use .S for assembly language files that use the preprocessor
Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/609 Differential Revision: https://reviews.freebsd.org/D35908
show more ...
|
| #
010175a7 |
| 29-Oct-2022 |
Warner Losh <[email protected]> |
modules: Add missing opt_*.h files for stand-alone compile
Standalone compile that we at least create these opt_*.h files.
Sponsored by: Netflix
|
| #
f396f9b6 |
| 29-Oct-2022 |
Mitchell Horne <[email protected]> |
linux, linux64: fix module load
The previous commit added references to to the syscallnames arrays, but failed to add the relevant source files to the module build. Thus, the modules failed to load
linux, linux64: fix module load
The previous commit added references to to the syscallnames arrays, but failed to add the relevant source files to the module build. Thus, the modules failed to load due to missing symbols.
Reported by: cy Fixes: 1da65dcb1c57 ("linux: populate sv_syscallnames in each sysentvec") Sponsored by: The FreeBSD Foundation
show more ...
|
| #
33178488 |
| 29-Oct-2022 |
Mitchell Horne <[email protected]> |
linux, linux64: improve SRCS formatting
Sort the entries alphabetically, and list them with one entry per line. This makes the diffs much cleaner when adding or removing a new entry, as I will do in
linux, linux64: improve SRCS formatting
Sort the entries alphabetically, and list them with one entry per line. This makes the diffs much cleaner when adding or removing a new entry, as I will do in the next commit.
MFC after: 1 week Sponsored by: The FreeBSD Foundation
show more ...
|
| #
2b378d59 |
| 23-May-2022 |
Dmitry Chagin <[email protected]> |
linux(4); Move vdso_selector_x86.c to the linux_common module
MFC after: 2 weeks
|
|
Revision tags: release/13.1.0 |
|
| #
5a6a4fb2 |
| 08-May-2022 |
Dmitry Chagin <[email protected]> |
linux(4): Implement vdso getcpu for x86.
This is modeled after f2395455 (by kib@).
MFC after: 2 weeks
|
| #
ee55d560 |
| 26-Apr-2022 |
Dmitry Chagin <[email protected]> |
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 <[email protected]> |
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 ...
|
| #
b0fa09a0 |
| 26-Jul-2021 |
Dmitry Chagin <[email protected]> |
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
|
| #
9931033b |
| 20-Jul-2021 |
Dmitry Chagin <[email protected]> |
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 ...
|
| #
45d99014 |
| 03-Jul-2021 |
Edward Tomasz Napierala <[email protected]> |
linux(4): implement coredumps on arm64
Previously they only worked on amd64.
Sponsored By: EPSRC Differential Revision: https://reviews.freebsd.org/D30975
|
| #
447636e4 |
| 30-Jun-2021 |
Edward Tomasz Napierala <[email protected]> |
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 |
|
| #
88588c4b |
| 24-Mar-2021 |
Dmitry Chagin <[email protected]> |
Get rid of i386 ref here as linux64 is a 64-bit module.
Reviewed By: emaste, imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D29412
|
| #
513c5cd8 |
| 21-Jan-2021 |
Jessica Clarke <[email protected]> |
linux64: Don't pass unnecessary -S and -g to objcopy
Since we use --input-type binary these options are rather meaningless. Both binutils and elftoolchain ignore the option in this case, but LLVM do
linux64: Don't pass unnecessary -S and -g to objcopy
Since we use --input-type binary these options are rather meaningless. Both binutils and elftoolchain ignore the option in this case, but LLVM does not, and instead strips all symbols from the output file, causing missing symbols at run time if building with llvm-objcopy. Thus simply remove the options; the linux module has never included them for building its VDSO (added in r283407), but for some reason the original commit of linux64 (r283424) added them.
These should however eventually be changed to use template assembly files as is now done for firmware and MFS_IMAGE.
Reviewed by: emaste, trasz Differential Revision: https://reviews.freebsd.org/D27740
show more ...
|
| #
e9b13c66 |
| 05-Nov-2020 |
Conrad Meyer <[email protected]> |
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 |
|
| #
2b6ee34c |
| 25-Aug-2020 |
Alex Richardson <[email protected]> |
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 ...
|
| #
1a18ab42 |
| 11-Aug-2020 |
Alex Richardson <[email protected]> |
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 <[email protected]> |
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 |
|
| #
32e6af46 |
| 25-Aug-2019 |
Warner Losh <[email protected]> |
Replace -Werror with ${WERROR} in module builds
|