Re: [PATCH] powerpc: remove meaningless KBUILD_ARFLAGS addition

From: Segher Boessenkool
Date: Wed Jul 17 2019 - 12:46:55 EST

On Thu, Jul 18, 2019 at 12:19:36AM +0900, Masahiro Yamada wrote:
> On Wed, Jul 17, 2019 at 11:38 PM Segher Boessenkool
> <segher@xxxxxxxxxxxxxxxxxxx> wrote:
> >
> > On Tue, Jul 16, 2019 at 10:15:47PM +1000, Michael Ellerman wrote:
> > > Segher Boessenkool <segher@xxxxxxxxxxxxxxxxxxx> 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.
> Actually, empty files are created everywhere.

> cmd_ar_builtin = rm -f $@; $(AR) rcSTP$(KBUILD_ARFLAGS) $@
> $(real-prereqs)

You use thin archives.

Does every config use thin archives always nowadays?

> BTW, your commit 8995ac8702737147115e1c75879a1a2d75627b9e
> dates back to 2008.
> At that time, thin archive was not used.

Yes, I know. This isn't about built-in.[oa], it is about *other*
archives we at least *used to* create. If we *know* we do not anymore,
then this workaround can of course be removed (and good riddance).

If ar creates an archive file (a real one, not a thin archive), and it
has no input files, it uses its default object format as destination
format, if it isn't told to use something else. And that doesn't work,
it needs to use some format compatible with what that archive later is
linked with.