mirror of
https://github.com/apple/swift.git
synced 2026-10-26 20:15:53 +01:00
On Linux, if one thread generates a backtrace while another is busy unmapping a file, the memory map can change after the backtracer's code has read it, which then means that the backtracer can crash attempting to access memory while it is trying to enumerate loaded images. Fix by changing the way we read memory on Linux so that by default, we do so in a failable manner. Fixes #92089 rdar://186982100
55 lines
1.1 KiB
Plaintext
55 lines
1.1 KiB
Plaintext
module BacktracingImpl {
|
|
module ImageFormats {
|
|
module Elf {
|
|
header "ImageFormats/Elf/elf.h"
|
|
requires cplusplus
|
|
export *
|
|
}
|
|
module PeCoff {
|
|
header "ImageFormats/PeCoff/pe-coff.h"
|
|
requires cplusplus
|
|
export *
|
|
}
|
|
module Dwarf {
|
|
header "ImageFormats/Dwarf/dwarf.h"
|
|
header "ImageFormats/Dwarf/eh_frame_hdr.h"
|
|
requires cplusplus
|
|
export *
|
|
}
|
|
module CodeView {
|
|
header "ImageFormats/CodeView/codeview.h"
|
|
requires cplusplus
|
|
export *
|
|
}
|
|
module PDB {
|
|
header "ImageFormats/PDB/pdb.h"
|
|
requires cplusplus
|
|
export *
|
|
}
|
|
export *
|
|
}
|
|
|
|
module OS {
|
|
module Darwin { header "OS/Darwin.h" }
|
|
module Windows { header "OS/Windows.h" }
|
|
module WinNTInternals { header "OS/WinNTInternals.h" }
|
|
module Libc { header "OS/Libc.h" }
|
|
module SafeReadMemory { header "OS/SafeReadMemory.h" }
|
|
}
|
|
|
|
module Runtime {
|
|
header "Runtime/Runtime.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module FixedLayout {
|
|
header "FixedLayout.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module CompressionLibs {
|
|
header "Compression.h"
|
|
requires cplusplus
|
|
}
|
|
}
|