summaryrefslogtreecommitdiffstats
path: root/lld/ELF/Arch/MipsArchTree.cpp
diff options
context:
space:
mode:
authorSimon Atanasyan <simon@atanasyan.com>2017-11-13 22:40:36 +0000
committerSimon Atanasyan <simon@atanasyan.com>2017-11-13 22:40:36 +0000
commitcfa8aa7edb708155b15c657129f76af9cdb581ba (patch)
tree4693c15817c993647cd1ff7396ad9a90f4d21c37 /lld/ELF/Arch/MipsArchTree.cpp
parent87d196ca48b38f2f4503238b7d8aadebbc873571 (diff)
downloadbcm5719-llvm-cfa8aa7edb708155b15c657129f76af9cdb581ba.tar.gz
bcm5719-llvm-cfa8aa7edb708155b15c657129f76af9cdb581ba.zip
[MIPS] Set STO_MIPS_MICROMIPS flag and less-significant bit for microMIPS symbols
microMIPS symbols including microMIPS PLT records created for regular symbols needs to be marked by STO_MIPS_MICROMIPS flag in a symbol table. Additionally microMIPS entries in a dynamic symbol table should have configured less-significant bit. That allows to escape teaching a dynamic linker about microMIPS symbols. llvm-svn: 318097
Diffstat (limited to 'lld/ELF/Arch/MipsArchTree.cpp')
-rw-r--r--lld/ELF/Arch/MipsArchTree.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/lld/ELF/Arch/MipsArchTree.cpp b/lld/ELF/Arch/MipsArchTree.cpp
index 5255e893ea2..0cf62fdf55e 100644
--- a/lld/ELF/Arch/MipsArchTree.cpp
+++ b/lld/ELF/Arch/MipsArchTree.cpp
@@ -364,6 +364,8 @@ bool elf::isMipsN32Abi(const InputFile *F) {
}
}
+bool elf::isMicroMips() { return Config->EFlags & EF_MIPS_MICROMIPS; }
+
bool elf::isMipsR6() {
uint32_t Arch = Config->EFlags & EF_MIPS_ARCH;
return Arch == EF_MIPS_ARCH_32R6 || Arch == EF_MIPS_ARCH_64R6;
OpenPOWER on IntegriCloud