-#ifdef HAVE_LINUX_VERSION_H
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0))
- struct mod_paths *mp;
- char *path = "";
- char *kernel = "linux";
-
- if (argc >= 2)
- path = argv[1];
- if (argc == 3)
- kernel = argv[2];
- if (argc > 3) {
- printf("%s [path] [kernel]\n", argv[0]);
- return 0;
- }
-
- for (mp = mod_paths; mp->name != NULL; mp++) {
- struct module_info info;
- int rc;
- size_t crap;
- int query_module(const char *name, int which, void *buf,
- size_t bufsize, size_t *ret);
-
- rc = query_module(mp->name, QM_INFO, &info, sizeof(info),
- &crap);
- if (rc < 0) {
- if (errno != ENOENT)
- printf("query_module(%s) failed: %s\n",
- mp->name, strerror(errno));
- } else {
- printf("add-symbol-file %s%s%s/%s.o 0x%0lx\n", path,
- path[0] ? "/" : "", mp->path, mp->name,
- info.addr + sizeof(struct module));
- }
- }
-
- return 0;
-#endif // Headers are 2.6-only
-#endif // !HAVE_LINUX_VERSION_H