1 # Functions and variables explicitly exported from ObjC.
3 # Note that some commonly used functions are *not* listed in the
4 # ObjC headers (e.g. objc_flush_caches())
8 _object_setInstanceVariable
9 _object_getInstanceVariable
11 _class_createInstanceFromZone
14 _class_getInstanceVariable
15 _class_getInstanceMethod
20 _method_getNumberOfArguments
21 _method_getSizeOfArguments
22 _method_getArgumentInfo
29 # fixme does anybody use objc_msgSendFew* ?
35 _objc_msgSendSuper_stret
43 _objc_setMultithreaded
58 _object_getIndexedIvars
60 .objc_class_name_Object
65 _object_reallocFromZone
67 .objc_class_name_Protocol
69 # everything inside is declared but no longer defined?!
71 _NXCreateHashTableFromZone
94 _NXPtrStructKeyPrototype
95 _NXStrStructKeyPrototype
97 _NXUniqueStringWithLength
100 _NXCopyStringBufferFromZone
102 _NXCreateMapTableFromZone
114 _NXPtrValueMapPrototype
115 _NXStrValueMapPrototype
116 _NXObjectMapPrototype
118 # Functions that aren't in the headers but are used or are useful.
120 # sudo find / -xdev -type f -perm -0111 \! -name "libobjc*dylib" -print -exec nm -u {} \; > /tmp/all-used-symbols
121 # (repeat with any other disks you want checked, appending to the same file)
122 # nm /usr/lib/libobjc.dylib | awk '$2 ~ /^[ADST]$/' | colrm 1 11 | sort -u > /tmp/objc-exports
123 # (note that you need an unstripped, un-nmedited libobjc.dylib)
124 # grep -f /tmp/objc-exports /tmp/all-used-symbols | sort -u > /tmp/used-objc-symbols
125 # grep -v -f /tmp/used-objc-symbols /tmp/objc-exports | sort -u > /tmp/unused-objc-symbols
127 __class_printDuplicateCacheEntries
128 __class_printMethodCaches
129 __class_printMethodCacheStatistics
136 _class_respondsToMethod
137 _instrumentObjcMessageSends
141 _do_not_remove_this_dummy_function
142 # used by debugging tools like heap
143 __objc_debug_class_hash