• Tejun Heo's avatar
    modpost: NOBITS sections may point beyond the end of the file · 56fc82c5
    Tejun Heo authored
    Impact: fix link failure on certain toolchains with specific configs
    
    Recent percpu change made x86_64 split .data.init section into three
    separate segments - data.init, percpu and data.init2.  data.init2 gets
    .data.nosave and .bss.* and is followed by .notes segment.  Depending
    on configuration both segments might contain no data, in which case
    the tool chain makes the section header to contain offset beyond the
    end of the file.
    
    modpost isn't too happy about it and fails build - as reported by
    Pawel Dziekonski:
    
        Building modules, stage 2.
        MODPOST 416 modules
        FATAL: vmlinux is truncated. sechdrs[i].sh_offset=10354688 >
        sizeof(*hrd)=64
        make[1]: *** [__modpost] Error 1
    
    Teach modpost that NOBITS section may point beyond the end of the file
    and that .modinfo can't be NOBITS.
    Reported-by: default avatarPawel Dziekonski <dzieko@gmail.com>
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    56fc82c5
modpost.c 54.6 KB