diff options
author | Simon Atanasyan <simon@atanasyan.com> | 2017-11-13 22:40:36 +0000 |
---|---|---|
committer | Simon Atanasyan <simon@atanasyan.com> | 2017-11-13 22:40:36 +0000 |
commit | cfa8aa7edb708155b15c657129f76af9cdb581ba (patch) | |
tree | 4693c15817c993647cd1ff7396ad9a90f4d21c37 /lld/ELF/Arch/MipsArchTree.cpp | |
parent | 87d196ca48b38f2f4503238b7d8aadebbc873571 (diff) | |
download | bcm5719-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.cpp | 2 |
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; |