home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.2 (Developer) / NS_dev_3.2.iso / NextDeveloper / Source / GNU / cctools / include / notes < prev   
Encoding:
Text File  |  1993-03-16  |  9.7 KB  |  217 lines

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