summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Atanasyan <simon@atanasyan.com>2014-12-24 12:19:18 +0000
committerSimon Atanasyan <simon@atanasyan.com>2014-12-24 12:19:18 +0000
commit375f07a919a4d304b8d7fb35ccca2e0df32cde34 (patch)
treef7e4859a9fa3aaba4f78ee3032edd4818421c9d9
parent4195dff0fb2b259f69aa017b10048f685ad38bc4 (diff)
downloadbcm5719-llvm-375f07a919a4d304b8d7fb35ccca2e0df32cde34.tar.gz
bcm5719-llvm-375f07a919a4d304b8d7fb35ccca2e0df32cde34.zip
[Mips] Use OR operation to set the microMIPS bit
llvm-svn: 224813
-rw-r--r--lld/lib/ReaderWriter/ELF/Mips/MipsDynamicTable.h2
-rw-r--r--lld/lib/ReaderWriter/ELF/Mips/MipsExecutableWriter.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/lld/lib/ReaderWriter/ELF/Mips/MipsDynamicTable.h b/lld/lib/ReaderWriter/ELF/Mips/MipsDynamicTable.h
index f61862288c0..db4f631d54c 100644
--- a/lld/lib/ReaderWriter/ELF/Mips/MipsDynamicTable.h
+++ b/lld/lib/ReaderWriter/ELF/Mips/MipsDynamicTable.h
@@ -97,7 +97,7 @@ protected:
if (const auto *da = dyn_cast<DefinedAtom>(al->_atom))
if (da->codeModel() == DefinedAtom::codeMipsMicro ||
da->codeModel() == DefinedAtom::codeMipsMicroPIC)
- return al->_virtualAddr + 1;
+ return al->_virtualAddr | 1;
return al->_virtualAddr;
}
diff --git a/lld/lib/ReaderWriter/ELF/Mips/MipsExecutableWriter.h b/lld/lib/ReaderWriter/ELF/Mips/MipsExecutableWriter.h
index 01aed1c6a70..0df27107325 100644
--- a/lld/lib/ReaderWriter/ELF/Mips/MipsExecutableWriter.h
+++ b/lld/lib/ReaderWriter/ELF/Mips/MipsExecutableWriter.h
@@ -66,7 +66,7 @@ std::error_code MipsExecutableWriter<ELFT>::setELFHeader() {
if (ea->codeModel() == DefinedAtom::codeMipsMicro ||
ea->codeModel() == DefinedAtom::codeMipsMicroPIC)
// Adjust entry symbol value if this symbol is microMIPS encoded.
- this->_elfHeader->e_entry(al->_virtualAddr + 1);
+ this->_elfHeader->e_entry(al->_virtualAddr | 1);
}
_writeHelper.setELFHeader(*this->_elfHeader);
OpenPOWER on IntegriCloud