The branch main has been updated by jhb:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=7d6b5a918a5b09ae62a87c331092ffae0fd0fa7b

commit 7d6b5a918a5b09ae62a87c331092ffae0fd0fa7b
Author:     John Baldwin <j...@freebsd.org>
AuthorDate: 2025-08-22 13:59:22 +0000
Commit:     John Baldwin <j...@freebsd.org>
CommitDate: 2025-08-22 13:59:22 +0000

    rtld: Add UTRACE_LOAD_OBJECT traces for rtld and the main binary
    
    These two objects are loaded by the kernel not rtld, but adding these
    two traces means that UTRACE_LOAD_OBJECT traces now describe the
    mappings for all executables and DSOs in a process' address space.
    
    Reviewed by:    kib
    Obtained from:  CheriBSD
    Sponsored by:   AFRL, DARPA
    Differential Revision:  https://reviews.freebsd.org/D52034
---
 libexec/rtld-elf/rtld.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c
index a8a2a0fa5a07..d27af520c21d 100644
--- a/libexec/rtld-elf/rtld.c
+++ b/libexec/rtld-elf/rtld.c
@@ -859,6 +859,10 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_proc, Obj_Entry 
**objp)
 
        linkmap_add(obj_main);
        linkmap_add(&obj_rtld);
+       LD_UTRACE(UTRACE_LOAD_OBJECT, obj_main, obj_main->mapbase,
+           obj_main->mapsize, 0, obj_main->path);
+       LD_UTRACE(UTRACE_LOAD_OBJECT, &obj_rtld, obj_rtld.mapbase,
+           obj_rtld.mapsize, 0, obj_rtld.path);
 
        /* Link the main program into the list of objects. */
        TAILQ_INSERT_HEAD(&obj_list, obj_main, next);

Reply via email to