Implement R_X86_64_16.
It is used by qemu.
llvm-svn: 294965
diff --git a/lld/ELF/Target.cpp b/lld/ELF/Target.cpp
index 8a28f4d..0826f4b 100644
--- a/lld/ELF/Target.cpp
+++ b/lld/ELF/Target.cpp
@@ -650,6 +650,7 @@
const SymbolBody &S) const {
switch (Type) {
case R_X86_64_8:
+ case R_X86_64_16:
case R_X86_64_32:
case R_X86_64_32S:
case R_X86_64_64:
@@ -879,6 +880,10 @@
checkUInt<8>(Loc, Val, Type);
*Loc = Val;
break;
+ case R_X86_64_16:
+ checkUInt<16>(Loc, Val, Type);
+ write16le(Loc, Val);
+ break;
case R_X86_64_32:
checkUInt<32>(Loc, Val, Type);
write32le(Loc, Val);