// Emit initial debug information.
DW.BeginModule(&M);
- } else if (Subtarget->isTargetELF()) {
+ } else if (Subtarget->isTargetELF() || Subtarget->isTargetCygwin()) {
// Emit initial debug information.
DW.BeginModule(&M);
}
// Output linker support code for dllexported globals
if (DLLExportedGVs.begin() != DLLExportedGVs.end()) {
- SwitchToDataSection(".section .drectve", 0);
+ SwitchToDataSection(".section .drectve");
}
for (std::set<std::string>::iterator i = DLLExportedGVs.begin(),
}
if (DLLExportedFns.begin() != DLLExportedFns.end()) {
- SwitchToDataSection(".section .drectve", 0);
+ SwitchToDataSection(".section .drectve");
}
for (std::set<std::string>::iterator i = DLLExportedFns.begin(),
}
if (Subtarget->isTargetDarwin()) {
- SwitchToDataSection("", 0);
+ SwitchToDataSection("");
// Output stubs for dynamically-linked functions
unsigned j = 1;
// Output stubs for external and common global variables.
if (GVStubs.begin() != GVStubs.end())
SwitchToDataSection(
- ".section __IMPORT,__pointers,non_lazy_symbol_pointers", 0);
+ ".section __IMPORT,__pointers,non_lazy_symbol_pointers");
for (std::set<std::string>::iterator i = GVStubs.begin(), e = GVStubs.end();
i != e; ++i) {
O << "L" << *i << "$non_lazy_ptr:\n";
// linker can safely perform dead code stripping. Since LLVM never
// generates code that does this, it is always safe to set.
O << "\t.subsections_via_symbols\n";
- } else if (Subtarget->isTargetELF()) {
+ } else if (Subtarget->isTargetELF() || Subtarget->isTargetCygwin()) {
// Emit final debug information.
DW.EndModule();
}