projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[X86] Add support for tbyte memory operand size for Intel-syntax x86 assembly
[oota-llvm.git]
/
include
/
llvm
/
Object
/
RelocVisitor.h
diff --git
a/include/llvm/Object/RelocVisitor.h
b/include/llvm/Object/RelocVisitor.h
index 950e2ed0e3389010e25aefc05b3784a6af507490..d5e4258cb0a7629631ea58a2af51ecaf7e806aa9 100644
(file)
--- a/
include/llvm/Object/RelocVisitor.h
+++ b/
include/llvm/Object/RelocVisitor.h
@@
-100,9
+100,9
@@
private:
case Triple::mips64:
switch (RelocType) {
case llvm::ELF::R_MIPS_32:
case Triple::mips64:
switch (RelocType) {
case llvm::ELF::R_MIPS_32:
- return visitELF_MIPS_32(R, Value);
+ return visitELF_MIPS
64
_32(R, Value);
case llvm::ELF::R_MIPS_64:
case llvm::ELF::R_MIPS_64:
- return visitELF_MIPS_64(R, Value);
+ return visitELF_MIPS
64
_64(R, Value);
default:
HasError = true;
return RelocToApply();
default:
HasError = true;
return RelocToApply();
@@
-313,11
+313,18
@@
private:
/// MIPS ELF
RelocToApply visitELF_MIPS_32(RelocationRef R, uint64_t Value) {
/// MIPS ELF
RelocToApply visitELF_MIPS_32(RelocationRef R, uint64_t Value) {
- uint32_t Res = (Value)&0xFFFFFFFF;
+ uint32_t Res = Value & 0xFFFFFFFF;
+ return RelocToApply(Res, 4);
+ }
+
+ /// MIPS64 ELF
+ RelocToApply visitELF_MIPS64_32(RelocationRef R, uint64_t Value) {
+ int64_t Addend = getELFAddend(R);
+ uint32_t Res = (Value + Addend) & 0xFFFFFFFF;
return RelocToApply(Res, 4);
}
return RelocToApply(Res, 4);
}
- RelocToApply visitELF_MIPS_64(RelocationRef R, uint64_t Value) {
+ RelocToApply visitELF_MIPS
64
_64(RelocationRef R, uint64_t Value) {
int64_t Addend = getELFAddend(R);
uint64_t Res = (Value + Addend);
return RelocToApply(Res, 8);
int64_t Addend = getELFAddend(R);
uint64_t Res = (Value + Addend);
return RelocToApply(Res, 8);