We were using a regular expression to scan `/proc/<pid>/maps`, but we
shouldn't really do that because it breaks non-bootstrapped builds.
rdar://110452324
Use the new module structure rather the old SwiftShims header. This
is much cleaner and lets us include operating system headers to get
the relevant definitions where possible.
Add code to support ELF and DWARF, including decompression using
zlib, zstd and liblzma if those turn out to be required and available.
rdar://110261712
Some symbolication frameworks have a symbol cache; we probably don't want
to use that for test cases, to avoid running into problems where the cache
holds stale information.
rdar://105409147
Just use `UInt` for `Address`. This is still the subject of some discussion
on the forums, but I haven't decided precisely what to do about it and `UInt`
makes sense for now. This also necessitated some casts elsewhere.
Improve some comments.
Made `limit` robust against silly negative values.
A couple of formatting fixes.
Don't bother supporting the macOS 10.12.2 SDK as Xcode now supports a minimum
of 10.13.
Removed some unnecessary memory rebinding.
Made `CFString` conversion slightly more efficient.
Provide the `SharedCacheInfo` fields everywhere, but make it optional all
over as well.
rdar://104336548
Adds a new swift_Backtracing library, with a corresponding _Backtracing
module, to the build. Also add some tests.
This is not public API at this point, but will be used by the external
backtracing program, `swift-backtrace`.
rdar://104336548