tools compiler.h: Add attribute to disable tail calls
authorIan Rogers <irogers@google.com>
Sat, 30 May 2020 08:20:13 +0000 (01:20 -0700)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 1 Jun 2020 15:24:21 +0000 (12:24 -0300)
commit21f2b7c13335eeec498569927d87c7381c3b54fa
treeabb274291b945d3690e9e10622b82e26c0f7902d
parent9300acc6fed8e957c8d60f6f8e4451b508feea2c
tools compiler.h: Add attribute to disable tail calls

Tail call optimizations can remove stack frames that are used in
unwinding tests. Add an attribute that can be used to disable the tail
call optimization. Tested  on clang and GCC.

Committer notes:

Old versions of clang don't like that __attribute__((optimize)), so add
an ifdef to make it go away.

Signed-off-by: Ian Rogers <irogers@google.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Alexei Starovoitov <ast@kernel.org>
Cc: clang-built-linux@googlegroups.com
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Quentin Monnet <quentin@isovalent.com>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lore.kernel.org/lkml/20200530082015.39162-2-irogers@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/include/linux/compiler-gcc.h
tools/include/linux/compiler.h