http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53380
--- Comment #5 from msharov at users dot sourceforge.net 2012-05-22 18:53:32 UTC --- (In reply to comment #4) > Adding default handling if there is no FDE is an ABI change, so can't be done > on existing architectures (except those that have that in their ABI already). I was not suggesting doing it by default. A switch like -fno-asynchronous-unwind-tables would be perfectly acceptable. > Why do you care about the .eh_frame size so much? I don't care "so much". I was merely suggesting a way of making it smaller, for the use of the same people who prefer to use -Os instead -O3. Yes, I probably could write a post-link tool to do this, but it would be much more work since I would have to implement a disassembler, etc. to find out which functions do not need unwind info. In the compiler you already have all that info in the parse tree, so it is just a matter of adding a couple of if statements. > If you don't use the unwind info, it often won't be even paged in, or can be > discarded from RAM if needed. Removing unnecessary entries would make lookup faster. Making .eh_frame smaller would also help the exception path by having less to page in. > And if you need it, it better be accurrate. It would still be accurate. Making the common case default does not remove any useful information.