diff options
author | Michał Masłowski <mtjm@mtjm.eu> | 2012-10-23 15:47:38 +0200 |
---|---|---|
committer | Michał Masłowski <mtjm@mtjm.eu> | 2012-10-23 15:47:38 +0200 |
commit | 9b5c97532f512463af83f0daac1e9db22c3307c2 (patch) | |
tree | 582f514a154dea23be340cca8abe44a0bf95f132 /testing/kmod | |
parent | f8ec57e91051f85129d837252605854c888567d0 (diff) | |
parent | 3c19af9355ba86a5b99d6e5a57ecaa68a7ea6e8e (diff) |
Merge branch 'master' of ssh://parabolagnulinux.org:1863/home/parabola/abslibre-pre-mips64el
Conflicts:
community-staging/cegui/PKGBUILD
community-staging/darktable/PKGBUILD
community-staging/freewrl/PKGBUILD
community-staging/gource/PKGBUILD
community-staging/openimageio/PKGBUILD
community-staging/rss-glx/PKGBUILD
community-staging/spring/PKGBUILD
community-testing/virtualbox-modules/PKGBUILD
community/astromenace/PKGBUILD
extra/di/PKGBUILD
staging/opencv/PKGBUILD
testing/cairo/PKGBUILD
testing/gnome-control-center/PKGBUILD
testing/gtkmm3/PKGBUILD
testing/seahorse/PKGBUILD
testing/systemd/PKGBUILD
testing/systemd/systemd.install
Diffstat (limited to 'testing/kmod')
-rw-r--r-- | testing/kmod/0001-depmod-fix-parsing-of-modules.order-with-compressed-.patch | 165 | ||||
-rw-r--r-- | testing/kmod/0001-libkmod-Add-support-for-.-in-module-parameter-on-kcm.patch | 33 |
2 files changed, 0 insertions, 198 deletions
diff --git a/testing/kmod/0001-depmod-fix-parsing-of-modules.order-with-compressed-.patch b/testing/kmod/0001-depmod-fix-parsing-of-modules.order-with-compressed-.patch deleted file mode 100644 index 8c4ecf83c..000000000 --- a/testing/kmod/0001-depmod-fix-parsing-of-modules.order-with-compressed-.patch +++ /dev/null @@ -1,165 +0,0 @@ -From 88c247f7f18ac25181ddcaff97fbbecbd3a29f57 Mon Sep 17 00:00:00 2001 -From: Lucas De Marchi <lucas.de.marchi@gmail.com> -Date: Wed, 3 Oct 2012 16:28:24 -0300 -Subject: [PATCH] depmod: fix parsing of modules.order with compressed modules - -We now index the modules by uncompressed-relative-path instead of -relative-path. This is because the file modules.order, coming from -kernel, always comes with uncompressed paths. This fixes the issue of -not sorting the aliases correctly due to paths not matching when using -compressed modules. ---- - tools/depmod.c | 46 +++++++++++++++++++++++++++++----------------- - 1 file changed, 29 insertions(+), 17 deletions(-) - -diff --git a/tools/depmod.c b/tools/depmod.c -index 0bf2dea..ff19d6e 100644 ---- a/tools/depmod.c -+++ b/tools/depmod.c -@@ -39,6 +39,8 @@ - #define DEFAULT_VERBOSE LOG_WARNING - static int verbose = DEFAULT_VERBOSE; - -+#define KMOD_EXT_UNC 0 -+ - static const struct kmod_ext { - const char *ext; - size_t len; -@@ -1001,6 +1003,7 @@ struct mod { - uint16_t idx; /* index in depmod->modules.array */ - uint16_t users; /* how many modules depend on this one */ - uint8_t dep_loop : 1; -+ char *uncrelpath; /* same as relpath but ending in .ko */ - char modname[]; - }; - -@@ -1014,7 +1017,7 @@ struct depmod { - const struct cfg *cfg; - struct kmod_ctx *ctx; - struct array modules; -- struct hash *modules_by_relpath; -+ struct hash *modules_by_uncrelpath; - struct hash *modules_by_name; - struct hash *symbols; - unsigned int dep_loops; -@@ -1025,6 +1028,7 @@ static void mod_free(struct mod *mod) - DBG("free %p kmod=%p, path=%s\n", mod, mod->kmod, mod->path); - array_free_array(&mod->deps); - kmod_module_unref(mod->kmod); -+ free(mod->uncrelpath); - free(mod); - } - -@@ -1066,10 +1070,10 @@ static int depmod_init(struct depmod *depmod, struct cfg *cfg, - - array_init(&depmod->modules, 128); - -- depmod->modules_by_relpath = hash_new(512, NULL); -- if (depmod->modules_by_relpath == NULL) { -+ depmod->modules_by_uncrelpath = hash_new(512, NULL); -+ if (depmod->modules_by_uncrelpath == NULL) { - err = -errno; -- goto modules_by_relpath_failed; -+ goto modules_by_uncrelpath_failed; - } - - depmod->modules_by_name = hash_new(512, NULL); -@@ -1089,8 +1093,8 @@ static int depmod_init(struct depmod *depmod, struct cfg *cfg, - symbols_failed: - hash_free(depmod->modules_by_name); - modules_by_name_failed: -- hash_free(depmod->modules_by_relpath); --modules_by_relpath_failed: -+ hash_free(depmod->modules_by_uncrelpath); -+modules_by_uncrelpath_failed: - return err; - } - -@@ -1100,7 +1104,7 @@ static void depmod_shutdown(struct depmod *depmod) - - hash_free(depmod->symbols); - -- hash_free(depmod->modules_by_relpath); -+ hash_free(depmod->modules_by_uncrelpath); - - hash_free(depmod->modules_by_name); - -@@ -1114,7 +1118,7 @@ static void depmod_shutdown(struct depmod *depmod) - static int depmod_module_add(struct depmod *depmod, struct kmod_module *kmod) - { - const struct cfg *cfg = depmod->cfg; -- const char *modname; -+ const char *modname, *lastslash; - size_t modnamelen; - struct mod *mod; - int err; -@@ -1134,7 +1138,8 @@ static int depmod_module_add(struct depmod *depmod, struct kmod_module *kmod) - array_init(&mod->deps, 4); - - mod->path = kmod_module_get_path(kmod); -- mod->baselen = strrchr(mod->path, '/') - mod->path; -+ lastslash = strrchr(mod->path, '/'); -+ mod->baselen = lastslash - mod->path; - if (strncmp(mod->path, cfg->dirname, cfg->dirnamelen) == 0 && - mod->path[cfg->dirnamelen] == '/') - mod->relpath = mod->path + cfg->dirnamelen + 1; -@@ -1144,25 +1149,32 @@ static int depmod_module_add(struct depmod *depmod, struct kmod_module *kmod) - err = hash_add_unique(depmod->modules_by_name, mod->modname, mod); - if (err < 0) { - ERR("hash_add_unique %s: %s\n", mod->modname, strerror(-err)); -- free(mod); -- return err; -+ goto fail; - } - - if (mod->relpath != NULL) { -- err = hash_add_unique(depmod->modules_by_relpath, -- mod->relpath, mod); -+ size_t uncrelpathlen = lastslash - mod->relpath + modnamelen -+ + kmod_exts[KMOD_EXT_UNC].len; -+ mod->uncrelpath = memdup(mod->relpath, uncrelpathlen + 1); -+ mod->uncrelpath[uncrelpathlen] = '\0'; -+ err = hash_add_unique(depmod->modules_by_uncrelpath, -+ mod->uncrelpath, mod); - if (err < 0) { - ERR("hash_add_unique %s: %s\n", - mod->relpath, strerror(-err)); - hash_del(depmod->modules_by_name, mod->modname); -- free(mod); -- return err; -+ goto fail; - } - } - - DBG("add %p kmod=%p, path=%s\n", mod, kmod, mod->path); - - return 0; -+ -+fail: -+ free(mod->uncrelpath); -+ free(mod); -+ return err; - } - - static int depmod_module_del(struct depmod *depmod, struct mod *mod) -@@ -1170,7 +1182,7 @@ static int depmod_module_del(struct depmod *depmod, struct mod *mod) - DBG("del %p kmod=%p, path=%s\n", mod, mod->kmod, mod->path); - - if (mod->relpath != NULL) -- hash_del(depmod->modules_by_relpath, mod->relpath); -+ hash_del(depmod->modules_by_uncrelpath, mod->relpath); - - hash_del(depmod->modules_by_name, mod->modname); - -@@ -1472,7 +1484,7 @@ static void depmod_modules_sort(struct depmod *depmod) - continue; - line[len - 1] = '\0'; - -- mod = hash_find(depmod->modules_by_relpath, line); -+ mod = hash_find(depmod->modules_by_uncrelpath, line); - if (mod == NULL) - continue; - mod->sort_idx = idx - total; --- -1.7.12.4 - diff --git a/testing/kmod/0001-libkmod-Add-support-for-.-in-module-parameter-on-kcm.patch b/testing/kmod/0001-libkmod-Add-support-for-.-in-module-parameter-on-kcm.patch deleted file mode 100644 index 4ef3d2775..000000000 --- a/testing/kmod/0001-libkmod-Add-support-for-.-in-module-parameter-on-kcm.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 66f3228d17d66d7e2dd484427259290fbc82b2f0 Mon Sep 17 00:00:00 2001 -From: Lucas De Marchi <lucas.demarchi@profusion.mobi> -Date: Mon, 8 Oct 2012 19:04:16 -0300 -Subject: [PATCH] libkmod: Add support for '.' in module parameter on kcmdline - -Otherwise we fail to parse arguments in kernel command line like -testmodule.testparam=1.5G - -Suggested-by: Selim T. Erdogan <selim@alumni.cs.utexas.edu> ---- - libkmod/libkmod-config.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/libkmod/libkmod-config.c b/libkmod/libkmod-config.c -index 70044f0..398468e 100644 ---- a/libkmod/libkmod-config.c -+++ b/libkmod/libkmod-config.c -@@ -567,8 +567,10 @@ static int kmod_config_parse_kcmdline(struct kmod_config *config) - modname = p + 1; - break; - case '.': -- *p = '\0'; -- param = p + 1; -+ if (param == NULL) { -+ *p = '\0'; -+ param = p + 1; -+ } - break; - case '=': - if (param != NULL) --- -1.7.12.4 - |