mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-21 08:17:40 +00:00
make TLOF subclassify BSS based on linkage type into private, external
and everything else (weak). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93846 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -146,8 +146,13 @@ SectionKind TargetLoweringObjectFile::getKindForGlobal(const GlobalValue *GV,
|
||||
return SectionKind::getCommon();
|
||||
|
||||
// Variable can be easily put to BSS section.
|
||||
if (isSuitableForBSS(GVar))
|
||||
if (isSuitableForBSS(GVar)) {
|
||||
if (GVar->hasLocalLinkage())
|
||||
return SectionKind::getBSSLocal();
|
||||
else if (GVar->hasExternalLinkage())
|
||||
return SectionKind::getBSSExtern();
|
||||
return SectionKind::getBSS();
|
||||
}
|
||||
|
||||
Constant *C = GVar->getInitializer();
|
||||
|
||||
@@ -926,7 +931,7 @@ SelectSectionForGlobal(const GlobalValue *GV, SectionKind Kind,
|
||||
|
||||
// Put zero initialized globals with strong external linkage in the
|
||||
// DATA, __common section with the .zerofill directive.
|
||||
if (Kind.isBSS() && GV->hasExternalLinkage())
|
||||
if (Kind.isBSSExtern())
|
||||
return DataCommonSection;
|
||||
|
||||
// Otherwise, just drop the variable in the normal data section.
|
||||
|
||||
Reference in New Issue
Block a user