On Tue, Jul 16, 2019 at 10:15:47PM +1000, Michael Ellerman wrote: > Segher Boessenkool <seg...@kernel.crashing.org> writes: > And it's definitely calling ar with no flags, eg: > > rm -f init/built-in.a; powerpc-linux-ar rcSTPD init/built-in.a init/main.o > init/version.o init/do_mounts.o init/do_mounts_rd.o init/do_mounts_initrd.o > init/do_mounts_md.o init/initramfs.o init/init_task.o
This uses thin archives. Those will work fine. The failing case was empty files IIRC, stuff created from no inputs. > So presumably at some point ar learnt to cope with objects that don't > match its default? (how do I ask it what its default is?) The first supported target in the --help list is the default, I think? $ powerpc-linux-ar --help [...] powerpc-linux-ar: supported targets: elf32-powerpc aixcoff-rs6000 elf32-powerpcle ppcboot elf64-powerpc elf64-powerpcle elf64-little elf64-big elf32-little elf32-big plugin srec symbolsrec verilog tekhex binary ihex $ powerpc64-linux-ar --help [...] powerpc64-linux-ar: supported targets: elf64-powerpc elf64-powerpcle elf32-powerpc elf32-powerpcle aixcoff-rs6000 aixcoff64-rs6000 aix5coff64-rs6000 elf64-little elf64-big elf32-little elf32-big plugin srec symbolsrec verilog tekhex binary ihex $ powerpc64le-linux-ar --help [...] powerpc64le-linux-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 plugin srec symbolsrec verilog tekhex binary ihex $ powerpcle-linux-ar --help [...] powerpcle-linux-ar: supported targets: elf32-powerpcle aixcoff-rs6000 elf32-powerpc ppcboot elf64-powerpc elf64-powerpcle elf64-little elf64-big elf32-little elf32-big plugin srec symbolsrec verilog tekhex binary ihex > > Then again, does that work at *all* nowadays? Do we even consider that > > important, *should* it work? > > Yes and yes. There were a lot of bugs in the kernel makefiles after we > added LE support which prevented a biarch/biendian compiler from working. > But now it does work and we want it to keep working because it means you > can have a single compiler for building 32-bit, 64-bit BE & 64-bit LE. Good to hear :-) Segher