#
c16f7fab |
| 14-Nov-2019 |
Brandon Bergren <bdragon@FreeBSD.org> |
[PowerPC64] Fix broken kernel modules due to LLD 9+ TOC optimization
LLD9 introduced a TOC optimization that isn't compatible with kernel dynamic linker causing panic when loading kernel modules (pf
[PowerPC64] Fix broken kernel modules due to LLD 9+ TOC optimization
LLD9 introduced a TOC optimization that isn't compatible with kernel dynamic linker causing panic when loading kernel modules (pf, linuxkpi etc.)
This patch disables TOC optimization when building kernel modules.
Submitted by: Alfredo Dal'Ava Junior <alfredo.junior@eldorado.org.br> Approved by: jhibbits (mentor) Differential Revision: https://reviews.freebsd.org/D22317
show more ...
|
#
0b593663 |
| 06-Nov-2019 |
Warner Losh <imp@FreeBSD.org> |
Remove obsolete addition of MACHINE_CPUARCH
In the past, we would add symbolic links for MACHINE_CPUARCH when it differed from MACHINE. This was for pc98 only, however. All other architectures didn'
Remove obsolete addition of MACHINE_CPUARCH
In the past, we would add symbolic links for MACHINE_CPUARCH when it differed from MACHINE. This was for pc98 only, however. All other architectures didn't need this and it was really due to pc98 pulling from i386 rather than something more intrinsic. At the time, we had the split we did to mimic what NetBSD did for its 68k ports where many different kernels were possible for the same architecture. Since then, both projects have moved away from this convention to having a more generic MACHINE for each architecture. FreeBSD's new arm64/aarch64 breaks this old notion and so was an exception to the rule. So, we no longer need to create this link for any old machine or any new machine, delete it entirely.
Differential Revision: https://reviews.freebsd.org/D22246
show more ...
|
Revision tags: release/12.1.0 |
|
#
ecae3df1 |
| 25-Oct-2019 |
Mark Johnston <markj@FreeBSD.org> |
Apply kernel module linker scripts to firmware files.
Use a separate make variable to specify the linker script so that it is only applied at link time and not during intermediate generation of .fwo
Apply kernel module linker scripts to firmware files.
Use a separate make variable to specify the linker script so that it is only applied at link time and not during intermediate generation of .fwo files.
This ensures that the .text padding inserted by the amd64 linker script is applied to the stub module load handlers embedded in firmware modules.
Reviewed by: kib MFC after: 2 weeks Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D22125
show more ...
|
#
d6793db2 |
| 17-Oct-2019 |
Mark Johnston <markj@FreeBSD.org> |
Formalize the use of linker scripts for kernel modules.
Automatically apply ldscript.kmod.${MACHINE_ARCH} if it exists. We already have an i386-specific linker script; rename it accordingly.
Note t
Formalize the use of linker scripts for kernel modules.
Automatically apply ldscript.kmod.${MACHINE_ARCH} if it exists. We already have an i386-specific linker script; rename it accordingly.
Note that the linker script is applied when the object files are partially linked. (For amd64 this is also the final link.)
Reviewed by: imp, kib Discussed with: jhb MFC after: 1 week Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D21887
show more ...
|
#
38c0ca14 |
| 09-Oct-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp 9.0.0 final release r372316.
Release notes for llvm, clang, lld and libc++ 9.0.0 are available here:
https://releases.llvm.or
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp 9.0.0 final release r372316.
Release notes for llvm, clang, lld and libc++ 9.0.0 are available here:
https://releases.llvm.org/9.0.0/docs/ReleaseNotes.html https://releases.llvm.org/9.0.0/tools/clang/docs/ReleaseNotes.html https://releases.llvm.org/9.0.0/tools/lld/docs/ReleaseNotes.html https://releases.llvm.org/9.0.0/projects/libcxx/docs/ReleaseNotes.html
PR: 240629 MFC after: 1 month
show more ...
|
#
82dd4542 |
| 09-Sep-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Use -znorelro for kernel modules, when they are linked as shared binaries (e.g. on any arch except amd64 and mips).
Otherwise, with lld 9, after https://reviews.llvm.org/rLLD356117, the modules will
Use -znorelro for kernel modules, when they are linked as shared binaries (e.g. on any arch except amd64 and mips).
Otherwise, with lld 9, after https://reviews.llvm.org/rLLD356117, the modules will get an additional PT_LOAD segment, which blows up kldxref, since that has a hardcoded limit of 3 segments.
I could have alternatively bumped up that limit, but since kernel modules do not use relro, the simplest workaround is to explicitly disable it.
show more ...
|
#
c5c3ba6b |
| 03-Sep-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r351317 through r351731.
|
#
17c12f64 |
| 23-Aug-2019 |
Warner Losh <imp@FreeBSD.org> |
Turn off -Werror for gcc 4.2.1
As part of marching gcc 4.2.1 out of the tree, turn off -Werror on gcc 4.2.1 compiles by default. It generates too many false positives and breaks CI for no benefit.
Turn off -Werror for gcc 4.2.1
As part of marching gcc 4.2.1 out of the tree, turn off -Werror on gcc 4.2.1 compiles by default. It generates too many false positives and breaks CI for no benefit.
Discussed on: arch@ Reviewed by: jhb@, emaste@, pfg@ Differential Revision: https://reviews.freebsd.org/D21378
show more ...
|
#
a15cb219 |
| 07-Aug-2019 |
Xin LI <delphij@FreeBSD.org> |
Expose zlib's utility functions in Z_SOLO library when building kernel. This allows kernel code to reuse zlib's implementation.
PR: 229763 Reviewed by: Yoshihiro Ota <ota j email ne jp> Relnotes: y
Expose zlib's utility functions in Z_SOLO library when building kernel. This allows kernel code to reuse zlib's implementation.
PR: 229763 Reviewed by: Yoshihiro Ota <ota j email ne jp> Relnotes: yes Differential Revision: https://reviews.freebsd.org/D21156
show more ...
|
#
0ed1d6fb |
| 01-Aug-2019 |
Xin LI <delphij@FreeBSD.org> |
Allow Kernel to link in both legacy libkern/zlib and new sys/contrib/zlib, with an eventual goal to convert all legacl zlib callers to the new zlib version:
* Move generic zlib shims that are not s
Allow Kernel to link in both legacy libkern/zlib and new sys/contrib/zlib, with an eventual goal to convert all legacl zlib callers to the new zlib version:
* Move generic zlib shims that are not specific to zlib 1.0.4 to sys/dev/zlib. * Connect new zlib (1.2.11) to the zlib kernel module, currently built with Z_SOLO. * Prefix the legacy zlib (1.0.4) with 'zlib104_' namespace. * Convert sys/opencrypto/cryptodeflate.c to use new zlib. * Remove bundled zlib 1.2.3 from ZFS and adapt it to new zlib and make it depend on the zlib module. * Fix Z_SOLO build of new zlib.
PR: 229763 Submitted by: Yoshihiro Ota <ota j email ne jp> Reviewed by: markm (sys/dev/zlib/zlib_kmod.c) Relnotes: yes Differential Revision: https://reviews.freebsd.org/D19706
show more ...
|
Revision tags: release/11.3.0 |
|
#
e532a999 |
| 20-Jun-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @349234
Sponsored by: The FreeBSD Foundation
|
#
9d2b4c4f |
| 12-Jun-2019 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Restore genassym.o to CLEANFILES.
This was lost in r335910 for some reason.
This also fixes a META_MODE rebuild issue in some modules [1].
MFC after: 2 weeks Reported by: npn [1] Sponsored by: Del
Restore genassym.o to CLEANFILES.
This was lost in r335910 for some reason.
This also fixes a META_MODE rebuild issue in some modules [1].
MFC after: 2 weeks Reported by: npn [1] Sponsored by: DellEMC
show more ...
|
#
4c62bffe |
| 08-Jun-2019 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Fix dpcpu and vnet panics with complex types at the end of the section.
Apply a linker script when linking i386 kernel modules to apply padding to a set_pcpu or set_vnet section. The padding value
Fix dpcpu and vnet panics with complex types at the end of the section.
Apply a linker script when linking i386 kernel modules to apply padding to a set_pcpu or set_vnet section. The padding value is kind-of random and is used to catch modules not compiled with the linker-script, so possibly still having problems leading to kernel panics.
This is needed as the code generated on certain architectures for non-simple-types, e.g., an array can generate an absolute relocation on the edge (just outside) the section and thus will not be properly relocated. Adding the padding to the end of the section will ensure that even absolute relocations of complex types will be inside the section, if they are the last object in there and hence relocation will work properly and avoid panics such as observed with carp.ko or ipsec.ko.
There is a rather lengthy discussion of various options to apply in the mentioned PRs and their depends/blocks, and the review. There seems no best solution working across multiple toolchains and multiple version of them, so I took the liberty of taking one, as currently our users (and our CI system) are hitting this on just i386 and we need some solution. I wish we would have a proper fix rather than another "hack".
Also backout r340009 which manually, temporarily fixed CARP before 12.0-R "by chance" after a lead-up of various other link-elf.c and related fixes.
PR: 230857,238012 With suggestions from: arichardson (originally last year) Tested by: lwhsu Event: Waterloo Hackathon 2019 Reported by: lwhsu, olivier MFC after: 6 weeks Differential Revision: https://reviews.freebsd.org/D17512
show more ...
|
#
67ca7330 |
| 08-Jun-2019 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Add SDIO support.
Add a CAM-Newbus SDIO support module. This works provides a newbus infrastructure for device drivers wanting to use SDIO. On the lower end while it is connected by newbus to SDHC
Add SDIO support.
Add a CAM-Newbus SDIO support module. This works provides a newbus infrastructure for device drivers wanting to use SDIO. On the lower end while it is connected by newbus to SDHCI, it talks CAM using the MMCCAM framework to get to it.
This also duplicates the usbdevs framework to equally create sdiodev header files with #defines for "vendors" and "products".
Submitted by: kibab (initial work, see https://reviews.freebsd.org/D12467) Reviewed by: kibab, imp (comments on earlier version) MFC after: 6 weeks Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D19749
show more ...
|
#
0269ae4c |
| 06-Jun-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @348740
Sponsored by: The FreeBSD Foundation
|
#
5ec57af4 |
| 03-Jun-2019 |
Maxim Sobolev <sobomax@FreeBSD.org> |
Fix several places where tool name has been hardcoded:
install -> ${INSTALL} mtree -> ${MTREE_CMD} services_mkdb -> ${SERVICES_MKDB_CMD} cap_mkdb -> ${CAP_MKDB_CMD} pwd_mkdb -> $
Fix several places where tool name has been hardcoded:
install -> ${INSTALL} mtree -> ${MTREE_CMD} services_mkdb -> ${SERVICES_MKDB_CMD} cap_mkdb -> ${CAP_MKDB_CMD} pwd_mkdb -> ${PWD_MKDB_CMD} kldxref -> ${KLDXREF_CMD}
If you do custom FreeBSD builds you may want to override those in some cases.
Sponsored by: Sippy Software, Inc.
show more ...
|
#
b5155bc9 |
| 14-May-2019 |
Mark Johnston <markj@FreeBSD.org> |
Remove redundant -Wl uses from the kernel's LDFLAGS.
No functional change intended.
MFC after: 3 days Sponsored by: The FreeBSD Foundation
|
#
415e34c4 |
| 29-Mar-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead@r345677
|
#
963ae7a6 |
| 27-Mar-2019 |
Mark Johnston <markj@FreeBSD.org> |
Stop using -fdebug-prefix-map to map the object directory.
We were doing so as a workaround for the problem addressed by r345593, so it's no longer necessary.
Reviewed by: jhb Discussed with: emast
Stop using -fdebug-prefix-map to map the object directory.
We were doing so as a workaround for the problem addressed by r345593, so it's no longer necessary.
Reviewed by: jhb Discussed with: emaste MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D19705
show more ...
|
#
f9856d08 |
| 21-Mar-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @345353
|
#
7114b176 |
| 20-Mar-2019 |
Mark Johnston <markj@FreeBSD.org> |
Use -fdebug-prefix-map to map auto-generated kernel build paths.
The kernel build uses symlinks to make MD #includes like <machine/pcpu.h> work. Debug info ends up referencing these symlinks in a r
Use -fdebug-prefix-map to map auto-generated kernel build paths.
The kernel build uses symlinks to make MD #includes like <machine/pcpu.h> work. Debug info ends up referencing these symlinks in a relative path, so debuggers generally don't know how to find the corresponding headers. Address this by using -fdebug-prefix-map to map relative paths through the symlinks to their absolute paths in the source tree. This is consistent with how regular source file paths are defined in the kernel's debug info.
Also map the current directory to an absolute path to the object directory. This gives debuggers a chance to find auto-generated files like vnode_if.c if the object directory is available.
Reviewed by: emaste, jhb (previous version) MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D19633
show more ...
|
#
18b18078 |
| 25-Feb-2019 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r344527
|
#
a8fe8db4 |
| 25-Feb-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r344178 through r344512.
|
#
5426539c |
| 23-Feb-2019 |
Matt Macy <mmacy@FreeBSD.org> |
gcov support
add gcov support and export results as files in debugfs
Reviewed by: hps@ MFC after: 1 week Sponsored by: iX Systems Differential Revision: https://reviews.freebsd.org/D19260
|
Revision tags: release/12.0.0 |
|
#
c06e7b66 |
| 07-Nov-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r340126 through r340212.
|