Shorter version: -m elf32ppc_fbsd (and elf_i386_fbsd ?) vs. -Wl, -m, elf32ppc_fbsd problems (11.0-CURRENT and 10.1-STABLE)

Mark Millard markmi at dsl-only.net
Fri Apr 10 02:03:05 UTC 2015


From share/mk/bsd.README :

LDFLAGS         Additional loader flags. Passed to the loader via CC,
                since that's used to link programs as well, so loader
                specific flags need to be prefixed with -Wl, to work.

But the following 3 powerpc (non-64) examples do not use the -Wl, notation:

> LDFLAGS+=       -m elf32ppc_fbsd
> /usr/src/sys/boot/ofw/Makefile.inc


> LDFLAGS+=       -m elf32ppc_fbsd
> /usr/src/sys/boot/uboot/Makefile.inc


> LDFLAGS+=       -m elf32ppc_fbsd
> /usr/src/sys/boot/powerpc/Makefile.inc

In fact I get errors such as (for that last one when using powerpc64-gcc via powerpc64-xtoolchain-gcc, executed on a powerpc64):

> powerpc64-portbld-freebsd11.0-gcc: error: elf32ppc_fbsd: No such file or directory
> powerpc64-portbld-freebsd11.0-gcc: error: elf32ppc_fbsd: No such file or directory
> powerpc64-portbld-freebsd11.0-gcc: error: unrecognized command line option '-m'
> powerpc64-portbld-freebsd11.0-gcc: error: unrecognized command line option '-m'
> 
> *** [boot1.elf] Error code 1
> 
> make[6]: stopped in /usr/srcC/sys/boot/powerpc/boot1.chrp
> 1 error

I do not know if the space between -m and elf... creates a problem for -Wl, use or not. I would guess that

-Wl,-m,elf32pcc_fbsd

is the proper notation for putting the space through to the ld variant used. But I’m not to the point of testing the behavior of that yet.



i386 seems to have a similar example, although I’m not using such a FreeBSD environment.

> LD_FLAGS+=      -m elf_i386_fbsd
> /usr/src/sys/boot/i386/Makefile.inc



(This note is shorter in part because figured out more context than I had last time.)

===
Mark Millard
markmi at dsl-only.net



More information about the freebsd-toolchain mailing list