This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/53380] .ehframe could be smaller
- From: "msharov at users dot sourceforge.net" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 22 May 2012 18:53:32 +0000
- Subject: [Bug c++/53380] .ehframe could be smaller
- Auto-submitted: auto-generated
- References: <bug-53380-4@http.gcc.gnu.org/bugzilla/>
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.