LD invalid arithmetic with ORIGIN
Olivier Tomaz <[email protected]> Wed, 7 Nov 2018 10:21:45 +0100
| Newsgroups | gmane.comp.gnu.utils.bugs |
|---|---|
| Message-ID | <CAC_n03WXhwGa3Oer+2Rte49kiCYy5K2Z0rn6oyzGqmpYresQcw@mail.gmail.com> |
Hi folks,
Quite an old version of ld I'm using to cross compile from x86_64, but I
guess the bug is still there.
I'm having trouble manually aligning a symbol (I have workaround by using
the value inlined, but I try to have a included common linker script).
Versions:
GNU ld (GNU Tools for ARM Embedded Processors) 2.26.0.20160310
Host:
4.18.15 x86_64 GNU/Linux Ubuntu 18.10
Link script:
MEMORY
{
M1 (rx) : ORIGIN = 0x03280400, LENGTH = 50K,
}
SECTIONS
{
.sec1 :
{
_aligned_start = (ORIGIN(M1) & (~((1<<13)-1))); /* 0x03280400 &
0xFFFFE000 = 0x03280000 */
} > M1
}
If you have time to fix that one day or another.
--
Olivier TOMAZ
Ledger