Page MenuHomeFreeBSD

Rename remaining linux32 symbols to linux32_*. Fix systrace for linux64.
ClosedPublic

Authored by jhb on Oct 20 2015, 9:12 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Sep 8, 5:00 PM
Unknown Object (File)
Sun, Sep 8, 3:33 PM
Unknown Object (File)
Sat, Sep 7, 6:42 PM
Unknown Object (File)
Thu, Aug 29, 10:21 PM
Unknown Object (File)
Thu, Aug 29, 10:42 AM
Unknown Object (File)
Thu, Aug 29, 3:10 AM
Unknown Object (File)
Sun, Aug 25, 8:55 PM
Unknown Object (File)
Fri, Aug 23, 5:16 AM
Subscribers

Details

Summary

Rename remaining linux32 symbols such as linux_sysent[] and
linux_syscallnames[] from linux_* to linux32_* to avoid conflicts with
linux64.ko. While here, add support for linux64 binaries to systrace.

  • Update NOPROTO entries in amd64/linux/syscalls.master to match the main table to fix systrace build.
  • Add a special case for union l_semun arguments to the systrace generation.
  • The systrace_linux32 module now only builds the systrace_linux32.ko. module on amd64.
  • Add a new systrace_linux module that builds on both i386 and amd64. For i386 it builds the existing systrace_linux.ko. For amd64 it builds a systrace_linux.ko for 64-bit binaries.
Test Plan
  • This compiles. I have not tested it. If anyone has a setup for 64-bit Linux binaries I can test I would verify that kdump/truss works on them after this using my libsysdecode changes (I pulled these changes out of that branch). I haven't tried using systrace before, but using systrace on Linux binaries would be the most obvious way to test this.

Diff Detail

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

Event Timeline

jhb retitled this revision from to Rename remaining linux32 symbols to linux32_*. Fix systrace for linux64..
jhb updated this object.
jhb edited the test plan for this revision. (Show Details)
jhb added a reviewer: markj.
markj edited edge metadata.

Looks ok to me modulo the comment.

Have you verified that the systrace modules at least load?

sys/cddl/dev/systrace/systrace.c
388 ↗(On Diff #9555)

"linux2"?

This revision is now accepted and ready to land.Oct 20 2015, 10:52 PM
jhb edited edge metadata.
  • Fix typo.
  • systrace_linux needs to depend on linux64 on amd64.
This revision now requires review to proceed.Oct 22 2015, 7:58 PM
jhb marked an inline comment as done.Oct 22 2015, 8:00 PM

I verified that kldload of systrace_linux and systrace_linux32 on amd64 pulled in the right dependencies (linux64.ko and linux.ko respectively) and that dtrace -l showed the correct syscall entries (linux32 for linux.ko and linux for linux64.ko)

markj edited edge metadata.
This revision is now accepted and ready to land.Oct 22 2015, 8:59 PM
This revision was automatically updated to reflect the committed changes.