Specifications.
[pintos-anon] / specs / sysv-abi-update.html / revision.html
1 <html>
2 <title>Revision History</title>
3 <h1>Revision History</h1>
4 <h3>First draft published May 14, 1998.</h3>
5 <h3>Second draft published May 3, 1999.</h3>
6 <ul>
7 <li>
8 New values introduced for ELF header <a href=ch4.eheader.html#e_machine><code>e_machine</code></a> field.
9 <li>
10 Revised language for <a href=ch4.eheader.html#osabi><code>EI_OSABI</code></a> and <a href=ch4.eheader.html#abiversion><code>EI_ABIVERSION</code></a>
11 fields of the ELF header <code>e_ident</code> array.
12 <li>
13 New section flags <a href=ch4.sheader.html#shf_merge><code>SHF_MERGE</code></a> and <a href=ch4.sheader.html#shf_strings><code>SHF_STRINGS</code></a>
14 added.
15 <li>
16 New values added to a symbol table entry's 
17 <a href=ch4.symtab.html#st_other><code>st_other</code></a>
18 field to describe a symbol's
19 <a href=ch4.symtab.html#visibility>visibility</a>.
20 <li>
21 New dynamic section tags <a href=ch5.dynamic.html#dt_runpath><code>DT_RUNPATH</code></a> 
22 and <a href=ch5.dynamic.html#df_flags><code>DT_FLAGS</code></a> added.
23 Dynamic section tag <a href=ch5.dynamic.html#dt_rpath>
24 <code>DT_RPATH</code></a> moved to level 2.
25 <li>
26 New semantics for <a href=ch5.dynamic.html#shobj_dependencies>shared 
27 object path searching</a>, including new
28 <a href=ch5.dynamic.html#substitution>``Substitution Sequences''</a>.
29 </ul>
30 <h3>Third draft published May 12, 1999.</h3>
31 <ul>
32 <li>
33 A new symbol type,
34 <a href=ch4.symtab.html#stt_common><code>STT_COMMON</code></a>,
35 has been added.
36 <li>
37 Added language restricting the types of objects that may contain
38 symbols with the section index
39 <a href=ch4.symtab.html#shn_common><code>SHN_COMMON</code></a>.
40 <li>
41 Dynamic section entries <code>DT_SYMBOLIC</code>,
42 <code>DT_TEXTREL</code> and <code>DT_BIND_NOW</code> have
43 been moved to level 2.  New <code>DT_FLAGS</code>
44 values
45 <a href=ch5.dynamic.html#df_symbolic><code>DF_SYMBOLIC</code></a>,
46 <a href=ch5.dynamic.html#df_textrel><code>DF_TEXTREL</code></a> and
47 <a href=ch5.dynamic.html#df_bind_now><code>DF_BIND_NOW</code></a>
48 have been added as replacements.
49 <li>
50 New rules for interpreting <a href=ch5.dynamic.html#tag_encodings>
51 dynamic section tag encodings</a> have been added.
52 <li>
53 The OS and processor specific ranges for <code>DT_FLAGS</code>
54 have been removed.
55 <li>
56 The language motivating the use of 
57 <a href=ch5.dynamic.html#substitution><code>DF_ORIGIN</code></a>
58 has been changed.
59 </ul>
60 <h3>Fourth draft published July 6, 1999.</h3>
61 <ul>
62 <li>
63 New language has been added warning about the use
64 of <a href=ch4.symtab.html#weak_note>WEAK symbols</a> in 
65 application programs.
66 <li>
67 New rules have been defined for 
68 <a href=ch4.reloc.html#relocation_composition>composition of 
69 consecutive relocation entries</a> that reference the same location.
70 <li>
71 Language has been added clarifying the 
72 <a href=ch5.dynamic.html#init_order>order of execution</a> for
73 functions specified by initialization and termination arrays.
74 </ul>
75 <h3>Fifth draft published July 21, 1999.</h3>
76 <ul>
77 <li>
78 New <a href=ch4.sheader.html#init_array>section types</a> 
79 and section names added for init arrays,
80 fini arrays and pre-init arrays.
81 <li>
82 An object may now have both 
83 <a href=ch5.dynamic.html#dt_init_array>
84 <code>DT_INIT</code> and <code>DT_INIT_ARRAY</a> </code> entries
85 (and both <code>DT_FINI</code> and <code>DT_FINI_ARRAY</code> entries).
86 The relative execution order is specified.
87 <li>
88 The language describing the 
89 <a href=ch5.dynamic.html#fini_order>order of execution for termination
90 functions</a> has been revised.
91 <li>
92 A new <a href=ch5.dynamic.html#preinit>pre-initialization</a>
93 mechanism has been added.
94 <li>
95 It is now up to the processor supplement for each processor
96 to specify whether the dynamic linker must invoke
97 <a href=ch5.dynamic.html#register_init>the executable file's init and fini routines</a>.
98 </ul>
99 <h3>Sixth draft published September 14, 1999.</h3>
100 <ul>
101 <li>
102 Changed the numbering of some new <a href=ch4.sheader.html#sh_type>
103 section types</a> previously added to account
104 for type numbers already in use in particular vendor implementations.
105 <li>
106 Increased the number of <a href=ch4.sheader.html#sh_flags>
107 section flag bits</a> available in the OS specific range.
108 </ul>
109 <h3>Seventh draft published October 4, 1999.</h3>
110 <ul>
111 <li>
112 Changed the values used for some new 
113 <a href=ch4.sheader.html#sh_flags>section attribute flags</a> 
114 to accommodate platforms already using previously assigned values.
115 <li>
116 Added new section attribute flags 
117 <a href=ch4.sheader.html#shf_info_link><code>SHF_INFO_LINK</code></a>,
118 <a href=ch4.sheader.html#shf_link_order><code>SHF_LINK_ORDER</code></a> and
119 <a href=ch4.sheader.html#shf_os_nonconforming><code>SHF_OS_NONCONFORMING</code></a>
120 <li>
121 Added
122 <a href=ch4.sheader.html#linking_rules>rules for linkers</a>
123 when linking sections with unrecognized types or flags.
124 </ul>
125 <h3>Eighth draft published March 30, 2000.</h3>
126 <ul>
127 <li>
128 Added the concept of <a href=ch4.sheader.html#section_groups>section
129 groups</a>.
130 <li>
131 Removed the macros for <code>ELF32_ST_OTHER</code> and 
132 <code>ELF64_ST_OTHER</code>.
133 </ul>
134 <h3>Ninth draft published March 30, 2000.</h3>
135 <ul>
136 <li>
137 Added <a href=ch4.symtab.html#protected_note>language</a> 
138 clarifying the semantics of symbols marked as <code>STV_PROTECTED</code>.
139 <li>
140 Added <a href=ch5.dynamic.html#pointer_note>language</a> 
141 clarifying the contents of the initialization and termination arrays.
142 </ul>
143 <h3>Tenth draft published 22 June 2000.</h3>
144 <ul>
145 <li>
146 Added a <a href=ch4.symtab.html#protected_resolution>sentence</a>
147 spelling out the behavior when resolving a symbol to a
148 <code>STV_PROTECTED</code> definition from a shared object.
149 <li>
150 Added support for more than 65,000 sections in the
151 <a href=ch4.eheader.html#many_sections>ELF header</a>,
152 and with <code>SHT_SYMTAB_SHNDX</code> sections,
153 and in <a href=ch4.symtab.html#many_sections>symbol tables</a>.
154 </ul>
155 <h3>Eleventh draft published 24 April 2001.</h3>
156 <ul>
157 <li>
158 Updated <a href=ch4.eheader.html#e_machine>table</a>
159 of <code>EM_*</code> entries.
160 <li>
161 <a href=ch4.sheader.html#section_group_flags>Added</a>
162 <code>GRP_MASKOS</code> and <code>GRP_MASKPROC</code>.
163 Changed section group description in a few ways,
164 clarifying some fuzzy points and rewriting
165 <a href=ch4.sheader.html#section_group_rules>the rules</a>
166 for symbols referencing into section groups.
167 <li>
168 Changed the <a href=ch4.symtab.html#weak_note>warning</a> about using weak
169 to be stronger.
170 <li>
171 <a href=ch4.eheader.html#osabi>Reworded</a>
172 the <code>EI_OSABI</code> byte description
173 to make is use clearer.
174 <li>
175 Added the <a href=ch4.eheader.html#generic_osabi_values>table</a>
176 of now generic <code>EI_OSABI</code> values.
177 <li>
178 Added <a href=ch4.sheader.html#shf_tls><code>SHF_TLS</code></a>,
179 <a href=ch5.pheader.html#pt_tls><code>PT_TLS</code></a>
180 and its <a href=ch5.pheader.html#tls>contents</a>,
181 <a href=ch5.dynamic.html#df_static_tls><code>DF_STATIC_TLS</code></a>,
182 <a href=ch4.symtab.html#stt_tls><code>STT_TLS</code></a>,
183 <a href=ch4.sheader.html#tbss><code>.tbss</code></a>, and
184 <a href=ch4.sheader.html#tdata><code>.tdata</code></a>.
185 <li>
186 Changed
187 <a href=ch4.symtab.html#many_sections>the rules</a> for
188 <a href=ch4.sheader.html#many_sections><code>SHT_SYMTAB_SHNDX</code></a>
189 contents to require <code>0</code> when the corresponding
190 <code>st_shndx</code> field is not <code>SHN_XINDEX</code>.
191 </ul>
192 <hr>
193 <a href="contents.html"><img src="contents.gif" alt="Contents"></a>
194 <hr>
195 <i>
196 <small>
197 &#169; 1997, 1998, 1999, 2000, 2001 The Santa Cruz Operation, Inc.  All rights reserved.
198 </small>
199 </i>
200 </html>