mirror of
https://github.com/chromium/crashpad.git
synced 2024-12-29 00:32:35 +08:00
952f787f4a
Use “macOS” as the generic unversioned name of the operating system in comments. For version-specific references, use Mac OS X through 10.6, OS X from 10.7 through 10.11, and macOS for 10.12. Change-Id: I1ebee64fbf79200bc799d4a351725dd73257b54d Reviewed-on: https://chromium-review.googlesource.com/408269 Reviewed-by: Robert Sesek <rsesek@chromium.org>
45 lines
2.3 KiB
Plaintext
45 lines
2.3 KiB
Plaintext
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.
|