#
968bcca2 |
| 08-Oct-2024 |
Ka Ho Ng <khng@FreeBSD.org> |
libkldelf: add a private library for kernel/kld-related ELF parsing
The libkldelf library was originally a part of kldxref(8). It exposed ELF parsing helpers specialized in parsing KLDs and the kern
libkldelf: add a private library for kernel/kld-related ELF parsing
The libkldelf library was originally a part of kldxref(8). It exposed ELF parsing helpers specialized in parsing KLDs and the kernel executable. The library can be used to read metadata such as linker_set, mod_depend, mod_version and PNP match info, and raw data from the ELF.
To promote the reuse of the facilities the ELF parsing code is separated from kldxref(8) into a new private library.
For now, libkldelf's source files will be compiled into kldxref(8) directly if kldxref is built during bootstrapping phase. The reason is linking kldxref(8) against the libkldelf static library has an unwanted side effect which renders the linker sets inside the libkldelf implementation empty if the static library is not build by ld -r all the .o files into a single .o before producing the static library.
Sponsored by: Juniper Networks, Inc. Reviewed by: markj Suggested by: jrtc27, markj Differential Revision: https://reviews.freebsd.org/D46719
show more ...
|
#
50c64df2 |
| 08-Oct-2024 |
Ka Ho Ng <khng@FreeBSD.org> |
Revert "libkldelf: add a private library for kernel/kld-related ELF parsing"
This reverts commit 0a2cfd653e86ac41c4e6e32a449d133c0ee6d677.
|
#
0a2cfd65 |
| 08-Oct-2024 |
Ka Ho Ng <khng@FreeBSD.org> |
libkldelf: add a private library for kernel/kld-related ELF parsing
The libkldelf library was originally a part of kldxref(8). It exposed ELF parsing helpers specialized in parsing KLDs and the kern
libkldelf: add a private library for kernel/kld-related ELF parsing
The libkldelf library was originally a part of kldxref(8). It exposed ELF parsing helpers specialized in parsing KLDs and the kernel executable. The library can be used to read metadata such as linker_set, mod_depend, mod_version and PNP match info, and raw data from the ELF.
To promote the reuse of the facilities the ELF parsing code is separated from kldxref(8) into a new private library.
kldxref(8) is modified to link against the libkldelf library.
Sponsored by: Juniper Networks, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D46719
show more ...
|
Revision tags: release/13.4.0 |
|
#
e9ac4169 |
| 15-Jul-2024 |
Warner Losh <imp@FreeBSD.org> |
Remove residual blank line at start of Makefile
This is a residual of the $FreeBSD$ removal.
MFC After: 3 days (though I'll just run the command on the branches) Sponsored by: Netflix
|
Revision tags: release/14.1.0, release/13.3.0 |
|
#
c88f7d8f |
| 14-Dec-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
kldxref: Add arm support
|
#
ada9d12f |
| 14-Dec-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
kldxref: Put each ef_CPUARCH.c on its own line to prepare for ef_arm.c
Adding ef_arm.c would push this past 80 columns, so prepare for its addition by splitting the line up.
|
#
0299afdf |
| 13-Dec-2023 |
John Baldwin <jhb@FreeBSD.org> |
kldxref: Make use of libelf to be a portable cross tool
This allows kldxref to operate on kernel objects from any architecture, not just the native architecture. In particular, this will permit gen
kldxref: Make use of libelf to be a portable cross tool
This allows kldxref to operate on kernel objects from any architecture, not just the native architecture. In particular, this will permit generating linker.hints files as part of a cross-arch release build.
- elf.c is a new file that includes various wrappers around libelf including routines to read ELF data structures such as program and section headers and ELF relocations into the "generic" forms described in <gelf.h>. This file also provides routines for converting a linker set into an array of addresses (GElf_Addr) as well as reading architecture-specific mod_* structures and converting them into "generic" Gmod_* forms where pointers are replaced with addresses.
- The various architecture-specific reloc handlers now use GElf_* types for most values (including GElf_Rel and GElf_Rela for relocation structures) and use routines from <sys/endian.h> to read and write target values. A new linker set matches reloc handlers to specific ELF (class, encoding, machine) tuples.
- The bits of kldxref.c that write out linker.hints now use the encoding (ELFDATA2[LM]SB) of the first file encountered in a directory to set the endianness of the output file. Input files with a different architecture in the same directory are skipped with a warning. In addition, the initial version record for the file must be deferred until the first record is finished since the architecture of the output file is not known until then.
- Various places that used 'sizeof(void *)' throughout now use 'elf_pointer_size()' to determine the size of a pointer in the target architecture.
Tested by: amd64 binary on both amd64 and i386 /boot/kernel Reviewed by: imp Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D42966
show more ...
|
Revision tags: release/14.0.0 |
|
#
d0b2dbfa |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line sh pattern
Remove /^\s*#[#!]?\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, release/12.1.0 |
|
#
f993ed2f |
| 09-Sep-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r351732 through r352104.
|
#
a7b5a3d4 |
| 05-Sep-2019 |
Emmanuel Vadot <manu@FreeBSD.org> |
pkgbase: Put a lot of binaries and lib in FreeBSD-runtime
All of them are needed to be able to boot to single user and be able to repair a existing FreeBSD installation so put them directly into Fre
pkgbase: Put a lot of binaries and lib in FreeBSD-runtime
All of them are needed to be able to boot to single user and be able to repair a existing FreeBSD installation so put them directly into FreeBSD-runtime.
Reviewed by: bapt, gjb Differential Revision: https://reviews.freebsd.org/D21503
show more ...
|
Revision tags: release/11.3.0 |
|
#
2aaf9152 |
| 18-Mar-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead@r345275
|
#
b18a4cca |
| 05-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r344786
|
#
844fc3e9 |
| 04-Mar-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r344549 through r344775.
|
#
7e452085 |
| 27-Feb-2019 |
Leandro Lupori <luporl@FreeBSD.org> |
Fix kldxref on PowerPC64
When using kldxref on kernel modules built with clang8 + lld8, kldxref would be unable to find the modules metadata information, because PowerPC64 was using the ef_nop.c imp
Fix kldxref on PowerPC64
When using kldxref on kernel modules built with clang8 + lld8, kldxref would be unable to find the modules metadata information, because PowerPC64 was using the ef_nop.c implementation of ef_reloc().
When GNU LD was used, it was also relocating the metadata section of the .ko file. LLD does not do this, but only generate dynamic relocations for it. With minor changes, ef_powerpc.c can now work for PowerPC64 too.
Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D19370
show more ...
|
Revision tags: release/12.0.0, release/11.2.0, release/10.4.0, release/11.1.0, release/11.0.1, release/11.0.0, release/10.3.0, release/10.2.0 |
|
#
98e0ffae |
| 27-May-2015 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Merge sync of head
|
#
d899be7d |
| 19-Jan-2015 |
Glen Barber <gjb@FreeBSD.org> |
Reintegrate head: r274132-r277384
Sponsored by: The FreeBSD Foundation
|
#
8f0ea33f |
| 13-Jan-2015 |
Glen Barber <gjb@FreeBSD.org> |
Reintegrate head revisions r273096-r277147
Sponsored by: The FreeBSD Foundation
|
#
afbe8aa4 |
| 18-Dec-2014 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead @ r275911 (also, sort out MK_* flags in BMAKE, etc on this branch)
|
#
e65720e1 |
| 18-Dec-2014 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r275759 through r275911.
|
#
8bc65725 |
| 18-Dec-2014 |
Warner Losh <imp@FreeBSD.org> |
Remove -fno-strict-alias, as it is no longer needed.
|
Revision tags: release/10.1.0, 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, release/9.0.0, release/7.4.0_cvs, release/8.2.0_cvs, release/7.4.0, release/8.2.0 |
|
#
b12277d1 |
| 28-Aug-2010 |
Nathan Whitehorn <nwhitehorn@FreeBSD.org> |
Repair some build breakage introduced in r211725 and garbage collect some code made obsolete in the same commit.
|
#
25faff34 |
| 24-Aug-2010 |
Warner Losh <imp@FreeBSD.org> |
MFtbemd:
Prefer MACHNE_CPUARCH to MACHINE_ARCH in most contexts where you want to test of all the CPUs of a given family conform.
|
Revision tags: release/8.1.0_cvs, release/8.1.0, release/7.3.0_cvs, release/7.3.0, release/8.0.0_cvs, release/8.0.0, release/7.2.0_cvs, release/7.2.0, release/7.1.0_cvs, release/7.1.0, release/6.4.0_cvs, release/6.4.0, release/7.0.0_cvs, release/7.0.0, release/6.3.0_cvs, release/6.3.0 |
|
#
0aad0f22 |
| 20-Nov-2007 |
John Birrell <jb@FreeBSD.org> |
These are the things that the tinderbox has problems with because it doesn't use the default CFLAGS which contain -fno-strict-aliasing.
Until the code is cleaned up, just add -fno-strict-aliasing to
These are the things that the tinderbox has problems with because it doesn't use the default CFLAGS which contain -fno-strict-aliasing.
Until the code is cleaned up, just add -fno-strict-aliasing to the CFLAGS of these for the tinderboxes' sake, allowing the rest of the tree to have -Werror enabled again.
show more ...
|
Revision tags: release/6.2.0_cvs, release/6.2.0 |
|
#
b1bc6755 |
| 04-Aug-2006 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Build shared on PowerPC now that the bug has been found and fixed.
|
#
acdb66fc |
| 30-Jul-2006 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Use NO_SHARED=YES to force a static link.
Pointed out by: ru@
|