[MIPS] Set STO_MIPS_MICROMIPS flag and less-significant bit for microMIPS symbols
authorSimon Atanasyan <simon@atanasyan.com>
Mon, 13 Nov 2017 22:40:36 +0000 (22:40 +0000)
committerSimon Atanasyan <simon@atanasyan.com>
Mon, 13 Nov 2017 22:40:36 +0000 (22:40 +0000)
commitcfa8aa7edb708155b15c657129f76af9cdb581ba
tree4693c15817c993647cd1ff7396ad9a90f4d21c37
parent87d196ca48b38f2f4503238b7d8aadebbc873571
[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
lld/ELF/Arch/Mips.cpp
lld/ELF/Arch/MipsArchTree.cpp
lld/ELF/SyntheticSections.cpp
lld/ELF/Writer.h
lld/test/ELF/mips-micro-plt.s