platform/upstream/kmod.git
12 years agokmod tool: don't keep iterating when command has been executed
Leandro Pereira [Tue, 27 Dec 2011 20:22:30 +0000 (18:22 -0200)]
kmod tool: don't keep iterating when command has been executed

12 years agoMove util functions to libkmod-util.c
Lucas De Marchi [Tue, 27 Dec 2011 16:38:26 +0000 (14:38 -0200)]
Move util functions to libkmod-util.c

These allow them to be later shared with tools.

12 years agokmod-depmod: use hash implementation from util lib
Lucas De Marchi [Tue, 27 Dec 2011 15:27:42 +0000 (13:27 -0200)]
kmod-depmod: use hash implementation from util lib

12 years agohash: add iterator
Lucas De Marchi [Tue, 27 Dec 2011 15:27:01 +0000 (13:27 -0200)]
hash: add iterator

12 years agobuild-sys: create libkmod-util.la convenience lib
Lucas De Marchi [Tue, 27 Dec 2011 14:26:51 +0000 (12:26 -0200)]
build-sys: create libkmod-util.la convenience lib

Util functions can be shared betweeing libkmod and tools. Start with the
hash implementation.

12 years agoCopy missing hash functions from kmod-depmod to libkmod
Lucas De Marchi [Tue, 27 Dec 2011 14:20:35 +0000 (12:20 -0200)]
Copy missing hash functions from kmod-depmod to libkmod

12 years agoRemove kmod_ prefix from hash implementation
Lucas De Marchi [Tue, 27 Dec 2011 14:13:54 +0000 (12:13 -0200)]
Remove kmod_ prefix from hash implementation

In a future commit, hash implementation will be shared between libkmod
and depmod. kmod_hash is not exported, so remove the namespace.

12 years agoLog paths if kmod_module_new_from_path() failed
Lucas De Marchi [Tue, 27 Dec 2011 20:10:19 +0000 (18:10 -0200)]
Log paths if kmod_module_new_from_path() failed

12 years agoTODO: format and add task
Lucas De Marchi [Tue, 27 Dec 2011 19:32:55 +0000 (17:32 -0200)]
TODO: format and add task

12 years agokmod-depmod: Fix leak of dependency vector
Lucas De Marchi [Tue, 27 Dec 2011 16:18:32 +0000 (14:18 -0200)]
kmod-depmod: Fix leak of dependency vector

12 years agokmod-depmod: refactor extension matching array, support XZ.
Gustavo Sverzut Barbieri [Mon, 26 Dec 2011 15:19:07 +0000 (13:19 -0200)]
kmod-depmod: refactor extension matching array, support XZ.

move the extensions array match to global, conditionally add GZ and XZ
if the support is enabled.

12 years agokmod-depmod: implement -A (--quick)
Gustavo Sverzut Barbieri [Sat, 24 Dec 2011 13:16:40 +0000 (11:16 -0200)]
kmod-depmod: implement -A (--quick)

12 years agokmod-depmod: implement -F and -E options.
Gustavo Sverzut Barbieri [Sat, 24 Dec 2011 12:31:55 +0000 (10:31 -0200)]
kmod-depmod: implement -F and -E options.

Read System.map and Module.symvers from kernel built, then be able to
report unknown symbols.

12 years agoupdate TODO
Gustavo Sverzut Barbieri [Sat, 24 Dec 2011 03:45:23 +0000 (01:45 -0200)]
update TODO

depmod was done, and without map support

12 years agokmod-depmod: dump modules.dep.bin
Gustavo Sverzut Barbieri [Sat, 24 Dec 2011 01:21:48 +0000 (23:21 -0200)]
kmod-depmod: dump modules.dep.bin

12 years agokmod-depmod: dump modules.alias.bin
Gustavo Sverzut Barbieri [Sat, 24 Dec 2011 01:21:09 +0000 (23:21 -0200)]
kmod-depmod: dump modules.alias.bin

12 years agokmod-depmod: dump modules.symbols.bin
Gustavo Sverzut Barbieri [Sat, 24 Dec 2011 01:20:44 +0000 (23:20 -0200)]
kmod-depmod: dump modules.symbols.bin

12 years agokmod-depmod: dump modules.builtin.bin
Gustavo Sverzut Barbieri [Sat, 24 Dec 2011 01:19:22 +0000 (23:19 -0200)]
kmod-depmod: dump modules.builtin.bin

12 years agokmod-depmod: add utility functions to be used by binary dumps.
Gustavo Sverzut Barbieri [Sat, 24 Dec 2011 01:16:20 +0000 (23:16 -0200)]
kmod-depmod: add utility functions to be used by binary dumps.

Binary dumps will use functions to convert alias to underscores and
paths to module names.

12 years agokmod-depmod: copy code from module-init-tools/index.c
Gustavo Sverzut Barbieri [Sat, 24 Dec 2011 01:11:41 +0000 (23:11 -0200)]
kmod-depmod: copy code from module-init-tools/index.c

Copy code from module-init-tools/index.c, the following copyright applies:

    Copyright (C) 2008  Alan Jenkins <alan-jenkins@tuffmail.co.uk>.

12 years agokmod-depmod: dump deps.
Gustavo Sverzut Barbieri [Fri, 23 Dec 2011 22:53:16 +0000 (20:53 -0200)]
kmod-depmod: dump deps.

12 years agokmod-depmod: dump aliases
Gustavo Sverzut Barbieri [Fri, 23 Dec 2011 03:43:01 +0000 (01:43 -0200)]
kmod-depmod: dump aliases

12 years agokmod-depmod: dump softdeps.
Gustavo Sverzut Barbieri [Fri, 23 Dec 2011 03:37:07 +0000 (01:37 -0200)]
kmod-depmod: dump softdeps.

12 years agokmod-depmod: dump modules.symbols
Gustavo Sverzut Barbieri [Fri, 23 Dec 2011 03:27:28 +0000 (01:27 -0200)]
kmod-depmod: dump modules.symbols

note that the hash algorithm is different thus the output order will
be different as well.

to compare the outputs, sort the files:

   depmod -n | grep '^alias symbol:' | sort > /tmp/orig
   kmod-depmod -n | grep '^alias symbol:' | sort > /tmp/new
   diff /tmp/orig /tmp/new

12 years agokmod-depmod: dump devname
Gustavo Sverzut Barbieri [Fri, 23 Dec 2011 02:55:33 +0000 (00:55 -0200)]
kmod-depmod: dump devname

first try to dump files: modules.devname.

12 years agokmod-depmod: initial code (no files generated, untested)
Gustavo Sverzut Barbieri [Thu, 22 Dec 2011 22:23:11 +0000 (20:23 -0200)]
kmod-depmod: initial code (no files generated, untested)

this is the initial code for depmod, it should:
 * use configuration from /run/depmod.d, /etc/depmod.d, /lib/depmod.d
 * respect overrides and searches
 * resolve symbols and dependencies
 * break circular dependencies (dependency loops)
 * --errsyms: print out modules with unresolved symbols and incorrect crc
 * --symbol-prefix: respect architecture symbol prefix

it will not:
 * --quick: does not do quick mode
 * --warn: does not warn on duplicates
 * --filesyms: does not load symbols from map file
 * --symvers: does not load symbol versions from map file
 * dump files: does not dump any files at the moment.

it is highly untested, then I appreciate your help with real world
scenarios using overrides and searches. To get output run with -vvvvvv.

next version should fill in the gaps and at least generate the files

12 years agoAdd test for probe insert
Lucas De Marchi [Mon, 26 Dec 2011 18:06:50 +0000 (16:06 -0200)]
Add test for probe insert

12 years agoAdd implementation of modprobe's insertion
Lucas De Marchi [Tue, 27 Dec 2011 13:40:10 +0000 (11:40 -0200)]
Add implementation of modprobe's insertion

Treat module insertion as modprobe does: look for (soft-)dependencies, run
install commands, apply blacklist.

The difference with the blacklist is that it's applied to all modules,
including the dependencies. If you want to apply a blacklist only on the
module it's better to call the filter function by yourself.

This implementation detects loops caused by poorly written
soft-dependencies and fail gracefully, printing the loop to the log.

12 years agoDo not cache softdeps list
Lucas De Marchi [Tue, 27 Dec 2011 12:15:40 +0000 (10:15 -0200)]
Do not cache softdeps list

This might include a circular dependency which would screw up the
refcounting because there's an internal reference.

12 years agoAllow to internally get dependencies without copying list
Lucas De Marchi [Tue, 27 Dec 2011 06:51:05 +0000 (04:51 -0200)]
Allow to internally get dependencies without copying list

12 years agobuild-sys: remove unneeded _SOURCES var
Lucas De Marchi [Mon, 26 Dec 2011 15:53:32 +0000 (13:53 -0200)]
build-sys: remove unneeded _SOURCES var

12 years agoAdd functions to get ctx blacklists
Lucas De Marchi [Sat, 24 Dec 2011 12:50:47 +0000 (10:50 -0200)]
Add functions to get ctx blacklists

12 years agoFix kmod_list_remove_n_latest()
Lucas De Marchi [Tue, 27 Dec 2011 04:46:12 +0000 (02:46 -0200)]
Fix kmod_list_remove_n_latest()

It only worked because n was always 1. kmod_list_remove returns a
pointer to the next element, relative to the removed one. Therefore we
need to always get a pointer to the last.

12 years agoReverse order of dependency list
Lucas De Marchi [Mon, 26 Dec 2011 22:10:49 +0000 (20:10 -0200)]
Reverse order of dependency list

Dependency list in modules.dep is kept in reverse order. Prepend to
list so all the other places treat it in the right order.

12 years agoTODO: add task in modprobe's compatibility
Lucas De Marchi [Mon, 26 Dec 2011 18:05:19 +0000 (16:05 -0200)]
TODO: add task in modprobe's compatibility

12 years agoindex_file_open: fix another fd leak on error path.
Cristian Rodríguez [Mon, 26 Dec 2011 04:38:04 +0000 (01:38 -0300)]
index_file_open: fix another fd leak on error path.

12 years agoMerge branch 'master' of git://dev.medozas.de/libkmod
Lucas De Marchi [Sat, 24 Dec 2011 19:51:27 +0000 (17:51 -0200)]
Merge branch 'master' of git://dev.medozas.de/libkmod

12 years agoMerge branch 'master' of git://dev.medozas.de/libkmod
Lucas De Marchi [Sat, 24 Dec 2011 19:39:44 +0000 (17:39 -0200)]
Merge branch 'master' of git://dev.medozas.de/libkmod

12 years agolibkmod: remove external cflags from .pc file
Jan Engelhardt [Sat, 24 Dec 2011 19:28:11 +0000 (20:28 +0100)]
libkmod: remove external cflags from .pc file

Since the public header files of libkmod do not include header files
of liblzma or zlib, the flags need not be present.

12 years agoSupport for loading Xz-compressed modules
Jan Engelhardt [Sat, 24 Dec 2011 13:58:30 +0000 (14:58 +0100)]
Support for loading Xz-compressed modules

12 years agobuild: use AC_ARG_WITH for zlib
Jan Engelhardt [Sat, 24 Dec 2011 03:45:42 +0000 (04:45 +0100)]
build: use AC_ARG_WITH for zlib

Since it selects an external dependency for inclusion, AC_ARG_WITH
is preferred (autoconf.info 15.2 "Working with external software").

12 years agobuild: use pkgconfig to detect zlib
Jan Engelhardt [Sat, 24 Dec 2011 03:45:22 +0000 (04:45 +0100)]
build: use pkgconfig to detect zlib

build: explicitly call PKG_PROG_PKG_CONFIG

Per the manual page, PKG_PROG_PKG_CONFIG needs to be invoked
explicitly if PKG_CHECK_MODULES might not happen (it is indeed stowed
in an AS_IF in kmod). Without this, funny failures can occur.
(As it did.)

12 years agoFix version script with v3 symbols
Lucas De Marchi [Sat, 24 Dec 2011 04:40:30 +0000 (02:40 -0200)]
Fix version script with v3 symbols

12 years agoelf: implement kmod_module_get_dependency_symbols()
Gustavo Sverzut Barbieri [Tue, 20 Dec 2011 13:54:53 +0000 (11:54 -0200)]
elf: implement kmod_module_get_dependency_symbols()

Uses kmod_elf_get_dependency_symbols() that looks into ".symtab" for
UNDEF symbols and matches the name from ".strtab" to "__versions" to
get crc.

Likely the public API should unify the symbol information getters and
list release, they are almost the same.

12 years agoelf: add bind type to kmod_modversion.
Gustavo Sverzut Barbieri [Tue, 20 Dec 2011 12:11:22 +0000 (10:11 -0200)]
elf: add bind type to kmod_modversion.

will be used to share this structure with get_dependency_symbols()

12 years agoadd test/test-elf
Gustavo Sverzut Barbieri [Mon, 19 Dec 2011 23:23:45 +0000 (21:23 -0200)]
add test/test-elf

will be focused on testing ELF operations and takes a filename to load
instead of looking for it in the system.

12 years agoelf: add get_symbols()
Gustavo Sverzut Barbieri [Mon, 19 Dec 2011 23:23:13 +0000 (21:23 -0200)]
elf: add get_symbols()

Similar to module-init-tools load_symbols(), it will try .symtab and
.strtab for symbols starting with __crc_, if they are found their crc
is read from ELF's Elf_Sym::st_value.

If not found, then it will fallback to __ksymtab_strings.

12 years agoelf: minimum size is enough.
Gustavo Sverzut Barbieri [Fri, 23 Dec 2011 04:33:20 +0000 (02:33 -0200)]
elf: minimum size is enough.

12 years agofile: speed up loading non-gzipped modules when zlib is enabled.
Gustavo Sverzut Barbieri [Sat, 24 Dec 2011 02:09:31 +0000 (00:09 -0200)]
file: speed up loading non-gzipped modules when zlib is enabled.

Just now realized that my distro (Gentoo) enables support for gzip but
does not compress modules by default.

In this case it's better to have a special case that uses mmap()
instead of a loop of realloc() + gzread().

12 years agobuild-sys: use AS_IF
Lucas De Marchi [Fri, 23 Dec 2011 14:03:19 +0000 (12:03 -0200)]
build-sys: use AS_IF

12 years agotools: kmod: show wrong command in err message
Lucas De Marchi [Fri, 23 Dec 2011 13:44:28 +0000 (11:44 -0200)]
tools: kmod: show wrong command in err message

12 years agotools: kmod: print help message when no commands given
Lucas De Marchi [Fri, 23 Dec 2011 13:35:48 +0000 (11:35 -0200)]
tools: kmod: print help message when no commands given

12 years agotools: kmod: add list command
Lucas De Marchi [Fri, 23 Dec 2011 13:33:02 +0000 (11:33 -0200)]
tools: kmod: add list command

It's the same of lsmod since there's not much to change on its format.

12 years agotools: kmod: Add handling of compat modprobe
Lucas De Marchi [Thu, 22 Dec 2011 05:54:46 +0000 (03:54 -0200)]
tools: kmod: Add handling of compat modprobe

12 years agotools: kmod: Add handling of compat modinfo
Lucas De Marchi [Thu, 22 Dec 2011 05:50:54 +0000 (03:50 -0200)]
tools: kmod: Add handling of compat modinfo

12 years agotools: kmod: Add handling of compat insmod
Lucas De Marchi [Thu, 22 Dec 2011 05:45:07 +0000 (03:45 -0200)]
tools: kmod: Add handling of compat insmod

12 years agotools: kmod: Add handling of compat rmmod
Lucas De Marchi [Thu, 22 Dec 2011 05:39:11 +0000 (03:39 -0200)]
tools: kmod: Add handling of compat rmmod

12 years agotools: kmod: Add handling of compat lsmod
Lucas De Marchi [Thu, 22 Dec 2011 05:01:45 +0000 (03:01 -0200)]
tools: kmod: Add handling of compat lsmod

12 years agotools: kmod: check progname for handling compat commands
Lucas De Marchi [Thu, 22 Dec 2011 21:21:11 +0000 (19:21 -0200)]
tools: kmod: check progname for handling compat commands

12 years agoFix leak on error path
Cristian Rodríguez [Fri, 23 Dec 2011 05:06:56 +0000 (03:06 -0200)]
Fix leak on error path

12 years agotools: kmod: Add global options
Lucas De Marchi [Fri, 23 Dec 2011 04:56:27 +0000 (02:56 -0200)]
tools: kmod: Add global options

12 years agotools: add skeleton of kmod tool
Lucas De Marchi [Thu, 22 Dec 2011 04:33:36 +0000 (02:33 -0200)]
tools: add skeleton of kmod tool

If using libtool 2.4.2, running the script generated by libtool will not
work because libtool changes argv[0] to lt-progname.

To test this is necessary to either fix the installed
build-aux/ltmain.sh file or run the binary directly like in:

$ export LD_LIBRARY_PATH=$PWD/libkmod/.libs/
$ ./tools/.libs/kmod help

12 years agobuild-sys: use MKDIR_P
Lucas De Marchi [Fri, 23 Dec 2011 03:59:31 +0000 (01:59 -0200)]
build-sys: use MKDIR_P

12 years agokmod_modprobe: use basename(argv[0]) in help message
Lucas De Marchi [Fri, 23 Dec 2011 03:36:10 +0000 (01:36 -0200)]
kmod_modprobe: use basename(argv[0]) in help message

12 years agokmod-modprobe: fix leak in command line option processing.
Gustavo Sverzut Barbieri [Thu, 22 Dec 2011 01:54:35 +0000 (23:54 -0200)]
kmod-modprobe: fix leak in command line option processing.

not that it should matter for the binary, but let's be strict with
leaks so running in valgrind never complains.

12 years agointroduce --with-rootlibdir=DIR
Kay Sievers [Thu, 22 Dec 2011 14:40:24 +0000 (15:40 +0100)]
introduce --with-rootlibdir=DIR

Support the installation of the shared library in the rootfs --rootlibdir=,
while the development symlink stays in --libdir=.

12 years agoInitialize line number with 0
Lucas De Marchi [Thu, 22 Dec 2011 03:30:40 +0000 (01:30 -0200)]
Initialize line number with 0

12 years agoRemove useless warning causing trouble in sparc64
Lucas De Marchi [Wed, 21 Dec 2011 22:10:43 +0000 (20:10 -0200)]
Remove useless warning causing trouble in sparc64

-Wcast-align is not that useful and just generates lots of warnings in
architectures like sparc64.

12 years agoFix unaligned memory access
Gustavo Sverzut Barbieri [Wed, 21 Dec 2011 20:23:58 +0000 (18:23 -0200)]
Fix unaligned memory access

Bug found on sparc64. Thanks to "Jan Engelhardt <jengelh@medozas.de>"
for providing access to such a machine.

12 years agodo not (mis-)use the config file generator for non-autobuild stuff
Kay Sievers [Wed, 21 Dec 2011 13:48:07 +0000 (11:48 -0200)]
do not (mis-)use the config file generator for non-autobuild stuff

"Similarly, you should not rely on AC_CONFIG_FILES to replace bindir
and friends in your shell scripts and other files; instead, let make
manage their replacement."

http://www.gnu.org/software/autoconf/manual/autoconf.html#Makefile-Substitutions

12 years agogitignore: ignore dist files
Lucas De Marchi [Wed, 21 Dec 2011 13:44:25 +0000 (11:44 -0200)]
gitignore: ignore dist files

12 years agokmod 2 v2
Lucas De Marchi [Wed, 21 Dec 2011 01:48:46 +0000 (23:48 -0200)]
kmod 2

12 years agoChange error message to reflect reality
Lucas De Marchi [Wed, 21 Dec 2011 01:39:56 +0000 (23:39 -0200)]
Change error message to reflect reality

12 years agoUpdate doc to reflect function behavior
Lucas De Marchi [Wed, 21 Dec 2011 01:39:30 +0000 (23:39 -0200)]
Update doc to reflect function behavior

12 years agoTesting for return of alias_normalize.
Luis Felipe Strano Moraes [Tue, 20 Dec 2011 16:13:56 +0000 (08:13 -0800)]
Testing for return of alias_normalize.

12 years agobuild-sys: do not use some compile flags by default
Lucas De Marchi [Tue, 20 Dec 2011 21:45:59 +0000 (19:45 -0200)]
build-sys: do not use some compile flags by default

12 years agoRemoving comments saying flags are not implemented
Lucas De Marchi [Tue, 20 Dec 2011 21:31:14 +0000 (19:31 -0200)]
Removing comments saying flags are not implemented

Both removal and insertion flags are already implemented.

12 years agoMove symbols introduced in libkmod2 to the right place
Lucas De Marchi [Tue, 20 Dec 2011 19:08:53 +0000 (17:08 -0200)]
Move symbols introduced in libkmod2 to the right place

12 years agobuild-sys: remove remaining _SOURCES var
Lucas De Marchi [Tue, 20 Dec 2011 18:57:11 +0000 (16:57 -0200)]
build-sys: remove remaining _SOURCES var

12 years agobuild-sys: default to "" as rootprefix
Lucas De Marchi [Tue, 20 Dec 2011 18:52:21 +0000 (16:52 -0200)]
build-sys: default to "" as rootprefix

12 years agokmod_modprobe: fix description of -C flag
Lucas De Marchi [Tue, 20 Dec 2011 18:39:59 +0000 (16:39 -0200)]
kmod_modprobe: fix description of -C flag

12 years agoconfigure: disable static zlib build.
Gustavo Sverzut Barbieri [Tue, 20 Dec 2011 18:30:01 +0000 (16:30 -0200)]
configure: disable static zlib build.

It was not being done correctly, disable until we find a way for
libtool to cooperate.

12 years agointroduce --with-rootprefix=DIR
Kay Sievers [Tue, 20 Dec 2011 16:58:05 +0000 (17:58 +0100)]
introduce --with-rootprefix=DIR

Configure the location of the rootfs directories and use it
to find (/usr)/lib/modules and (/usr)/lib/modprobe.d.

12 years agoUse sorted configuration files in precedence order
Lucas De Marchi [Tue, 20 Dec 2011 17:56:31 +0000 (15:56 -0200)]
Use sorted configuration files in precedence order

We need to keep config files sorted and use them taking the precedence
order into account.

The following message was taken from module-init-tools commit doing a
similar thing:

Configuration files are parsed in alphabetic order, regardles of
what directory they reside in. Furthermore, if several files by
the same name exist in different directories only the one in the
directory with highest precedence is loaded.

The order of precedence is /run, /etc, /usr/lib, /lib.

The sad thing is that we are not using openat() anymore since each file
is in different directories. In future we might change the
implementation to open all DIRs and keep a reference
to them instead of the path. However we'd have to keep a separate list
with all the opened dirs so we can close them later (when all configs
are parsed).

12 years agobuild: use dist-xz
Jan Engelhardt [Tue, 20 Dec 2011 15:28:27 +0000 (16:28 +0100)]
build: use dist-xz

It's 2011 already.

12 years agogitignore: only ignore build system files in the top directory
Jan Engelhardt [Tue, 20 Dec 2011 15:27:07 +0000 (16:27 +0100)]
gitignore: only ignore build system files in the top directory

12 years agolibkmod: use C99 __func__ over GNU-specific __FUNCTION__
Jan Engelhardt [Tue, 20 Dec 2011 15:27:40 +0000 (16:27 +0100)]
libkmod: use C99 __func__ over GNU-specific __FUNCTION__

12 years agokmod_config: fix kcmd line parser with dots after =
Lucas De Marchi [Tue, 20 Dec 2011 15:25:24 +0000 (13:25 -0200)]
kmod_config: fix kcmd line parser with dots after =

Check if '=' appeared before the dot. In this case, it's not a valid
module option in kernel command line.

The command line that was failing is:

"root=/dev/sda3 ro pcie_aspm=force init=/sbin/bootchartd
initrd=../initramfs-linux.img BOOT_IMAGE=../vmlinuz-linux"

12 years agoRemoving warnings when compiling on i686 platform.
Luis Felipe Strano Moraes [Tue, 20 Dec 2011 15:11:46 +0000 (07:11 -0800)]
Removing warnings when compiling on i686 platform.

12 years agokmod_module_new_*: improve debugging.
Gustavo Sverzut Barbieri [Tue, 20 Dec 2011 15:04:10 +0000 (13:04 -0200)]
kmod_module_new_*: improve debugging.

12 years agokmod_modprobe: Fix regression when inserting module
Lucas De Marchi [Tue, 20 Dec 2011 15:11:33 +0000 (13:11 -0200)]
kmod_modprobe: Fix regression when inserting module

Commit "e5e2a68 kmod_modprobe: properly handle install/remove commands"
introduced a regression that, while it worked for install/remove
commands, it ceased to work for normal module names. Move the check for
whether it's a install command or a module so both cases work.

12 years agoFix check for opened indexes
Lucas De Marchi [Tue, 20 Dec 2011 14:29:13 +0000 (12:29 -0200)]
Fix check for opened indexes

12 years agoelf: fix regression with empty strings
Lucas De Marchi [Tue, 20 Dec 2011 14:04:21 +0000 (12:04 -0200)]
elf: fix regression with empty strings

Commit "b20dc17 Remove unneeded reference to last string" reverted the
fix in "47a0ef6 elf: do not output empty strings." and empty strings are
appearing again in kmod-modinfo.

With this commit we do a bit different and instead of keeping the
reference to last string we skip the '\0' inside the loop.

12 years agoCache the offset of crc
Lucas De Marchi [Tue, 20 Dec 2011 13:41:19 +0000 (11:41 -0200)]
Cache the offset of crc

This way we don't need to check every time in loop. Indeed compiler
could already optimize out that checks, but this ways is cleaner and
shorter.

12 years agoMake section size constant since it's always the same
Lucas De Marchi [Tue, 20 Dec 2011 06:02:15 +0000 (04:02 -0200)]
Make section size constant since it's always the same

12 years agoOptimize kmod_elf_get_strings() by reducing calls to memcpy
Lucas De Marchi [Tue, 20 Dec 2011 05:25:23 +0000 (03:25 -0200)]
Optimize kmod_elf_get_strings() by reducing calls to memcpy

Copy the entire string only once and then scan it, setting up the
pointers of the vector.

12 years agoRemove unneeded reference to last string
Lucas De Marchi [Tue, 20 Dec 2011 05:12:35 +0000 (03:12 -0200)]
Remove unneeded reference to last string

12 years agoPut blank lines where it's due
Lucas De Marchi [Tue, 20 Dec 2011 05:10:58 +0000 (03:10 -0200)]
Put blank lines where it's due

See CODING-STYLE for reference

12 years agoTerminate strv with NULL
Lucas De Marchi [Tue, 20 Dec 2011 05:09:58 +0000 (03:09 -0200)]
Terminate strv with NULL

12 years agoReduce ident by continuing early
Lucas De Marchi [Tue, 20 Dec 2011 05:08:09 +0000 (03:08 -0200)]
Reduce ident by continuing early