/macosx-10.10.1/dyld-353.2.1/src/ |
H A D | dyld.h | 28 #include "ImageLoader.h" 51 const ImageLoader::RPathChain* rpath; // paths for expanding @rpath 61 extern ImageLoader::LinkContext gLinkContext; 75 extern void preflight(ImageLoader* image, const ImageLoader::RPathChain& loaderRPaths); 76 extern void link(ImageLoader* image, bool forceLazysBound, bool neverUnload, const ImageLoader::RPathChain& loaderRPaths); 77 extern void runInitializers(ImageLoader* image); 78 extern void runImageStaticTerminators(ImageLoader* image); 80 extern bool validImage(const ImageLoader*); [all...] |
H A D | ImageLoader.cpp | 39 #include "ImageLoader.h" 42 uint32_t ImageLoader::fgImagesUsedFromSharedCache = 0; 43 uint32_t ImageLoader::fgImagesWithUsedPrebinding = 0; 44 uint32_t ImageLoader::fgImagesRequiringCoalescing = 0; 45 uint32_t ImageLoader::fgImagesHasWeakDefinitions = 0; 46 uint32_t ImageLoader::fgTotalRebaseFixups = 0; 47 uint32_t ImageLoader::fgTotalBindFixups = 0; 48 uint32_t ImageLoader::fgTotalBindSymbolsResolved = 0; 49 uint32_t ImageLoader::fgTotalBindImageSearches = 0; 50 uint32_t ImageLoader 67 ImageLoader::ImageLoader(const char* path, unsigned int libCount) function in class:ImageLoader [all...] |
H A D | ImageLoader.h | 196 // ImageLoader is an abstract base class. To support loading a particular executable 197 // file format, you make a concrete subclass of ImageLoader. 199 // For each executable file (dynamic shared object) in use, an ImageLoader is instantiated. 201 // The ImageLoader base class does the work of linking together images, but it knows nothing 205 class ImageLoader { class 241 ImageLoader* from; 242 ImageLoader* to; 246 ImageLoader* (*loadLibrary)(const char* libraryName, bool search, const char* origin, const RPathChain* rpaths); 247 void (*terminationRecorder)(ImageLoader* image); 248 bool (*flatExportFinder)(const char* name, const Symbol** sym, const ImageLoader** imag [all...] |
H A D | ImageLoaderMachO.h | 33 #include "ImageLoader.h" 38 // ImageLoaderMachO is a subclass of ImageLoader which loads mach-o format files. 41 class ImageLoaderMachO : public ImageLoader { 43 static ImageLoader* instantiateMainExecutable(const macho_header* mh, uintptr_t slide, const char* path, const LinkContext& context); 44 static ImageLoader* instantiateFromFile(const char* path, int fd, const uint8_t firstPage[4096], uint64_t offsetInFat, 46 static ImageLoader* instantiateFromCache(const macho_header* mh, const char* path, long slide, const struct stat& info, const LinkContext& context); 47 static ImageLoader* instantiateFromMemory(const char* moduleName, const macho_header* mh, uint64_t len, const LinkContext& context); 58 virtual const Symbol* findExportedSymbol(const char* name, bool searchReExports, const ImageLoader** foundIn) const; 60 const ImageLoader* requestor, bool runResolver) const; 79 virtual void updateUsesCoalIterator(CoalIterator&, uintptr_t newAddr, ImageLoader* targe [all...] |
H A D | ImageLoaderMachOCompressed.h | 35 // ImageLoaderMachOCompressed is the concrete subclass of ImageLoader which loads mach-o files 54 virtual ImageLoader* libImage(unsigned int) const; 57 virtual void setLibImage(unsigned int, ImageLoader*, bool, bool); 66 virtual void updateUsesCoalIterator(CoalIterator&, uintptr_t newAddr, ImageLoader* target, const LinkContext& context); 74 virtual bool isSubframeworkOf(const LinkContext& context, const ImageLoader* image) const { return false; } 75 virtual bool hasSubLibrary(const LinkContext& context, const ImageLoader* child) const { return false; } 78 virtual const ImageLoader::Symbol* findExportedSymbol(const char* name, const ImageLoader** foundIn) const; 80 virtual uintptr_t exportedSymbolAddress(const LinkContext& context, const Symbol* symbol, const ImageLoader* requestor, bool runResolver) const; 84 virtual const ImageLoader [all...] |
H A D | ImageLoaderMachOClassic.h | 35 // ImageLoaderMachOClassic is the concrete subclass of ImageLoader which loads mach-o files 53 virtual ImageLoader* libImage(unsigned int) const; 56 virtual void setLibImage(unsigned int, ImageLoader*, bool, bool); 65 virtual void updateUsesCoalIterator(CoalIterator&, uintptr_t newAddr, ImageLoader* target, const LinkContext& context); 72 virtual bool isSubframeworkOf(const LinkContext& context, const ImageLoader* image) const; 73 virtual bool hasSubLibrary(const LinkContext& context, const ImageLoader* child) const; 76 virtual const ImageLoader::Symbol* findExportedSymbol(const char* name, const ImageLoader** foundIn) const; 78 virtual uintptr_t exportedSymbolAddress(const LinkContext& context, const Symbol* symbol, const ImageLoader* requestor, bool runResolver) const; 82 virtual const ImageLoader [all...] |
H A D | dyld.cpp | 93 #include "ImageLoader.h" 101 void coresymbolication_load_image(void*, const ImageLoader*, uint64_t); 102 void coresymbolication_unload_image(void*, const ImageLoader*); 151 VECTOR_NEVER_DESTRUCTED(ImageLoader*); 155 VECTOR_NEVER_DESTRUCTED(ImageLoader::DynamicReference); 220 static ImageLoader* sMainExecutable = NULL; 224 static std::vector<ImageLoader*> sAllImages; 225 static std::vector<ImageLoader*> sImageRoots; 226 static std::vector<ImageLoader*> sImageFilesNeedingTermination; 233 static ImageLoader* sLastImageByAddressCach [all...] |
H A D | dyldAPIs.cpp | 53 #include "ImageLoader.h" 95 static void _dyld_register_binding_handler(void * (*)(const char *, const char *, void *), ImageLoader::BindingOptions); 212 // dyld's abstract type NSSymbol is implemented as const ImageLoader::Symbol* 213 inline NSSymbol SymbolToNSSymbol(const ImageLoader::Symbol* sym) 217 inline const ImageLoader::Symbol* NSSymbolToSymbol(NSSymbol sym) 219 return (const ImageLoader::Symbol*)sym; 222 // dyld's abstract type NSModule is implemented as ImageLoader* 223 inline NSModule ImageLoaderToNSModule(const ImageLoader* image) 227 inline ImageLoader* NSModuleToImageLoader(NSModule module) 229 ImageLoader* imag [all...] |
H A D | ImageLoaderMachO.cpp | 86 : ImageLoader(path, libCount), fMachOData((uint8_t*)mh), fLinkEditBase(NULL), fSlide(0), 232 ImageLoader* ImageLoaderMachO::instantiateMainExecutable(const macho_header* mh, uintptr_t slide, const char* path, const LinkContext& context) 234 //dyld::log("ImageLoader=%ld, ImageLoaderMachO=%ld, ImageLoaderMachOClassic=%ld, ImageLoaderMachOCompressed=%ld\n", 235 // sizeof(ImageLoader), sizeof(ImageLoaderMachO), sizeof(ImageLoaderMachOClassic), sizeof(ImageLoaderMachOCompressed)); 254 ImageLoader* ImageLoaderMachO::instantiateFromFile(const char* path, int fd, const uint8_t firstPage[4096], uint64_t offsetInFat, 285 ImageLoader* ImageLoaderMachO::instantiateFromCache(const macho_header* mh, const char* path, long slide, const struct stat& info, const LinkContext& context) 305 ImageLoader* ImageLoaderMachO::instantiateFromMemory(const char* moduleName, const macho_header* mh, uint64_t len, const LinkContext& context) 646 --ImageLoader::fgTotalSegmentsMapped; 647 ImageLoader::fgTotalBytesMapped -= segSize(i); 652 --ImageLoader [all...] |
H A D | ImageLoaderMachOCompressed.cpp | 189 // ImageLoader::setMapped() can throw an exception to block loading of image 225 // ImageLoader::setMapped() can throw an exception to block loading of image 258 // ImageLoader::setMapped() can throw an exception to block loading of image 286 size_t size = sizeof(ImageLoaderMachOCompressed) + segCount * sizeof(uint32_t) + libCount * sizeof(ImageLoader*); 309 ImageLoader* ImageLoaderMachOCompressed::libImage(unsigned int libIndex) const 313 return (ImageLoader*)(images[libIndex] & (-4)); 331 void ImageLoaderMachOCompressed::setLibImage(unsigned int libIndex, ImageLoader* image, bool reExported, bool upward) 581 const ImageLoader::Symbol* ImageLoaderMachOCompressed::findExportedSymbol(const char* symbol, const ImageLoader** foundIn) const 604 const ImageLoader* reexportedFro [all...] |
H A D | ImageLoaderMachOClassic.cpp | 174 // ImageLoader::setMapped() can throw an exception to block loading of image 208 // ImageLoader::setMapped() can throw an exception to block loading of image 241 // ImageLoader::setMapped() can throw an exception to block loading of image 261 size_t size = sizeof(ImageLoaderMachOClassic) + segCount * sizeof(uint32_t) + libCount * sizeof(ImageLoader*); 291 ImageLoader* ImageLoaderMachOClassic::libImage(unsigned int libIndex) const 295 return (ImageLoader*)(images[libIndex] & (-4)); 313 void ImageLoaderMachOClassic::setLibImage(unsigned int libIndex, ImageLoader* image, bool reExported, bool upward) 578 bool ImageLoaderMachOClassic::isSubframeworkOf(const LinkContext& context, const ImageLoader* parent) const 613 bool ImageLoaderMachOClassic::hasSubLibrary(const LinkContext& context, const ImageLoader* child) const 929 const ImageLoader [all...] |