History log of /freebsd-current/usr.sbin/kldxref/Makefile
Revision Date Author Comments
# 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 12-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 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


# d0b2dbfa 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line sh pattern

Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/


# a7b5a3d48 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
FreeBSD-runtime.

Reviewed by: bapt, gjb
Differential Revision: https://reviews.freebsd.org/D21503


# 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 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


# 8bc65725 18-Dec-2014 Warner Losh <imp@FreeBSD.org>

Remove -fno-strict-alias, as it is no longer needed.


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# 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 23-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.


# fe0506d7 09-Mar-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Create the altix project branch. The altix project will add support
for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting
is a two-module system, consisting of a base compute module and a
CPU expansion module. SGI's NUMAFlex architecture can be an excellent
platform to test CPU affinity and NUMA-aware features in FreeBSD.


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# 0aad0f22 19-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 the
CFLAGS of these for the tinderboxes' sake, allowing the rest of the
tree to have -Werror enabled again.


# 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@


# 259d74ed 29-Jul-2006 Marcel Moolenaar <marcel@FreeBSD.org>

Link kldxref(8) static on PowerPC to work around a SIGSEGV that
cannot easily be analyzed due to there being no debugger yet.
The SIGSEGV only happens when kldxref is linked shared.
Since kldxref(8) is needed for a release build, having it not
dump core is important.


# 4a8b7e33 26-Aug-2004 Ian Dowse <iedowse@FreeBSD.org>

Add support for reading ELF relocatable object file format modules.


# 052238b1 04-Apr-2003 David E. O'Brien <obrien@FreeBSD.org>

style.Makefile(5)


# 1eed250a 20-Jan-2003 Jake Burkholder <jake@FreeBSD.org>

Fix kldxref on sparc64 by allowing non-trivial relocations to be performed
on variables read out of raw kld files. Unlike other platforms the value
will be in an Elf_Rela, not in the data section of the elf file.

Submitted by: Hartmut Brandt <brandt@fokus.gmd.de>
PR: 46730
Tested on: alpha (obrien), i386, sparc64


# 28644e44 10-Dec-2001 Mike Heffner <mikeh@FreeBSD.org>

Reorder WARNS line for style.

Pointed out by: bde


# 87e5cd7c 09-Dec-2001 Mike Heffner <mikeh@FreeBSD.org>

WARNS=2 cleanup.

PR: bin/32567
MFC after: 2 weeks


# 3d4630a4 11-Oct-2001 Dag-Erling Smørgrav <des@FreeBSD.org>

Write a real man page.


# 9c6f9240 10-Sep-2001 Peter Wemm <peter@FreeBSD.org>

Add kldxref(8), for maintaining the linker.hints file for translating
module->pathname.ko. It supports only ELF for now.

Submitted by: bp (with some minor tweaks)