Hi guys, following Robby's suggestion, I have moved to github. Please have a look at http://github.com/andr345/module-init-tools/commits/master/ (or git://github.com/andr345/module-init-tools.git) This is the second set of patches in the ELF-rewrite, organized for easy review. This rewrite - separates depmod from its ELF functions, (7 commits) - renames moduleops to elfops (1 commit) - gathers all previously refactored code in elfops. (1 commit) The next set (still TODO) will move the remaining functions from modprobe and modinfo, completing the ELF-rewrite. Testing: passes tests/runtests. Has not been tested on a live system, though that is probably of less value (?) The commit log in chronological order: commit f95dc3e... util: introduce new string table object load_symbols() and calculate_deps() in moduleops call functions in depmod as a way of passing multiple symbols back to depmod. This adds a string table to replace those callbacks. commit b17e586... depmod: rewrite load_symbols() to not use callback load_symbols() in moduleops no longer has to call add_symbol() in depmod. Data is now returned in a string table. commit 2ddf799... depmod: separate symbol lookup and dependency calculation The new load_dep_syms() operation in moduleops returns a string table of symbols on which a module depends. calculate_deps() is moved to depmod. Remaining depmod callbacks in moduleops are removed. commit 6fc062a... moduleops: add load_strings() operation load_string() treats the data in an ELF-file section as a collection of strings and builds a string table from those. It can be used to read .modinfo, __ksymtab_strings and similar sections. load_symbols() is updated to take advantage of the new function. commit c724292... depmod: move tables from struct module into separate struct This is part of the work separating depmod and moduleops. commit fd6cc9a... moduleops: Trivial code cleanups load_section(): * Pass struct module rather than module->data and module->conv. load_dep_syms() and fetch_tables() * Assign local variable conv = module->conv when used in many places. fetch_tables(): * Treat handle_register_symbols like the boolean it is. commit 0d1c106... depmod: Introduce struct elf_file Remove the last remnants of struct module from moduleops*.[ch] commit 4a8fb96... moduleops: rename to elfops and move to static lib commit 9fc58e8... move ELF-related code into elfops Specifically depmod.h => elfops.h: struct module_tables and struct elf_file elfops.c => elfops_core.c: X-macros (eg PERBIT) elf_core.c => elfops_core.c: get_section() util.[ch] => elfops.[ch]: elf_ident() and get_section() Additionally, elf_core.c is deleted, being replaced by elfops_core.c -- To unsubscribe from this list: send the line "unsubscribe linux-modules" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html