[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/23317] New: Load address invalid for n64 MIPS -msym32 executable
From: |
address@hidden |
Subject: |
[Bug ld/23317] New: Load address invalid for n64 MIPS -msym32 executables |
Date: |
Wed, 20 Jun 2018 12:55:38 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=23317
Bug ID: 23317
Summary: Load address invalid for n64 MIPS -msym32 executables
Product: binutils
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: ld
Assignee: unassigned at sourceware dot org
Reporter: address@hidden
Depends on: 22966
Target Milestone: ---
Target: mips*-*-*
Detaching this issue from PR ld/22966 so that it can be closed.
As noted in PR ld/22966 and previously discussed linking an n64
`-msym32'/`-mplt' executable is currently not properly
supported due to a 64-bit mapping address being used by the linker by
default with n64 links. A solution has been discussed before:
<https://sourceware.org/ml/binutils/2012-11/msg00225.html>, however it
will require an ABI update and some effort to implement and is likely
not going to happen soon.
To summarise: ABI annotation will be required for tools to be able to
tell regular and `-msym32' n64 relocatable objects apart. If all
objects are regular, then the default load address remains the current
value, that is 0x120000000. If any object is `-msym32' or if a PLT
is used, then a value that fits in the 32-bit range is used instead,
such as 0x10000000 currently used for n32. This is to satisfy LUI/LD,
etc. 32-bit absolute address load sequences, used with `-msym32' in
`-mplt' and also, as a GNU extension, in SVR4 executables.
PIE and DSO binaries are unaffected as they necessarily need to use the
GOT for all address calculations
Referenced Bugs:
https://sourceware.org/bugzilla/show_bug.cgi?id=22966
[Bug 22966] n64 MIPS: -mplt -msym32 is resulting in assertion ld.orig: BFD
2.29.1 assertion fail binutils-2.29.1 /bfd/elfxx-mips.c:11234
--
You are receiving this mail because:
You are on the CC list for the bug.
- [Bug ld/23317] New: Load address invalid for n64 MIPS -msym32 executables,
address@hidden <=