]> git.saurik.com Git - apple/ld64.git/blobdiff - src/ld/ExecutableFile.h
ld64-97.17.tar.gz
[apple/ld64.git] / src / ld / ExecutableFile.h
index 675d3dabac1f6b35bb3e41eac8da42a539d3f486..dca22f7caae7b03256f0b644259b10a5e8f9e1bd 100644 (file)
@@ -1,6 +1,6 @@
 /* -*- mode: C++; c-basic-offset: 4; tab-width: 4 -*-
  *
 /* -*- mode: C++; c-basic-offset: 4; tab-width: 4 -*-
  *
- * Copyright (c) 2005-2007 Apple Inc. All rights reserved.
+ * Copyright (c) 2005-2009 Apple Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  *
  *
  * @APPLE_LICENSE_HEADER_START@
  *
@@ -51,15 +51,18 @@ namespace ExecutableFile {
                virtual ObjectFile::Atom&                                               makeObjcInfoAtom(ObjectFile::Reader::ObjcConstraint objcContraint, 
                                                                                                                                                bool objcReplacementClasses) = 0;
                virtual class ObjectFile::Atom*                                 getUndefinedProxyAtom(const char* name) = 0;
                virtual ObjectFile::Atom&                                               makeObjcInfoAtom(ObjectFile::Reader::ObjcConstraint objcContraint, 
                                                                                                                                                bool objcReplacementClasses) = 0;
                virtual class ObjectFile::Atom*                                 getUndefinedProxyAtom(const char* name) = 0;
+               virtual void                                                                    addSynthesizedAtoms(const std::vector<class ObjectFile::Atom*>& existingAtoms,
+                                                                                                                                                         class ObjectFile::Atom* dyldClassicHelperAtom,
+                                                                                                                                                         class ObjectFile::Atom* dyldCompressedHelperAtom,
+                                                                                                                                                         class ObjectFile::Atom* dyldLazyDylibHelperAtom,
+                                                                                                                                                         bool biggerThanTwoGigs,
+                                                                                                                                                         uint32_t dylibSymbolCount,
+                                                                                                                                                         std::vector<class ObjectFile::Atom*>& newAtoms) = 0;
                virtual uint64_t                                                                write(std::vector<class ObjectFile::Atom*>& atoms,
                                                                                                                          std::vector<class ObjectFile::Reader::Stab>& stabs,
                                                                                                                          class ObjectFile::Atom* entryPointAtom,
                virtual uint64_t                                                                write(std::vector<class ObjectFile::Atom*>& atoms,
                                                                                                                          std::vector<class ObjectFile::Reader::Stab>& stabs,
                                                                                                                          class ObjectFile::Atom* entryPointAtom,
-                                                                                                                         class ObjectFile::Atom* dyldClassicHelperAtom,
-                                                                                                                         class ObjectFile::Atom* dyldCompressedHelperAtom,
-                                                                                                                         class ObjectFile::Atom* dyldLazyDylibHelperAtom,
                                                                                                                          bool createUUID, bool canScatter,
                                                                                                                          ObjectFile::Reader::CpuConstraint cpuConstraint,
                                                                                                                          bool createUUID, bool canScatter,
                                                                                                                          ObjectFile::Reader::CpuConstraint cpuConstraint,
-                                                                                                                         bool biggerThanTwoGigs,
                                                                                                                          std::set<const class ObjectFile::Atom*>& atomsThatOverrideWeak,
                                                                                                                          bool hasExternalWeakDefinitions) = 0;
 
                                                                                                                          std::set<const class ObjectFile::Atom*>& atomsThatOverrideWeak,
                                                                                                                          bool hasExternalWeakDefinitions) = 0;