From 8b2195605b84ac7df041f6212ec7130b7b9cfc78 Mon Sep 17 00:00:00 2001 From: Kyle Evans Date: Wed, 18 Sep 2019 01:33:17 +0000 Subject: [PATCH] mips: ubldr: use truncated load address for mips32 BFD appears to silently truncate 0xffffffff80800000 when it processes the ldscript for 32-bit mips, but LLD chokes on it as the linker script tries to place elements above 32-bit range. It's unclear to me if silent truncation is kosher or not and whether this patch is really what we want to do, but it is one approach at least. Reviewed by: imp, mizhka Differential Revision: https://reviews.freebsd.org/D21487 --- stand/mips/uboot/Makefile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/stand/mips/uboot/Makefile b/stand/mips/uboot/Makefile index 1751bcb80d54..1162b7fed3b0 100644 --- a/stand/mips/uboot/Makefile +++ b/stand/mips/uboot/Makefile @@ -19,7 +19,11 @@ INSTALLFLAGS= -b WARNS?= 1 # Address at which ubldr will be loaded. # This varies for different boards and SOCs. +.if ${MACHINE_ARCH:Mmips64*} UBLDR_LOADADDR?= 0xffffffff80800000 +.else +UBLDR_LOADADDR?= 0x80800000 +.endif # Architecture-specific loader code SRCS= start.S conf.c vers.c