c0cc13a092
- upgrade to makedumpfile-1.5.5 o Add eppic support for module data structures o makedumpfile header to show LZO/snappy/zlib o Add --non-mmap option to disable mmap() manually o many bugfixes - Drop makedumpfile-powerpc.patch: now upstream - Drop makedumpfile-raise-44bit-physaddr-limit.patch: now upstream OBS-URL: https://build.opensuse.org/request/show/222623 OBS-URL: https://build.opensuse.org/package/show/Kernel:kdump/makedumpfile?expand=0&rev=76 |
||
---|---|---|
.gitattributes | ||
.gitignore | ||
makedumpfile-1.5.5.tar.bz2 | ||
makedumpfile-coptflags.diff | ||
makedumpfile.changes | ||
makedumpfile.spec | ||
README.static |
Q: Why is makedumpfile linked statically? A: To save space. Loner answer follows. The secondary kernel runs in a very constrained environment. It cannot use the whole RAM of the machine, simply because this is the data that should be saved. Instead, it uses a special portion of RAM that is reserved for that purpose in the primary kernel. Since this is memory that cannot be used by the primary kernel (it is basically dead unless there is a kernel crash, which should be a rare event), it is desirable to keep the size of the reserved memory as small as possible. One thing that takes up RAM in the secondary kernel is the root file system. Now, the makedumpfile binary is also run from this filesystem. Consequently, initrd must also include all the dynamic libraries that this binary links against. This can increase the size of the initrd considerably. However, we don't need most of that space, because makedumpfile uses only a fraction of all the code present in the dynamic libraries. In fact, when makedumpfile is the only user of those libraries in the secondary kernel environment, the other usual term for these libraries, "shared libraries", no longer matches reality. It is not shared with anything else in the system. On the other hand, some libraries are also used by other binaries in the initrd, so it makes sense to link to them dynamically. The following libraries are shared with other tools: libdl libz The following libraries are only used by makedumpfile, and thus should be linked statically: libdw libebl libelf libbz2 liblzma Static versions of some of the above libraries may not be available in the distro, so a build-time check is performed, and they fall back to linking dynamically if necessary.