1717#include " ../Serialization/ModuleFormat.h"
1818#include " IRGenModule.h"
1919#include " swift/ABI/MetadataValues.h"
20+ #include " swift/ABI/ObjectFile.h"
2021#include " swift/AST/DiagnosticsIRGen.h"
2122#include " swift/AST/IRGenOptions.h"
2223#include " swift/AST/IRGenRequests.h"
2627#include " swift/AST/SILOptimizerRequests.h"
2728#include " swift/AST/TBDGenRequests.h"
2829#include " swift/Basic/Defer.h"
29- #include " swift/Basic/Dwarf.h"
3030#include " swift/Basic/MD5Stream.h"
3131#include " swift/Basic/Platform.h"
3232#include " swift/Basic/STLExtras.h"
@@ -1630,6 +1630,7 @@ void swift::createSwiftModuleObjectFile(SILModule &SILMod, StringRef Buffer,
16301630 auto *ASTSym = new llvm::GlobalVariable (M, Ty, /* constant*/ true ,
16311631 llvm::GlobalVariable::InternalLinkage,
16321632 Data, " __Swift_AST" );
1633+
16331634 std::string Section;
16341635 switch (IGM.TargetInfo .OutputObjectFormat ) {
16351636 case llvm::Triple::DXContainer:
@@ -1638,19 +1639,24 @@ void swift::createSwiftModuleObjectFile(SILModule &SILMod, StringRef Buffer,
16381639 case llvm::Triple::UnknownObjectFormat:
16391640 llvm_unreachable (" unknown object format" );
16401641 case llvm::Triple::XCOFF:
1641- case llvm::Triple::COFF:
1642- Section = COFFASTSectionName;
1642+ case llvm::Triple::COFF: {
1643+ SwiftObjectFileFormatCOFF COFF;
1644+ Section = COFF.getSectionName (ReflectionSectionKind::swiftast);
16431645 break ;
1646+ }
16441647 case llvm::Triple::ELF:
1645- Section = ELFASTSectionName;
1646- break ;
1647- case llvm::Triple::MachO:
1648- Section = std::string (MachOASTSegmentName) + " ," + MachOASTSectionName;
1648+ case llvm::Triple::Wasm: {
1649+ SwiftObjectFileFormatELF ELF;
1650+ Section = ELF.getSectionName (ReflectionSectionKind::swiftast);
16491651 break ;
1650- case llvm::Triple::Wasm:
1651- Section = WasmASTSectionName;
1652+ }
1653+ case llvm::Triple::MachO: {
1654+ SwiftObjectFileFormatMachO MachO;
1655+ Section = std::string (*MachO.getSegmentName ()) + " ," +
1656+ MachO.getSectionName (ReflectionSectionKind::swiftast).str ();
16521657 break ;
16531658 }
1659+ }
16541660 ASTSym->setSection (Section);
16551661 ASTSym->setAlignment (llvm::MaybeAlign (serialization::SWIFTMODULE_ALIGNMENT));
16561662 ::performLLVM (Opts, Ctx.Diags, nullptr , nullptr , IGM.getModule(),
0 commit comments