Index: sys/dev/ksyms/ksyms.c =================================================================== --- sys/dev/ksyms/ksyms.c +++ sys/dev/ksyms/ksyms.c @@ -174,6 +174,11 @@ } #define SYMBLKSZ (256 * sizeof(Elf_Sym)) +#ifdef __powerpc__ +#define FIXUP_START 0 +#else +#define FIXUP_START 1 +#endif /* * For a kernel module, add the symbol and string tables into the @@ -214,7 +219,7 @@ nsyms = len / sizeof(Elf_Sym); for (i = 0; i < nsyms; i++) { symp[i].st_name += to->to_stridx; - if (lf->id > 1 && LINKER_SYMBOL_VALUES(lf, + if (lf->id > FIXUP_START && LINKER_SYMBOL_VALUES(lf, (c_linker_sym_t)&symtab[i], &symval) == 0) { symp[i].st_value = (uintptr_t)symval.value; }