On 11/11/10 15:11, Ian Lance Taylor wrote:
tom<tompotts@xxxxxxxxxxxxxxxxxxxxxx> writes:
I ran objump -d on the two executables as suggested but found the
object names were different (longer in the -ggdb version)- is this
down to name mangling? This may explain why the debug version works -
or rather fails to fail?
Do you mean symbol names or object names? I can't really see why either
would change. -ggdb does not affect name mangling at all. It just adds
debugging information. In any case, changes in symbol or object names
should not affect whether the programs runs or not, as long as the
changes are consistent. What I was hoping you could see from objdump -d
is changes in the instructions.
Ian
I was building the project through cmake and just changing the release
flags by adding -ggdb and then stripping the executable (strip
--strip-debug --strip-unneeded ) dumping the output and diffing them
produced reams of ouput based around the object names - there may have
been code differences or cmake may have shuffled the build but I didn't
have the patience or knowledge of cmake to look at this exhaustively.
The problem I was looking at was solved by removing the overenthusiastic
optimisation I mentioned in another thread.
Thanks for your help
Tom