On 12/14/23 8:44 AM, Jessica Clarke wrote:
The branch main has been updated by jrtc27:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=0840bdbf2a07b68e29267bc49057ca6df2351360

commit 0840bdbf2a07b68e29267bc49057ca6df2351360
Author:     Jessica Clarke <[email protected]>
AuthorDate: 2023-12-14 16:40:08 +0000
Commit:     Jessica Clarke <[email protected]>
CommitDate: 2023-12-14 16:40:08 +0000

     Don't try and run kldxref for arm kernels
Surprisingly, kldxref does not currently support arm, and unhelpfully
     this means it silently does nothing rather than give an error, so the
     linker.hints entry added to the METALOG for -DNO_ROOT builds (and
     pkgbase ones) refers to a file that doesn't exist. Ideally it would be
     supported (and ideally the METALOG handling would be less fragile, but
     without integrating it into kldxref the only real option would be to
     just run find(1) to get the list of linker.hints files, which feels a
     little backwards), but for now just paper over this by skipping the
     build step on arm.
Reported by: bapt
     Fixes:          ff7c12c1f17e ("Make kldxref a bootstrap tool and use 
unconditionally")
---
  sys/conf/kmod.mk     | 3 ++-
  sys/modules/Makefile | 3 ++-
  2 files changed, 4 insertions(+), 2 deletions(-)

I think before the libelf changes it was creating a file, but with only a single
version record.  Now it defers emitting the version record until it emits at 
least
one "real" record since it doesn't know which endianness to use until it has
successfully opened and parsed a file.  As a result it is now leaving the file
empty rather than with the version record.

It should not be hard to add ef_arm.c to fix for arm.

Another fun project btw would be for someone to add a "read" mode to kldxref to
read a linker.hints file and dump the contents in a human readable fashion 
similar
to the output one gets from 'kldxref -d'.

--
John Baldwin


Reply via email to