summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-07-27 17:39:40 +0000
committerChris Lattner <sabre@nondot.org>2009-07-27 17:39:40 +0000
commita7defb7150ccd4a8c4ff302d5ad134029e50e700 (patch)
tree161dfe2fe27ae39cefc7b330a2b2c91b614d52cb
parent41d89c2572375a47a109f030c038ba666bfedbe7 (diff)
downloadllvm-a7defb7150ccd4a8c4ff302d5ad134029e50e700.tar.gz
llvm-a7defb7150ccd4a8c4ff302d5ad134029e50e700.tar.bz2
llvm-a7defb7150ccd4a8c4ff302d5ad134029e50e700.tar.xz
add an explanatory comment about why we drop these in readonly and
not in mergable git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77210 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/TargetAsmInfo.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/Target/TargetAsmInfo.cpp b/lib/Target/TargetAsmInfo.cpp
index ce905effa7..f5c1458e3d 100644
--- a/lib/Target/TargetAsmInfo.cpp
+++ b/lib/Target/TargetAsmInfo.cpp
@@ -247,7 +247,9 @@ static SectionKind::Kind SectionKindForGlobal(const GlobalValue *GV,
case Constant::LocalRelocation:
// In static relocation model, the linker will resolve all addresses, so
// the relocation entries will actually be constants by the time the app
- // starts up.
+ // starts up. However, we can't put this into a mergable section, because
+ // the linker doesn't take relocations into consideration when it tries to
+ // merge entries in the section.
if (ReloModel == Reloc::Static)
return SectionKind::ReadOnly;
@@ -258,7 +260,9 @@ static SectionKind::Kind SectionKindForGlobal(const GlobalValue *GV,
case Constant::GlobalRelocations:
// In static relocation model, the linker will resolve all addresses, so
// the relocation entries will actually be constants by the time the app
- // starts up.
+ // starts up. However, we can't put this into a mergable section, because
+ // the linker doesn't take relocations into consideration when it tries to
+ // merge entries in the section.
if (ReloModel == Reloc::Static)
return SectionKind::ReadOnly;