095-ARC-unwind-ensure-that-.debug_frame-is-generated-vs..patch 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. From 23cd0de28cc7978130b770dd59b18ac143253351 Mon Sep 17 00:00:00 2001
  2. From: Vineet Gupta <[email protected]>
  3. Date: Tue, 28 Jun 2016 09:42:25 +0530
  4. Subject: [PATCH] ARC: unwind: ensure that .debug_frame is generated (vs.
  5. .eh_frame)
  6. With recent binutils update to support dwarf CFI pseudo-ops in gas, we
  7. now get .eh_frame vs. .debug_frame. Although the call frame info is
  8. exactly the same in both, the CIE differs, which the current kernel
  9. unwinder can't cope with.
  10. This broke both the kernel unwinder as well as loadable modules (latter
  11. because of a new unhandled relo R_ARC_32_PCREL from .rela.eh_frame in
  12. the module loader)
  13. The ideal solution would be to switch unwinder to .eh_frame.
  14. For now however we can make do by just ensureing .debug_frame is
  15. generated by removing -fasynchronous-unwind-tables
  16. .eh_frame generated with -gdwarf-2 -fasynchronous-unwind-tables
  17. .debug_frame generated with -gdwarf-2
  18. Fixes STAR 9001058196
  19. Cc: [email protected]
  20. Signed-off-by: Vineet Gupta <[email protected]>
  21. ---
  22. arch/arc/Makefile | 2 --
  23. 1 file changed, 2 deletions(-)
  24. --- a/arch/arc/Makefile
  25. +++ b/arch/arc/Makefile
  26. @@ -48,8 +48,6 @@ endif
  27. endif
  28. -cflags-$(CONFIG_ARC_DW2_UNWIND) += -fasynchronous-unwind-tables
  29. -
  30. # By default gcc 4.8 generates dwarf4 which kernel unwinder can't grok
  31. ifeq ($(atleast_gcc48),y)
  32. cflags-$(CONFIG_ARC_DW2_UNWIND) += -gdwarf-2