Subject: [next-20260313] kernel build fails with “ar: unrecognized option '--thin'”

From: Venkat Rao Bagalkote <[email-masked]>
Date: Mon, 16 Mar 2026 11:41:22 +0530

Greetings!!

I am seeing a repeatable build failure in current mainline when 
generating vmlinux.a.

The build stops with an error from ar regarding the --thin option.

This issue is seen on IBM Power11 System.

Attached is the .config file.

Also, I see couple of build warnings, before the build fails.
Note: These warnings and build failure are not see on 20260312 build.

Warnings:

In file included from ./include/linux/seqlock.h:20,
                  from ./include/linux/mmzone.h:17,
                  from ./include/linux/gfp.h:7,
                  from ./include/linux/umh.h:4,
                  from ./include/linux/kmod.h:9,
                  from ./include/linux/module.h:18,
                  from drivers/char/nvram.c:34:
drivers/char/nvram.c:56:21: warning: ‘nvram_mutex’ defined but not used 
[-Wunused-variable]
    56 | static DEFINE_MUTEX(nvram_mutex);
       |                     ^~~~~~~~~~~
./include/linux/mutex.h:87:22: note: in definition of macro ‘DEFINE_MUTEX’
    87 |         struct mutex mutexname = __MUTEX_INITIALIZER(mutexname)

Below are the failure logs.

ar: unrecognized option '--thin'
Usage: ar [emulation options] [-]{dmpqrstx}[abcDfilMNoOPsSTuvV] 
[--plugin <name>] [member-name] [count] archive-file file...
        ar -M [<mri-script]
  commands:
   d            - delete file(s) from the archive
   m[ab]        - move file(s) in the archive
   p            - print file(s) found in the archive
   q[f]         - quick append file(s) to the archive
   r[ab][f][u]  - replace existing or insert new file(s) into the archive
   s            - act as ranlib
   t[O][v]      - display contents of the archive
   x[o]         - extract file(s) from the archive
  command specific modifiers:
   [a]          - put file(s) after [member-name]
   [b]          - put file(s) before [member-name] (same as [i])
   [D]          - use zero for timestamps and uids/gids
   [U]          - use actual timestamps and uids/gids (default)
   [N]          - use instance [count] of name
   [f]          - truncate inserted file names
   [P]          - use full path names when matching
   [o]          - preserve original dates
   [O]          - display offsets of files in the archive
   [u]          - only replace files that are newer than current archive 
contents
  generic modifiers:
   [c]          - do not warn if the library had to be created
   [s]          - create an archive index (cf. ranlib)
   [S]          - do not build a symbol table
   [T]          - make a thin archive
   [v]          - be verbose
   [V]          - display the version number
   @<file>      - read options from <file>
   --target=BFDNAME - specify the target object format as BFDNAME
   --output=DIRNAME - specify the output directory for extraction operations
  optional:
   --plugin <p> - load the specified plugin
  emulation options:
   No emulation specific options
ar: supported targets: elf64-powerpcle elf64-powerpc elf32-powerpcle 
elf32-powerpc aixcoff-rs6000 aixcoff64-rs6000 aix5coff64-rs6000 
elf64-little elf64-big elf32-little elf32-big ppcboot elf32-spu 
pe-x86-64 pei-x86-64 pe-bigobj-x86-64 elf64-x86-64 elf64-l1om elf64-k1om 
pe-i386 pei-i386 elf32-i386 elf32-iamcu elf64-bpfle elf64-bpfbe srec 
symbolsrec verilog tekhex binary ihex plugin
make[2]: *** [scripts/Makefile.vmlinux_a:22: built-in-fixup.a] Error 1
make[1]: *** [/root/linux-next/Makefile:1278: vmlinux_a] Error 2
make: *** [Makefile:248: __sub-make] Error 2

If you happen to fix this issue, please add below tag.

Reported-by: Venkat Rao Bagalkote <[email-masked]>

Regards,

Venkat.