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