[llvm-commits] CVS: llvm/lib/Linker/LinkModules.cpp
Andrew Lenharth
alenhar2 at cs.uiuc.edu
Thu Feb 1 09:13:27 PST 2007
Changes in directory llvm/lib/Linker:
LinkModules.cpp updated: 1.130 -> 1.131
---
Log message:
preserve sections of globals
---
Diffs of the changes: (+10 -1)
LinkModules.cpp | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletion(-)
Index: llvm/lib/Linker/LinkModules.cpp
diff -u llvm/lib/Linker/LinkModules.cpp:1.130 llvm/lib/Linker/LinkModules.cpp:1.131
--- llvm/lib/Linker/LinkModules.cpp:1.130 Tue Jan 30 14:08:37 2007
+++ llvm/lib/Linker/LinkModules.cpp Thu Feb 1 11:12:54 2007
@@ -478,7 +478,10 @@
SGV->getName(), Dest);
// Propagate alignment info.
NewDGV->setAlignment(SGV->getAlignment());
-
+
+ // Propagate section info.
+ NewDGV->setSection(SGV->getSection());
+
// If the LLVM runtime renamed the global, but it is an externally visible
// symbol, DGV must be an existing global with internal linkage. Rename
// it.
@@ -503,6 +506,9 @@
// Propagate alignment info.
NewDGV->setAlignment(std::max(DGV->getAlignment(), SGV->getAlignment()));
+ // Propagate section info.
+ NewDGV->setSection(SGV->getSection());
+
// Make sure to remember this mapping...
ValueMap.insert(std::make_pair(SGV, NewDGV));
@@ -512,6 +518,9 @@
// Propagate alignment info.
DGV->setAlignment(std::max(DGV->getAlignment(), SGV->getAlignment()));
+ // Propagate section info.
+ DGV->setSection(SGV->getSection());
+
// Otherwise, perform the mapping as instructed by GetLinkageResult. If
// the types don't match, and if we are to link from the source, nuke DGV
// and create a new one of the appropriate type.
More information about the llvm-commits
mailing list