mirror of
https://github.com/mroi/apple-internals.git
synced 2026-02-12 09:02:45 +00:00
switch to arm64
• my main machine is Apple Silicon now • filter architecture in objdump as it would normally output all archs
This commit is contained in:
7
Makefile
7
Makefile
@@ -74,7 +74,7 @@ $(DB_TARGETS)::
|
||||
exit 1 ; \
|
||||
fi
|
||||
|
||||
dyld: /System/Cryptexes/OS/System/Library/dyld/dyld_shared_cache_x86_64h /System/Cryptexes/OS/System/DriverKit/System/Library/dyld/dyld_shared_cache_x86_64h
|
||||
dyld: /System/Cryptexes/OS/System/Library/dyld/dyld_shared_cache_arm64e /System/Cryptexes/OS/System/DriverKit/System/Library/dyld/dyld_shared_cache_arm64e
|
||||
for i in $+ ; do $(DSCEXTRACTOR) $$i $@ ; done > /dev/null
|
||||
find $@ -type f -print0 | xargs -0 chmod a+x
|
||||
|
||||
@@ -132,12 +132,13 @@ db_binaries:: dyld
|
||||
$(call find,-follow -type f -perm +111) | while read -r os path ; do \
|
||||
echo "UPDATE files SET executable = true WHERE os = '$$os' AND path = '$$(echo "$$path" | sed "s/'/''/g")';" ; \
|
||||
if test -r "$(call prefix,$$os)$$path" && file --no-dereference --brief --mime-type "$(call prefix,$$os)$$path" | grep -Fq application/x-mach-binary ; then \
|
||||
objdump --macho --dylibs-used "$(call prefix,$$os)$$path" | \
|
||||
case "$$(lipo -archs "$(call prefix,$$os)$$path")" in (*arm64e*) arch=arm64e ;; (*arm64_32*) arch=arm64_32 ;; (*arm64*) arch=arm64 ;; (*x86_64h*) arch=x86_64h ;; (*x86_64*) arch=x86_64 ;; (*) continue ;; esac ; \
|
||||
objdump --arch=$$arch --macho --dylibs-used "$(call prefix,$$os)$$path" | \
|
||||
sed "1d;s/^.//;s/ ([^)]*)$$//;s/'/''/g;s|.*|INSERT OR IGNORE INTO linkages $(call file,'&');|" ; \
|
||||
codesign --display --xml --entitlements - "$(call prefix,$$os)$$path" 2> /dev/null | \
|
||||
plutil -convert json - -o - | \
|
||||
sed "/^<stdin>: Property List error/d;/^{}/d;s/'/''/g;s|.*|INSERT INTO entitlements $(call file,json('&'));\n|" ; \
|
||||
strings -n 8 "$(call prefix,$$os)$$path" | \
|
||||
strings -n 8 "$(call prefix,$$os)$$path" 2> /dev/null | \
|
||||
LANG=C sed "s/'/''/g;s|.*|INSERT OR IGNORE INTO strings $(call file,'&');|" ; \
|
||||
fi ; \
|
||||
done
|
||||
|
||||
10
flake.nix
10
flake.nix
@@ -19,12 +19,12 @@
|
||||
};
|
||||
};
|
||||
outputs = { self, nixpkgs, acextract, command-line, dsc-extractor, snap-util }: {
|
||||
packages.x86_64-darwin = let
|
||||
xcode = nixpkgs.legacyPackages.x86_64-darwin.xcodeenv.composeXcodeWrapper {};
|
||||
packages.aarch64-darwin = let
|
||||
xcode = nixpkgs.legacyPackages.aarch64-darwin.xcodeenv.composeXcodeWrapper {};
|
||||
in {
|
||||
|
||||
acextract =
|
||||
with nixpkgs.legacyPackages.x86_64-darwin;
|
||||
with nixpkgs.legacyPackages.aarch64-darwin;
|
||||
let xcodeHook = makeSetupHook {
|
||||
name = "xcode-hook";
|
||||
propagatedBuildInputs = [ xcode ];
|
||||
@@ -79,7 +79,7 @@
|
||||
};
|
||||
|
||||
dsc-extractor =
|
||||
with nixpkgs.legacyPackages.x86_64-darwin;
|
||||
with nixpkgs.legacyPackages.aarch64-darwin;
|
||||
stdenv.mkDerivation {
|
||||
name = "dsc-extractor-${lib.substring 0 8 self.inputs.dsc-extractor.lastModifiedDate}";
|
||||
src = dsc-extractor;
|
||||
@@ -87,7 +87,7 @@
|
||||
};
|
||||
|
||||
snap-util =
|
||||
with nixpkgs.legacyPackages.x86_64-darwin;
|
||||
with nixpkgs.legacyPackages.aarch64-darwin;
|
||||
let snapshot-header = fetchFromGitHub {
|
||||
owner = "apple";
|
||||
repo = "darwin-xnu";
|
||||
|
||||
@@ -231,7 +231,7 @@ Notarization app security scan by Apple; cryptographic proof stapled to code sig
|
||||
Noticeboard User Notifications for Software Update and App Store, Noticeboard.framework; launchd services: com.apple.noticeboard.state (nbstated), com.apple.noticeboard.agent (nbagent)
|
||||
Notifications system notification bus, unrelated to the local/remote push notifications; launchd service: com.apple.notifyd, com.apple.kuncd (invoked by kernel through host special port 10); command line tool: notifyutil; complemented by framework-level notification system (CFNotification, NSNotification); launchd services: com.apple.distnoted.xpc.daemon, com.apple.distnoted.xpc.agent
|
||||
NSP Network Service Proxy; per-app VPN and proxy settings, implements Private Relay; launchd service: com.apple.networkserviceproxy
|
||||
OAH Rosetta; ahead-of-time compiler for Intel code on Apple Silicon, usable from Linux VMs by way of a custom binformat; /usr/libexec/rosetta; launchd service: com.apple.oahd
|
||||
OAH Rosetta; ahead-of-time compiler for Intel code on Apple Silicon, usable from Linux VMs by way of a custom binformat; /usr/libexec/rosetta, /var/db/oah (AOT cache); launchd service: com.apple.oahd
|
||||
ODR On-Demand Resources; loaded from App Store; launchd service: com.apple.appstored
|
||||
Omni Search fuzzy semantic search with results recognized in images; OmniSearch.framework
|
||||
Onboarding data protection splash screen shown by service-connected apps; /System/Library/OnBoardingBundles; OnBoardingKit.framework
|
||||
@@ -358,7 +358,7 @@ USD Universal Scene Description; storage format for 3D assets; /usr/lib/usd; com
|
||||
User Activity abstraction for deep-linking into apps with structured context (people, places); used for Universal Links (schema.org on websites), Handoff, Parsec (app links in search), Quick Note (context awareness); now part of Intents; UserActivity.framework; launchd service: com.apple.coreservices.useractivityd
|
||||
User Notifications user interface for notification center; launchd service: com.apple.usernoted
|
||||
UTI Uniform Type Identifiers; system for document types; file extensions and MIME types are mapped to UTIs, UTIs form a conformance graph, apps register their UTIs with Launch Services; /System/Library/CoreServices/CoreTypes.bundle; also Apple’s hardware devices are represented as UTIs
|
||||
VA Video Acceleration; AppleGVA.framework, AppleVA.framework, AppleVPA.framework
|
||||
VA Video Acceleration; AppleVA.framework
|
||||
VDAF Verifiable Distributed Aggregation Function; part of Differential Privacy; VDAF.framework
|
||||
Viceroy video conferencing used by FaceTime and ReplayKit; ViceroyTrace.framework
|
||||
Virtualisation running virtual machines on macOS; Hypervisor.framework (for basic VMs and vCPUs), Virtualization.framework (brings a robust set of device models)
|
||||
|
||||
|
Reference in New Issue
Block a user