forked from OSchip/llvm-project
[bpf] emit jmp fixups in little endian
The 'off' field of 'struct bpf_insn' is in cpu-endianness, since the rest is emitted as little endian, make sure that 'off' field is little endian as well. llvm-svn: 238038
This commit is contained in:
parent
f6c154d532
commit
6296f6d7d8
|
@ -68,7 +68,9 @@ void BPFAsmBackend::applyFixup(const MCFixup &Fixup, char *Data,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
assert(Fixup.getKind() == FK_PCRel_2);
|
assert(Fixup.getKind() == FK_PCRel_2);
|
||||||
*(uint16_t *)&Data[Fixup.getOffset() + 2] = (uint16_t)((Value - 8) / 8);
|
Value = (uint16_t)((Value - 8) / 8);
|
||||||
|
Data[Fixup.getOffset() + 2] = Value & 0xFF;
|
||||||
|
Data[Fixup.getOffset() + 3] = Value >> 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
MCObjectWriter *BPFAsmBackend::createObjectWriter(raw_pwrite_stream &OS) const {
|
MCObjectWriter *BPFAsmBackend::createObjectWriter(raw_pwrite_stream &OS) const {
|
||||||
|
|
Loading…
Reference in New Issue