vmlinux.lds.h: Fix linker warnings about orphan .LPBX sections
authorPeter Oberparleiter <oberpar@linux.ibm.com>
Thu, 13 Sep 2018 11:00:00 +0000 (13:00 +0200)
committerStephen Rothwell <sfr@canb.auug.org.au>
Thu, 11 Oct 2018 21:55:29 +0000 (08:55 +1100)
commit52c8ee5bad8f33d02c567f6609f43d69303fc48d
tree9a89e266e294bc1ae01a418d33bf3920e41712ea
parent8dcf86caa1e3daf4a6ccf38e97f4f752b411f829
vmlinux.lds.h: Fix linker warnings about orphan .LPBX sections

Enabling both CONFIG_LD_DEAD_CODE_DATA_ELIMINATION=y and
CONFIG_GCOV_PROFILE_ALL=y results in linker warnings:

  warning: orphan section `.data..LPBX1' being placed in
  section `.data..LPBX1'.

LD_DEAD_CODE_DATA_ELIMINATION adds compiler flag -fdata-sections. This
option causes GCC to create separate data sections for data objects,
including those generated by GCC internally for gcov profiling. The
names of these objects start with a dot (.LPBX0, .LPBX1), resulting in
section names starting with 'data..'.

As section names starting with 'data..' are used for specific purposes
in the Linux kernel, the linker script does not automatically include
them in the output data section, resulting in the "orphan section"
linker warnings.

Fix this by specifically including sections named "data..LPBX*" in the
data section.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Tested-by: Stephen Rothwell <sfr@canb.auug.org.au>
Tested-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
include/asm-generic/vmlinux.lds.h