W dniu 18.12.2012 12:13, Sven Eden pisze: > Am Montag, 17. Dezember 2012, 11:48:12 schrieb Walter Dnes: >> On Mon, Dec 17, 2012 at 01:37:27PM +0100, Sven Eden wrote >> >>> 1) --- kde-base/kate >>> ----------------------------- >>> >>> Compiled with -ggdb in CFLAGS: >>> # sum=0; for file in $(equery f kde-base/kate | grep "\.debug") ; do >>> >>> xSize=$(stat -c "%s" $file) ; sum=$((sum+xSize)) ; done ; echo "$sum" >>> 32652140 >>> >>> Compiled with -g in CFLAGS: >>> # sum=0; for file in $(equery f kde-base/kate | grep "\.debug") ; do >>> >>> xSize=$(stat -c "%s" $file) ; sum=$((sum+xSize)) ; done ; echo "$sum" >>> 32652140 >>> >>> Result: No size change at all. >>> >>> >>> 2) --- dev-libs/lzo >>> ----------------------------- >>> >>> Compiled with -ggdb in CFLAGS: >>> # sum=0; for file in $(equery f dev-libs/lzo | grep "\.debug") ; do >>> >>> xSize=$(stat -c "%s" $file) ; sum=$((sum+xSize)) ; done ; echo "$sum" >>> 558664 >>> >>> Compiled with -g in CFLAGS: >>> # sum=0; for file in $(equery f dev-libs/lzo | grep "\.debug") ; do >>> >>> xSize=$(stat -c "%s" $file) ; sum=$((sum+xSize)) ; done ; echo "$sum" >>> 558304 >>> >>> >>> Result: A difference of 260 bytes or 0.06%. Far away from the assumed >>> 300%. >>> >>> >>> Conclusion: >>> I do not doubt that -ggdb adds size. It does. And maybe, if I did an >>> emerge -e @world would reduce the size used on my system between 30% and >>> 40%. But not about 66% like assumed. >>> >>> >>> However, even if it where "around 5-6" G, it would be thrice the initial >>> assumption of 2G. And that's the whole point. >> >> On my 32-bit machines I have... >> >> FLAGS="-O2 -march=native -mfpmath=sse -fomit-frame-pointer -pipe >> -fno-unwind-tables -fno-asynchronous-unwind-tables" CXXFLAGS="${CFLAGS}" >> >> See http://comments.gmane.org/gmane.linux.busybox/36695 for why I >> include "-fno-unwind-tables -fno-asynchronous-unwind-tables". Would I >> have to rebuild system and world without... >> >> -fomit-frame-pointer -fno-unwind-tables -fno-asynchronous-unwind-tables >> >> ...to have debug data available? > > No, you haven't, if you have compiled everything with "-g" or "-ggdb". > > According to the web page you linked, the DWARF-2 tables are then written > into > the .debug files. Without -g/-ggdb, they are stripped and no longer available > for debugging.
> So according to your CFLAGS, you'd have to rebuild everything, yes, but a > simple "-g" would do. > > Oh, and "splitdebug" in "FEATURES" would be a good idea, too! ;) Hi Sven! Meseems you are not right, please look at it: $ readelf -p .GCC.command.line /usr/lib64/debug/usr/bin/sqlite3.debug |grep "unwind\|-g" [ 1e2] -grecord-gcc-switches [ 1f8] -ggdb [ 202] -frecord-gcc-switches $ size /usr/bin/sqlite3 text data bss dec hex filename 44545 4124 328 48997 bf65 /usr/bin/sqlite3 And with -fno-unwind... $ readelf -p .GCC.command.line /usr/lib64/debug/usr/bin/sqlite3.debug |grep "unwind\|-g" [ 1e2] -grecord-gcc-switches [ 1f8] -ggdb [ 202] -frecord-gcc-switches [ 218] -fno-unwind-tables [ 22b] -fno-asynchronous-unwind-tables $ size /usr/bin/sqlite3 text data bss dec hex filename 42713 4124 328 47165 b83d /usr/bin/sqlite3 As you can see I have splitdebug turned on. Marcin