David Daney wrote: > arch/mips/oprofile/common.c defines several symbols (op_model_mipsxx and > op_model_rm9000) with __attribute__((weak)). It then assumes that ELF > linking conventions will prevail and there will be no problems if they > are undefined. > > The problem is if you try to load oprofile as a module. The kernel > module linker evidentially does not understand weak symbols and refuses > to load the module because they are undefined. > > Perhaps a single > > extern struct op_mips_model plat_op_model; > > That must be defined by each different implementation. Deciding one > which implementation would then be done at compile time instead of runtime. > > I don't have a patch for this yet, but that is what I am thinking of doing. > Ok, attached is my untested (but it compiles for some architectures) patch. David Daney