From 05018c2f2872a05b1a2fff1a9934621ba1f38084 Mon Sep 17 00:00:00 2001 From: Owen Anderson Date: Thu, 9 Dec 2010 20:27:52 +0000 Subject: Fix an issue in some Thumb fixups, where the effective PC address needs to be 4-byte aligned when calculating the offset. Add a new fixup flag to represent this, and use it for the one fixups that I have a testcase for needing this. It's quite likely that the other Thumb fixups will need this too, and to have their fixup encoding logic adjusted accordingly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121408 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/MC/MCCodeEmitter.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/llvm/MC/MCCodeEmitter.h b/include/llvm/MC/MCCodeEmitter.h index eac06ed..2588661 100644 --- a/include/llvm/MC/MCCodeEmitter.h +++ b/include/llvm/MC/MCCodeEmitter.h @@ -25,7 +25,10 @@ struct MCFixupKindInfo { enum FixupKindFlags { /// Is this fixup kind PCrelative? This is used by the assembler backend to /// evaluate fixup values in a target independent manner when possible. - FKF_IsPCRel = (1 << 0) + FKF_IsPCRel = (1 << 0), + + // Should this fixup kind force a 4-byte aligned effective PC value? + FKF_IsAligned = (1 << 1) }; /// A target specific name for the fixup kind. The names will be unique for -- cgit v1.1