On 2016-Jun-1, at 7:21 PM, Bryan Drewery <bdrewery at FreeBSD.org> wrote: > > The fix is easy, I am just wondering why there are 2 ABI formats > supported. If only one is normally used and the default then I'll only > support that one. > > Filemon hooks the syscall table. The only differences that I see are (_v1 then _v2 pairs): .sv_sigcode = sigcode64, .sv_szsigcode = &szsigcode64, .sv_name = "FreeBSD ELF64", vs. .sv_sigcode = sigcode64_elfv2, .sv_szsigcode = &szsigcode64_elfv2, .sv_name = "FreeBSD ELF64 V2", and: .sv_setregs = exec_setregs_funcdesc, vs. .sv_setregs = exec_setregs, Only for the _v1 case: .sv_trap = NULL, This appears to be two different ELF format versions. This is confirmed by: https://patchwork.ozlabs.org/patch/433747/ (from 2015-Jan-28) where Nathan wrote: Big-endian ELF64 ELF executables normally (the Linux kernel is an exception) have their entry point refer to a function descriptor instead of the first instruction. Distinguish between the Linux case and the function descriptor case, which is used for the FreeBSD kernel, by checking whether the entry point points into an executable section or not. This allows use of the FreeBSD kernel as a skiboot payload. === Mark Millard markmi at dsl-only.net Older material. . . On 6/1/2016 7:16 PM, Mark Millard wrote: > May be Nathan Whitehorn knows what is going on that prevents filemon.ko > from loading for powerpc64 based on how it is now built (added for more > than i386 and amd64 as of -r301130)? > > Nathan: See below if it sounds like something you might have a clue > about. As to why this comers up: Loading filemon.ko is required in order > for WITH_META_MODE=yes to work for incremental builds. > > === > Mark Millard > markmi at dsl-only.net <http://dsl-only.net> > > On 2016-Jun-1, at 6:59 PM, Bryan Drewery <bdrewery at FreeBSD.org > <http://freebsd.org>> wrote: > >> On 6/1/2016 6:39 PM, Mark Millard wrote: >>> while filemon.ko now exists: >>>> # ls -l /boot/*/filemon* >>>> -r-xr-xr-x 1 root wheel 32064 Jun 1 17:59 /boot/kernel/filemon.ko >>> it does not load: >>>> # kldload -n filemon >>>> kldload: can't load filemon: No such file or directory >>>> # dmesg | grep link_elf >>>> link_elf: symbol elf64_freebsd_sysvec undefined >> >> There's 2 different ABI formats for powerpc64? >> >>> sys/powerpc/powerpc/elf64_machdep.c:INIT_SYSENTVEC(elf64_sysvec_v1, >>> &elf64_freebsd_sysvec_v1); >>> sys/powerpc/powerpc/elf64_machdep.c:INIT_SYSENTVEC(elf64_sysvec_v2, >>> &elf64_freebsd_sysvec_v2); >> >> What's up with that? >> >> -- >> Regards, >> Bryan Drewery > > -- Regards, Bryan DreweryReceived on Thu Jun 02 2016 - 00:31:57 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:05 UTC