Compilation using gcc -s
and Unix strip
remove all symbol table and relocation information from an executable (making it smaller in size).
Could this ever affect the functioning of the executable? Do some operating systems which perform Address Space Layout Randomization (ASLR) need this information? If not, why keep them around in the first place?
A slightly-detailed overview of the above would be helpful.