diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2010-12-29 04:31:26 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2010-12-29 04:31:26 +0000 |
commit | caf1158b0f4ee5bd1bfc2c275e95e6fbb359df9d (patch) | |
tree | 7e9750e90c946919c751c22e70557d6f3519e5d2 /lib/MC | |
parent | 7d63a2c2e8da75eeb2d36dd93adf33f7658d0083 (diff) |
Correctly encode pcrel|indirect.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122624 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC')
-rw-r--r-- | lib/MC/MCDwarf.cpp | 3 | ||||
-rw-r--r-- | lib/MC/MCParser/AsmParser.cpp | 5 |
2 files changed, 3 insertions, 5 deletions
diff --git a/lib/MC/MCDwarf.cpp b/lib/MC/MCDwarf.cpp index eff9dd6905..0b8b06c045 100644 --- a/lib/MC/MCDwarf.cpp +++ b/lib/MC/MCDwarf.cpp @@ -526,7 +526,7 @@ static void EmitSymbol(MCStreamer &streamer, const MCSymbol &symbol, MCContext &context = streamer.getContext(); const TargetAsmInfo &asmInfo = context.getTargetAsmInfo(); unsigned format = symbolEncoding & 0x0f; - unsigned application = symbolEncoding & 0xf0; + unsigned application = symbolEncoding & 0x70; unsigned size; switch (format) { default: @@ -553,7 +553,6 @@ static void EmitSymbol(MCStreamer &streamer, const MCSymbol &symbol, assert(0 && "Unknown Encoding"); break; case 0: - case dwarf::DW_EH_PE_indirect: streamer.EmitSymbolValue(&symbol, size); break; case dwarf::DW_EH_PE_pcrel: diff --git a/lib/MC/MCParser/AsmParser.cpp b/lib/MC/MCParser/AsmParser.cpp index d8a166cc71..9105ad5146 100644 --- a/lib/MC/MCParser/AsmParser.cpp +++ b/lib/MC/MCParser/AsmParser.cpp @@ -2248,10 +2248,9 @@ static bool isValidEncoding(int64_t Encoding) { Format != dwarf::DW_EH_PE_sdata8 && Format != dwarf::DW_EH_PE_signed) return false; - const unsigned Application = Encoding & 0xf0; + const unsigned Application = Encoding & 0x70; if (Application != dwarf::DW_EH_PE_absptr && - Application != dwarf::DW_EH_PE_pcrel && - Application != dwarf::DW_EH_PE_indirect) + Application != dwarf::DW_EH_PE_pcrel) return false; return true; |