Many people use the dirty prelinking hack to decrease loading times for KDE and KDE apps, however using prelinking and binutils 2.12 will lead to certain segmentation fault hell, because binutils 2.12 includes a similar linker feature called -z combreloc. This however isn't enabled per default. So here goes a guide for ix86.
So here's the safe way to enable combreloc.
enabling combreloc:
edit the $src_dir/ld/ldmain.c
find combreloc, change this from false to true.
compile binutils.
Making things faster:
recompile glibc with your new binutils package.
recompile QT3 + KDE
Making things even faster.
edit your qt make file:
$src_dir/mkspecs/linux-g++/qmake.conf
change CFLAGS
from -pipe
to -march=athlon-tbird -O3 -pipe -fomit-frame-pointer
(athlon-tbird is GCC3.1, you should replace this depending on your CPU type, most likely i686, if you use GCC 2.95.3))
Exporting the same CFLAGS and CXXFLAGS as above for KDE compilation:
export CFLAGS="athlon-tbird -O3 -pipe -fomit-frame-pointer"
export CXXFLAGS="athlon-tbird -O3 -pipe -fomit-frame-pointer"
for KDELIBS, make sure --enable-fast-malloc=full is apart of your ./configure string.
To decrease compilation times, make sure you use --enable-final and --disable-debug for all KDE packages
KDEmulitmedia will segfault when running artsd and noatun if you use -fomit-frame-pointer for this package, it's recommended that you remove this flag for this package.
Impress your friends:
load something big in KDE and watch in amazement at the speed which your applications now loads
Hope you enjoyed this guide, I'll expand it a bit a submit it to the archive later.
Bookmarks