|
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 |
|
| #
df4ca45c |
| 05-Dec-2020 |
Tijl Coosemans <[email protected]> |
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 <[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
|
|
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
|
|
Revision tags: release/11.2.0 |
|
| #
0cde66af |
| 24-Apr-2018 |
Konstantin Belousov <[email protected]> |
Fix futexes on i386 after the 4/4G split.
Use proper method to access userspace. For now, only the slow copyout path is implemented.
Reported and tested by: tijl (previous version) Sponsored by: T
Fix futexes on i386 after the 4/4G split.
Use proper method to access userspace. For now, only the slow copyout path is implemented.
Reported and tested by: tijl (previous version) Sponsored by: The FreeBSD Foundation
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 ...
|
| #
6e481f83 |
| 16-Mar-2018 |
Ed Maste <[email protected]> |
Share a single bsd-linux errno table across MD consumers
Three copies of the linuxulator linux_sysvec.c contained identical BSD to Linux errno translation tables, and future work to support other ar
Share a single bsd-linux errno table across MD consumers
Three copies of the linuxulator linux_sysvec.c contained identical BSD to Linux errno translation tables, and future work to support other architectures will also use the same table. Move the table to a common file to be used by all. Make it 'const int' to place it in .rodata.
(Some existing Linux architectures use MD errno values, but x86 and Arm share the generic set.)
This change should introduce no functional change; a followup will add missing errno values.
MFC after: 3 weeks Sponsored by: Turing Robotic Industries Inc. Differential Revision: https://reviews.freebsd.org/D14665
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.
|
|
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 ...
|
|
Revision tags: release/11.0.1, release/11.0.0 |
|
| #
97d06da6 |
| 10-Jul-2016 |
Dmitry Chagin <[email protected]> |
Fix a copy/paste bug introduced during X86_64 Linuxulator work. FreeBSD support NX bit on X86_64 processors out of the box, for i386 emulation use READ_IMPLIES_EXEC flag, introduced in r302515.
Whil
Fix a copy/paste bug introduced during X86_64 Linuxulator work. FreeBSD support NX bit on X86_64 processors out of the box, for i386 emulation use READ_IMPLIES_EXEC flag, introduced in r302515.
While here move common part of mmap() and mprotect() code to the files in compat/linux to reduce code dupcliation between Linuxulator's.
Reported by: Johannes Jost Meixner, Shawn Webb
MFC after: 1 week XMFC with: r302515, r302516
show more ...
|
|
Revision tags: release/10.3.0 |
|
| #
621a9c54 |
| 25-Feb-2016 |
Ed Maste <[email protected]> |
pass -fPIC to the assembler, not linker
-fPIC has no effect on linking although it seems to be ignored by GNU ld.bfd. However, it causes ld.lld to terminate with an invalid argument error.
Reviewe
pass -fPIC to the assembler, not linker
-fPIC has no effect on linking although it seems to be ignored by GNU ld.bfd. However, it causes ld.lld to terminate with an invalid argument error.
Reviewed by: dchagin, kib MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D5444
show more ...
|
|
Revision tags: release/10.2.0 |
|
| #
c5d87f33 |
| 25-May-2015 |
Craig Rodrigues <[email protected]> |
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
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
Reported by: Jenkins
show more ...
|
| #
4ab7403b |
| 24-May-2015 |
Dmitry Chagin <[email protected]> |
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 b
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
show more ...
|