if (name[0] == '.') memmove(name, name+1, strlen(name)); 
if (name[0] == '.') { name[0] = '_'; name[1] = toupper(name[1]); } 
int module_frob_arch_sections(Elf_Ehdr *hdr,			      Elf_Shdr *sechdrs,			      char *secstrings,			      struct module *mod){	unsigned int symidx;	Elf32_Sym *sym;	char *strtab;	int i;	for (symidx = 0; sechdrs[symidx].sh_type != SHT_SYMTAB; symidx++) {		if (symidx == hdr->e_shnum-1) {			printk("%s: no symtab found.\n", mod->name);			return -ENOEXEC;		}	}	sym = (Elf32_Sym *)sechdrs[symidx].sh_addr;	strtab = (char *)sechdrs[sechdrs[symidx].sh_link].sh_addr;	for (i = 1; i < sechdrs[symidx].sh_size / sizeof(Elf_Sym); i++) {		if (sym[i].st_shndx == SHN_UNDEF) {			if (ELF32_ST_TYPE(sym[i].st_info) == STT_REGISTER)				sym[i].st_shndx = SHN_ABS;			else {				char *name = strtab + sym[i].st_name;				if (name[0] == '.')					memmove(name, name+1, strlen(name));			}		}	}	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/7caaeabb17758295edff9703c18a840073c5b8f4/module.c/clean/arch/sparc/kernel/module.c