|
Revision tags: release/12.4.0, release/13.1.0, release/12.3.0 |
|
| #
83271c68 |
| 07-Nov-2021 |
Konstantin Belousov <[email protected]> |
Fix some modules to export more used symbols
(cherry picked from commit 5bb3134a8c21cb87b30e135ef168483f0333dabb)
|
|
Revision tags: release/13.0.0 |
|
| #
f5209bef |
| 24-Mar-2021 |
Dmitry Chagin <[email protected]> |
Get rid of i386 ref here as linux64 is a 64-bit module.
Reviewed By: emaste, imp Differential Revision: https://reviews.freebsd.org/D29412
(cherry picked from commit 88588c4b7611a39cdf965c3c07d8fc
Get rid of i386 ref here as linux64 is a 64-bit module.
Reviewed By: emaste, imp Differential Revision: https://reviews.freebsd.org/D29412
(cherry picked from commit 88588c4b7611a39cdf965c3c07d8fcc13ed553b4)
show more ...
|
| #
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
|
| #
305b9efe |
| 30-Jul-2019 |
Ed Maste <[email protected]> |
linuxulator: rename linux_locore.s to .asm
It is assembled using "${CC} -x assembler-with-cpp", which by convention (bsd.suffixes.mk) uses the .asm extension.
This is a portion of the review refere
linuxulator: rename linux_locore.s to .asm
It is assembled using "${CC} -x assembler-with-cpp", which by convention (bsd.suffixes.mk) uses the .asm extension.
This is a portion of the review referenced below (D18344). That review also renamed linux_support.s to .S, but that is a functional change (using the compiler's integrated assembler instead of as) and will be revisited separately.
MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D18344
show more ...
|
|
Revision tags: release/11.3.0 |
|
| #
6e4cf32e |
| 13-May-2019 |
Dmitry Chagin <[email protected]> |
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
|
| #
c5156c77 |
| 13-May-2019 |
Dmitry Chagin <[email protected]> |
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 <[email protected]> |
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 <[email protected]> |
All genassym.sh usage need offset.inc
|
| #
d3b03d74 |
| 25-Jun-2018 |
Ed Maste <[email protected]> |
linux64: add arm64 linuxulator build details
The arm64 linuxulator needs different arguments for the objcopy invocation used to build the linux VDSO. These arguments are both arch- and OS-dependent
linux64: add arm64 linuxulator build details
The arm64 linuxulator needs different arguments for the objcopy invocation used to build the linux VDSO. These arguments are both arch- and OS-dependent, so I did not try to use some common setting for them.
Reviewed by: imp Sponsored by: Turing Robotic Industries Differential Revision: https://reviews.freebsd.org/D16011
show more ...
|
|
Revision tags: release/11.2.0 |
|
| #
0f696968 |
| 12-Jun-2018 |
Ed Maste <[email protected]> |
linux64: use linux output target for linux_vdso.so
linux_vdso.so provides the vdso for the linuxulator's amd64 target and is mapped into a Linux binary's address space. Thus it should be a Linux-st
linux64: use linux output target for linux_vdso.so
linux_vdso.so provides the vdso for the linuxulator's amd64 target and is mapped into a Linux binary's address space. Thus it should be a Linux-style .so, which has the ELF OS/ABI unset.
It turns out that ELF Tool Chain elfcopy/objcopy also has a bug where the OS/ABI field is unset, regardless of the specified --output-target, so this change is a no-op with the default in-tree toolchain. This is a real fix when using external binutils, and the ELF Tool Chain bug will be fixed in the future.
PR: 228934 Sponsored by: Turing Robotic Industries
show more ...
|
| #
6469bdcd |
| 06-Apr-2018 |
Brooks Davis <[email protected]> |
Move most of the contents of opt_compat.h to opt_global.h.
opt_compat.h is mentioned in nearly 180 files. In-progress network driver compabibility improvements may add over 100 more so this is close
Move most of the contents of opt_compat.h to opt_global.h.
opt_compat.h is mentioned in nearly 180 files. In-progress network driver compabibility improvements may add over 100 more so this is closer to "just about everywhere" than "only some files" per the guidance in sys/conf/options.
Keep COMPAT_LINUX32 in opt_compat.h as it is confined to a subset of sys/compat/linux/*.c. A fake _COMPAT_LINUX option ensure opt_compat.h is created on all architectures.
Move COMPAT_LINUXKPI to opt_dontuse.h as it is only used to control the set of compiled files.
Reviewed by: kib, cem, jhb, jtl Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D14941
show more ...
|
| #
fc2a8776 |
| 20-Mar-2018 |
Ed Maste <[email protected]> |
Rename assym.s to assym.inc
assym is only to be included by other .s files, and should never actually be assembled by itself.
Reviewed by: imp, bdrewery (earlier) Sponsored by: The FreeBSD Foundati
Rename assym.s to assym.inc
assym is only to be included by other .s files, and should never actually be assembled by itself.
Reviewed by: imp, bdrewery (earlier) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D14180
show more ...
|
| #
85059bc4 |
| 05-Feb-2018 |
Ed Maste <[email protected]> |
Move assym.s to DPSRCS in linux modules
assym.s exists only to be included by other .s files, and should not actually be assembled by itself.
Sponsored by: Turing Robotic Industries Inc.
|
| #
48bc159f |
| 29-Jan-2018 |
Ed Maste <[email protected]> |
Correct MD patch in linux64 module Makefile
Reviewed by: imp Sponsored by: Turing Robotic Industries Inc. Differential Revision: https://reviews.freebsd.org/D14061
|
|
Revision tags: release/10.4.0, release/11.1.0 |
|
| #
e2e6a2a1 |
| 04-Jun-2017 |
Dmitry Chagin <[email protected]> |
Revert r319053 due to lack of sence. As pointed out by kib@ opt_global.h contains such fundamental settings as e.g. SMP option and fake opt_global.h almost never match real configured kernels.
Repor
Revert r319053 due to lack of sence. As pointed out by kib@ opt_global.h contains such fundamental settings as e.g. SMP option and fake opt_global.h almost never match real configured kernels.
Reported by: kib@
show more ...
|
| #
9ecc1abc |
| 28-May-2017 |
Dmitry Chagin <[email protected]> |
On success, getrandom() Linux system call returns the number of bytes that were copied to the buffer supplied by the user.
Also fix getrandom() if Linuxulator modules are built without the kernel.
On success, getrandom() Linux system call returns the number of bytes that were copied to the buffer supplied by the user.
Also fix getrandom() if Linuxulator modules are built without the kernel.
PR: 219464 Submitted by: Maciej Pasternacki Reported by: Maciej Pasternacki MFC after: 1 week
show more ...
|
| #
1a8ea9fb |
| 28-May-2017 |
Dmitry Chagin <[email protected]> |
Strip _binary_linux_locore_o_size from ${VDSO}.so as it is a low absolute symbol, and this breaks symbol lookup in ddb.
Requested by: bde@
MFC after: 1 week
|
| #
193d9e76 |
| 04-Mar-2017 |
Enji Cooper <[email protected]> |
sys/modules: normalize .CURDIR-relative paths to SRCTOP
This simplifies make output/logic
Tested with: `cd sys/modules; make ALL_MODULES=` on amd64 MFC after: 1 month Sponsored by: Dell EMC Isilon
|
| #
0e8b3ab3 |
| 21-Feb-2017 |
Ed Maste <[email protected]> |
Exclude -flto when building *genassym.o
The build process generates *assym.h using nm from *genassym.o (which is in turn created from *genassym.c).
When compiling with link-time optimization (LTO)
Exclude -flto when building *genassym.o
The build process generates *assym.h using nm from *genassym.o (which is in turn created from *genassym.c).
When compiling with link-time optimization (LTO) using -flto, .o files are LLVM bitcode, not ELF objects. This is not usable by genassym.sh, so remove -flto from those ${CC} invocations.
Submitted by: George Rimar Reviewed by: dim MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D9659
show more ...
|
| #
d82de054 |
| 16-Feb-2017 |
Edward Tomasz Napierala <[email protected]> |
Implement linux version of ptrace(2). It's nowhere near complete, but it allows to use 64 bit linux strace(1) on 64 bit linux binaries.
Reviewed by: dchagin (earlier version) MFC after: 2 weeks Spo
Implement linux version of ptrace(2). It's nowhere near complete, but it allows to use 64 bit linux strace(1) on 64 bit linux binaries.
Reviewed by: dchagin (earlier version) MFC after: 2 weeks Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D9406
show more ...
|