• Helge Deller's avatar
    parisc: Enable -ffunction-sections for modules on 32-bit kernel · 1e8249b8
    Helge Deller authored
    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 24b6c225
    ("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: default avatarFrank Scheiner <frank.scheiner@web.de>
    Fixes: 24b6c225 ("parisc: Build kernel without -ffunction-sections")
    Cc: <stable@vger.kernel.org> # v4.18+
    Signed-off-by: default avatarHelge Deller <deller@gmx.de>
    1e8249b8
Makefile 4.72 KB