mirror of
https://github.com/chromium/crashpad.git
synced 2025-03-09 22:26:06 +00:00
Unreferenced, and not working at all in Crashpad-standalone. Copied from Chromium at 52a9831d81f2099ef9f50fcdaca5853019262c35 to have a point where a roll back into Chromium should be a no-op (with Chromium's build/secondary/third_party/crashpad/... removed). I'm not sure what we want to do about the various gni references into Chromium (e.g. //build/config/sanitizers/sanitizers.gni, //testing/test.gni, etc.) but I guess the sooner they live in Crashpad rather than in Chromium the sooner we can figure out the sort of knobs and dials we need. Bug: crashpad:79 Change-Id: Id99c29123bcd4174ee2bcc128c2be87e3c94fa3f Reviewed-on: https://chromium-review.googlesource.com/777819 Reviewed-by: Mark Mentovai <mark@chromium.org> Commit-Queue: Scott Graham <scottmg@chromium.org>
Name: Apple cctools
Short Name: cctools
URL: https://opensource.apple.com/source/cctools/
URL: https://opensource.apple.com/tarballs/cctools/
Version: 855 (from Xcode 5.1)
License: APSL 2.0
License File: cctools/APPLE_LICENSE
Security Critical: no
Description:
cctools contains portions of Apple’s compiler toolchain, including common tools
like ar, as, nm, strings, and strip, and platform-specific tools like lipo and
otool. It also contains support libraries such as libmacho, which contains
interfaces for dealing with Mach-O images.
libmacho is available on macOS as a runtime library that is part of libSystem,
but versions of libmacho included in operating system versions prior to Mac OS X
10.7 did not include the getsectiondata() and getsegmentdata() functions. This
library is present here to provide implementations of these functions for
systems that do not have them.
Crashpad code is not expected to use this library directly. It should use the
getsectiondata() and getsegmentdata() wrappers in compat, which will use
system-provided implementations if present at runtime, and will otherwise fall
back to the implementations in this library.
Local Modifications:
- Only cctools/APPLE_LICENSE, cctools/libmacho/getsecbyname.c, and
cctools/include/mach-o/getsect.h are included.
- getsecbyname.c and getsect.h have been trimmed to remove everything other
than the getsectiondata() and getsegmentdata() functions. The #include guards
in getsect.h have been made unique.
- getsectiondata() is renamed to crashpad_getsectiondata(), and
getsegmentdata() is renamed to crashpad_getsegmentdata().
- These functions are only declared and defined if the deployment target is
older than 10.7. This library is not needed otherwise, because in that case,
the system always provides implementations in runtime libraries.
- Originally, each of these two functions were implemented twice: once for
32-bit code and once for 64-bit code. Aside from the types and constants
used, the two implementations were completely identical. This has been
simplified to have a shared implementation that relies on local typedefs and
constants being defined properly. This change was only made in
getsecbyname.c. getsect.h was not changed to avoid leaking new definitions
beyond this header.