diff options
author | Denis Protivensky <dprotivensky@accesssoftek.com> | 2015-01-27 07:39:04 +0000 |
---|---|---|
committer | Denis Protivensky <dprotivensky@accesssoftek.com> | 2015-01-27 07:39:04 +0000 |
commit | 2b5539651b776dc15e58dc269f685cbd8b4a06b8 (patch) | |
tree | da278b189fdae1997473f89dbb32a71cc41b4de2 /lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp | |
parent | 3d4276f053061933d45140b7bcb727d6b6efc7b4 (diff) | |
download | bcm5719-llvm-2b5539651b776dc15e58dc269f685cbd8b4a06b8.tar.gz bcm5719-llvm-2b5539651b776dc15e58dc269f685cbd8b4a06b8.zip |
[lld] Correct forming of ARM/Thumb atoms
Symbols addressing Thumb code have zero bit set in st_value to distinguish them from ARM instructions.
This caused wrong atoms' forming because of offset of one byte brought in by that corrected st_value.
Fixed reading of st_value & st_value-related things in ARMELFFile while forming atoms.
Symbol table generation is also fixed for Thumb atoms.
Differential Revision: http://reviews.llvm.org/D7161
llvm-svn: 227174
Diffstat (limited to 'lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp')
-rw-r--r-- | lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp b/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp index c4ba941e3eb..87716ac2620 100644 --- a/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp +++ b/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp @@ -394,6 +394,7 @@ template <> struct ScalarEnumerationTraits<lld::DefinedAtom::CodeModel> { io.enumCase(value, "mips-micro", lld::DefinedAtom::codeMipsMicro); io.enumCase(value, "mips-micro-pic", lld::DefinedAtom::codeMipsMicroPIC); io.enumCase(value, "mips-16", lld::DefinedAtom::codeMips16); + io.enumCase(value, "arm-thumb", lld::DefinedAtom::codeARMThumb); } }; |