|
|
1.1 ! root 1: Changes for the 4.0 release (the cctools-133 release): ! 2: - Picked up sparc changes to architecture/sparc/reg.h. ! 3: - Picked up sparc changes to mach/sparc/thread_status.h. ! 4: - Picked up sparc changes to stuff/bytesex.h for prototype of ! 5: swap_sparc_thread_state_fpu(). ! 6: - Picked up sparc changes to mach-o/sparc/reloc.h. ! 7: ! 8: Changes for the 4.0 release (the cctools-132 release): ! 9: - Removed the 2.0 compatiblity header files. ! 10: - Picked up the files mach/sparc/thread_status.h and architecture/sparc/reg.h ! 11: ! 12: Changes for the 3.3 release (the cctools-125 release): ! 13: - Picked up installing 2.0Compatiblity/sys/loader.h ! 14: - Added installing nlist.h stab.h loader.h fat.h (bug #31334). ! 15: ! 16: Changes for the 3.3 release (the cctools-120 release): ! 17: - Added the file <mach-o/dyld.h> ! 18: ! 19: Changes for the 3.3 release (the cctools-119 release): ! 20: - Picked up the first changes for sparc (sparc/reloc.h) the work is not ! 21: complete. ! 22: ! 23: Changes for the 3.3 release (the cctools-104 release): ! 24: - Changed the name of the first parameter of swap_ident_command() from id to ! 25: id_cmd (in bytesex.h). The compiler is treating this as a reserved word. ! 26: ! 27: Changes for the 3.3 release (the cctools-102 release): ! 28: - Integrated in the hppa support. ! 29: different include/Makefile (integrated for cctools-102) ! 30: Using cctoolshppa-37. mach-o/hppa/reloc.h is new. ! 31: different include/gnu/a.out.h (integrated for cctools-102) ! 32: Using cctoolshppa-37. Added: ! 33: #ifdef HPPA ! 34: #include "mach-o/hppa/reloc.h" ! 35: #endif ! 36: different include/mach/machine.h (integrated for cctools-102) ! 37: Using cctoolshppa-37. New constants for hppa and badly integrated the ! 38: existing contants: ! 39: #define CPU_TYPE_ANY ((cpu_type_t) -1) ! 40: #define CPU_SUBTYPE_MULTIPLE ((cpu_subtype_t) -1) ! 41: #define CPU_SUBTYPE_LITTLE_ENDIAN ((cpu_subtype_t) 0) ! 42: #define CPU_SUBTYPE_BIG_ENDIAN ((cpu_subtype_t) 1) ! 43: which were scattered though out the file and moved from their comment. ! 44: Email sent to Josh on this one (who forwarded it to Mac). ! 45: different include/stuff/bytesex.h (integrated for cctools-102) ! 46: Using cctoolshppa-37. New routines for swaping hppa's threads. ! 47: Only in cctoolshppa-37/include/mach: hppa (integrated for cctools-102) ! 48: Pick up include/mach/hppa/thread_status.h from cctoolshppa-37. ! 49: Only in cctoolshppa-37/include/mach-o: hppa (integrated for cctools-102) ! 50: Pick up include/mach-o/hppa/reloc.h from cctoolshppa-37. But has ! 51: HPPA_RELOC_NORELOC which is used in hppa.c. HPPA_RELOC_NORELOC pulled ! 52: from reloc.h and NO_RELOC defined as 0x10 (out side the range of r_type:4) ! 53: in hppa.h and NO_RELOC used in hppa.c. ! 54: ! 55: Changes for the 3.1 release (the cctools-22 release): ! 56: - Added to mach/machine.h the following cpp macros (bug #32553): ! 57: #define CPU_TYPE_ANY ((cpu_type_t) -1) ! 58: #define CPU_SUBTYPE_LITTLE_ENDIAN ((cpu_subtype_t) 0) ! 59: #define CPU_SUBTYPE_BIG_ENDIAN ((cpu_subtype_t) 1) ! 60: ! 61: Changes for the 3.1 release (the cctools-15 release): ! 62: - Picked up the proper mach/m98k/thread_status.h and the six included files ! 63: to make it compile. ! 64: ! 65: Changes for the 3.1 release (the cctools-13 release): ! 66: - Added the m98k (PowerPC) architecture. This includes a kludged ! 67: mach/m98k/thread_status.h with only an entry point. ! 68: ! 69: Changes for the 3.1 release (the cctools-6 release): ! 70: - Changed mach/i386/thread_status.h so the m68k compiler will compile this the ! 71: same as the i386 compiler. The change was to change the "unsigned int :0" to ! 72: "unsigned short pad_??". ! 73: ! 74: Changes for the 3.1 release (the cctools-5 release): ! 75: - Picked up the lono teams cctools-4_2 mach/i386/thread_status.h as well as ! 76: machdep/i386/frame.h machdep/i386/fpregs.h machdep/i386/sel.h . ! 77: - Changed "struct i386_thread_state *cpu," to "i386_thread_state_t *cpu," ! 78: in bytesex.h for the lono team. ! 79: ! 80: Changes for the 3.1 release (the cctools-4 release): ! 81: - Moved the ix86 directory to i386. ! 82: ! 83: Changes for the 3.0 release (the -56 compiler release): ! 84: - Fixed some typos in mach-o/reloc.h in the __LITTLE_ENDIAN__ code (bug #19639). ! 85: ! 86: Changes for the 3.0 release (the -53 compiler release): ! 87: - Removed the local copy of mach/m88k/thread_status.h . ! 88: ! 89: Changes for the 3.0 release (the -47 compiler release): ! 90: - Split of the reloc.h header file: ! 91: part of mach-o/reloc.h -> mach-o/m88k/reloc.h ! 92: part of mach-o/reloc.h -> mach-o/i860/reloc.h ! 93: - Switch over to the newer header file organization. ! 94: m88k/mach/thread_status.h -> mach/m88k/thread_status.h ! 95: ix86/mach/thread_status.h -> mach/ix86/thread_status.h ! 96: i860/mach/thread_status.h -> mach/i860/thread_status.h ! 97: m88k/disasm.h -> mach-o/m88k/disasm.h ! 98: m88k/parseinst.h -> mach-o/m88k/parseinst.h ! 99: ! 100: Changes for the 3.0 release (the -44 compiler release): ! 101: - Switch over to the new header file organization. ! 102: ! 103: Changes for the 3.0 release (the -36 compiler release): ! 104: - Added the 88k disassembler header file but these are not installed. ! 105: ! 106: Changes for the 3.0 release (the -34 compiler release): ! 107: - Added installsrc, installIBMsrc and installGNUsrc targets to the Makefile. ! 108: ! 109: Changes for the 3.0 release (the -33 compiler release): ! 110: - sys/machine.h: (this is owned by the OS group and will be given back to them) ! 111: * 16-Oct-90 Compiler group (comp) at NeXT. ! 112: * Replaced the 88k cpu_subtype CPU_SUBTYPE_MMAX_JPC with ! 113: * CPU_SUBTYPE_MC88100 and CPU_SUBTYPE_MC88110 to match 68k types. ! 114: ! 115: /* ! 116: * MC88000 subtypes ! 117: */ ! 118: #define CPU_SUBTYPE_MC88100 ((cpu_subtype_t) 1) ! 119: #define CPU_SUBTYPE_MC88110 ((cpu_subtype_t) 2) ! 120: ! 121: ! 122: The I860 CPU type in the NDTools 7 conflicts with the CPU_TYPE_I386 which is ! 123: also 7. In talking with Mike Paquette (10/16/90) he said it is ok to change ! 124: CPU_TYPE_I860 to whatever and he will recompile NextDimention. ! 125: The three I860 additions were as follows: ! 126: ! 127: * 16-Aug-89 Mike Paquette (mpaque) at NeXT ! 128: * Added I860 CPU type and subtypes for big or little-endian data ! 129: * implementation. ! 130: ! 131: #define CPU_TYPE_I860 ((cpu_type_t) 7) <<<will be 14>>> ! 132: ! 133: /* ! 134: * I860 subtypes ! 135: */ ! 136: #define CPU_SUBTYPE_LITTLE_ENDIAN ((cpu_subtype_t) 0) ! 137: #define CPU_SUBTYPE_BIG_ENDIAN ((cpu_subtype_t) 1) ! 138: ! 139: - machine/thread_status.h: where "machine" is a symbolic link to "next" ! 140: (this is owned by the OS group and will be given back to them) ! 141: In talking to Mike DeMoney on (10/16/90) he came up with the following ! 142: structure to handle the multiple machines specific files. These would ! 143: be the directories in /usr/include (or in the kernel's header file area): ! 144: ! 145: next68k/ was just next/ ! 146: next88k/ ! 147: next860/ ! 148: ! 149: A symbolic link from "next to "next" will be added for compatiblity and ! 150: the symbolic "machine" will point to the directory the kernel is configured ! 151: for. ! 152: ! 153: - next860/thread_status.h: ! 154: This is to be owned by someone like Mike Paquette. It is the file that ! 155: discrbes JUST the i860 thread state. ! 156: ! 157: - next88k/thread_status.h: ! 158: This is to be owned by the OS group. The compiler group made a first ! 159: cut at it. ! 160: ! 161: Changes for the Warp ?? release (the -25 compiler release): ! 162: - Added the scattered_relocation_info struct to reloc.h ! 163: ! 164: Changes for the Warp ?? release (the -24 compiler release): ! 165: - Added #import <sys/loader.h> to ldsyms.h (bug 6031). ! 166: - Added rld.h to be installed in /usr/include. ! 167: ! 168: Changes for the 2.0 impulse X.X release (the -19 compiler release): ! 169: - Updated ldsyms.h to match the new link editor. Basicly removing lots of old ! 170: stuff. ! 171: - Added one missing ';' in symseg.h to get rid of a warning. ! 172: - Removed the temporay copies of <ranlib.h> and <sys/loader.h> now that the ! 173: Impulse 0.02 release has the right versions. ! 174: - Added temporary copies of <nlist.h> and <sys/machine.h> until the next libc ! 175: and mk projects get released and the correct versions are in /usr/include. ! 176: ! 177: Changes for the 0.93 release (the -12 compiler release): ! 178: - No longer install symseg.h ! 179: - Now own sys/exec.h as a part of a.out.h ! 180: ! 181: Changes for the 0.82 release (the -8 compiler release): ! 182: - Changed the Makefile to install in /usr/include ! 183: ! 184: Changes for the 0.82 release (the -7 compiler release): ! 185: - Added header_addr to fvmlib load and id commands. ! 186: - Added the SEG_PAGEZERO segment name to sys/loader.h for the segment created ! 187: to protect page zero for NULL pointers. ! 188: ! 189: Changes for the 0.81 release (the -6 compiler release): ! 190: - The following files to reflect what is contained in a true mach-O object ! 191: file (relocatables and other formats): ! 192: nlist.h ! 193: reloc.h (new) ! 194: symseg.h ! 195: stab.h ! 196: These along with <sys/loader.h> are now the offical files that mach-O object ! 197: tools should reference. The file <a.out.h> has been updated with the same ! 198: changes but will go away in the 1.0 release or renamed to <a.out.h.old>. ! 199: ! 200: The logical changes are as follows: ! 201: ! 202: To the nlist structure (also see comments in <nlist.h> and <stab.h>): ! 203: ! 204: The modifications from the original format were changing n_other (an unused ! 205: field) to n_sect and the addition of the N_SECT type. All mach-O symbols ! 206: defined a section (for example what use to be N_TEXT, N_DATA and N_BSS) now ! 207: have the type N_SECT. ! 208: ! 209: If the type is N_SECT then the n_sect field contains an ordinal of the ! 210: section the symbol is defined in. The sections are numbered from 1 and ! 211: refer to sections in order they appear in the load commands for the file ! 212: they are in. This means the same ordinal may very well refer to different ! 213: sections in different files. ! 214: ! 215: The n_value field for all symbol table entries (including N_STAB's) gets ! 216: updated by the link editor based on the value of it's n_sect field and where ! 217: the section n_sect references gets relocated. If the value of the n_sect ! 218: field is NO_SECT then it's n_value field is not changed by the link editor. ! 219: The comments in <stab.h> have been updated to reflect this. ! 220: ! 221: Common symbols are represented by undefined (N_UNDF) external (N_EXT) types ! 222: who's values (n_value) are non-zero. In which case the value of the n_value ! 223: field is the size (in bytes) of the common symbol. ! 224: ! 225: Absolute, undefined and common symbols are NOT in any section and thus their ! 226: n_sect field must be NO_SECT to indicate this and avoid having their n_value ! 227: field changed. ! 228: ! 229: To the relocation_info structure (see the comments in <reloc.h>): ! 230: ! 231: The modifications from the original format were changing the value ! 232: of the r_symbolnum field for "local" (r_extern == 0) relocation entries. ! 233: ! 234: In 4.3bsd a.out objects if r_extern is zero then r_symbolnum is an ordinal ! 235: for the segment the symbol being relocated is in. These ordinals are the ! 236: symbol types N_TEXT, N_DATA, N_BSS or N_ABS. In mach-O object files these ! 237: ordinals refer to the sections in the object file they are in. The first ! 238: section has the ordinal 1, the second 2, and so on. This means that the ! 239: same ordinal in two different object files could refer to two different ! 240: sections. And further could have still different ordinals when combined ! 241: by the link-editor. The value R_ABS is used for relocation entries for ! 242: absolute symbols which need no further relocation. ! 243: ! 244: To the symseg structures (see the comments in <symseg.h>): ! 245: ! 246: To handle an arbitrary number of segments and sections the symbol_root, ! 247: the indirect_root and the shlib_root have new structures in a mach-O ! 248: object file. The change to these structures was to replace the fields ! 249: relating to where a segment was loaded with a load map. ! 250: ! 251: The load map describes where the parts the relocatable object have been ! 252: loaded in the executable. The enitre address space of the relocatable ! 253: is to be covered by all the map entries. There may be multiple map entries ! 254: for a single section or one map entry for multiple sections. This allows ! 255: the link editor to scatter load a section based on information that improves ! 256: performance by increasing the locality of reference. ! 257: ! 258: - The N_INDR symbol type was added for indirect symbols (to support building ! 259: the ANSI C library). ! 260: ! 261: If the type is N_INDR then the symbol is defined to be the same as another ! 262: symbol. In this case the n_value field is an index into the string table ! 263: of the other symbol's name. When the other symbol is defined then they both ! 264: take on the defined type and value. ! 265: ! 266: - Changed the loader defined symbol names _etext, _edata, and _end to __etext, ! 267: __edata, __end so not to pollute the name space of ANSI C programs. There ! 268: are now macros for these symbols. The ANSI C library will have objects with ! 269: indirect symbols so that old names will still work if the program is linked ! 270: with the ANSI C library.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.