]> asedeno.scripts.mit.edu Git - linux.git/commit
parisc: Enable -ffunction-sections for modules on 32-bit kernel
authorHelge Deller <deller@gmx.de>
Thu, 29 Nov 2018 16:05:47 +0000 (17:05 +0100)
committerHelge Deller <deller@gmx.de>
Sun, 2 Dec 2018 19:34:07 +0000 (20:34 +0100)
commit1e8249b8a4e960018e4baca6b523b8a4500af600
tree71087bd270c8c329a958e9a38699eee6e4ba9e9a
parent2e6e902d185027f8e3cb8b7305238f7e35d6a436
parisc: Enable -ffunction-sections for modules on 32-bit kernel

Frank Schreiner reported, that since kernel 4.18 he faces sysfs-warnings
when loading modules on a 32-bit kernel. Here is one such example:

 sysfs: cannot create duplicate filename '/module/nfs/sections/.text'
 CPU: 0 PID: 98 Comm: modprobe Not tainted 4.18.0-2-parisc #1 Debian 4.18.10-2
 Backtrace:
  [<1017ce2c>] show_stack+0x3c/0x50
  [<107a7210>] dump_stack+0x28/0x38
  [<103f900c>] sysfs_warn_dup+0x88/0xac
  [<103f8b1c>] sysfs_add_file_mode_ns+0x164/0x1d0
  [<103f9e70>] internal_create_group+0x11c/0x304
  [<103fa0a0>] sysfs_create_group+0x48/0x60
  [<1022abe8>] load_module.constprop.35+0x1f9c/0x23b8
  [<1022b278>] sys_finit_module+0xd0/0x11c
  [<101831dc>] syscall_exit+0x0/0x14

This warning gets triggered by the fact, that due to commit 24b6c22504a2
("parisc: Build kernel without -ffunction-sections") we now get multiple .text
sections in the kernel modules for which sysfs_create_group() can't create
multiple virtual files.

This patch works around the problem by re-enabling the -ffunction-sections
compiler option for modules, while keeping it disabled for the non-module
kernel code.

Reported-by: Frank Scheiner <frank.scheiner@web.de>
Fixes: 24b6c22504a2 ("parisc: Build kernel without -ffunction-sections")
Cc: <stable@vger.kernel.org> # v4.18+
Signed-off-by: Helge Deller <deller@gmx.de>
arch/parisc/Makefile