Page MenuHomeFreeBSD

mips: ubldr: use truncated load address for mips32
ClosedPublic

Authored by kevans on Sep 2 2019, 2:12 AM.

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
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

kevans created this revision.Sep 2 2019, 2:12 AM
imp added a comment.Sep 2 2019, 2:21 AM

Seems not at all right to me...

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

this is a nop for mipsel machines.

kevans added a comment.Sep 2 2019, 2:26 AM
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...

imp added inline comments.Sep 2 2019, 1:48 PM
stand/mips/uboot/Makefile
22 ↗(On Diff #61541)

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

kevans updated this revision to Diff 61555.Sep 2 2019, 3:55 PM

Correct test sense

imp accepted this revision.Sep 11 2019, 1:18 AM

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
mizhka accepted this revision.Sep 11 2019, 9:45 AM
mizhka added a subscriber: mizhka.

LGTM

This revision was automatically updated to reflect the committed changes.