--- /dev/null
+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