Page MenuHomeFreeBSD

Aarch64 support for truss
ClosedPublic

Authored by kib on Oct 1 2015, 1:52 AM.
Tags
None
Referenced Files
F133552356: D3750.id8989.diff
Sun, Oct 26, 2:55 PM
F133552355: D3750.id8996.diff
Sun, Oct 26, 2:55 PM
Unknown Object (File)
Sun, Oct 26, 2:13 AM
Unknown Object (File)
Sun, Oct 26, 2:13 AM
Unknown Object (File)
Sat, Oct 25, 7:44 PM
Unknown Object (File)
Sat, Oct 18, 12:51 AM
Unknown Object (File)
Sep 21 2025, 6:48 PM
Unknown Object (File)
Sep 17 2025, 7:57 AM
Subscribers

Details

Test Plan

truss ls

mmap(0x0,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 1078124544 (0x4042e000)
issetugid() = 0 (0x0)
lstat("/etc",{ mode=drwxr-xr-x ,inode=1123584,size=2048,blksize=32768 }) = 0 (0x0)
lstat("/etc/libmap.conf",{ mode=-rw-r--r-- ,inode=1123621,size=102,blksize=32768 }) = 0 (0x0)
openat(AT_FDCWD,"/etc/libmap.conf",O_CLOEXEC,00) = 3 (0x3)
fstat(3,{ mode=-rw-r--r-- ,inode=1123621,size=102,blksize=32768 }) = 0 (0x0)
mmap(0x0,102,PROT_READ,MAP_PRIVATE,3,0x0) = 1078157312 (0x40436000)
close(3) = 0 (0x0)
lstat("/usr",{ mode=drwxr-xr-x ,inode=401280,size=512,blksize=32768 }) = 0 (0x0)
lstat("/usr/local",{ mode=drwxr-xr-x ,inode=401287,size=512,blksize=32768 }) = 0 (0x0)
lstat("/usr/local/etc",{ mode=drwxr-xr-x ,inode=483268,size=512,blksize=32768 }) = 0 (0x0)
lstat("/usr/local/etc/libmap.d",0x7fffffdbc0) ERR#2 'No such file or directory'
munmap(0x40436000,102) = 0 (0x0)
openat(AT_FDCWD,"/var/run/ld-elf.so.hints",O_CLOEXEC,00) = 3 (0x3)
read(3,"Ehnt\^A\0\0\0\M^@\0\0\0-\0\0\0\0"...,128) = 128 (0x80)
lseek(3,0x80,SEEK_SET) = 128 (0x80)

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

kib retitled this revision from to Aarch64 support for truss.
kib updated this object.
kib edited the test plan for this revision. (Show Details)
kib added reviewers: andrew, jhb.
kib set the repository for this revision to rS FreeBSD src repository - subversion.
kib removed rS FreeBSD src repository - subversion as the repository for this revision.

Per emaste request, remov Fagan' copyright and clauses 3,4.

Fix SYS_syscall handling.

I think that the kernel code mis-handles 8-args syscalls done through SYS_syscall, by failing to fetch the arg 8 from the stack. The truss follows kernel currently. I am not sure that we have such 8-args syscall,

git grep -e n_args -- sys/kern/systrace_args.c | grep 8

does not show any output.

jhb edited edge metadata.

You beat me to it. :)

usr.bin/truss/aarch64-fbsd.c
45 ↗(On Diff #8996)

I plan on doing a sweep to fix this warning in all the backends, but my plan was to just put 'static' before the #include.

This revision is now accepted and ready to land.Oct 1 2015, 4:35 PM
This revision was automatically updated to reflect the committed changes.