-
Notifications
You must be signed in to change notification settings - Fork 17.8k
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
all.bash segfault #6
Labels
Comments
minux
pushed a commit
to minux/goios
that referenced
this issue
Feb 27, 2015
This change fixes a lot of related bugs. ARM64 is a 64-bit machine, and the most general constants are 64-bit. The most general constant class was C_LCON, which is 32-bit. We change it to C_VCON. This didn't affect much because there weren't many assumptions on the size of C_LCON, but it allows us to use C_LCON for quantities which we know are 32-bit and could use a more efficient encoding (none so far). This change also makes the distinction between memory addresses (C_ADDR, which require relocation) and other 64-bit constants (C_VCON). Optab instruction variants for C_VCON quantities were duplicated to also work on C_ADDR where it makes sense. We could have simply made C_VCON equal C_ADDR in cmp, so existing instruction forms would have worked, but this way we can distinguish between instructions that need to operate on relocatable addresses and instructions that can operate on generic 64-bit constants, providing more theoretical safety. This change also enables more immediate forms, requiring less pool literals. Some forms still don't work, however, but most do. Another side effect of this change is fixing linking. Because we didn't use optimal immediate encodings, we generated more constant types that we originally accounted for. The extra constants were catched by a default switch case, which assumed they were all relocations, and issued relocations for them. The linker then complained it couldn't find the referenced symbols. Updates golang#6 Fixes golang#62
minux
pushed a commit
to minux/goios
that referenced
this issue
Feb 27, 2015
Rewrite instructions that use negative immediates as the "negative" instruction variant with a positive operand. E.g. ADD $-2, R becomes SUB $2, R Updates golang#6
tklauser
pushed a commit
to tklauser/go
that referenced
this issue
May 8, 2019
Upstream has fixed the opcode ranges to fit riscv in a 16-bit As, so we can switch back. Fixes golang#6 Change-Id: I1f18c477761be1801276e9f5f49c347e6ae33d91
This issue was closed.
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
by telugujoshi:
The text was updated successfully, but these errors were encountered: