--- module-init-tools-3.2-pre9/depmod.c.BAD 2005-10-05 17:10:39.026053905 -0400 +++ module-init-tools-3.2-pre9/depmod.c 2005-10-05 18:09:11.354098881 -0400 @@ -103,10 +103,24 @@ void add_symbol(const char *name, struct static int print_unknown; -struct module *find_symbol(const char *name, const char *modname, int weak) +struct module *find_symbol(char *name, const char *modname, int weak) { struct symbol *s; + /* Handle the wacky sparc cases */ + if (strcmp(name, ".div") == 0) + strncpy(name, "_Div", sizeof(name)); + if (strcmp(name, ".udiv") == 0) + strncpy(name, "_Udiv", sizeof(name)); + if (strcmp(name, ".mul") == 0) + strncpy(name, "_Mul", sizeof(name)); + if (strcmp(name, ".umul") == 0) + strncpy(name, "_Umul", sizeof(name)); + if (strcmp(name, ".rem") == 0) + strncpy(name, "_Rem", sizeof(name)); + if (strcmp(name, ".urem") == 0) + strncpy(name, "_Urem", sizeof(name)); + /* For our purposes, .foo matches foo. PPC64 needs this. */ if (name[0] == '.') name++; --- module-init-tools-3.2-pre9/moduleops_core.c.BAD 2005-10-05 18:10:18.321918225 -0400 +++ module-init-tools-3.2-pre9/moduleops_core.c 2005-10-05 18:10:12.533798153 -0400 @@ -118,7 +118,7 @@ static void PERBIT(calculate_deps)(struc for (i = 1; i < size / sizeof(syms[0]); i++) { if (END(syms[i].st_shndx, module->conv) == SHN_UNDEF) { /* Look for symbol */ - const char *name; + char *name; struct module *owner; int weak;