On Thu, Jul 07, 2022 at 12:53:33AM +0000, Emmanuel Dreyfus wrote: > This is NetBSD 9.2_STABLE on amd64. If the kernel is built with > profiling (either config -p, or makeoptions PROF="-pg" and options > GPROF), it crashes at boot with this panic: > > panic: patchfunc: sizes do not match (from=0xffffffff80f0d720)
Here is a workaround, but perhaps the concept of patching the binary is to be questioned. Is it just to save the performance of a boolean test? --- sys/arch/x86/x86/cpu.c 2 Aug 2020 07:33:38 -0000 1.171.2.3 +++ sys/arch/x86/x86/cpu.c 8 Jul 2022 09:08:04 -0000 @@ -68,8 +68,9 @@ #include "opt_mpbios.h" /* for MPDEBUG */ #include "opt_mtrr.h" #include "opt_multiprocessor.h" #include "opt_svs.h" +#include "opt_gprof.h" #include "lapic.h" #include "ioapic.h" @@ -700,9 +701,9 @@ struct cpu_info *ci; kcpuset_t *cpus; u_long i; -#ifndef XEN +#if !defined(XEN) && !defined(GPROF) /* Now that we know the number of CPUs, patch the text segment. */ x86_patch(false); #endif -- Emmanuel Dreyfus m...@netbsd.org