------- Comment #17 from mikpe at it dot uu dot se  2010-03-16 17:29 -------
I decided to attack things from the binutils side. The problematic binutils
change rolls two distinct changes into one (add cantunwind table entries, merge
adjacent equivalent table entries). Disabling the "merge" part eliminated the
libjava regressions in my ARM mode build:

--- binutils-2.20.51/bfd/elf32-arm.c.~1~
+++ binutils-2.20.51/bfd/elf32-arm.c
@@ -9301,10 +9306,12 @@ elf32_arm_fix_exidx_coverage (asection *

          if (elide)
            {
+#if 0
              add_unwind_table_edit (&unwind_edit_head, &unwind_edit_tail,
                                     DELETE_EXIDX_ENTRY, NULL, j / 8);

              deleted_exidx_bytes += 8;
+#endif
            }

          last_unwind_type = unwind_type;

I'll keep experimenting.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40860

Reply via email to