|
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 |
|
| #
bb5f7016 |
| 02-Sep-2024 |
Zhenlei Huang <[email protected]> |
kernel: Add defination of .init_array and .fini_array for all other platforms
Currently these sections are not used but defined only for amd64 and i386. Added them for all other platforms to keep al
kernel: Add defination of .init_array and .fini_array for all other platforms
Currently these sections are not used but defined only for amd64 and i386. Added them for all other platforms to keep all platforms in sync. There should be no functional change.
This change is extracted from a bigger patch [1] of hselasky, with additional fix for the order of .fini_array section.
1. https://reviews.freebsd.org/D40467
Obtained from: hselasky MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D45214
(cherry picked from commit 3e76d05231b0aa77d922bdbc9abf62d9747a91ab)
show more ...
|
|
Revision tags: release/14.1.0, release/13.3.0, release/14.0.0 |
|
| #
71625ec9 |
| 16-Aug-2023 |
Warner Losh <[email protected]> |
sys: Remove $FreeBSD$: one-line .c comment pattern
Remove /^/[*/]\s*\$FreeBSD\$.*\n/
|
|
Revision tags: release/13.2.0, release/12.4.0, release/13.1.0, release/12.3.0, release/13.0.0, release/12.2.0, release/11.4.0 |
|
| #
30dc2aeb |
| 01-Jun-2020 |
Brandon Bergren <[email protected]> |
[PowerPC] Fix build-id note on powerpc64 kernel
Due to the ordering of the powerpc64 linker script, we were discarding all notes before emitting .note.gnu.build-id. This had the effect of generating
[PowerPC] Fix build-id note on powerpc64 kernel
Due to the ordering of the powerpc64 linker script, we were discarding all notes before emitting .note.gnu.build-id. This had the effect of generating an empty build id section and breaking the kern.build_id sysctl added in r348611.
powerpc and powerpcspe are uneffected.
PR: 246430 MFC after: 3 days Sponsored by: Tag1 Consulting, Inc.
show more ...
|
| #
9411e24d |
| 07-May-2020 |
Brandon Bergren <[email protected]> |
[PowerPC] kernel ifunc support for powerpc*, fix ppc64 relocation oddities.
This is a general cleanup of the relocatable kernel support on powerpc, needed to enable kernel ifuncs.
* Fix some reloc
[PowerPC] kernel ifunc support for powerpc*, fix ppc64 relocation oddities.
This is a general cleanup of the relocatable kernel support on powerpc, needed to enable kernel ifuncs.
* Fix some relocatable issues in the kernel linker, and change to using a RELOCATABLE_KERNEL #define instead of #ifdef __powerpc__ for parts that other platforms can use in the future if they wish to have ET_DYN kernels.
* Get rid of the DB_STOFFS hack now that the kernel is relocated to the DMAP properly across the board on powerpc64.
* Add powerpc64 and powerpc32 ifunc functionality.
* Allow AIM64 virtual mode OF kernels to run from the DMAP like other AIM64 by implementing a virtual mode restart. This fixes the runtime address on PowerMac G5.
* Fix symbol relocation problems on post-relocation kernels by relocating the symbol table.
* Add an undocumented method for supplying kernel symbols on powernv and other powerpc machines using linux-style kernel/initrd loading -- If you pass the kernel in as the initrd as well, the copy resident in initrd will be used as a source for symbols when initializing the debugger. This method is subject to removal once we have a better way of doing this.
Approved by: jhibbits Relnotes: yes Sponsored by: Tag1 Consulting, Inc. Differential Revision: https://reviews.freebsd.org/D23156
show more ...
|
|
Revision tags: release/12.1.0, release/11.3.0 |
|
| #
74cd06b4 |
| 04-Jun-2019 |
Ed Maste <[email protected]> |
Expose the kernel's build-ID through sysctl
After our migration (of certain architectures) to lld the kernel is built with a unique build-ID. Make it available via a sysctl and uname(1) to allow th
Expose the kernel's build-ID through sysctl
After our migration (of certain architectures) to lld the kernel is built with a unique build-ID. Make it available via a sysctl and uname(1) to allow the user to identify their running kernel.
Submitted by: Ali Mashtizadeh <ali_mashtizadeh.com> MFC after: 2 weeks Relnotes: Yes Event: Waterloo Hackathon 2019 Differential Revision: https://reviews.freebsd.org/D20326
show more ...
|
| #
0632bb89 |
| 22-May-2019 |
Leandro Lupori <[email protected]> |
Fix PPC64 kernel build with clang8 + lld8
This patch fixes the following lld link errors:
- unsupported dynamic relocations on read-only sections - out-of-range TOC references
Submitted by: git_bd
Fix PPC64 kernel build with clang8 + lld8
This patch fixes the following lld link errors:
- unsupported dynamic relocations on read-only sections - out-of-range TOC references
Submitted by: git_bdragon.rtk0.net Reviewed by: jhibbits, luporl MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D19352
show more ...
|
| #
484717a4 |
| 29-Mar-2019 |
Justin Hibbits <[email protected]> |
powerpc64: Fix kernel ldscript to only emit one PT_LOAD segment
Summary: kexec-lite cannot currently handle multiple PT_LOAD segments. In some cases the compiler generates multiple PT_LOAD segments
powerpc64: Fix kernel ldscript to only emit one PT_LOAD segment
Summary: kexec-lite cannot currently handle multiple PT_LOAD segments. In some cases the compiler generates multiple PT_LOAD segments for an unknown reason, causing boot to fail from kexec-lite.
Submitted by: Brandon Bergren (older version) Differential Revision: https://reviews.freebsd.org/D19574
show more ...
|
|
Revision tags: release/12.0.0 |
|
| #
29064656 |
| 19-Aug-2018 |
Justin Hibbits <[email protected]> |
powerpc64: Align frequently used/exclusive data on cacheline boundaries
This is effectively a merge from amd64 of r312888, r323235, and r333486.
I've been running this on my POWER9 Talos for some t
powerpc64: Align frequently used/exclusive data on cacheline boundaries
This is effectively a merge from amd64 of r312888, r323235, and r333486.
I've been running this on my POWER9 Talos for some time now with no ill effects.
Suggested by: mjg
show more ...
|
|
Revision tags: release/11.2.0 |
|
| #
70f65499 |
| 29-Dec-2017 |
Nathan Whitehorn <[email protected]> |
Add support for 64-bit PowerPC kernels to be directly loaded by kexec, which is used as the bootloader on a number of PPC64 platforms. This involves the following pieces: - Making the first instructi
Add support for 64-bit PowerPC kernels to be directly loaded by kexec, which is used as the bootloader on a number of PPC64 platforms. This involves the following pieces: - Making the first instruction a valid kernel entry point, since kexec ignores the ELF entry value. This requires a separate section and linker magic to prevent the linker from filling the beginning of the section with stubs. - Adding an entry point at 0x60 past the first instruction for systems lacking firmware CPU shutdown support (notably PS3). - Linker script changes to support the above.
MFC after: 1 month
show more ...
|
| #
7cc0ad62 |
| 19-Dec-2017 |
Nathan Whitehorn <[email protected]> |
Make __startkernel line up with KERNBASE, so that the math to compute the applied relocation offset in link_elf.c works as intended. We may want to revisit how that works in future, for example by ha
Make __startkernel line up with KERNBASE, so that the math to compute the applied relocation offset in link_elf.c works as intended. We may want to revisit how that works in future, for example by having elf_reloc_self() actually store the numbers it is using rather than computing them later, but this fixes symbol lookup after r326203.
Reported by: andreast@ Pointy hat to: me
show more ...
|
| #
25449e73 |
| 25-Nov-2017 |
Nathan Whitehorn <[email protected]> |
Avoid emitting a PT_INTERP section for powerpc64 kernels and arrange for the first instruction to be at the start of the text segment. This allows the kernel to be booted correctly by stock kexec-lit
Avoid emitting a PT_INTERP section for powerpc64 kernels and arrange for the first instruction to be at the start of the text segment. This allows the kernel to be booted correctly by stock kexec-lite.
MFC after: 2 weeks
show more ...
|
|
Revision tags: release/10.4.0, release/11.1.0, release/11.0.1, release/11.0.0 |
|
| #
45eff3df |
| 28-Jul-2016 |
Ed Maste <[email protected]> |
remove CONSTRUCTORS from kernel linker scripts
The linker script CONSTRUCTORS keyword is only meaningful "when linking object file formats which do not support arbitrary sections, such as ECOFF and
remove CONSTRUCTORS from kernel linker scripts
The linker script CONSTRUCTORS keyword is only meaningful "when linking object file formats which do not support arbitrary sections, such as ECOFF and XCOFF"[1] and is ignored for other object file formats.
LLVM's lld does not yet accept (and ignore) CONSTRUCTORS, so just remove CONSTRUCTORS from the linker scripts as it has no effect.
[1] https://sourceware.org/binutils/docs/ld/Output-Section-Keywords.html
Reviewed by: kib Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D7343
show more ...
|
|
Revision tags: release/10.3.0 |
|
| #
466d476a |
| 29-Nov-2015 |
Nathan Whitehorn <[email protected]> |
Fix build with new binutils. This gets a working kernel with GCC 5.2 and binutils 2.24. Without this, the self-relocation code in locore64.S was failing due to a misaligned TOC section.
MFC after: 2
Fix build with new binutils. This gets a working kernel with GCC 5.2 and binutils 2.24. Without this, the self-relocation code in locore64.S was failing due to a misaligned TOC section.
MFC after: 2 weeks
show more ...
|
|
Revision tags: release/10.2.0 |
|
| #
bb808254 |
| 18-Jan-2015 |
Nathan Whitehorn <[email protected]> |
Refactor PowerPC (especially AIM) init sequence to be less baroque.
MFC after: 2 months
|
|
Revision tags: release/10.1.0 |
|
| #
66c80959 |
| 10-Oct-2014 |
Baptiste Daroussin <[email protected]> |
Rename elf*-powerpc into elf*-powerpc-freebsd in binutils
The powerpc support was the only supported architecture not prepending the elf format name with "-freebsd" in base this change makes it cons
Rename elf*-powerpc into elf*-powerpc-freebsd in binutils
The powerpc support was the only supported architecture not prepending the elf format name with "-freebsd" in base this change makes it consistent with other architectures. On newer version of binutils the powerpc format is also prepended with "-freebsd".
Also modify the kernel ldscripts in that regards.
As a result it is now possible cross build the kernel on powerpc using newer binutils
Differential Revision: https://reviews.freebsd.org/D926 Differential Revision: https://reviews.freebsd.org/D928
show more ...
|
|
Revision tags: release/9.3.0, release/10.0.0, release/9.2.0, release/8.4.0, release/9.1.0, release/8.3.0_cvs, release/8.3.0 |
|
| #
618abe8b |
| 20-Jan-2012 |
Andreas Tobler <[email protected]> |
Add the .opd section, this is helps booting a profiled kernel. Adjust the OUTPUT_ARCH and use the builtin ALIGN() to adjust the data segment.
|
|
Revision tags: release/9.0.0, release/7.4.0_cvs, release/8.2.0_cvs, release/7.4.0, release/8.2.0 |
|
| #
6ba63f2d |
| 20-Jan-2011 |
Warner Losh <[email protected]> |
In fact, we don't need any of these __DYNAMIC. it is a.out leftover and commented out.
|
|
Revision tags: release/8.1.0_cvs, release/8.1.0 |
|
| #
060d347d |
| 13-Jul-2010 |
Nathan Whitehorn <[email protected]> |
Add powerpc64 kernel ldscript.
|