Re: [PATCH 1/3] net: wan: wanxl: use $(CC68K) instead of $(AS68K) for rebuilding firmware

From: Masahiro Yamada
Date: Wed Mar 25 2020 - 05:06:44 EST


Hi Geert,

On Wed, Mar 25, 2020 at 4:53 PM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
>
> Hi Yamada-san,
>
> On Wed, Mar 25, 2020 at 4:50 AM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:
> > On Wed, Mar 25, 2020 at 2:47 AM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
> > > On Tue, Mar 24, 2020 at 5:17 PM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:
> > > > As far as I understood from the Kconfig help text, this build rule is
> > > > used to rebuild the driver firmware, which runs on the QUICC, m68k-based
> > > > Motorola 68360.
> > > >
> > > > The firmware source, wanxlfw.S, is currently compiled by the combo of
> > > > $(CPP) and $(AS68K). This is not what we usually do for compiling *.S
> > > > files. In fact, this is the only user of $(AS) in the kernel build.
> > > >
> > > > Moreover, $(CPP) is not likely to be a m68k tool because wanxl.c is a
> > > > PCI driver, but CONFIG_M68K does not select CONFIG_HAVE_PCI.
> > > > Instead of combining $(CPP) and (AS) from different tool sets, using
> > > > single $(CC68K) seems simpler, and saner.
> > > >
> > > > After this commit, the firmware rebuild will require cc68k instead of
> > > > as68k. I do not know how many people care about this, though.
> > > >
> > > > I do not have cc68k/ld68k in hand, but I was able to build it by using
> > > > the kernel.org m68k toolchain. [1]
> > >
> > > Would this work with a "standard" m68k-linux-gnu-gcc toolchain, like
> > > provided by Debian/Ubuntu, too?
> > >
> >
> > Yes, I did 'sudo apt install gcc-8-m68k-linux-gnu'
> > It successfully compiled this firmware.
>
> Thanks for checking!
>
> > In my understanding, the difference is that
> > the kernel.org ones lack libc,
> > so cannot link userspace programs.
> >
> > They do not make much difference for this case.
>
> Indeed.
>
> So perhaps it makes sense to replace cc68k and ld68k in the Makefile by
> m68k-linux-gnu-gcc and m68k-linux-gnu-ld, as these are easier to get hold
> of on a modern system?
>
> What do you think?
> Thanks!
>


If desired, I can do like this:


ifeq ($(ARCH),m68k)
CC_M68K = $(CC)
LD_M68K = $(LD)
else
CC_M68K = $(CROSS_COMPILE_M68K)gcc
LD_M68K = $(CROSS_COMPILE_M68K)ld
endif



--
Best Regards
Masahiro Yamada