This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/53380] .ehframe could be smaller


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]