Page MenuHomeFreeBSD

mips: ubldr: use truncated load address for mips32
ClosedPublic

Authored by kevans on Sep 2 2019, 2:12 AM.
Tags
None
Referenced Files
F132379139: D21487.id62244.diff
Thu, Oct 16, 9:33 AM
Unknown Object (File)
Thu, Oct 9, 8:11 PM
Unknown Object (File)
Sun, Sep 21, 8:20 AM
Unknown Object (File)
Wed, Sep 17, 2:31 AM
Unknown Object (File)
Aug 14 2025, 6:41 PM
Unknown Object (File)
Aug 13 2025, 11:11 PM
Unknown Object (File)
Jul 28 2025, 4:59 PM
Unknown Object (File)
Jul 28 2025, 1:29 PM
Subscribers

Details

Summary

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.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Seems not at all right to me...

stand/mips/uboot/Makefile
22 ↗(On Diff #61541)

this is a nop for mipsel machines.

In D21487#467962, @imp wrote:

Seems not at all right to me...

Yeah...

stand/mips/uboot/Makefile
22 ↗(On Diff #61541)

Whoops, should have gone for :Mmips64* otherwise use truncated default...

stand/mips/uboot/Makefile
22 ↗(On Diff #61541)

Yea, either way... There's no good way to define predicates in make :(

I fear this is the last bad choice we have.

This revision is now accepted and ready to land.Sep 11 2019, 1:18 AM
This revision was automatically updated to reflect the committed changes.