Changeset 771
- Timestamp:
- 07/09/08 18:48:27 (5 months ago)
- Files:
-
- 1 modified
-
Whitix/branches/fs/kernel/module.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
Whitix/branches/fs/kernel/module.c
r765 r771 121 121 #endif 122 122 123 SYMBOL_EXPORT(ModuleSymbolPrint); 124 123 125 DWORD ModuleResolveKernel(char* name) 124 126 { … … 136 138 struct Module* curr; 137 139 140 PreemptDisable(); 141 138 142 /* Look through the kernel symbol table of different modules. */ 139 143 ListForEachEntry(curr, &moduleList, next) … … 148 152 { 149 153 if (!strcmp(currSym->name, name)) 154 { 155 PreemptEnable(); 150 156 return currSym->addr; 157 } 151 158 152 159 currSym++; … … 155 162 } 156 163 157 KePrint("Could not resolve %s\n", name);164 PreemptEnable(); 158 165 159 166 return 0; … … 198 205 break; 199 206 200 KePrint("Could not resolve %s\n", symName); 207 KePrint(KERN_ERROR "%u: Could not resolve %s (%d, %#X), %#X %#X, %u < %u\n", current->pid, symName, strlen(symName), symName, module->strTable, symbol->symName, i, symSize); 208 cli(); 209 hlt(); 210 201 211 return -ENOENT; 202 212 … … 373 383 module->keSymTab=ModuleSectionFind(module, (char*)file+sectionHeaders[elfHeader->strTabSectionIndex].shOffset, ".symtable", elfHeader->shEntries, &module->keSymTabSize); 374 384 385 PreemptDisable(); 375 386 ListAddTail(&module->next, &moduleList); 387 PreemptEnable(); 376 388 377 389 return ret;