On 11/3/2020 3:37 PM, Jeremie Courreges-Anglas wrote:
On Tue, Nov 03 2020, Brad Smith <[email protected]> wrote:
The following diff fixes building the LLVM port on arm.
http://build-failures.rhaalovely.net/arm/2020-06-03/devel/llvm,,-main.log

Is it supposed to fix this error?  What was the problem?


Yes, to resolve that issue.

----------------------------
revision 1.133
date: 2017/02/16 15:07:16;  author: jca;  state: Exp;  lines: +8 -3;  commitid: ZCMIOK4N5VLJOUXb;
Use -mlong-calls on arm and powerpc to work around relocations overflow

On those architectures the .text section of the executables is too big
for the 32M immediate branch offset.  ld --relax is supposed to fix
things on powerpc, but it is actually ineffective here.  cc -mlong-calls
creates branches instructions using a full 32 bits register; FreeBSD
uses the same workaround.

A fix for lib/csu is still needed to avoid an overflow between .init
and .fini sections.  powerpc hasn't been tested, but we know that
devel/llvm is already broken there anyway.

ok Brad (maintainer)
----------------------------

But I don't remember ever seeing any arm packages and that was before
switching to Clang and then lld as defaults.

The PowerPC part was eventually removed as it did not work.

----------------------------
revision 1.203
date: 2019/01/04 00:14:57;  author: jca;  state: Exp;  lines: +2 -4;  commitid: Xwd6ogyWHrLM99NH;
Stop using -mlongcall on powerpc

Using long calls means slower code.  It is not useful right now because
the size of the llvm executables has been reduced, as shown by tests by
Charlene Wendling.  And it breaks compilation with gcc 6, as pointed out
by a report from George Koehler.
----------------------------

Reply via email to