scripts/recordmcount.pl: support data in text section on powerpc
authorUlrich Weigand <ulrich.weigand@de.ibm.com>
Tue, 12 Jan 2016 12:14:22 +0000 (23:14 +1100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 29 Jan 2016 05:49:35 +0000 (21:49 -0800)
commit288ac5089706c898f6541da45d62fdccfa5a11a6
tree2211a7bb3ed0f5297e69f56d4aed886989db9c2a
parent5bb9a369bd74bfc834934970f0422d0afb8768ea
scripts/recordmcount.pl: support data in text section on powerpc

commit 2e50c4bef77511b42cc226865d6bc568fa7f8769 upstream.

If a text section starts out with a data blob before the first
function start label, disassembly parsing doing in recordmcount.pl
gets confused on powerpc, leading to creation of corrupted module
objects.

This was not a problem so far since the compiler would never create
such text sections.  However, this has changed with a recent change
in GCC 6 to support distances of > 2GB between a function and its
assoicated TOC in the ELFv2 ABI, exposing this problem.

There is already code in recordmcount.pl to handle such data blobs
on the sparc64 platform.  This patch uses the same method to handle
those on powerpc as well.

Acked-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
scripts/recordmcount.pl