• Samuel Holland's avatar
    kbuild: Fix running modpost with musl libc · 63ffe00d
    Samuel Holland authored
    commit 3d57e1b7 ("kbuild: refactor the prerequisites of the modpost
    rule") moved 'vmlinux.o' inside modpost-args, possibly before some of
    the other options. However, getopt() in musl libc follows POSIX and
    stops looking for options upon reaching the first non-option argument.
    As a result, the '-T' option is misinterpreted as a positional argument,
    and the build fails:
    
      make -f ./scripts/Makefile.modpost
         scripts/mod/modpost   -E   -o Module.symvers vmlinux.o -T modules.order
      -T: No such file or directory
      make[1]: *** [scripts/Makefile.modpost:137: Module.symvers] Error 1
      make: *** [Makefile:1960: modpost] Error 2
    
    The fix is to move all options before 'vmlinux.o' in modpost-args.
    
    Fixes: 3d57e1b7 ("kbuild: refactor the prerequisites of the modpost rule")
    Signed-off-by: default avatarSamuel Holland <samuel@sholland.org>
    Reviewed-by: default avatarNathan Chancellor <nathan@kernel.org>
    Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
    63ffe00d
Makefile.modpost 4.26 KB