From 0ebb243bdd92764a4c0b000c269b601fd7649a9c Mon Sep 17 00:00:00 2001 From: Dale Johannesen Date: Wed, 26 Mar 2008 23:31:39 +0000 Subject: Fix a bug in Darwin EH: FDE->CIE pointer must be relocatable. Describe why .set is needed better. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48848 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Target/TargetAsmInfo.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'include/llvm/Target') diff --git a/include/llvm/Target/TargetAsmInfo.h b/include/llvm/Target/TargetAsmInfo.h index 2f54696..7fd88b2 100644 --- a/include/llvm/Target/TargetAsmInfo.h +++ b/include/llvm/Target/TargetAsmInfo.h @@ -65,8 +65,15 @@ namespace llvm { /// section on this target. Null if this target doesn't support zerofill. const char *ZeroFillDirective; // Default is null. - /// NeedsSet - True if target asm can't compute addresses on data - /// directives. + /// NeedsSet - True if target asm treats expressions in data directives + /// as linktime-relocatable. For assembly-time computation, we need to + /// use a .set. Thus: + /// .set w, x-y + /// .long w + /// is computed at assembly time, while + /// .long x-y + /// is relocated if the relative locations of x and y change at linktime. + /// We want both these things in different places. bool NeedsSet; // Defaults to false. /// MaxInstLength - This is the maximum possible length of an instruction, -- cgit v1.1