gcc 4.1 Options for Maximum Debugging (also ecos synth).

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



We have two builds. One that runs on our embedded target and has -Os and another that runs on our Linux desktop machines and is just for running unit tests and debugging.

Current the desktop build is built -O0, but I suspect that isn't really what I want.

-O0 means "no optimization".

In practice is means "be a dumb stupid compiler" and don't...
 * Don't do enough work to make the assembler readable, clutter it with
   lead in / lead out code for each fragment.
 * Don't do enough data flow analysis to give initialized variables
   warnings.
 * Don't do any global analysis to detect bad code.

So what I want is..
 * Assembler that is easy to read and correlates well with the source.
 * In depth data flow / static analysis to give good warnings.
 * Stack and bounds checking to the maximum. (Hey, the desktop PC is about
   a 1000 times faster than the embedded target and has no memory / real
   time constraints.)

My current guess as to the gcc settings I want are...
 -O1  -fno-delayed-branch -fno-guess-branch-probability \
 -fno-cprop-registers -fno-loop-optimize -funit-at-a-time

I tried -fstack-protector but it then seemed to want a bunch of extra libraries.

Question 1:
  Which optimization / -f options on gcc 4.1 would you recommend for
  maximum warnings / analysis / debuggability? (Assuming all appropriate
  -W options are switched on already...)

Question 2:
  Has anybody got -fstack-protector working with ECos synthetic platform?


John Carter                             Phone : (64)(3) 358 6639
Tait Electronics                        Fax   : (64)(3) 359 4632
PO Box 1645 Christchurch                Email : john.carter@xxxxxxxxxx
New Zealand

Carter's Clarification of Murphy's Law.

"Things only ever go right so that they may go more spectacularly wrong later."

From this principle, all of life and physics may be deduced.

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux