2000-11-21 Keith Owens modutils 2.3.21 * Remove compile warnings in xstrcat. * snprintf cleanups. * Set safemode when uid != euid. * Strip quotes from shell responses. 2000-11-16 Keith Owens modutils 2.3.20 * Rewrite table generation code to make it easier to add new tables. * usbmap uses zero vendor as wildcard, test more fields to find end of table. Adam J. Richter. * Off by one error in relocations. Jean-Francois Moine. * Use tgt_long to handle different sizes in combined 32/64 bit systems. Original patch by Dave Miller. * Include module type in headers of generated files. Randy Dunlap. * Add insmod -S (force kallsyms), clean up insmod parameters, man page. * Clean up messages. * Verify MODULE_PARM strings. * Check for multiple well known symbols to get prefix. * Security cleanup. Triggered by Bugtraq exploits by Michal Zalewski, Sebastian Krahmer, Chris Evans. It is still the kernel's fault for passing user data unchanged to a program running as root. * Add missing s/390 arch_finalize_section_address. Roger Luethi. * depmod -F supports strange sparc __export_priv_. Dave Miller. * Sparc64 relocation patch. Redhat (not that they bothered to tell me). * Sparc64 compile and link fixes. Me, with thanks to Dave Miller for making a machine available. 2000-10-22 Keith Owens modutils 2.3.19 * Add insmod -O. * Generate usbmap from MODULE_DEVICE_TABLE(usb). * Move print map before sys_init_module to assist debugging. * Ignore ALLOC attribute for .modinfo. * Correct R_MIPS_26 relocations by Maciej W. Rozycki. * Switch back to .gz to suit kernel.org. 2000-10-11 Keith Owens modutils 2.3.18 * Correct typo in modutils.spec use of mandir. * Ignore addressless symbols in System.map, by Ivan Kokshaysky. * No error on unexpected relocate sections if they are empty. * Generate modules.isapnpmap from MODULE_DEVICE_TABLE(isapnp) and ISAPNP_CARD_TABLE. * Add .rhkmvtag to prune list. * Include filename in "not an ELF file" message. 2000-09-21 Keith Owens modutils 2.3.17 * config.{guess,sub}, configure.in updates by Pavel Roskin. * Fix a NULL base_dir in modinfo. Reported by John Summerfield. * obj_ia64 patch for module unwind. Mike Stephens. * Add vmlinux, vmlinuz, bzImage, zImage to prune list. * depmod -F System.map only looks at exported symbols. * Convert to bzip2. * Spec file update for mandir by Horst von Brand. 2000-09-10 Keith Owens modutils 2.3.16 * Increase maximum symbols in map from 10,000 to 100,000. * Add __archdata section on architectures that need arch specific data in loaded modules (IA64 is first). * Ignore unresolved references if there are no relocation entries for them. Some versions of gcc generate spurious unresolved externals which are not actually used. * Update modules.conf man page by John Levon. * Simplify path list, defaults are almost all [toplevel] only. * Add prune command to modules.conf man page. 2000-08-16 Keith Owens modutils 2.3.15 * Fix spelling and typos in man pages. * Add maintainer entry. * spec file changes, newer rpm automatically gzips man pages. Horst von Brand. * Do not install kdstat and kerneld manual pages unless kerneld is compiled. Noticed by Debian. * config.c needs explicit include of on older libc.c. Noticed by everybody :(. * Ensure that sbindir exists before install binaries. Noticed by Wolfgang Weisselberg. * Sparc 32/64 fixes, Horst von Brand, Jakub Jelinek. * Set the default value of use-syscall based on a config check for the presence of query_module() in libc. Requested by Richard Gooch. * Add a config option for the default value of root-check. insmod -r is now a toggle. Requested by Richard Gooch. * Replace install -d with mkdir -p. install -d has an undocumented feature, it silently changes directory permissions to 755 even if the directory already exists! * MIPS ELF patch by Maciej W. Rozycki. 2000-08-07 Keith Owens modutils 2.3.14 * Replace ftw() with modutils specific xftw(). * Use absolute filename in __insmod symbol. * Generate modules.pcimap from MODULE_DEVICE_TABLE(). 2000-07-20 Keith Owens modutils 2.3.13 * More gzipped objects changes by Willy Tarreau. * Default to no backwards compatibility. See INSTALL if you want modutils to run on 2.0.x kernels, if you want kerneld (died in 2.1.91) or if your libc does not have create_module(), query_module() etc. * IA64, s390 fixes. * Redhat 486 patch. * Redhat modprobe -k patch. * Redhat kallsyms patch. * Add mtd directory, aliases from David Woodhouse. * Handle unaligned IA64 relocations. * Fix for IA64 modules with no cleanup routine, Mike Stephens. * Refuse to load modules compiled with -mconstant-gp. 2000-07-09 Keith Owens modutils 2.3.12 * Only read default config on first file. * Add /lib/modules/.../kernel directory, positioning for Makefile rewrite. * Correct modinfo -f by Yann Droneaud. * Add filename to obj_file, allow %{filename} in modinfo format. * Partial cleanup char vs const char. * Handle gzipped objects by Willy Tarreau. * SuSe patch for s390 support. * SuSe patch to default aliases. * IA64 support by Mike Stephens. * Update hint message for kernel errors. * Default to using libc, phasing out _syscall(). 2000-04-20 Keith Owens modutils 2.3.11 * Add ieee1394 directory, requested by Andreas Bombe. * Documentation and options updates. Add long options, clean up missing or incorrect usage entries. Callum . * White space cleanup. * Do meta expansion on "include" and "if" parameters. * Ignore genksyms suffix when reading map from -F. * Add support for kallsyms to assist kernel debugging. * Hint message for -EBUSY. * Sanity check on number of local symbols. 2000-03-15 Keith Owens modutils 2.3.10 * Add arch64(). Keith Owens. * Ensure that mandir exists. Giacomo Catenazzi * Assume MOD_DELETED flag when QM_... gets ENOENT. Keith Owens. * util/config.c (check_update): New function. (need_update): New function. (config_read): If -A option given and update not needed, exit. depmod/depmod.c (DEPMOD_MAIN): New option -A. (depmod_usage): Update usage info. Tim Waugh * Derive genksyms prefix from well known symbol, automatically picks up unusual symbol prefixes. Suggested by Edouard G. Parmelan because Redhat used "smp" instead of "smp_" :(. Different implementation by Keith Owens. * Add ide modules directory. Keith Owens. * Truncate alias loops. Pass alias result to probe[all]. Bug found and patch suggested by Pablo Bianucci, different implementation by Keith Owens. 1999-12-19 Keith Owens modutils 2.3.9 * Remove devfs.aliases, out of date and to be supplied by devfsd, not modutils. * util/alias.h (aliaslist): Add ppdev default alias. Tim Waugh * Redo the way the combined module recognizes its function. Suggested by Stepan Kasal, different implementation by Keith Owens. * Rationalize the code for common 32/64 bit architectures. Keith Owens. * Fix depmod error message. Keith Owens. * Report correct module name on failure (Debian 53423). Keith Owens. * Flush last message when using syslog. Maciej W. Rozycki. 1999-12-11 Keith Owens modutils 2.3.8 * More flexible recognition of the way the utility was called. Suggested by Stepan Kasal, different implementation by Keith Owens. * Add option to strip binaries during install. Suggested by Stepan Kasal, different implementation by Keith Owens. * Rework --enable-combined configure options, default is now to build a single module containing insmod, rmmod, modprobe, lsmod and ksyms. Stepan Kasal. * Change --enable-combined-sparc to --enable-common-sparc, using "combined" for a single module as well as common sparc 32/64 code was confusing. Keith Owens. * Reduce ambiguity when an alias and a module have the same name. Keith Owens. * Rework common sparc code. Stepan Kasal. 1999-11-21 Keith Owens modutils 2.3.7 * Reinstate kernel 2.0 support in rmmod. * Include mips in target cpu list. Debian #48875. * insmod_ksymoops_clean checks if /proc/ksyms exists. Debian #49013. * snap_shot remove test for symlink. Debian #49059. * Correct RPM spec file. Niels Kristian Bech Jensen. * Add --enable-kerneld configure option. Niels Kristian Bech Jensen. * --enable-combined-sparc support (default on sparc and sparc64), which compiles executables handling both 32bit and 64bit SPARC modules. Jakub Jelinek. * Fixes a few issues with SPARC 64bit support by a 32bit binary. Jakub Jelinek. * Cross compile support with thanks to Peter Loje Hansen. * Add --disable-insmod-static. * Add MOD_INITIALIZING. 1999-10-18 Keith Owens modutils 2.3.6 * modprobe -a bug fixes by Yuuki Harano . * Add EXTRA_DEFS to Makefiles for distributions. * Add test for NO_WARN_ON_OLD_LINK for distributions that do not want warnings in 2.3.x. * ARM patch from Philip Blundell . * Remove malloc overwrite when modules do not reference __this_module. 1999-10-12 Keith Owens modutils 2.3.5 * Debian VPATH patches, kernelversion script, man pages by Wichert Akkerman . * VPATH fixes for insmod_ksymoops_clean. * Correct timestamp in insmod_ksymoops_clean, change days from 7 to 2. * Remove debugging instruction that had been left in. * Change char-major-14 to soundcore, per sailer@ife.ee.ethz.ch * Correct ppp-deflate-26, was -24. * Correct manual headers. * Add -r flag to depmod and insmod for people who want to shoot themselves in the foot. * Reformat messages for 80 character wide screens and add commands. 1999-10-08 Keith Owens modutils 2.3.4 * Replace /etc/conf.modules with /etc/modules.conf. * Add insmod_ksymoops_clean script. 1999-10-08 Keith Owens modutils 2.3.3 * Minor bug fixes. Do not malloc zero bytes. Return correct error message for modprobe -r. Remove spurious Makefile variables. 1999-08-25 Keith Owens modutils 2.3.2 * Add usb directory. * Update documentation. * Additional hints for -EBUSY on init_module. 1999-08-24 Keith Owens modutils 2.3.1 * Add ksymoops support. 1999-08-24 Keith Owens modutils 2.3.0 * New modutils maintainer. * Convert from CVS to PRCS. 1999-07-29 Richard Henderson modutils-2.2.2-pre8: * depmod/depmod.c (resolve): Prefer first definition. Based on patch from Kurt Garloff . 1999-05-31 Philip Blundell modutils-2.2.2-pre7: * insmod/Makefile.in (depend): Fix for building outside source directory. * depmod/Makefile.in (depend): Likewise. * obj/Makefile.in (depend): Likewise. * obj/obj_arm.c (arch_apply_relocation): Correct handling of PC24 relocs. 1999-03-30 Philip Blundell Fix makefiles for building outside the source directory: * Makefile.in: Don't set $(VPATH) here. * insmod/Makefile.in: Build crc32.tab in the source directory. * genksyms/Makefile.in: Build parse.[ch] in the source directory. Thu Mar 25 15:58:36 CET 1999 Bjorn Ekwall modutils-2.2.2-pre6: * Cleaned up and unified util/config.c * Added "probe" and "probeall" directives to conf.modules Added prefix "add" to "probe", "probeall", "above", "below", "options" Added "alias module null" for use as dummy that always succeeds Suggestions from Adam J. Richter * Updated man pages * Cache syslog messages until exit (to avoid syslog loop) * Added basic support for devfs in modprobe. New file: devfs.aliases Suggestion and aliases from Richard Gooch * Depmod converted to C Tue Mar 23 20:08:13 CET 1999 Bjorn Ekwall modutils-2.2.2-pre5: * "modprobe -r" with multiple modules tries each stack separately Report from Tim Waugh * Removed spurious calls to "/bin/echo" in meta_expand.c (check for "=") Report from Adam J. Richter * Modprobe checks mtime instead of ctime for modules.dep Report from Tim Waugh * Restructured depmod for higher speed * Removed self-reference in depmod output Report from Adam J. Richter * Fixed extremely silly bug in modprobe.c build_stack() * Made linked lists in modprobe a little more readable * Automatic removal of obsolete section 1 man pages * Added test module "test" in insmod/test * Added support for pre-defined "below" in util/alias.h * Check for C++ in configure. Input from: ralf@uni-koblenz.de, Petr Vandrovec Sat Mar 20 01:29:55 CET 1999 Bjorn Ekwall modutils-2.2.2-pre4: * Fixed very silly stack bugs in modprobe.c build_stack() * Added option "-d" (debug) to modprobe to show stacks * Do not complain if modprobe fails to load "above" modules * Made modprobe -r error reporting conform to specs Reports from Tim Waugh * Added support for pre-defined "above" in util/alias.h * Added to alias and options in alias.h * Added "atm" to standard module tree. From Richard Gooch * Changed make depend to use $(CC) instead of gcc and $(CXX) to $(CC) in depmod (for easier cross compiles) From Petr Vandrovec Thu Mar 18 23:38:46 CET 1999 Bjorn Ekwall modutils-2.2.2-pre3: * Upgraded the script "create_syms" in the depmod directory to be actually useful after a kernel "make modules_install". Perhaps I should select a more appropriate name, though... * Added '-q' option to insmod and modprobe to make insmod be quiet about unresolved symbols and version mismatches, except via the exit status. For "modprobe -k", -q is implied. * Fixed silly bug in modprobe.c for reverting a failed load. * Made sure config.c uses "version" and not "uts_info" when asked to. * Serious restructuring of the logic in depmod in order to ensure correct dependencies at all times. Resolving of undefined symbols is delayed until _all_ modules in a subtree have been processed. Now makes sense of "path=/lib/modules". * Modified linked list order in modprobe.c to make best use of the depmod upgrades. * Explicitly initialize "errors" to 0 in insmod.c main() to handle multiple modprobe calls. * Restored mscan definition, to pre1. That wasn't the problem... * Upgraded NEWS, README, TODO, CREDITS, insmod.8, modprobe.8 * Commented away use of HAVE_WORDEXP in util/meta_expand.c until I'm sure it is OK. Wed Mar 17 18:17:59 CET 1999 Bjorn Ekwall pre2: * From Michal Jaegermann : * Updated modutils.spec * Typecast adaptions for Alpha (config.c, meta_expand.c) * Fixed bug in depmod.cc main() handling result from config_lstmod() helped by gdb stacktrace from Jochen Friedrich * Survive ftw(NON_EXISTANT_PATH) => errno = ENOENT in config.c (different behaviour on different platforms). Bugreports and tests: Jochen Friedrich and Garst R. Reese * Fixed handling of quoted strings in util/meta_expand.c Bug report from: Andrzej Krzysztofowicz * Use /var/run instead of /tmp to store pid of request-route :-( * Test if small modification in modstat.c mscan macro fixes Alpha problem on 2.0.* 1999-03-17 Philip Blundell * obj/obj_arm.c: Merge in ARM changes from HCC/Corel tree. Add support for synthesising GOT and PLT to cope with too-large address offsets in relocs. * config.sub: Update from glibc 2.1. Tue Mar 16 21:11:37 CET 1999 Bjorn Ekwall * Fixed bug in insmod.c, get_module_version: should also be: look for "__module_kernel_version", not only: "kernel_version". Problem reported by Arnaud Installe * Added error message if a module isn't owned by root (This security check was added early in this series, but didn't appear in the ChangeLog, thanks for the reminder Arnaud!) * Added two aliases from Tigran Aivazian * Warning about conditional paths added to conf.modules.5 * Added notification if the module configuration file is more recent than the module dependencies file. * Added simple-minded tool "create_syms" in depmod directory. Generates kernel symbol file for "depmod -F symfile". Tue Mar 16 21:11:37 CET 1999 Bjorn Ekwall * Added error message if a module isn't owned by root (This security check was added early in this series, but didn't appear in the ChangeLog, thanks for the reminder Arnaud!) * Added two aliases from Tigran Aivazian * Warning about conditional paths added to conf.modules.5 * Added notification if the module configuration file is more recent than the module dependencies file. * Added simple-minded tool "create_syms" in depmod directory. Generates kernel symbol file for "depmod -F symfile". Tue Mar 16 13:36:03 CET 1999 Bjorn Ekwall * Optimistically named current version "modutils-2.2.2-pre1". * Updated conf.modules(5). * Added "-n" (numeric) to expression evaluation for "if" directives in configuration files. Tue Mar 16 00:57:36 CET 1999 Bjorn Ekwall * Upgraded man pages (and renamed from section(1) to section(8)) * Big modprobe rewrite: * For "normal" modprobe requests (i.e. no wildcards) all information is deduced from the module dependency file and configuration file. This means that there is no need to scan the actual directories in order to find the modules. So, using modprobe is now at least as fast as plain insmod! * There can be an unlimited number of alias levels, where each alias level can have its own set of "options". The upper level alias "options" will override the options defined for "lower"levels. Fri Mar 12 23:57:19 CET 1999 Bjorn Ekwall insmod/modprobe.c: * Added (forgotten) "above" and "below" handling to unload() * Discovered and fixed a bug in unload(): look for requested name as well as the basic name to handle modules inserted with "insmod -o kernelname basicname.o" Fri Mar 12 18:17:48 CET 1999 Bjorn Ekwall Summary of changes from lastest 2.1.121 version (with vger.rutgers.edu updates) ============================================================== Base directory: configure.in --disable-combine-rmmod changed --disable-combine-modprobe changed --disable-compat-2-0 new! Makefile.in (and all Makefile.in in the subdirectories) Cleanup of makefiles, especially realclean, distclean ============================================================== ./depmod * All code from 2.1.121 replaced * Restart from latest current C++ version from Jaques Gelinas * Depmod and modprobe separated, modprobe moved to ../insmod * Some depmod cleanups w.r.t. tree handling * All handling of /etc/conf.modules unified and moved to ../util * Kernel symbols read via new get_kernel_info() in ../util/libutil.a * Loading of object file info uses ../obj/libobj.a * Less memory usage by new obj_free() in ../obj/libobj.a * For modules with module_info, use the explicitly exported symbols * Use getopt in depmod, with long options * New depmod options -F -C -b -n -q -F read kernel symbols from a file instead of kernel: File type: either System.map or copy of /proc/ksyms -C Use alternate config file instead of /etc/conf.modules -b Work with a moved directory image of /lib/modules -n Do nothing, write output on stdout instead -q Be QUIET, even if there are unresolved symbols ============================================================== ./genksyms * lex.c parse.c and parse.h included in tar dist for people without flex and bison (some such exist). * Makefile dependencies more clear ============================================================== ./include General change: all "new_"-symbols drops "new_" New files: * config.h for the new generic handling of /etc/conf.modules via ../util/config.c, included in ../util/libutil.a * modstat.h for generic module info via get_kernel_info() in ../util/modstat.c, included in ../util/libutil.a Modified files: * kerneld.h Fixed for handling all kerneld protocols * module.h all "new_"-symbols drops "new_" * obj.h new obj_free() call added * util.h merged logger.h, added new meta_expand and GLOB_LIST ============================================================== ./insmod General: * modprobe moved here from ../depmod (and converted to C) * logger moved to ../util (for ../util/libutil.a) * All configuration handling moved to ../util/config.c (libutil.a) * All utilities use the same rules for finding modules. MODPATH is merged with the generic rules, if defined. MODULECONFIG environment parameter be used to specify config file. * main.c removed, generic functionality in Makefile, insmod.c * Makefile.in cleaned up * Utilities (rmmod, modprobe, lsmod, ksyms) can be combined to one executable, for floppys/ramdisks and what-not (see README.combined) * Heavy restructuring of most sources to make them less version dependent. Kernel queries made generic via get_kernel_info(). Version dependence compatibility controlled via ../configure * Merged Debian patches insmod.c: * options cleaned up * insmod more SMP-friendly ("-P"): Bill Zumach * module size fix: B. James Phillippe * Locking (option -L) is now the default action for insmod * Flow in insmod_main now handles versioned modules/kernels better ksyms.c: * Rewritten: uses generic get_kernel_info * Can be merged with insmod executable lsmod.c: * Rewritten: uses generic get_kernel_info * Usable for non-root users * Can be merged with insmod executable modinfo.c: * optind++ in show_module_info, Salvador Ortiz Garcia * unified module path handling via ../util/config.c (libutil.a) modprobe.c: * Converted from original C++ to C and much modified since then * Cooperates fully with insmod (but usable as separate program) * Handles the new keywords in /etc/conf.modules: Conditional decoding and handling of parameters if else elseif endif define include Additional module dependencies (optimized pre-post- install/remove) above pull in module(s) on top (such as ppp-compressors) below push module(s) on stack before myself * Uses getopt with long options * New options: -C use alternate config file (instead of /etc/conf.modules) -n Do nothing, just show -v Be verbose -r Without module name: Do "autoclean" with complete handling of pre-/post- install/remove commands. Intended to replace "rmmod -a" in crontabs. * Module options from aliases modules will be merged with base module options and command line options. rmmod.c: * Rewritten: uses generic get_kernel_info * Use "-r" option for removing stacks (as in modules-2.0.0) * Can still be merged with insmod executable ============================================================== ./kerneld * Most Debian patches applied: kerneld.c Makefile.in ============================================================== ./obj * New funcion "obj_free()" added to obj_load.c. This makes modprobe more "lean" w.r.t. memory usage, even though it now uses ../obj/libobj.a for loading module info. * Debian patches merged ============================================================== ./util * Logging, via logger.c moved here for use of by apps * All handling of config files to config.c for use of by apps. Many cleanups, modifications and additions: - uses ftw, partly to survive "modutils-2.1.121 path syntax" - If MODULECONFIG environment parameter is defined, that file will be used instead of the default /etc/conf.modules. - If MODPATH environment parameter is defined, its contents will override the default paths (/etc/conf.modules rules). - All config file arguments will be expanded for meta-character. - New config file keywords decoded: if, else, elseif, endif, define, above, below Config statements include FILE if EXPRESSION else elseif EXPRESSION endif where EXPRESSION can be ! EXPRESSION -f FILENAME WORD where "", "0" or "false" => FALSE, else => TRUE WORD op WORD (op is one of == != < <= >= >= ) All WORDs are expanded w.r.t. meta-characters above module modulelist below module modulelist * Separate config.c include file "alias.h" for easier editing * New file: modstat.c, contains version independent reading of kernel module parameters. Influenced by COMPAT_2_0 in ../configure * New file: meta_expand.c, handles expansion of all meta-character for config.c. Uses wordexp() or glob() if available, with popen("/bin/echo ...") as fallback. Returns GLOB_LIST (array of words) Thanks for hints from Tim Waugh * sys_cm.c, sys_qm.c Debian patch ============================================================================= Tue Jan 26 23:02:37 PST 1999 B. James Phillippe * insmod/insmod.c (old_init_module): Adjust size down to compensate for losing mod_use_count. Tue Nov 3 22:26:18 MET 1998 Ralf Baechle * obj/obj_mips.c (arch_apply_relocation): Fix application of R_MIPS_26 relocations. * obj/obj_load.c (obj_load): Allocate the table of local symbols large enough to hold all symbols since not all systems have the same idea of what might be a local symbol or not. Sun Oct 25 19:31:44 MET 1998 Ralf Baechle * configure.in: Translate mips* into mips. * configure: Rebuild. Wed Sep 16 02:45:12 MEST 1998 Ralf Baechle * obj/obj_mips.c (arch_load_proc_section): Don't load .reginfo and .mdebug sections. Fix error messages. * obj/obj_load.c (obj_load): Call arch_load_proc_section for section header types > SHT_LOPROC. * obj/obj_alpha.c (arch_load_proc_section): Add default implementation. * obj/obj_arm.c (arch_load_proc_section): Likewise. * obj/obj_i386.c (arch_load_proc_section): Likewise. * obj/obj_m68k.c (arch_load_proc_section): Likewise. * obj/obj_ppc.c (arch_load_proc_section): Likewise. * obj/obj_sparc.c (arch_load_proc_section): Likewise. * obj/obj_sparc64.c (arch_load_proc_section): Likewise. * util/sys_qm.c [__mips__]: Make compile for MIPS when 2.1.x headers aren't installed. * insmod/insmod.c (usage): Document -n option. * man/insmod.1: Likewise. * NEWS: Document changes. Sun Sep 13 09:52:39 PDT 1998 Richard Henderson * Release version 2.1.121. Sun Sep 13 08:28:37 PDT 1998 Richard Henderson * */Makefile: Move to */Makefile.in. * Makeconfig.in: Remove. * configure.in: Output all the new Makefile.in's. * insmod/insmod.c (old_process_module_arguments): Use strtoul instead of strtol for processing numbers without overflow. (new_process_module_arguments): Likewise. Sun Aug 30 16:44:54 1998 Philip Blundell * obj/obj_arm.c, include/elf_arm.h: New files. * configure.in: Translate CPU name of `arm*' to `arm'. Wed Aug 26 10:11:24 +0200 1998 Matthew Wilcox * depmod/modprobe.c (main): Read deps file after option processing. Sun Aug 2 15:36:55 PDT 1998 Richard Henderson * depmod/conf_file.c (default_types): Add video. * insmod/insmod.c (search_module_path): Likewise. * insmod/modinfo.c (search_module_path): Likewise. * depmod/modprobe.c (insmod): Fix typo in insmod invocation. Sun Aug 2 15:35:31 1998 Matt McLean * obj/obj_ppc.c (arch_apply_relocation): Handle R_PPC_REL32. Fri Jul 31 17:24:22 PDT 1998 Richard Henderson * obj/obj_mips.c (arch_apply_relocation): Move global variable mips_hi16_list into struct mips_file. Detect R_MIPS_26 overflow. Fri Jul 31 17:12:35 PDT 1998 Ralf Baechle * include/elf_mips.h, obj/obj_mips.c: New files. Wed Jul 29 23:06:59 CEST 1998 Geert Uytterhoeven * insmod/ksyms.c (new_ksyms): ret is a size_t. Fri Jun 26 03:29:38 PDT 1998 Richard Henderson * Release version 2.1.107. * insmod/insmod.c (main): Recognize -L. * depmod/modprobe.c (insmod): Use -L. Wed May 20 17:10:54 CEST 1998 Jakub Jelinek * include/module.h: new_module_info should not use tgt_long either. Sat Apr 25 23:48:15 IDT 1998 Alon Ziv * insmod/modinfo.c (show_parameter): Search the value for min/max. Fix null termination errors. (main): Process all listed files. Sat Apr 25 13:21:30 PDT 1998 Richard Henderson * include/kerneld.h: New file imported from old kernel sources. * kerneld/kdsend.c: Include local kerneld.h. * kerneld/kerneld.c, kerneld/kdstat.c: Likewise. Patch from Krzysztof G. Baranowski . Sat Apr 25 13:07:46 PDT 1998 Richard Henderson * insmod/insmod.c (old_process_module_arguments): Balk if the symbol found was resolved from the kernel. (new_process_module_arguments): Likewise. Suggested by Paul Mackerras . Sat Apr 25 12:56:43 PDT 1998 Richard Henderson * insmod/insmod.c (add_symbols_from): Only add kernel symbols for the undef globals. Fri Apr 3 12:20:33 +0200 1998 Jakub Jelinek * include/module.h: new_module_symbol is not made of tgt_long. * insmod/modinfo.c: Add fc4 to module path. Wed Mar 25 17:35:11 MET 1998 Jakub Jelinek * include/elf_sparc64.h: Handle both old deprecated EM_SPARC64 and new EM_SPARCV9. Fri Feb 6 01:15:23 PST 1998 Richard Henderson * Release version 2.1.85. Fri Feb 6 00:38:56 PST 1998 Richard Henderson * depmod/conf_file.c (translate_alias): Translate til closure. * obj/obj_reloc.c (obj_allocate_commons): Properly allocate NOBITS even with no commons to instantiate. Sat Jan 31 00:47:55 EST 1998 Randy McCaskill * depmod/conf_file.c (translate_alias): Use fnmatch instead of strcmp. (locate_mod_obj): Translate before looking for separators. Fri Jan 23 01:48:18 PST 1998 Richard Henderson * Makefile (TARGETS): New. (clean): Rename distclean. Fri Jan 23 01:28:04 PST 1998 Richard Henderson * insmod/ksyms.c (old_ksyms): Call lseek not llseek. * insmod/test/Makefile: New file. * insmod/test/t1a.c, insmod/test/t1b.c: New files. * include/obj.h (struct obj_file): Add local_symtab entries. * obj/obj_common.c (obj_add_symbol): Add SYMIDX argument. Handle local symbols into the local_symtab. * obj/obj_load.c (obj_load): Allocate local_symtab. Update obj_add_symbol call. * obj/obj_reloc.c (obj_allocate_commons_and_check_undefineds): Split. (obj_allocate_commons): Search local_symtab. (obj_relocate): Look for locals in the local_symtab. Delete redundant NOBITS->PROGBITS code. * insmod/insmod.c: Update all calls to obj_add_symbol. * configure.in: Dike out Tom's Jan 14 change. Fri Jan 16 14:42:13 MET 1998 Jakub Jelinek * insmod/insmod.c (default_module_path): Add fc4 directory. Thu Jan 15 13:40:20 MET 1998 Jakub Jelinek * insmod/insmod.c (new_init_module): Add support for initial sections and their removal after init_module exits. * include/module.h (struct new_module): Add runsize entry for the above support. * obj/obj_common.c (obj_load_order_prio): New function, used in sorting sections, take into account .*.init sections. (obj_insert_section_load_order): Optimize sorting of sections. Wed Jan 14 19:48:37 1998 Tom Dyas * configure.in: Check for 2.1.x kernel includes. Wed Jan 7 00:50:32 PST 1998 Richard Henderson * depmod/depmod.c (load_obj_file) Reword last change to remove comment-in-comment warning. Sun Jan 4 23:28:36 +0100 1998 Daniel Bergstrom * Makefile (lex.o): Play well with make -j. * insmod/Makefile (install-insmod-rmmod): Succeed if /sbin/rmmod exists. * kerneld/Makefile (kerneld): Add LDLIBS to link line. * man/depmod.1: Sync paths with reality. Sun Jan 4 15:05:46 -0600 1998 Michael Chastain * depmod/conf_file.c (default_types): Add sound. * insmod/insmod.c (default_path): Likewise. * insmod/modinfo.c (default_path): Likewise. Sat Jan 3 16:18:24 +0100 1998 Florian La Roche * depmod/alias.h: Disable RTC. * depmod/depmod.c (load_obj_file): Don't fail to create modules.dep if an unreadable file is found in the hierarchy. Mon Dec 8 22:28:39 PST 1997 Richard Henderson * Release version 2.1.71. * insmod/Makefile: Clean modinfo. Mon Dec 8 22:06:29 PST 1997 Richard Henderson * depmod/alias.h: Add net-pf-[12]. Requested by Kirk Petersen . * Makefile (realclean): Alternate target for clean. Sun Nov 30 16:48:34 PST 1997 Richard Henderson * insmod/insmod.c (old_process_module_arguments): Recognize quoted strings in 2.0 as well. Requested by Leonard N. Zubkoff . Sat Nov 15 00:48:23 EST 1997 Tom Dyas * README: Update build instructions. * NEWS: New file. Tue Nov 11 11:54:41 EST 1997 Tom Dyas * man/modinfo.1: New file. * TODO: Don't mention modinfo since it now exists. Tue Oct 21 18:10:45 PST 1997 Richard Henderson * configure.in: Correct axp-broken-gas pattern match. * insmod/Makefile: When combining insmod+rmmod, install a link not two binaries. Reported by . Mon Oct 20 12:41:10 EST 1997 Tom Dyas * configure.in: Translate powerpc -> ppc for ARCH. Patch from Ralph E. Bugg . Fri Oct 17 01:58:47 EST 1997 Tom Dyas * configure.in: Default --exec-prefix to '', if not given. * Makeconfig.in: Added macros for install dirs. * depmod/Makefile (install): Use dir macros. * genksyms/Makefile (install): Use dir macros. * insmod/Makefile (install): Use dir macros. * kerneld/Makefile (install): Use dir macros. * man/Makefile (install): Use dir macros. Fri Oct 17 00:38:44 EST 1997 Tom Dyas * configure.in: $build_cpu should be $target_cpu * insmod/insmod.c (main): Support long options. Moved usage info to function usage(). Sun Oct 5 21:54:07 PDT 1997 Richard Henderson * Makefile: Let make -k do more work. Sun Oct 5 21:38:50 PDT 1997 Richard Henderson * kerneld/kerneld.c (handle_child): Loop on waitpid, so as not to loose children. Patch from Mike McLagan . Sun Oct 5 21:22:57 PDT 1997 Richard Henderson * configure.in: Detect AXP_BROKEN_GAS. Get the architecture from AC_CANONICAL_SYSTEM, not uname. * Makeconfig.in: Substitute DEFS & ARCH. * Makefile (clean): Rid ourselves of autoconf droppings. Mon Oct 6 01:30:03 +0000 1997 Tom Dyas * configure.in, configure, install-sh, Makeconfig.in: New files. * Makeconfig: Removed. * insmod/modinfo.c: New file. Displays information about a module. * insmod/Makefile: Add modinfo. Tue Sep 16 20:43:53 +0200 1997 Alain Knaff * insmod/insmod.c (new_process_module_arguments): Properly null-terminate string patches when they are quoted. Thu Sep 11 08:43:03 PDT 1997 Richard Henderson * Release version 2.1.55. Wed Sep 10 16:34:41 PDT 1997 Richard Henderson * genksyms/genksyms.c (crc_prefix): New variable. (export_symbol): Use it. (main): New option -p sets it. * man/genksyms.8: Update documentation. Idea from Jacques Gelinas . Wed Sep 10 16:09:37 PDT 1997 Richard Henderson * insmod/Makefile: Allow insmod & rmmod to run as a combined binary. * insmod/main.c: New file. * Makeconfig (COMBINE_INSMOD_RMMOD): New define. Requested by Erik Troan . Wed Sep 10 15:41:16 PDT 1997 Richard Henderson * depmod/depmod.c (load_obj_file): Print error if fopen fails. (main): Continue processing on errors, so that we see all errors all at once. Reported by Gunther Mayer . Tue Aug 26 11:14:36 -0400 1997 Telly Mavroidis * util/sys_qm.c [__sparc__]: Fix typo. Tue Jul 29 23:02:04 PDT 1997 Richard Henderson * include/module.h: Rename sizeof_type to tgt_sizeof_type. Kill the struct duplication by defining a tgt_long. * insmod/insmod.c: Propogate sizeof_type change. Tue Jul 29 22:23:16 PDT 1997 Jakub Jelinek * insmod/insmod.c (search_module_path): Add ipv6. Tue Jul 29 22:23:16 PDT 1997 Jakub Jelinek Sparc64 support: * depmod/Makefile (DEFS): Pass in ARCH as well. * insmod/Makefile: Likewise. * obj/Makefile: Likewise. * insmod/insmod.c: Don't use native sizeof(type), use constants sizeof_type that correspond to the target. * include/module.h: Detect and cope with sparc64 target and sparc32 host. * include/obj.h: libc5 doesn't declare ELF64_ST_INFO either. * include/elf_sparc64.h: New file. * obj/obj_sparc64.c: New file. Sat Jul 19 23:56:02 +0200 1997 Florian La Roche * depmod/misc.c (resolve_string): Kill assignment warning. * genksyms/genksyms.h: Extern outfile and debugfile properly. * man/modprobe.1: New file. Wed Apr 16 15:27:17 +1000 1997 Paul Mackerras * include/elf_ppc.h, obj/obj_ppc.c: New files. Mon Apr 14 20:33:56 CDT 1997 Richard Henderson * depmod/depmod.c (print_deps_file): Fix initial array allocation size. Sat Apr 12 19:23:25 CDT 1997 Richard Henderson * obj/obj_reloc.c (obj_relocate): If AXP_BROKEN_GAS, work around the old gas local symbol LITERAL reloc bug. Mon Mar 31 23:03:12 EST 1997 David S. Miller * genksyms/lex.l (yylex) [case ST_TABLE_5]: Missing break. Tue Mar 25 21:41:00 CST 1997 Richard Henderson * depmod/depmod.c (old_read_kernel_syms): Get symbols via get_kernel_syms syscall rather than /proc/ksyms. * depmod/modprobe.c (is_removable): Final arg to query_module is a size_t, not an int. Sat Mar 15 19:34:07 PST 1997 H.J. Lu * depmod/conf_file.c (release_all_sets): Set mod_set to NULL. (read_config_file): only call release_all_sets () once. call resolve_string () to expand string. * depmod/misc.c (resolve_string): New function that resolves string with `foo`. (what_command): New function that returns the known commands. (expand_command): New funtion that expands pattern or command. Only `uname -r` is supported this time. * depmod/misc.h: New prototype for resolve_string (). * depmod/modprobe.c (read_deps_file): call resolve_string () to expand string. * man/depmod.1: Fix typos. The syntax should be "path[TAG]=PATHNAME" means TAG is appended to PATHNAME. Thu Mar 13 13:38:12 CST 1997 Richard Henderson * insmod/insmod.c (ncv_strcmp): New function that combines old m_strcmp and k_strcmp -- it's not a simple matter to always have the versioned symbol as the first or second argument. (main): Install ncv_strcmp instead. Reported by David Bourgin . * insmod/insmod.c (get_kernel_version): Take an extra argument to return the full uname string. (old_get_module_version): Likewise. (new_get_module_version): Likewise. (main): Record and compare the full uname string, to handle suffixes like "-ISS" and "-SMP". Sun Mar 9 23:52:18 CST 1997 Richard Henderson * genksyms/lex.l (yylex): Only use the file component of the input path when generating the output filename. Reported by Markus Dickebohm . * depmod/Makefile (clean): Remove modprobe and depmod. Sun Mar 9 13:55:27 MET 1997 Eddie C. Dost * obj/obj_sparc.c (arch_apply_relocation): Handle lots more relocation types. Tue Mar 4 08:12:58 CST 1997 Richard Henderson * Merge new depmod from Marcin Dalecki . * insmod/insmod.c (get_kernel_version): Don't assert that the last number of the version be followed by a NUL. (old_get_module_version, new_get_module_version): Likewise. Reported by Keith Owens * insmod/insmod.c: Merge character and string array patches from Jean Tourrilhes . * kerneld/kerneld.c (kerneld_error): Add missing va_end; use vsnprintf. Sun Feb 2 13:21:39 CST 1997 Richard Henderson * genksyms/lex.l (yylex): Update documentation on 2.0.x symbol table processing. Generate phrases for asm blocks as well, as it is more efficient to do it in the lexer. * genksyms/parse.y (opt_asm_phrase, asm_declaration): Recognise the ASM_PHRASE token rather than trying to work it out ourselves. Sun Feb 2 07:44:00 CST 1997 Richard Henderson * man/kerneld.8: Format for section 8. * man/genksyms.8: Renamed from genksyms.1 to match how it formats. Reported by Martin von Loewis . Tue Jan 28 21:10:07 MET 1997 Janos Farkas * depmod/load_obj.cc (load_obj): Close the file when finished. Mon Jan 27 10:39:21 MET 1997 Geert Uytterhoeven * depmod/config.cc (aliaslist): Add entries for m68k binfmt_aout, atarimouse and amigamouse. Sun Jan 26 14:26:00 CST 1997 Richard Henderson Release version 2.1.23. Wed Jan 22 16:13:54 CST 1997 Richard Henderson * insmod/insmod.c (main): Don't call create_module at all if noload. * insmod/insmod.c (ncv_symbol_hash): New function to not hash the crc portion of the symbol for when the kernel and object file don't agree about symbol versioning. (main): Install it with the special compare functions. * obj/obj_common.c: Move obj_symbol_cmp into obj_file. (obj_elf_hash_n): New function derived from old elf_hash. (obj_add_symbol): Call the functions in obj_file. (obj_find_symbol): Likewise. (obj_set_symbol_compare): Accept a new argument `hash' and if set, rehash all of the existing symbols with the new function. Wed Jan 22 15:08:33 CST 1997 Richard Henderson * obj/obj_common.c: Split off all of the relocation bits into ... * obj/obj_reloc.c: here. (obj_allocate_commons_and_check_undefineds): Allocate data for NOBITS sections, so that argument initialization and string patching works properly. Reported by . (obj_create_image): Don't treat NOBITS specially. * obj/Makefile (LIBOBJ_OBJS): Add obj_reloc.o. Fri Jan 17 12:56:58 CST 1997 Richard Henderson * genksyms/parse.y (init_declarator): Use new asm_phrase_opt instead of asm_definition_opt, as the later eats a semicolon. Fri Jan 17 10:55:31 EST 1997 David Miller * genksyms/genksyms.c (print_list): Don't assume alloca returns consecutive chunks of down-growing stack. (expand_and_crc_list): Likewise. * obj/obj_sparc.c (arch_apply_relocation): Do R_SPARC_WDISP22. Wed Jan 15 14:04:35 CST 1997 Richard Henderson * insmod/insmod.c (old_init_module): Or in OLD_MOD_AUTOCLEAN when appropriate. * insmod/lsmod.c (new_lsmod): Display module use count. Mon Jan 6 16:06:49 CST 1997 Richard Henderson * obj/obj_m68k.c: #include for size_t. * obj/obj_sparc.c: Likewise. * insmod/rmmod.c (old_get_modules): Fix error check from read. Sat Jan 4 16:46:09 CST 1997 Richard Henderson * insmod/insmod.c (main): Check that we did find the module's kernel version rather than reporting version 255.255.255. Reorder obj_load call to remove `may be used uninialized' warning. * util/xstrdup.c (xstrdup): Fix `return discards const' warning. * insmod/lsmod.c (old_lsmod): Fix error check from read. * insmod/ksyms.c (old_ksyms): Initialize kmem_fd. * depmod/Makefile (modprobe): Link with $(CC) so that we don't pull in a dependancy for libg++.so etc. Sat Jan 4 16:27:11 EST 1997 Jacques Gelinas * insmod/insmod.c (old_init_module): Fix comparison against ksymidx. The 2.0.x init_module syscall expects the submitted module image to skip the mod_use_count_ variable. * depmod/config.cc (aliaslist): Add entries for ide-probe and ide-tape. Fri Jan 3 02:43:00 CST 1997 Richard Henderson Snapshot looking towards a 2.1.21 release.