- Timestamp:
- 03/23/2001 03:27:23 AM (24 years ago)
- Branches:
- 10.0, 10.0-rc1, 10.1, 10.1-rc1, 11.0, 11.0-rc1, 11.0-rc2, 11.0-rc3, 11.1, 11.1-rc1, 11.2, 11.2-rc1, 11.3, 11.3-rc1, 12.0, 12.0-rc1, 12.1, 12.1-rc1, 12.2, 12.2-rc1, 6.0, 6.1, 6.1.1, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.5-systemd, 7.6, 7.6-systemd, 7.7, 7.7-systemd, 7.8, 7.8-systemd, 7.9, 7.9-systemd, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, arm, bdubbs/gcc13, ml-11.0, multilib, renodr/libudev-from-systemd, s6-init, trunk, v3_0, v3_1, v3_2, v3_3, v4_0, v4_1, v5_0, v5_1, v5_1_1, xry111/arm64, xry111/arm64-12.0, xry111/clfs-ng, xry111/lfs-next, xry111/loongarch, xry111/loongarch-12.0, xry111/loongarch-12.1, xry111/loongarch-12.2, xry111/mips64el, xry111/multilib, xry111/pip3, xry111/rust-wip-20221008, xry111/update-glibc
- Children:
- 08463b5b
- Parents:
- 4848808
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter06/aboutdebug.xml
r4848808 rabdeaad6 4 4 <para> 5 5 Most programs and libraries by default are compiled with debugging 6 symbols and optimizing level 2 (gcc options -g and -O2) and are compiled 7 for a specific CPU. On Intel platforms software is compiled for i386 8 processors by default. If a user doesn't wish to run software on other 9 machines other than his own, he might want to change the default 10 compiler options so that they will be compiled with a higher 11 optimization level, no debugging symbols and generate code for his 12 specific architecture. Let me first explain what debugging symbols 13 are. 6 symbols (gcc option -g) Let me explain what these debugging symbols 7 are and why you may not want them. 14 8 </para> 15 9 16 10 <para> 17 11 A program compiled with debugging symbols means a user can run a program or 18 library through a debugger and the debugger's output will be user friendlier. 19 These debugging symbols also enlarge the program or library significantly. 12 library through a debugger and the debugger's output will be user 13 friendly. These debugging symbols also enlarge the program or library 14 significantly. 20 15 </para> 21 16 22 17 <para> 23 To remove debugging symbols from a binary (must be an a.out or ELF binary) 24 run <userinput>strip --strip-debug filename</userinput>. A user can use wild 25 cards 26 if he needs to strip debugging symbols from multiple files (use something like 27 strip --strip-debug $LFS/usr/bin/*). Another, easier, options is just 28 not to compile programs with debugging symbols. Most people will probably 29 never use a debugger on software, so by leaving those symbols out 30 a lot of diskspace can be saved. 31 </para> 32 33 <para> 34 Before someone wonders if these debugging symbols would make a big difference, 35 here are some statistics: 18 Before you start wondering whether these debugging symbols really make a 19 big difference, here are some statistics. Use them to draw your own 20 conclusion. 36 21 </para> 37 22 … … 59 44 60 45 <para> 61 Sizes mayvary depending on which compiler was used and which C library46 Sizes vary depending on which compiler was used and which C library 62 47 version was used to link dynamic programs against, but results will be 63 similar if a user comparesprograms with and without debugging symbols. After48 similar if you compare programs with and without debugging symbols. After 64 49 I was done with this chapter and stripped all debugging symbols from all LFS 65 binaries and libraries I regained a little over 102 MB of disk space. Quite 66 the difference. 50 binaries I regained a little over 102 MB of disk space. Quite the difference. 51 </para> 52 53 <para> 54 To remove debugging symbols from a binary (must be an a.out or ELF 55 binary) run <userinput>strip --strip-debug filename</userinput>. Wild cards 56 can be used to strip debugging symbols from multiple files (use something 57 like <userinput>strip --strip-debug $LFS/usr/bin/*</userinput>). 58 Most people will probably never use a debugger on software, so by 59 removing those symbols a lot of diskspace can be regained. 67 60 </para> 68 61
Note:
See TracChangeset
for help on using the changeset viewer.