svn commit: r354491 - in head: . lib/msun/src libexec libexec/rtld-elf libexec/rtld-elf32 share/mk usr.bin usr.bin/ldd32

John Baldwin jhb at FreeBSD.org
Fri Nov 8 17:33:15 UTC 2019


On 11/7/19 2:58 PM, Brooks Davis wrote:
> Author: brooks
> Date: Thu Nov  7 22:58:10 2019
> New Revision: 354491
> URL: https://svnweb.freebsd.org/changeset/base/354491
> 
> Log:
>   libcompat: build 32-bit rtld and ldd as part of "everything"
>   
>   Alter bsd.compat.mk to set MACHINE and MACHINE_ARCH when included
>   directly so MD paths in Makefiles work. In the process centralize
>   setting them in LIBCOMPATWMAKEENV.
>   
>   Alter .PATH and CFLAGS settings in work when the Makefile is included.
>   
>   While here only support LIB32 on supported platforms rather than always
>   enabling it and requiring users of MK_LIB32 to filter based
>   TARGET/MACHINE_ARCH.
>   
>   The net effect of this change is to make Makefile.libcompat only build
>   compatability libraries.
>   
>   Changes relative to r354449:
>   
>   Correct detection of the compiler type when bsd.compat.mk is used
>   outside Makefile.libcompat.  Previously it always matched the clang
>   case.
>   
>   Set LDFLAGS including the linker emulation for mips where -m32 seems to
>   be insufficent.

Hmm, so mips doesn't use -m32 at all (it doesn't work there), but mips should
be setting -mabi=o32 which the compiler driver should use to pass the
right linker emulation to ld.  Only bare LD instances (which mostly don't
exist anymore) should require the explicit emulation.  That is what the old
Makefile.libcompat was doing which worked fine.

-- 
John Baldwin


More information about the svn-src-all mailing list