I wonder what is the difference between these two:
gcc -s
: Remove all symbol table and relocation information from the executable.
strip
: Discard symbols from object files.
Description. The strip command reduces the size of XCOFF object files. The strip command optionally removes the line number information, relocation information, the debug section, the typchk section, the comment section, file headers, and all or part of the symbol table from the XCOFF object files.
gcc
being a compiler/linker, its -s
option is something done while linking. It's also not configurable - it has a set of information which it removes, no more no less.
strip
is something which can be run on an object file which is already compiled. It also has a variety of command-line options which you can use to configure which information will be removed. For example, -g
strips only the debug information which gcc -g
adds.
Note that strip
is not a bash command, though you may be running it from a bash shell. It is a command totally separate from bash, part of the GNU binary utilities suite.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With