home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2J (Developer) / os42jdev.iso / NextDeveloper / Source / GNU / cctools / include / notes < prev   
Text File  |  1994-06-17  |  12KB  |  271 lines

  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.
  271.