On Mon, Aug 7, 2017 at 6:21 AM, Uros Bizjak <ubiz...@gmail.com> wrote: > On Mon, Aug 7, 2017 at 3:15 PM, Michael Matz <m...@suse.de> wrote: >> Hi, >> >> On Mon, 7 Aug 2017, Uros Bizjak wrote: >> >>> On Sun, Aug 6, 2017 at 9:40 PM, H.J. Lu <hjl.to...@gmail.com> wrote: >>> > When there is no stack access, there is no need to use frame pointer >>> > even if -fno-omit-frame-pointer is used. >>> > >>> > Tested on i686 and x86-64. OK for trunk? >>> >>> LGTM. >> >> This will break unwinders relying on frame pointers to exist on all >> functions, for which projects conciously forced a frame pointer with this >> option. I don't think we can simply override user specified explicit >> wishes in this way, presumably they had a reason to use it. > > Hm... yes, you are right. > > HJ, please revert the patch. >
Is there a testcae? I'd like to add it. FWIW, [hjl@gnu-tools-1 pr81736]$ cat x.i extern int i; int foo (void) { return i; } [hjl@gnu-tools-1 pr81736]$ clang -S -O2 -fno-omit-frame-pointer x.i [hjl@gnu-tools-1 pr81736]$ cat x.s .text .file "x.i" .globl foo .p2align 4, 0x90 .type foo,@function foo: # @foo .cfi_startproc # BB#0: movl i(%rip), %eax retq .Lfunc_end0: .size foo, .Lfunc_end0-foo .cfi_endproc .ident "clang version 4.0.0 (tags/RELEASE_400/final)" .section ".note.GNU-stack","",@progbits [hjl@gnu-tools-1 pr81736]$ Does it mean clang is broken? -- H.J.