2003/09/07 04:31:44
[org.ibex.core.git] / upstream / darwin-linker / patches / include.patch
diff --git a/upstream/darwin-linker/patches/include.patch b/upstream/darwin-linker/patches/include.patch
new file mode 100644 (file)
index 0000000..75f9ba6
--- /dev/null
@@ -0,0 +1,1119 @@
+Only in include: 2.0Compat
+Only in include/: CVS
+diff -ubr include/Makefile include/Makefile
+--- include/Makefile   Fri Sep  6 18:27:31 2002
++++ include/Makefile   Mon Aug 25 12:12:28 2003
+@@ -11,7 +11,7 @@
+       mach-o/nlist.h mach-o/stab.h mach-o/loader.h mach-o/fat.h \
+       mach-o/dyld_debug.h mach-o/arch.h mach-o/gmon.h mach-o/ranlib.h \
+       mach-o/swap.h mach-o/getsect.h mach-o/i386/swap.h mach-o/dyld_gdb.h \
+-      mach-o/ppc/swap.h mach-o/ppc/reloc.h \
++      mach-o/ppc/swap.h mach-o/ppc/reloc.h
+ LOCFILES = mach-o/rld_state.h mach-o/rld.h mach-o/sarld.h mach-o/kld.h \
+          mach-o/redo_prebinding.h \
+@@ -19,7 +19,8 @@
+          mach-o/hppa/swap.h mach-o/hppa/reloc.h \
+          mach-o/m88k/swap.h mach-o/m88k/reloc.h \
+          mach-o/m68k/swap.h \
+-         mach-o/sparc/swap.h mach-o/sparc/reloc.h
++         mach-o/sparc/swap.h mach-o/sparc/reloc.h \
++         cbt/libsyminfo.h
+ # Note that OTHER_SRCS do NOT get installed
+ OTHER_SRCS = notes gnu/symseg.h \
+@@ -30,7 +31,8 @@
+            stuff/print.h stuff/version_number.h stuff/crc32.h sys/gmon.h \
+            stuff/openstep_mach.h stuff/seg_addr_table.h stuff/dylib_table.h \
+            stuff/SymLoc.h stuff/dylib_roots.h stuff/guess_short_name.h \
+-           stuff/macosx_deployment_target.h
++           stuff/macosx_deployment_target.h stuff/symbol_list.h
++
+ ENCUMBERED_SRCS = gnu/a.out.h gnu/exec.h
+ # Note that MISSING_SRCS are those may not be on all build machines
+@@ -78,6 +80,7 @@
+ ENCUMBERED_SRC_FILES = $(SRC_FILES) $(ENCUMBERED_SRCS)
+ installsrc:
++      echo installsrc
+       $(MKDIRS) $(SRCROOT)
+       chmod 755 $(SRCROOT)
+       gnutar cf - $(ENCUMBERED_SRC_FILES) | (cd $(SRCROOT); gnutar xf -)
+@@ -126,6 +129,9 @@
+       cd stuff; \
+           install -c -m 444 ${IFLAGS} bool.h \
+           ${DSTROOT}${$(RC_OS)_LOCINCDIR}/dyld
++      cd cbt; \
++          install -c -m 444 ${IFLAGS} libsyminfo.h \
++          ${DSTROOT}${$(RC_OS)_LOCINCDIR}/cbt
+ dirs:
+       $(MKDIRS) ${DSTROOT}${$(RC_OS)_INCDIR}/mach-o/i386
+@@ -136,6 +142,7 @@
+       $(MKDIRS) ${DSTROOT}${$(RC_OS)_LOCINCDIR}/mach-o/i860
+       $(MKDIRS) ${DSTROOT}${$(RC_OS)_LOCINCDIR}/mach-o/m88k
+       $(MKDIRS) ${DSTROOT}${$(RC_OS)_LOCINCDIR}/dyld
++      $(MKDIRS) ${DSTROOT}${$(RC_OS)_LOCINCDIR}/cbt
+ depend:
+Only in include/architecture: CVS
+Only in include/architecture/i386: CVS
+diff -ubr include/architecture/i386/fpu.h include/architecture/i386/fpu.h
+--- include/architecture/i386/fpu.h    Tue Apr 30 00:37:18 2002
++++ include/architecture/i386/fpu.h    Mon Aug 25 12:56:22 2003
+@@ -121,7 +121,7 @@
+                                       :3;
+ } fp_control_t;
+-#import <architecture/i386/sel.h>
++#include <architecture/i386/sel.h>
+ /*
+  * Floating point 'environment'
+diff -ubr include/architecture/i386/frame.h include/architecture/i386/frame.h
+--- include/architecture/i386/frame.h  Tue Apr 30 00:37:18 2002
++++ include/architecture/i386/frame.h  Mon Aug 25 12:56:22 2003
+@@ -63,7 +63,7 @@
+     } pgfault;
+ } err_code_t;
+-#import <architecture/i386/sel.h>
++#include <architecture/i386/sel.h>
+ /*
+  * The actual hardware exception frame
+Only in include/architecture/m88k: CVS
+diff -ubr include/architecture/m88k/fp_regs.h include/architecture/m88k/fp_regs.h
+--- include/architecture/m88k/fp_regs.h        Tue Jan 14 23:35:23 2003
++++ include/architecture/m88k/fp_regs.h        Mon Aug 25 12:56:22 2003
+@@ -37,7 +37,7 @@
+ #ifndef       _ARCH_M88K_FP_REGS_H_
+ #define       _ARCH_M88K_FP_REGS_H_
+-#import <architecture/m88k/reg_help.h>
++#include <architecture/m88k/reg_help.h>
+ /*
+  * m88k_xrf_t -- data types that MAY be in extended register file
+diff -ubr include/architecture/m88k/reg_help.h include/architecture/m88k/reg_help.h
+--- include/architecture/m88k/reg_help.h       Tue Jan 14 23:35:23 2003
++++ include/architecture/m88k/reg_help.h       Mon Aug 25 12:56:22 2003
+@@ -37,7 +37,7 @@
+ #ifndef _ARCH_M88K_REG_HELP_H_
+ #define _ARCH_M88K_REG_HELP_H_
+-#import <architecture/nrw/reg_help.h>
++#include <architecture/nrw/reg_help.h>
+ /* Stack pointer must always be a multiple of 16 */
+ #define       STACK_INCR      16
+Only in include/architecture/nrw: CVS
+Only in include/architecture: ppc
+Only in include/architecture/sparc: CVS
+Only in include: cbt
+Only in include/gnu: CVS
+Only in include: gpul_notes
+Only in include/mach: CVS
+Only in include/mach/hppa: CVS
+Only in include/mach: i386
+Only in include/mach/i860: CVS
+Only in include/mach/m68k: CVS
+Only in include/mach/m88k: CVS
+diff -ubr include/mach/m88k/thread_status.h include/mach/m88k/thread_status.h
+--- include/mach/m88k/thread_status.h  Tue Jan 14 23:35:24 2003
++++ include/mach/m88k/thread_status.h  Mon Aug 25 12:56:22 2003
+@@ -45,8 +45,8 @@
+ #ifndef       _MACH_M88K_THREAD_STATE_
+ #define       _MACH_M88K_THREAD_STATE_
+-#import <architecture/m88k/fp_regs.h>
+-#import <architecture/m88k/reg_help.h>
++#include <architecture/m88k/fp_regs.h>
++#include <architecture/m88k/reg_help.h>
+ /**************************************************************************
+  * Data Typedefs used by thread_getstatus() and thread_setstatus()        *
+Only in include/mach: m98k
+diff -ubr include/mach/machine.h include/mach/machine.h
+--- include/mach/machine.h     Tue Jan 14 23:35:24 2003
++++ include/mach/machine.h     Mon Aug 25 12:56:22 2003
+@@ -81,8 +81,8 @@
+ #ifndef       _MACH_MACHINE_H_
+ #define _MACH_MACHINE_H_
+-#import <mach/machine/vm_types.h>
+-#import <mach/boolean.h>
++#include <mach/machine/vm_types.h>
++#include <mach/boolean.h>
+ /*
+  *    For each host, there is a maximum possible number of
+@@ -355,6 +355,7 @@
+ #define CPU_SUBTYPE_POWERPC_750               ((cpu_subtype_t) 9)
+ #define CPU_SUBTYPE_POWERPC_7400      ((cpu_subtype_t) 10)
+ #define CPU_SUBTYPE_POWERPC_7450      ((cpu_subtype_t) 11)
++#define CPU_SUBTYPE_POWERPC_970               ((cpu_subtype_t) 100)
+ /*
+  * VEO subtypes
+Only in include/mach/ppc: CVS
+Only in include/mach/sparc: CVS
+Only in include/mach-o: CVS
+diff -ubr include/mach-o/dyld.h include/mach-o/dyld.h
+--- include/mach-o/dyld.h      Fri Sep  6 18:27:36 2002
++++ include/mach-o/dyld.h      Mon Aug 25 12:56:22 2003
+@@ -48,7 +48,7 @@
+  * The high level NS... API.
+  */
+-/* Object file image api */
++/* Object file image API */
+ typedef enum {
+     NSObjectFileImageFailure, /* for this a message is printed on stderr */
+     NSObjectFileImageSuccess,
+@@ -75,41 +75,39 @@
+ extern enum DYLD_BOOL NSDestroyObjectFileImage(
+     NSObjectFileImage objectFileImage);
+ /*
+- * Need api on NSObjectFileImage's for:
++ * API on NSObjectFileImage's for:
+  *   "for Each Symbol Definition In Object File Image" (for Dynamic Bundles)
+- *   Could have the same thing for references
++ *   and the same thing for references
+  */
+-/* not yet implemented */
+ extern unsigned long NSSymbolDefinitionCountInObjectFileImage(
+     NSObjectFileImage objectFileImage);
+-/* not yet implemented */
+ extern const char * NSSymbolDefinitionNameInObjectFileImage(
+     NSObjectFileImage objectFileImage,
+     unsigned long ordinal);
+-/* not yet implemented */
+ extern unsigned long NSSymbolReferenceCountInObjectFileImage(
+     NSObjectFileImage objectFileImage);
+-/* not yet implemented */
+ extern const char * NSSymbolReferenceNameInObjectFileImage(
+     NSObjectFileImage objectFileImage,
+     unsigned long ordinal,
+     enum DYLD_BOOL *tentative_definition); /* can be NULL */
+ /*
+- * Other needed api on NSObjectFileImage:
++ * API on NSObjectFileImage:
+  *   "does Object File Image define symbol name X" (using sorted symbol table)
+- *   a way to get the named objective-C section
++ *   and a way to get the named objective-C section
+  */
+-/* not yet implemented */
+ extern enum DYLD_BOOL NSIsSymbolDefinedInObjectFileImage(
+     NSObjectFileImage objectFileImage,
+     const char *symbolName);
+-/* not yet implemented */
+ extern void * NSGetSectionDataInObjectFileImage(
+     NSObjectFileImage objectFileImage,
+     const char *segmentName,
+-    const char *sectionName);
++    const char *sectionName,
++    unsigned long *size); /* can be NULL */
++/* SPI first appeared in Mac OS X 10.3 */
++extern enum DYLD_BOOL NSHasModInitObjectFileImage(
++    NSObjectFileImage objectFileImage);
+-/* module api */
++/* module API */
+ typedef void * NSModule;
+ extern const char * NSNameOfModule(
+     NSModule m); 
+@@ -125,6 +123,8 @@
+ #define NSLINKMODULE_OPTION_BINDNOW           0x1
+ #define NSLINKMODULE_OPTION_PRIVATE           0x2
+ #define NSLINKMODULE_OPTION_RETURN_ON_ERROR   0x4
++#define NSLINKMODULE_OPTION_DONT_CALL_MOD_INIT_ROUTINES 0x8
++#define NSLINKMODULE_OPTION_TRAILING_PHYS_NAME        0x10
+ /* limited implementation, only modules loaded with NSLinkModule() can be
+    unlinked */
+@@ -141,7 +141,7 @@
+     NSObjectFileImage newObjectFileImage, 
+     unsigned long options);
+-/* symbol api */
++/* symbol API */
+ typedef void * NSSymbol;
+ extern enum DYLD_BOOL NSIsSymbolNameDefined(
+     const char *symbolName);
+@@ -174,7 +174,7 @@
+ extern NSModule NSModuleForSymbol(
+     NSSymbol symbol);
+-/* error handling api */
++/* error handling API */
+ typedef enum {
+     NSLinkEditFileAccessError,
+     NSLinkEditFileFormatError,
+@@ -216,7 +216,7 @@
+ extern void NSInstallLinkEditErrorHandlers(
+     NSLinkEditErrorHandlers *handlers);
+-/* other api */
++/* other API */
+ extern enum DYLD_BOOL NSAddLibrary(
+     const char *pathName);
+ extern enum DYLD_BOOL NSAddLibraryWithSearching(
+@@ -273,10 +273,18 @@
+     void *objc_module);
+ extern enum DYLD_BOOL _dyld_bind_fully_image_containing_address(
+     unsigned long *address);
++extern enum DYLD_BOOL _dyld_image_containing_address(
++    unsigned long address);
++/* SPI first appeared in Mac OS X 10.3 */
++extern struct mach_header * _dyld_get_image_header_containing_address(
++    unsigned long address);
+ extern void _dyld_moninit(
+     void (*monaddition)(char *lowpc, char *highpc));
+ extern enum DYLD_BOOL _dyld_launched_prebound(
++    void);
++/* SPI first appeared in Mac OS X 10.3 */
++extern enum DYLD_BOOL _dyld_all_twolevel_modules_prebound(
+     void);
+ extern void _dyld_lookup_and_bind(
+diff -ubr include/mach-o/dyld_gdb.h include/mach-o/dyld_gdb.h
+--- include/mach-o/dyld_gdb.h  Tue Apr 30 00:37:19 2002
++++ include/mach-o/dyld_gdb.h  Mon Aug 25 12:56:22 2003
+@@ -9,7 +9,7 @@
+ /*
+  * gdb_dyld_version is the version of gdb interface that dyld is currently
+  * exporting.  For the interface described in this header file gdb_dyld_version
+- * is 1.  As the gdb/dyld interface changes this number will be incremented and
++ * is 2.  As the gdb/dyld interface changes this number will be incremented and
+  * comments will be added as to what are the are changes for the various
+  * versions.
+  */
+@@ -48,12 +48,21 @@
+  * start with a structure containing the following fields:
+  *
+  *  struct image {   
+- *      char *name;                 image name for reporting errors
++ *      char *physical_name;        physical image name (file name)
+  *      unsigned long vmaddr_slide; the slide from the staticly linked address
+  *      struct mach_header *mh;     address of the mach header of the image
+  *    unsigned long valid;        TRUE if this is struct is valid
++ *      char *name;                 image name for reporting errors
+  *      ...
+  *  };
++ *
++ * In gdb_dyld_version 1 the first field was "name".  In gdb_dyld_version 2 the
++ * first field was changed to "physical_name" and a new fifth field "name" was
++ * added.  These two fields are set to the same values except in the case of
++ * zero-link.  In zero-link the NSLinkModule() option
++ * NSLINKMODULE_OPTION_TRAILING_PHYS_NAME is used and then the physical_name is
++ * the file name of the module zero-link loaded that is part of the logical
++ * image "name".
+  */
+ /* object_images is the global object_images structure */
+Only in include/mach-o/hppa: CVS
+diff -ubr include/mach-o/hppa/swap.h include/mach-o/hppa/swap.h
+--- include/mach-o/hppa/swap.h Tue Apr 30 00:37:19 2002
++++ include/mach-o/hppa/swap.h Mon Aug 25 12:56:22 2003
+@@ -21,8 +21,8 @@
+  * 
+  * @APPLE_LICENSE_HEADER_END@
+  */
+-#import <architecture/byte_order.h>
+-#import <mach/hppa/thread_status.h>
++#include <architecture/byte_order.h>
++#include <mach/hppa/thread_status.h>
+ extern void swap_hppa_integer_thread_state(
+     struct hp_pa_integer_thread_state *regs,
+Only in include/mach-o/i386: CVS
+Only in include/mach-o/i860: CVS
+diff -ubr include/mach-o/i860/swap.h include/mach-o/i860/swap.h
+--- include/mach-o/i860/swap.h Tue Apr 30 00:37:19 2002
++++ include/mach-o/i860/swap.h Mon Aug 25 12:56:22 2003
+@@ -21,8 +21,8 @@
+  * 
+  * @APPLE_LICENSE_HEADER_END@
+  */
+-#import <architecture/byte_order.h>
+-#import <mach/i860/thread_status.h>
++#include <architecture/byte_order.h>
++#include <mach/i860/thread_status.h>
+ extern void swap_i860_thread_state_regs(
+     struct i860_thread_state_regs *cpu,
+diff -ubr include/mach-o/kld.h include/mach-o/kld.h
+--- include/mach-o/kld.h       Tue Apr 30 00:37:19 2002
++++ include/mach-o/kld.h       Mon Aug 25 12:56:22 2003
+@@ -51,11 +51,6 @@
+ __private_extern__ long kld_load_basefile(
+     const char *base_filename);
+-__private_extern__ long kld_load_basefile_from_memory(
+-    const char *base_filename,
+-    char *base_addr,
+-    long base_size);
+-
+ /* Note: this takes only one object file name */
+ __private_extern__ long kld_load(
+     struct mach_header **header_addr,
+@@ -71,7 +66,7 @@
+ #endif /* __DYNAMIC__ */
+ /*
+- * This two are only in libkld.a use by /mach_kernel (kernel code compiled with
++ * This one is only in libkld.a use by /mach_kernel (kernel code compiled with
+  * -static).
+  */
+ #ifdef __STATIC__
+@@ -83,6 +78,11 @@
+     long object_size);
+ #endif /* __STATIC__ */
++__private_extern__ long kld_load_basefile_from_memory(
++    const char *base_filename,
++    char *base_addr,
++    long base_size);
++
+ __private_extern__ long kld_unload_all(
+     long deallocate_sets);
+@@ -95,5 +95,11 @@
+ __private_extern__ void kld_address_func(
+     unsigned long (*func)(unsigned long size, unsigned long headers_size));
++
++#define KLD_STRIP_ALL 0x00000000
++#define KLD_STRIP_NONE        0x00000001
++
++__private_extern__ void kld_set_link_options(
++    unsigned long link_options);
+ #endif /* _MACHO_KLD_H_ */
+diff -ubr include/mach-o/loader.h include/mach-o/loader.h
+--- include/mach-o/loader.h    Tue Jan 14 23:35:24 2003
++++ include/mach-o/loader.h    Mon Aug 25 12:56:22 2003
+@@ -92,9 +92,11 @@
+ #define       MH_FVMLIB       0x3             /* fixed VM shared library file */
+ #define       MH_CORE         0x4             /* core file */
+ #define       MH_PRELOAD      0x5             /* preloaded executable file */
+-#define       MH_DYLIB        0x6             /* dynamicly bound shared library file*/
++#define       MH_DYLIB        0x6             /* dynamically bound shared library */
+ #define       MH_DYLINKER     0x7             /* dynamic link editor */
+-#define       MH_BUNDLE       0x8             /* dynamicly bound bundle file */
++#define       MH_BUNDLE       0x8             /* dynamically bound bundle file */
++#define       MH_DYLIB_STUB   0x9             /* shared library stub for static */
++                                      /*  linking only, no section contents */
+ /* Constants for the flags field of the mach_header */
+ #define       MH_NOUNDEFS     0x1             /* the object file has no undefined
+@@ -123,7 +125,7 @@
+ #define MH_NOMULTIDEFS        0x200           /* this umbrella guarantees no multiple
+                                          defintions of symbols in its
+                                          sub-images so the two-level namespace
+-                                         hints can alwasys be used. */
++                                         hints can always be used. */
+ #define MH_NOFIXPREBINDING 0x400      /* do not have dyld notify the
+                                          prebinding agent about this
+                                          executable */
+@@ -171,11 +173,11 @@
+ #define LC_FVMFILE    0x9     /* fixed VM file inclusion (internal use) */
+ #define LC_PREPAGE      0xa     /* prepage command (internal use) */
+ #define       LC_DYSYMTAB     0xb     /* dynamic link-edit symbol table info */
+-#define       LC_LOAD_DYLIB   0xc     /* load a dynamicly linked shared library */
+-#define       LC_ID_DYLIB     0xd     /* dynamicly linked shared lib identification */
++#define       LC_LOAD_DYLIB   0xc     /* load a dynamically linked shared library */
++#define       LC_ID_DYLIB     0xd     /* dynamically linked shared lib ident */
+ #define LC_LOAD_DYLINKER 0xe  /* load a dynamic linker */
+ #define LC_ID_DYLINKER        0xf     /* dynamic linker identification */
+-#define       LC_PREBOUND_DYLIB 0x10  /* modules prebound for a dynamicly */
++#define       LC_PREBOUND_DYLIB 0x10  /* modules prebound for a dynamically */
+                               /*  linked shared library */
+ #define       LC_ROUTINES     0x11    /* image routines */
+ #define       LC_SUB_FRAMEWORK 0x12   /* sub framework */
+@@ -184,7 +186,10 @@
+ #define       LC_SUB_LIBRARY  0x15    /* sub library */
+ #define       LC_TWOLEVEL_HINTS 0x16  /* two-level namespace lookup hints */
+ #define       LC_PREBIND_CKSUM  0x17  /* prebind checksum */
+-/* load a dynamicly linked shared library that is allowed to be missing (weak)*/
++/*
++ * load a dynamically linked shared library that is allowed to be missing
++ * (all symbols are weak imported).
++ */
+ #define       LC_LOAD_WEAK_DYLIB (0x18 | LC_REQ_DYLD)
+ /*
+@@ -438,9 +443,9 @@
+ };
+ /*
+- * A dynamicly linked shared library (filetype == MH_DYLIB in the mach header)
++ * A dynamically linked shared library (filetype == MH_DYLIB in the mach header)
+  * contains a dylib_command (cmd == LC_ID_DYLIB) to identify the library.
+- * An object that uses a dynamicly linked shared library also contains a
++ * An object that uses a dynamically linked shared library also contains a
+  * dylib_command (cmd == LC_LOAD_DYLIB or cmd == LC_LOAD_WEAK_DYLIB) for each
+  * library it uses.
+  */
+@@ -522,7 +527,7 @@
+ };
+ /*
+- * A program (filetype == MH_EXECUTE) or bundle (filetype == MH_BUNDLE) that is
++ * A program (filetype == MH_EXECUTE) that is
+  * prebound to its dynamic libraries has one of these for each library that
+  * the static linker used in prebinding.  It contains a bit vector for the
+  * modules in the library.  The bits indicate which modules are bound (1) and
+@@ -618,7 +623,7 @@
+ /*
+  * This is the second set of the symbolic information which is used to support
+- * the data structures for the dynamicly link editor.
++ * the data structures for the dynamically link editor.
+  *
+  * The original set of symbolic information in the symtab_command which contains
+  * the symbol and string tables must also be present when this load command is
+@@ -639,7 +644,7 @@
+  *    reference symbol table
+  *    indirect symbol table
+  * The first three tables above (the table of contents, module table and
+- * reference symbol table) are only present if the file is a dynamicly linked
++ * reference symbol table) are only present if the file is a dynamically linked
+  * shared library.  For executable and object modules, which are files
+  * containing only one module, the information that would be in these three
+  * tables is determined as follows:
+@@ -648,7 +653,7 @@
+  *                   file is part of the module.
+  *    reference symbol table - is the defined and undefined external symbols
+  *
+- * For dynamicly linked shared library files this load command also contains
++ * For dynamically linked shared library files this load command also contains
+  * offsets and sizes to the pool of relocation entries for all sections
+  * separated into two groups:
+  *    external relocation entries
+@@ -673,7 +678,7 @@
+      *
+      * The last two groups are used by the dynamic binding process to do the
+      * binding (indirectly through the module table and the reference symbol
+-     * table when this is a dynamicly linked shared library file).
++     * table when this is a dynamically linked shared library file).
+      */
+     unsigned long ilocalsym;  /* index to local symbols */
+     unsigned long nlocalsym;  /* number of local symbols */
+@@ -688,7 +693,7 @@
+      * For the for the dynamic binding process to find which module a symbol
+      * is defined in the table of contents is used (analogous to the ranlib
+      * structure in an archive) which maps defined external symbols to modules
+-     * they are defined in.  This exists only in a dynamicly linked shared
++     * they are defined in.  This exists only in a dynamically linked shared
+      * library file.  For executable and object modules the defined external
+      * symbols are sorted by name and is use as the table of contents.
+      */
+@@ -700,7 +705,7 @@
+      * table must reflect the modules that the file was created from.  This is
+      * done by having a module table that has indexes and counts into the merged
+      * tables for each module.  The module structure that these two entries
+-     * refer to is described below.  This exists only in a dynamicly linked
++     * refer to is described below.  This exists only in a dynamically linked
+      * shared library file.  For executable and object modules the file only
+      * contains one module so everything in the file belongs to the module.
+      */
+@@ -712,7 +717,7 @@
+      * indicates the external references (defined and undefined) each module
+      * makes.  For each module there is an offset and a count into the
+      * reference symbol table for the symbols that the module references.
+-     * This exists only in a dynamicly linked shared library file.  For
++     * This exists only in a dynamically linked shared library file.  For
+      * executable and object modules the defined external symbols and the
+      * undefined external symbols indicates the external references.
+      */
+Only in include/mach-o/m68k: CVS
+diff -ubr include/mach-o/m68k/swap.h include/mach-o/m68k/swap.h
+--- include/mach-o/m68k/swap.h Tue Apr 30 00:37:19 2002
++++ include/mach-o/m68k/swap.h Mon Aug 25 12:56:22 2003
+@@ -21,8 +21,8 @@
+  * 
+  * @APPLE_LICENSE_HEADER_END@
+  */
+-#import <architecture/byte_order.h>
+-#import <mach/m68k/thread_status.h>
++#include <architecture/byte_order.h>
++#include <mach/m68k/thread_status.h>
+ extern void swap_m68k_thread_state_regs(
+     struct m68k_thread_state_regs *cpu,
+Only in include/mach-o/m88k: CVS
+diff -ubr include/mach-o/m88k/swap.h include/mach-o/m88k/swap.h
+--- include/mach-o/m88k/swap.h Tue Apr 30 00:37:19 2002
++++ include/mach-o/m88k/swap.h Mon Aug 25 12:56:22 2003
+@@ -21,8 +21,8 @@
+  * 
+  * @APPLE_LICENSE_HEADER_END@
+  */
+-#import <architecture/byte_order.h>
+-#import <mach/m88k/thread_status.h>
++#include <architecture/byte_order.h>
++#include <mach/m88k/thread_status.h>
+ extern void swap_m88k_thread_state_grf_t(
+     m88k_thread_state_grf_t *cpu,
+diff -ubr include/mach-o/nlist.h include/mach-o/nlist.h
+--- include/mach-o/nlist.h     Tue Jan 14 23:35:24 2003
++++ include/mach-o/nlist.h     Mon Aug 25 12:56:22 2003
+@@ -198,15 +198,24 @@
+  * undefined references from module defined in another use the same nlist struct
+  * an in that case SELF_LIBRARY_ORDINAL is used as the library ordinal.  For
+  * defined symbols in all images they also must have the library ordinal set to
+- * SELF_LIBRARY_ORDINAL.  The EXECUTABLE_ORDINAL is refers to the executable
++ * SELF_LIBRARY_ORDINAL.  The EXECUTABLE_ORDINAL refers to the executable
+  * image for references from plugins that refer to the executable that loads
+  * them.
++ * 
++ * The DYNAMIC_LOOKUP_ORDINAL is for undefined symbols in a two-level namespace
++ * image that are looked up by the dynamic linker with flat namespace semantics.
++ * This ordinal was added as a feature in Mac OS X 10.3 by reducing the
++ * value of MAX_LIBRARY_ORDINAL by one.  So it is legal for existing binaries
++ * or binaries built with older tools to have 0xfe (254) dynamic libraries.  In
++ * this case the ordinal value 0xfe (254) must be treated as a library ordinal
++ * for compatibility. 
+  */
+ #define GET_LIBRARY_ORDINAL(n_desc) (((n_desc) >> 8) & 0xff)
+ #define SET_LIBRARY_ORDINAL(n_desc,ordinal) \
+       (n_desc) = (((n_desc) & 0x00ff) | (((ordinal) & 0xff) << 8))
+ #define SELF_LIBRARY_ORDINAL 0x0
+-#define MAX_LIBRARY_ORDINAL 0xfe
++#define MAX_LIBRARY_ORDINAL 0xfd
++#define DYNAMIC_LOOKUP_ORDINAL 0xfe
+ #define EXECUTABLE_ORDINAL 0xff
+ /*
+Only in include/mach-o/ppc: CVS
+diff -ubr include/mach-o/ppc/reloc.h include/mach-o/ppc/reloc.h
+--- include/mach-o/ppc/reloc.h Tue Apr 30 00:37:19 2002
++++ include/mach-o/ppc/reloc.h Mon Aug 25 12:56:22 2003
+@@ -27,7 +27,14 @@
+  * above and their r_type is RELOC_VANILLA.  The rest of the relocation types
+  * are for instructions.  Since they are for instructions the r_address field
+  * indicates the 32 bit instruction that the relocation is to be preformed on.
+- * The fields r_pcrel and r_length are ignored for non-RELOC_VANILLA r_types.
++ * The fields r_pcrel and r_length are ignored for non-RELOC_VANILLA r_types
++ * except for PPC_RELOC_BR14.
++ *
++ * For PPC_RELOC_BR14 if the r_length is the unused value 3, then the branch was
++ * statically predicted setting or clearing the Y-bit based on the sign of the
++ * displacement or the opcode.  If this is the case the static linker must flip
++ * the value of the Y-bit if the sign of the displacement changes for non-branch
++ * always conditions.
+  */
+ enum reloc_type_ppc
+ {
+@@ -45,12 +52,13 @@
+                        */
+     PPC_RELOC_LO14,   /* Same as the LO16 except that the low 2 bits are not
+                        * stored in the instruction and are always zero.  This
+-                       * is used for in double word load/store instructons.
++                       * is used in double word load/store instructions.
+                        */
+     PPC_RELOC_SECTDIFF,       /* a PAIR follows with subtract symbol value */
+     PPC_RELOC_PB_LA_PTR,/* prebound lazy pointer */
+     PPC_RELOC_HI16_SECTDIFF, /* section difference forms of above.  a PAIR */
+     PPC_RELOC_LO16_SECTDIFF, /* follows these with subtract symbol value */
+     PPC_RELOC_HA16_SECTDIFF,
+-    PPC_RELOC_JBSR
++    PPC_RELOC_JBSR,
++    PPC_RELOC_LO14_SECTDIFF
+ };
+diff -ubr include/mach-o/rld.h include/mach-o/rld.h
+--- include/mach-o/rld.h       Fri Sep  6 18:27:39 2002
++++ include/mach-o/rld.h       Mon Aug 25 12:56:22 2003
+@@ -28,7 +28,7 @@
+ #ifndef _MACHO_RLD_H_
+ #define _MACHO_RLD_H_
+-#include <streams/streams.h>
++//~ #include <streams/streams.h>
+ #include <mach-o/loader.h>
+ extern long rld_load(
+Only in include/mach-o/sparc: CVS
+diff -ubr include/mach-o/sparc/swap.h include/mach-o/sparc/swap.h
+--- include/mach-o/sparc/swap.h        Tue Apr 30 00:37:19 2002
++++ include/mach-o/sparc/swap.h        Mon Aug 25 12:56:22 2003
+@@ -21,8 +21,8 @@
+  * 
+  * @APPLE_LICENSE_HEADER_END@
+  */
+-#import <architecture/byte_order.h>
+-#import <mach/sparc/thread_status.h>
++#include <architecture/byte_order.h>
++#include <mach/sparc/thread_status.h>
+ void swap_sparc_thread_state_regs(
+     struct sparc_thread_state_regs *cpu,
+diff -ubr include/mach-o/stab.h include/mach-o/stab.h
+--- include/mach-o/stab.h      Tue Jan 14 23:35:24 2003
++++ include/mach-o/stab.h      Mon Aug 25 12:56:22 2003
+@@ -91,6 +91,7 @@
+ #define       N_STSYM 0x26    /* static symbol: name,,n_sect,type,address */
+ #define       N_LCSYM 0x28    /* .lcomm symbol: name,,n_sect,type,address */
+ #define N_BNSYM 0x2e  /* begin nsect sym: 0,,n_sect,0,address */
++#define N_OPT 0x3c    /* emitted with gcc2_compiled and in gcc source */
+ #define       N_RSYM  0x40    /* register sym: name,,NO_SECT,type,register */
+ #define       N_SLINE 0x44    /* src line: 0,,n_sect,linenumber,address */
+ #define N_ENSYM 0x4e  /* end nsect sym: 0,,n_sect,0,address */
+diff -ubr include/notes include/notes
+--- include/notes      Tue Jan 14 23:35:23 2003
++++ include/notes      Mon Aug 25 12:12:28 2003
+@@ -1,3 +1,96 @@
++Changes for the 5.12 release (the cctools-477 release):
++- Changed <mach-o/kld.h> to make kld_load_basefile_from_memory() available for
++  both __DYNAMIC__ and __STATIC__  and added kld_set_link_options() as well as
++  the constants to use with it.  Radar bug #3270588.
++
++Changes for the 5.12 release (the cctools-468 release):
++- Added some comments to <mach-o/ppc/reloc.h> to describe the new use of the
++  previously unused value 3 for r_length to mean that the conditional branch was
++  predicted using the Y-bit and the sign of the displacement and opcode.
++  Radar bug #3223045.
++
++Changes for the 5.12 release (the cctools-467 release):
++- Added the PPC_RELOC_LO14_SECTDIFF relocation type to <mach-o/ppc/reloc.h>
++  to match the PPC_RELOC_LO14 relocation type for load and store double
++  instructions using a section difference expression.  Radar bug #3218027.
++
++Changes for the 5.12 release (the cctools-466 release):
++- Added the DYNAMIC_LOOKUP_ORDINAL to <mach-o/nlist.h> and reduced the value of
++  MAX_LIBRARY_ORDINAL by one.  This is to allow dynamic flat namespace lookups
++  in twolevel namespace images.  Radar bug #3210803.
++
++Changes for the 5.12 release (the cctools-464 release):
++- Fixed a spelling error in <mach-o/loader.h> where "alwasys" should be "always"
++  Radar bug #3198288.
++- Added the prototype for the SPI NSHasModInitObjectFileImage() to
++  <mach-o/dyld.h> .  Radar bug #3196951.
++- Made changes to build cleanly with gcc3.3
++  - Change the prototype for round() in "stuff/round.h" to used unsigned long
++    in the two places it use long.
++
++Changes for the 5.12 release (the cctools-463 release):
++- Changed the prototype of NSGetSectionDataInObjectFileImage() from
++    /* not yet implemented */
++    extern void * NSGetSectionDataInObjectFileImage(
++      NSObjectFileImage objectFileImage,
++      const char *segmentName,
++      const char *sectionName);
++  to the now implemented prototype:
++    extern void * NSGetSectionDataInObjectFileImage(
++      NSObjectFileImage objectFileImage,
++      const char *segmentName,
++      unsigned long *size); /* can be NULL */
++  Radar bug #3194204.
++- Added the constant:
++    #define   MH_DYLIB_STUB   0x9     /* shared library stub for static */
++                                      /*  linking only, no section contents */
++  to <mach-o/loader.h> .  Radar bug #3193744.
++
++Changes for the 5.12 release (the cctools-462 release):
++- Added the constant:
++    #define NSLINKMODULE_OPTION_TRAILING_PHYS_NAME 0x10
++  to <mach-o/dyld.h> and comments to <mach-o/dyld_gdb.h> .  Radar bug #3190599.
++
++Changes for the 5.12 release (the cctools-461 release):
++- Added the constant:
++    #define NSLINKMODULE_OPTION_DONT_CALL_MOD_INIT_ROUTINES 0x8
++  to <mach-o/dyld.h> .  Radar bug #3183011.
++
++Changes for the 5.12 release (the cctools-460 release):
++- Removed the /* not yet implemented */ comment off of the following prototypes
++  in <mach-o/dyld.h> :
++    NSSymbolDefinitionCountInObjectFileImage
++    NSSymbolDefinitionNameInObjectFileImage
++    NSSymbolReferenceCountInObjectFileImage
++    NSSymbolReferenceNameInObjectFileImage
++    NSIsSymbolDefinedInObjectFileImage
++  As there are now implemented.  Radar bug #3179011.
++
++Changes for the 5.12 release (the cctools-457 release):
++- Added ofile_map_from_memory() to "stuff/ofile.h".  This is needed so the
++  NSCreateObjectFileImageFromMemory() api can be implemented.  Radar bug
++  #3131622.
++
++Changes for the 5.12 release (the cctools-456 release):
++- Picked up the header file <cbt/libsyminfo.h>.  Radar bug 3145742.
++
++Changes for the 5.12 release (the cctools-448 release):
++- Added the N_OPT constant to <mach-o/stabs.h> which is emitted with
++  gcc2_compiled and in gcc source.  Radar bug #3104328.
++- Added the _dyld_get_image_header_containing_address() SPI prototype to
++  <mach-o/dyld.h> (also added the missing _dyld_image_containing_address()
++  prototype).  Radar bug #2967928.
++
++Changes for the 5.12 release (the cctools-447 release):
++- Added the _dyld_all_twolevel_modules_prebound() SPI prototype to
++  <mach-o/dyld.h>.  Radar bug #3055372.
++
++Changes for the 5.11 release (the cctools-444 release):
++- Added the file <stuff/symbol_list.h> which contains the interface for the
++  symbol lists code taken from strip.c.  Now also used by ld(1)'s
++  -exported_symbols_list and -unexported_symbols_list options.  Radar bug
++  #3083844.
++
+ Changes for the 5.11 release (the cctools-439 release):
+ - Added the VEO cputype and its subtypes to <mach/machine.h>.  Radar bug
+   #3068161.
+Only in include/standalone: CVS
+diff -ubr include/standalone/libsa.h include/standalone/libsa.h
+--- include/standalone/libsa.h Tue Apr 30 00:37:19 2002
++++ include/standalone/libsa.h Mon Aug 25 12:56:22 2003
+@@ -23,13 +23,13 @@
+  */
+ /* Exported API for standalone library */
+ #if !(defined(KLD) && defined(__STATIC__))
+-#import <mach/mach.h>
++#include <mach/mach.h>
+ #else /* defined(KLD) && defined(__STATIC__) */
+ #include <mach/kern_return.h>
+ #endif /* !(defined(KLD) && defined(__STATIC__)) */
+-#import <mach-o/loader.h>
+-#import <stdarg.h>
+-#import <stddef.h>
++#include <mach-o/loader.h>
++#include <stdarg.h>
++#include <stddef.h>
+ #ifndef bcopy
+ #ifdef __OPENSTEP__
+Only in include/stuff: CVS
+diff -ubr include/stuff/allocate.h include/stuff/allocate.h
+--- include/stuff/allocate.h   Tue Apr 30 00:37:19 2002
++++ include/stuff/allocate.h   Mon Aug 25 13:08:44 2003
+@@ -21,8 +21,10 @@
+  * 
+  * @APPLE_LICENSE_HEADER_END@
+  */
+-#if defined(__MWERKS__) && !defined(__private_extern__)
++#if ( defined(__MWERKS__) && !defined(__private_extern__) )
+ #define __private_extern__ __declspec(private_extern)
++#elif ( defined(__linux__) && !defined(__private_extern__) )
++#define __private_extern__ extern
+ #endif
+ /* defined in allocate.c */
+diff -ubr include/stuff/arch.h include/stuff/arch.h
+--- include/stuff/arch.h       Fri Sep  6 18:27:41 2002
++++ include/stuff/arch.h       Mon Aug 25 13:10:15 2003
+@@ -24,15 +24,17 @@
+ #ifndef _STUFF_ARCH_H_
+ #define _STUFF_ARCH_H_
+-#if defined(__MWERKS__) && !defined(__private_extern__)
++#if ( defined(__MWERKS__) && !defined(__private_extern__) )
+ #define __private_extern__ __declspec(private_extern)
++#elif ( defined(__linux__) && !defined(__private_extern__) )
++#define __private_extern__ extern
+ #endif
+ /*
+  * This file contains the current known set of flags and constants for the
+  * known architectures.
+  */
+-#import <mach/machine.h>
+-#import <stuff/bytesex.h>
++#include <mach/machine.h>
++#include <stuff/bytesex.h>
+ /*
+  * The structure describing an architecture flag with the string of the flag
+diff -ubr include/stuff/best_arch.h include/stuff/best_arch.h
+--- include/stuff/best_arch.h  Tue Apr 30 00:37:19 2002
++++ include/stuff/best_arch.h  Mon Aug 25 13:10:13 2003
+@@ -21,8 +21,10 @@
+  * 
+  * @APPLE_LICENSE_HEADER_END@
+  */
+-#if defined(__MWERKS__) && !defined(__private_extern__)
++#if ( defined(__MWERKS__) && !defined(__private_extern__) )
+ #define __private_extern__ __declspec(private_extern)
++#elif ( defined(__linux__) && !defined(__private_extern__) )
++#define __private_extern__ extern
+ #endif
+ #include <mach/machine.h>
+diff -ubr include/stuff/bool.h include/stuff/bool.h
+--- include/stuff/bool.h       Tue Apr 30 00:37:19 2002
++++ include/stuff/bool.h       Mon Aug 25 12:56:22 2003
+@@ -25,6 +25,9 @@
+ #ifndef ENUM_DYLD_BOOL
+ #define ENUM_DYLD_BOOL
++#define _STDBOOL_H
++#undef bool
++
+ #define DYLD_BOOL bool
+ #undef FALSE
+diff -ubr include/stuff/breakout.h include/stuff/breakout.h
+--- include/stuff/breakout.h   Fri Sep  6 18:27:42 2002
++++ include/stuff/breakout.h   Mon Aug 25 13:10:12 2003
+@@ -21,11 +21,13 @@
+  * 
+  * @APPLE_LICENSE_HEADER_END@
+  */
+-#if defined(__MWERKS__) && !defined(__private_extern__)
++#if ( defined(__MWERKS__) && !defined(__private_extern__) )
+ #define __private_extern__ __declspec(private_extern)
++#elif ( defined(__linux__) && !defined(__private_extern__) )
++#define __private_extern__ extern
+ #endif
+-#import "stuff/ofile.h"
++#include "stuff/ofile.h"
+ /*
+  * The input files are broken out in to their object files and then placed in
+diff -ubr include/stuff/bytesex.h include/stuff/bytesex.h
+--- include/stuff/bytesex.h    Fri Sep  6 18:27:42 2002
++++ include/stuff/bytesex.h    Mon Aug 25 13:10:10 2003
+@@ -25,23 +25,25 @@
+ #ifndef _STUFF_BYTESEX_H_
+ #define _STUFF_BYTESEX_H_
+-#if defined(__MWERKS__) && !defined(__private_extern__)
++#if ( defined(__MWERKS__) && !defined(__private_extern__) )
+ #define __private_extern__ __declspec(private_extern)
++#elif ( defined(__linux__) && !defined(__private_extern__) )
++#define __private_extern__ extern
+ #endif
+-#import <mach-o/fat.h>
+-#import <mach-o/loader.h>
+-#import <mach/m68k/thread_status.h>
+-#import <mach/ppc/thread_status.h>
+-#import <mach/m88k/thread_status.h>
+-#import <mach/i860/thread_status.h>
+-#import <mach/i386/thread_status.h>
+-#import <mach/hppa/thread_status.h>
+-#import <mach/sparc/thread_status.h>
+-#import <mach-o/nlist.h>
+-#import <mach-o/reloc.h>
+-#import <mach-o/ranlib.h>
+-#import "stuff/bool.h"
++#include <mach-o/fat.h>
++#include <mach-o/loader.h>
++#include <mach/m68k/thread_status.h>
++#include <mach/ppc/thread_status.h>
++#include <mach/m88k/thread_status.h>
++#include <mach/i860/thread_status.h>
++#include <mach/i386/thread_status.h>
++#include <mach/hppa/thread_status.h>
++#include <mach/sparc/thread_status.h>
++#include <mach-o/nlist.h>
++#include <mach-o/reloc.h>
++#include <mach-o/ranlib.h>
++#include "stuff/bool.h"
+ enum byte_sex {
+     UNKNOWN_BYTE_SEX,
+diff -ubr include/stuff/errors.h include/stuff/errors.h
+--- include/stuff/errors.h     Tue Apr 30 00:37:19 2002
++++ include/stuff/errors.h     Mon Aug 25 13:09:00 2003
+@@ -21,11 +21,13 @@
+  * 
+  * @APPLE_LICENSE_HEADER_END@
+  */
+-#if defined(__MWERKS__) && !defined(__private_extern__)
++#if ( defined(__MWERKS__) && !defined(__private_extern__) )
+ #define __private_extern__ __declspec(private_extern)
++#elif ( defined(__linux__) && !defined(__private_extern__) )
++#define __private_extern__ extern
+ #endif
+-#import "mach/mach.h"
++#include "mach/mach.h"
+ /* user defined (imported) */
+ __private_extern__ char *progname;
+diff -ubr include/stuff/execute.h include/stuff/execute.h
+--- include/stuff/execute.h    Tue Apr 30 00:37:19 2002
++++ include/stuff/execute.h    Mon Aug 25 13:10:04 2003
+@@ -21,8 +21,10 @@
+  * 
+  * @APPLE_LICENSE_HEADER_END@
+  */
+-#if defined(__MWERKS__) && !defined(__private_extern__)
++#if ( defined(__MWERKS__) && !defined(__private_extern__) )
+ #define __private_extern__ __declspec(private_extern)
++#elif ( defined(__linux__) && !defined(__private_extern__) )
++#define __private_extern__ extern
+ #endif
+ /*
+diff -ubr include/stuff/hash_string.h include/stuff/hash_string.h
+--- include/stuff/hash_string.h        Tue Apr 30 00:37:19 2002
++++ include/stuff/hash_string.h        Mon Aug 25 13:10:32 2003
+@@ -21,8 +21,10 @@
+  * 
+  * @APPLE_LICENSE_HEADER_END@
+  */
+-#if defined(__MWERKS__) && !defined(__private_extern__)
++#if ( defined(__MWERKS__) && !defined(__private_extern__) )
+ #define __private_extern__ __declspec(private_extern)
++#elif ( defined(__linux__) && !defined(__private_extern__) )
++#define __private_extern__ extern
+ #endif
+ __private_extern__ long hash_string(
+diff -ubr include/stuff/hppa.h include/stuff/hppa.h
+--- include/stuff/hppa.h       Tue Apr 30 00:37:19 2002
++++ include/stuff/hppa.h       Mon Aug 25 13:10:40 2003
+@@ -21,8 +21,10 @@
+  * 
+  * @APPLE_LICENSE_HEADER_END@
+  */
+-#if defined(__MWERKS__) && !defined(__private_extern__)
++#if ( defined(__MWERKS__) && !defined(__private_extern__) )
+ #define __private_extern__ __declspec(private_extern)
++#elif ( defined(__linux__) && !defined(__private_extern__) )
++#define __private_extern__ extern
+ #endif
+ __private_extern__ void calc_hppa_HILO(
+diff -ubr include/stuff/ofile.h include/stuff/ofile.h
+--- include/stuff/ofile.h      Fri Sep  6 18:27:42 2002
++++ include/stuff/ofile.h      Mon Aug 25 13:10:51 2003
+@@ -25,21 +25,23 @@
+ #ifndef _STUFF_OFILE_H_
+ #define _STUFF_OFILE_H_
+-#if defined(__MWERKS__) && !defined(__private_extern__)
++#if ( defined(__MWERKS__) && !defined(__private_extern__) )
+ #define __private_extern__ __declspec(private_extern)
++#elif ( defined(__linux__) && !defined(__private_extern__) )
++#define __private_extern__ extern
+ #endif
+-#import <ar.h>
++#include <ar.h>
+ #ifndef AR_EFMT1
+ #define       AR_EFMT1        "#1/"           /* extended format #1 */
+ #endif
+-#import <mach-o/loader.h>
++#include <mach-o/loader.h>
+ #ifdef OFI
+-#import <mach-o/dyld.h>
++#include <mach-o/dyld.h>
+ #endif
+-#import "stuff/bytesex.h"
+-#import "stuff/bool.h"
+-#import "stuff/arch.h"
++#include "stuff/bytesex.h"
++#include "stuff/bool.h"
++#include "stuff/arch.h"
+ enum ofile_type {
+     OFILE_UNKNOWN,
+@@ -114,6 +116,18 @@
+ #else
+ __private_extern__ enum bool ofile_map(
+ #endif
++    const char *file_name,
++    const struct arch_flag *arch_flag,        /* can be NULL */
++    const char *object_name,          /* can be NULL */
++    struct ofile *ofile,
++    enum bool archives_with_fat_objects);
++#ifdef OFI
++__private_extern__ NSObjectFileImageReturnCode ofile_map_from_memory(
++#else
++__private_extern__ enum bool ofile_map_from_memory(
++#endif
++    char *addr,
++    unsigned long size,
+     const char *file_name,
+     const struct arch_flag *arch_flag,        /* can be NULL */
+     const char *object_name,          /* can be NULL */
+diff -ubr include/stuff/print.h include/stuff/print.h
+--- include/stuff/print.h      Tue Apr 30 00:37:19 2002
++++ include/stuff/print.h      Mon Aug 25 13:10:58 2003
+@@ -21,11 +21,13 @@
+  * 
+  * @APPLE_LICENSE_HEADER_END@
+  */
+-#if defined(__MWERKS__) && !defined(__private_extern__)
++#if ( defined(__MWERKS__) && !defined(__private_extern__) )
+ #define __private_extern__ __declspec(private_extern)
++#elif ( defined(__linux__) && !defined(__private_extern__) )
++#define __private_extern__ extern
+ #endif
+-#import <stdarg.h>
++#include <stdarg.h>
+ __private_extern__ void print(
+     const char *format, ...)
+diff -ubr include/stuff/reloc.h include/stuff/reloc.h
+--- include/stuff/reloc.h      Tue Apr 30 00:37:19 2002
++++ include/stuff/reloc.h      Mon Aug 25 13:11:02 2003
+@@ -21,12 +21,14 @@
+  * 
+  * @APPLE_LICENSE_HEADER_END@
+  */
+-#if defined(__MWERKS__) && !defined(__private_extern__)
++#if ( defined(__MWERKS__) && !defined(__private_extern__) )
+ #define __private_extern__ __declspec(private_extern)
++#elif ( defined(__linux__) && !defined(__private_extern__) )
++#define __private_extern__ extern
+ #endif
+-#import <mach/machine.h>
+-#import "stuff/bool.h"
++#include <mach/machine.h>
++#include "stuff/bool.h"
+ __private_extern__ unsigned long reloc_pair_r_type(
+     cpu_type_t cputype);
+diff -ubr include/stuff/round.h include/stuff/round.h
+--- include/stuff/round.h      Tue Apr 30 00:37:19 2002
++++ include/stuff/round.h      Mon Aug 25 13:11:06 2003
+@@ -21,13 +21,15 @@
+  * 
+  * @APPLE_LICENSE_HEADER_END@
+  */
+-#if defined(__MWERKS__) && !defined(__private_extern__)
++#if ( defined(__MWERKS__) && !defined(__private_extern__) )
+ #define __private_extern__ __declspec(private_extern)
++#elif ( defined(__linux__) && !defined(__private_extern__) )
++#define __private_extern__ extern
+ #endif
+ /*
+  * round() rounds v to a multiple of r.
+  */
+-__private_extern__ long round(
+-    long v,
++__private_extern__ unsigned long round(
++    unsigned long v,
+     unsigned long r);
+Only in include/stuff: symbol_list.h
+diff -ubr include/stuff/vm_flush_cache.h include/stuff/vm_flush_cache.h
+--- include/stuff/vm_flush_cache.h     Tue Apr 30 00:37:19 2002
++++ include/stuff/vm_flush_cache.h     Mon Aug 25 13:11:15 2003
+@@ -21,11 +21,13 @@
+  * 
+  * @APPLE_LICENSE_HEADER_END@
+  */
+-#if defined(__MWERKS__) && !defined(__private_extern__)
++#if ( defined(__MWERKS__) && !defined(__private_extern__) )
+ #define __private_extern__ __declspec(private_extern)
++#elif ( defined(__linux__) && !defined(__private_extern__) )
++#define __private_extern__ extern
+ #endif
+-#import <mach/mach.h>
++#include <mach/mach.h>
+ __private_extern__ kern_return_t vm_flush_cache(
+     mach_port_t target_task,
+     vm_address_t address,
+Only in include/sys: CVS