Hi, > > stack_fcall_CFLAGS = $(AM_CFLAGS) -O0
I tried 'stack_fcall_CFLAGS = $(AM_CFLAGS) -O0' before posting. However, it seemed that is was not enough. Next lines are the output of make with Makefile.am in which 'stack_fcall_CFLAGS = $(AM_CFLAGS) -O0' line is added: $ gcc -DHAVE_CONFIG_H -I. -I.. -O0 -g -O2 -MT stack_fcall-stack-fcall.o ... mv -f .deps/stack_fcall-stack-fcall.Tpo .deps/stack_fcall-stack-fcall.Po $ gcc -O0 -g -O2 -o stack-fcall stack_fcall-stack-fcall.o Both -O0 and -O2 are specified. -O2 may come from CFLAGS. What happens if both -O0 and -O2 are specified. I wrote smaller program. [yamato@localhost]/tmp% cat foo.c cat foo.c int foo(void) {return 3;} int main(void) {return foo();} [yamato@localhost]/tmp% PATH=/usr/bin gcc -c -O0 -O2 foo.c; /usr/bin/objdump -d foo.o ... Disassembly of section .text: 0000000000000000 <foo>: 0: b8 03 00 00 00 mov $0x3,%eax 5: c3 retq Disassembly of section .text.startup: 0000000000000000 <main>: 0: b8 03 00 00 00 mov $0x3,%eax 5: c3 retq [yamato@localhost]/tmp% PATH=/usr/bin gcc -c -O0 foo.c; /usr/bin/objdump -d foo.o ... Disassembly of section .text: 0000000000000000 <foo>: 0: 55 push %rbp 1: 48 89 e5 mov %rsp,%rbp 4: b8 03 00 00 00 mov $0x3,%eax 9: 5d pop %rbp a: c3 retq 000000000000000b <main>: b: 55 push %rbp c: 48 89 e5 mov %rsp,%rbp f: e8 00 00 00 00 callq 14 <main+0x9> 14: 5d pop %rbp 15: c3 retq The generated codes are different between "-O0 -O2" and "-O0". The order of -O0 and -O2 in a command line is important? I don't want to inspect anymore:( info doc of automake shows the way to how to define per object CFLAGS. It looks tricky for me. (I'm using Fedora 20.) Masatake YAMATO On Thu, 15 May 2014 00:43:19 +0400, "Dmitry V. Levin" <l...@altlinux.org> wrote: > On Wed, May 14, 2014 at 01:16:29PM +0900, Masatake YAMATO wrote: > [...] >> diff --git a/tests/stack-fcall.c b/tests/stack-fcall.c >> new file mode 100644 >> index 0000000..3e6ffd4 >> --- /dev/null >> +++ b/tests/stack-fcall.c >> @@ -0,0 +1,27 @@ >> +#include <unistd.h> >> +#include <sys/types.h> >> + >> +/* volatile is used to protect 'call' is converted to 'jump' >> + by gcc. >> + >> + I cannot find the way not to apply -O0 to this program >> + in info doc of automake. */ > > stack_fcall_CFLAGS = $(AM_CFLAGS) -O0 > > > -- > ldv ------------------------------------------------------------------------------ "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free." http://p.sf.net/sfu/SauceLabs _______________________________________________ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel