[LLVMbugs] [Bug 18505] New: Missing support for APCS frame layout

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Thu Jan 16 01:03:02 PST 2014


http://llvm.org/bugs/show_bug.cgi?id=18505

            Bug ID: 18505
           Summary: Missing support for APCS frame layout
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: ARM
          Assignee: unassignedbugs at nondot.org
          Reporter: eugeni.stepanov at gmail.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

Clang does not support gcc's flags -mapcs and -mapcs-frame.

Linux perf tool uses frame pointer based unwinder to gather callgraph profile
(perf -g). On ARM this requires APCS frames (-fno-omit-frame-pointer
-mapcs-frame) to ensure that frame pointers are stored in predictable
locations. As a result, callgraph profiling on ARM does not work with
Clang-generated binaries.

Dwarf-based unwinding is not an option due to performance issues.

AddressSanitizer would benefit greatly from this, too. It needs to gather stack
traces of all memory allocations. Without FP we have use libc dwarf-based
unwinder, and it's a huge performance hit (10x easily, depending on the
application).

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20140116/f71fee00/attachment.html>


More information about the llvm-bugs mailing list