[llvm-bugs] [Bug 37583] New: clang inserts stack protector in function with inline assembly "m" constraint

via llvm-bugs llvm-bugs at lists.llvm.org
Thu May 24 15:19:19 PDT 2018


https://bugs.llvm.org/show_bug.cgi?id=37583

            Bug ID: 37583
           Summary: clang inserts stack protector in function with inline
                    assembly "m" constraint
           Product: clang
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: libclang
          Assignee: unassignedclangbugs at nondot.org
          Reporter: ndesaulniers at google.com
                CC: klimek at google.com, llvm-bugs at lists.llvm.org

https://godbolt.org/g/TmLd9z

The two examples show that clang will insert a stack guard in a function with
inline assembly and the "m" constraint compiled with -fstack-protector-strong. 
Is there a good reason to do so, or this a bug in clang?

I know the function attribute no_stack_protector was recently added to clang.
That seems to help.

It just seems weird the just "=r" generates no stack protector, but "=rm" does.

>From discussion:
https://lkml.org/lkml/2018/5/24/1389

-- 
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/20180524/8877a5e4/attachment-0001.html>


More information about the llvm-bugs mailing list