-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ARCEB: linux kernel build error: operand out of range (-132 is not between -128 and 127) #576
Comments
A reduced set would be:
and build with:
|
The relevant assembly output:
|
The relevant diff between the assembly output of
The problem is the Thanks @claziss for pointing me in the right direction. |
Variant 1 of
At the first glance, the real problem here is that
So, in its eyes, source and destination registers are the same ( |
Proposed fix here: foss-for-synopsys-dwc-arc-processors/gcc@b974ff3 |
The proposed fix disables the
|
I've reproduced the Linux kernel build issue with
arceb
compiler, described here:http://lists.infradead.org/pipermail/linux-snps-arc/2023-August/007525.html
To reproduce this issue, I used gcc 12.2 from the arc-2023.03 toolchain release (Linux/glibc ARC HS Big Endian).
With certain set of options, I observe that compiler puts short branch instruction (
bne_s
) with incorrect relative offset and then assembler prints the following error:The refscale.zip achive contains pre-processed source (refscale.i). The issue can be reproduced with this file by the following command:
The little-endian compiler with
-mbig-endian
also shows this issue.The text was updated successfully, but these errors were encountered: