]>
Commit | Line | Data |
---|---|---|
d696c285 A |
1 | |
2 | ----- Tagged ld64-47 | |
3 | ||
4 | ||
5 | ----- Tagged ld64-46 | |
6 | ||
7 | 2006-03-10 Nick Kledzik <kledzik@apple.com> | |
8 | ||
9 | <rdar://problem/4419505> ld64 should figure out architecture from .o files | |
10 | * unit-tests/test-cases/auto-arch: added | |
11 | * src/ld.cpp: added Linker::inferArchitecture() to scan .o files are infer architecture to link | |
12 | * src/MachOReaderArchive.hpp: enhanced validFile() to look deeper into archive and really valdate | |
13 | * src/MachOWriterExecutable.hpp: stop using fOptions.architecture() | |
14 | * src/Options.cpp: stop defaulting to ppc64 | |
15 | ||
16 | ||
17 | 2006-03-09 Nick Kledzik <kledzik@apple.com> | |
18 | ||
19 | <rdar://problem/4465004> Need "intentionally left blank" dylib stubs | |
20 | * unit-tests/include/common.makefile: add VALID_ARCHS | |
21 | * unit-tests/run-all-unit-tests: set up VALID_ARCHS | |
22 | * unit-tests/test-cases/blank-stubs: add test case | |
23 | * src/ld.cpp: in addDylib(), detect and ignore blank stubs | |
24 | * src/MachOReaderDylib.hpp: in constructor, handle blank stubs | |
25 | ||
26 | 2006-03-09 Nick Kledzik <kledzik@apple.com> | |
27 | ||
28 | <rdar://problem/4471424> crash in stub with 2GB pagezero | |
29 | * src/MachOWriterExecutable.hpp: StubAtom<ppc64> can't be no-pic if a large zero-page is used | |
30 | ||
31 | 2006-03-06 Nick Kledzik <kledzik@apple.com> | |
32 | ||
33 | * src/Options.cpp: addSectionAlignment, warn if -sectalign alignment is not a power of two | |
34 | ||
35 | ----- Tagged ld64-45 | |
36 | ||
37 | ||
38 | 2006-03-06 Nick Kledzik <kledzik@apple.com> | |
39 | ||
40 | <rdar://problem/4466930> LP64/9A122: ld64: hang when trying to link DiscRecording framework | |
41 | * src/Options.cpp: addSectionAlignment, warn on zero. Use log2() for alignment conversion | |
42 | ||
43 | ||
44 | ----- Tagged ld64-44 | |
45 | ||
46 | 2006-03-04 Nick Kledzik <kledzik@apple.com> | |
47 | ||
48 | * src/MachOReaderRelocatable.hpp: fix again test for detection of anonymous non-lazy-pointer. | |
49 | Error out if .o file contains old __DWARFA style dwarf. | |
50 | ||
51 | 2006-03-02 Nick Kledzik <kledzik@apple.com> | |
52 | ||
53 | * src/ld.cpp: only re-map page aligned sub-parts of a fat file. A conformat mmap() requires alignment. | |
54 | ||
55 | ----- Tagged ld64-43 | |
56 | ||
57 | 2006-03-02 Nick Kledzik <kledzik@apple.com> | |
58 | ||
59 | * src/MachOReaderRelocatable.hpp: <rdar://problem/4464370> tighten detection of anonymous non-lazy-pointer | |
60 | ||
61 | ----- Tagged ld64-42 | |
62 | ||
63 | 2006-02-28 Nick Kledzik <kledzik@apple.com> | |
64 | ||
65 | * src/MachOReaderRelocatable.hpp: fix x86 __IMPORT permissions for class Segment | |
66 | ||
67 | 2006-02-28 Nick Kledzik <kledzik@apple.com> | |
68 | ||
69 | <rdar://problem/4461240> SWB: ld64-37 (can't resolve symbol ___dso_handle) | |
70 | * src/MachOWriterExecutable.hpp: add class DsoHandleAtom | |
71 | ||
72 | 2006-02-28 Nick Kledzik <kledzik@apple.com> | |
73 | ||
74 | * unit-tests/test-cases/literals-coalesce-alignment: added test case | |
75 | * src/ld.cpp: when coalescing strings pick one with greater alignment | |
76 | <rdar://problem/4458660> ld64: CG link failed because lo14 reference to anonymous non-lazy-pointer not aligned | |
77 | * unit-tests/test-cases/relocs-c/test.c: tweak to fail like 4458660 | |
78 | * src/MachOReaderRelocatable.hpp: detect anonymous non-lazy-pointer and transform into real non-lazy-pointers | |
79 | ||
80 | ----- Tagged ld64-41 | |
81 | ||
82 | 2006-02-24 Nick Kledzik <kledzik@apple.com> | |
83 | ||
84 | * src/Options.cpp: Warning about -no_dead_strip_inits_and_terms and -i options. | |
85 | Fix -weak-l option. | |
86 | ||
87 | ----- Tagged ld64-40 | |
88 | ||
89 | 2006-02-24 Nick Kledzik <kledzik@apple.com> | |
90 | ||
91 | <rdar://problem/4454698> Leopard9A113: ppc64 libstdc++.dylib initializer crashes in pthread_once | |
92 | * unit-tests/test-cases/multiple-entry-points: added | |
93 | * src/MachOReaderRelocatable.hpp: make sure that if there are multiple symbols with the same | |
94 | address, that we properly make zero length atoms for all but last symbol | |
95 | ||
96 | 2006-02-24 Nick Kledzik <kledzik@apple.com> | |
97 | ||
98 | * src/Options.cpp: <rdar://problem/4456093> ld64 doesn't realpath(3) B&I tracing paths | |
99 | ||
100 | 2006-02-24 Nick Kledzik <kledzik@apple.com> | |
101 | ||
102 | * src/Options.cpp: <rdar://problem/4457078> 9A110: ld64 can't deal with section names >16 chars | |
103 | ||
104 | 2006-02-23 Nick Kledzik <kledzik@apple.com> | |
105 | ||
106 | * src/MachOWriterExecutable.hpp: use vector.reserve() to minimize re-allocations | |
107 | * src/Options.cpp: use vector.reserve() to minimize re-allocations | |
108 | * src/MachOReaderRelocatable.hpp: use vector.reserve() to minimize re-allocations | |
109 | * src/MachOReaderDylib.hpp: use vector.reserve() to minimize re-allocations | |
110 | * src/ld.cpp: use vector.reserve() to minimize re-allocations | |
111 | ||
112 | 2006-02-23 Nick Kledzik <kledzik@apple.com> | |
113 | ||
114 | <rdar://problem/4455927> ld64 creates corrupt executables (and has malloc errors) with -headerpad option | |
115 | * src/MachOWriterExecutable.hpp: Change LoadCommandsPaddingAtom<A>::setSize() to update fLargestAtomSize | |
116 | * unit-tests/test-cases/header-pad: added | |
117 | ||
118 | 2006-02-23 Nick Kledzik <kledzik@apple.com> | |
119 | ||
120 | <rdar://problem/4455192> ld64 creates invalid static executables | |
121 | * src/MachOWriterExecutable.hpp: Change MachHeaderAtom<A>::copyRawContent() to create correct header | |
122 | for static executables. Change SymbolTableLoadCommandsAtom to skip LC_DYSYMTAB for static executables | |
123 | * src/machochecker.cpp: Add tests that static executables are well formed | |
124 | * unit-tests/test-cases/static-executable: added | |
125 | ||
126 | 2006-02-22 Nick Kledzik <kledzik@apple.com> | |
127 | ||
128 | * src/Options.cpp: <rdar://problem/4453468> chnage printf on unknown arg to a throw | |
129 | ||
130 | ----- Tagged ld64-39 | |
131 | ||
132 | 2006-02-20 Nick Kledzik <kledzik@apple.com> | |
133 | ||
134 | * unit-tests/test-cases/read-only-relocs: added new test case | |
135 | * src/MachOWriterExecutable.hpp: <rdar://problem/4448922> detect and error on relocs in read-only sections | |
136 | * src/MachOReaderRelocatable.hpp: fix parsing of i386 absolute addressing relocs | |
137 | ||
138 | 2006-02-20 Nick Kledzik <kledzik@apple.com> | |
139 | ||
140 | * unit-tests/test-cases/stabs-coalesce: added new test case | |
141 | * src/ld.cpp.hpp: <rdar://problem/4449226> in collectStabs removed unused stabs | |
142 | ||
143 | ----- Tagged ld64-38 | |
144 | ||
145 | 2006-02-17 Nick Kledzik <kledzik@apple.com> | |
146 | ||
147 | * src/MachOWriterExecutable.hpp: <rdar://problem/4434578> set correct n_sect field of stabs | |
148 | ||
149 | 2006-02-15 Nick Kledzik <kledzik@apple.com> | |
150 | ||
151 | * src/MachOReaderArchive.hpp: <rdar://problem/4441920> with -all_load skip over both kinds of SYMDEFs | |
152 | * unit-tests/test-cases/archive-basic/Makefile: add -all_load test case | |
153 | ||
154 | ----- Tagged ld64-37 | |
155 | ||
156 | 2006-02-13 Eric Christopher <echristo@apple.com> | |
157 | ||
158 | * src/MachOWriterExecutable.hpp (assignFileOffsets): Simplify. Add comments. | |
159 | Adjust whitespace. | |
160 | ||
161 | 2006-02-13 Nick Kledzik <kledzik@apple.com> | |
162 | ||
163 | * src/MachOWriterExecutable.hpp: in Writer<x86>::fixUpReferenceRelocatable() fix kPCRel32 for external case | |
164 | ||
165 | 2006-02-13 Nick Kledzik <kledzik@apple.com> | |
166 | ||
167 | * unit-tests/test-cases/zero-fill: added | |
168 | * src/machochecker.cpp: check that S_ZEROFILL have no file offset | |
169 | * src/MachOWriterExecutable.hpp: rework assignFileOffsets() to fix rdar://problem/4441145 | |
170 | ||
171 | 2006-02-12 Nick Kledzik <kledzik@apple.com> | |
172 | ||
173 | * src/MachOReaderRelocatable.hpp: <rdar://problem/4440880> fix use of first zero-length c-string in .o file | |
174 | ||
175 | 2006-02-12 Nick Kledzik <kledzik@apple.com> | |
176 | ||
177 | * src/MachOReaderRelocatable.hpp: <rdar://problem/4440905> fix uninitialized fAlignment | |
178 | ||
179 | 2006-02-12 Nick Kledzik <kledzik@apple.com> | |
180 | ||
181 | * unit-tests/test-cases/relocs-asm/relocs-asm.s: add pointer-diff cases | |
182 | * src/Architectures.hpp: make size explicit in ppc/ppc64 kPointerDiff | |
183 | * src/MachOReaderRelocatable.hpp: don't allow kPointerDiff64 for ppc (just ppc64) | |
184 | * src/MachOWriterExecutable.cpp: set proper r_length for ld -r of kPointerDiff | |
185 | ||
186 | ----- Tagged ld64-36 | |
187 | ||
188 | 2006-02-08 Nick Kledzik <kledzik@apple.com> | |
189 | ||
190 | * src/MachOReaderRelocatable.cpp: rdar://problem/4438677 Handle when a .o file dwarf line info entries but no functions | |
191 | ||
192 | 2006-02-08 Nick Kledzik <kledzik@apple.com> | |
193 | ||
194 | * src/MachOWriterExecutable.cpp: Properly set address of first TEXT section | |
195 | Keep S_COALESCED attribute for __eh_frame | |
196 | ||
197 | 2006-02-08 Nick Kledzik <kledzik@apple.com> | |
198 | ||
199 | * src/ld.cpp: Temporarily turn allowable client errors into warnings | |
200 | * unit-tests/test-cases/allowable-clientMakefile: Temporarily let warnings be ok for above | |
201 | * src/MachOWriterExecutable.hpp: fix ld -r to not use external relocations for symbols make static | |
202 | ||
203 | 2006-02-08 Nick Kledzik <kledzik@apple.com> | |
204 | ||
205 | * src/ld.cpp: A sibling in an umbrella can always link with its other siblings | |
206 | * unit-tests/test-cases/allowable-client: add test case for above | |
207 | ||
208 | 2006-02-08 Nick Kledzik <kledzik@apple.com> | |
209 | ||
210 | * src/MachOReaderRelocatable.hpp: support LOCAL non-lazy pointers to hidden symbols | |
211 | * src/machochecker.cpp: verify indirect symbol table | |
212 | * unit-tests/test-cases/private-non-lazy: added test case | |
213 | ||
214 | 2006-02-07 Nick Kledzik <kledzik@apple.com> | |
215 | ||
216 | * src/MachOWriterExecutable.hpp: fix calculation of file offsets in ld -r mode | |
217 | * src/machochecker.cpp: verify segment file offsets are within file | |
218 | ||
219 | ----- Tagged ld64-35 | |
220 | ||
221 | 2006-02-06 Nick Kledzik <kledzik@apple.com> | |
222 | ||
223 | * ld.cpp: allow parent of sub-framework to link | |
224 | * unit-tests/test-cases/allowable-client/Makefile: added cases for parent and clients of parent | |
225 | ||
226 | 2006-02-04 Nick Kledzik <kledzik@apple.com> | |
227 | ||
228 | * unit-tests/test-cases/relocs-c/test.c: added some array cases | |
229 | * src/MachOReaderRelocatable.hpp: factor out makeReferenceToEH() | |
230 | * src/MachOWriterExecutable.hpp: add initial support for non-lazy pointer synthesis | |
231 | ||
232 | ----- Tagged ld64-34 | |
233 | ||
234 | 2006-02-04 Nick Kledzik <kledzik@apple.com> | |
235 | ||
236 | * src/ld.cpp: <rdar://problem/4432917> fix -no_arch_warnings | |
237 | <rdar://problem/4432932> fix -undefined warning | |
238 | Do BINCL/EINCL optimization for gfull stabs | |
239 | Implement "essential symbols" for stabs (-Sp) | |
240 | Fix allowable clients to only test on direct libraries | |
241 | * src/MachOReaderRelocatable.hpp: support BINCL/EINCL stabs | |
242 | ||
243 | 2006-02-03 Nick Kledzik <kledzik@apple.com> | |
244 | ||
245 | * src/machochecker.cpp: add code to check load command alignment | |
246 | * src/MachOWriterExecutable.hpp: make load command alignment depend on architecture | |
247 | ||
248 | 2006-02-03 Nick Kledzik <kledzik@apple.com> | |
249 | ||
250 | * unit-tests/test-cases/literals-coalesce: added | |
251 | * src/MachOReaderRelocatable.hpp: assure all targets of low14 ppc relocs are at least 4-byte alignmented | |
252 | ||
253 | ----- Tagged ld64-33 | |
254 | ||
255 | 2006-02-02 Nick Kledzik <kledzik@apple.com> | |
256 | ||
257 | * src/MachOReaderRelocatable.hpp: properly coalesce 8-byte literals | |
258 | * src/MachOWriterExecutable.hpp: support ppc64::kPointerDiff32 | |
259 | ||
260 | ----- Tagged ld64-32 | |
261 | ||
262 | 2006-02-02 Nick Kledzik <kledzik@apple.com> | |
263 | ||
264 | * src/MachOReaderRelocatable.hpp: support anonymous zero fill atoms | |
265 | ||
266 | 2006-02-02 Nick Kledzik <kledzik@apple.com> | |
267 | ||
268 | * src/ld.cpp: A weak definition is good enough, do not search archives for a non-weak one | |
269 | * unit-tests/test-cases/archive-weak: add test case for above | |
270 | * src/MachOReaderRelocatable.hpp: an atom should never have a by-name reference to itself | |
271 | * src/Options.cpp: prevent .eh symbols from being exported via a -exported_symbols_list | |
272 | ||
273 | 2006-02-01 Nick Kledzik <kledzik@apple.com> | |
274 | ||
275 | * src/MachOReaderRelocatable.hpp: Support -macosx_version_min 10.5 | |
276 | ||
277 | 2006-02-01 Nick Kledzik <kledzik@apple.com> | |
278 | ||
279 | * src/MachOReaderRelocatable.hpp: don't try to parse debug_line dwarf if no symboled atoms | |
280 | ||
281 | ----- Tagged ld64-31 | |
282 | ||
283 | 2006-02-01 Eric Christopher <echristo@apple.com> | |
284 | ||
285 | * unit-tests/test-cases/allow-stack-execute/Makefile: Move otool handling... | |
286 | * unit-tests/include/common.makefile: ... here. | |
287 | * unit-tests/bin/fail-if-stdin.pl: New. | |
288 | * unit-tests/test-cases/no-uuid: Ditto. | |
289 | * src/ld.cpp (Linker::) Add fCreateUUID. | |
290 | (::Linker): Initialize. | |
291 | (::collectStabs): Use. Set if dwarf or we have a UUID already. | |
292 | (::writeOutput): Pass as argument to Writer::write along with option. | |
293 | * src/Options.h (Option::emitUUID): Declare. | |
294 | (Option::fEmitUUID): Ditto. | |
295 | * src/Options.cpp (Option::emitUUID): New. | |
296 | (parse): Handle -no_uuid. | |
297 | * src/MachOReaderRelocatable (Reader::Reader): Handle LC_UUID. | |
298 | * src/ExecutableFile.h (Writer::Write): Add createUUID boolean. | |
299 | * src/MachOWriterExecutable: Add UUID forward declaration. | |
300 | (fUUIDAtom): New. | |
301 | (UUIDLoadCommandAtom): Emit LC_UUID if fEmit. New function emit. Size | |
302 | to zero at start. | |
303 | (Writer::writer): Add handle for LC_UUID. If createUUID emit LC_UUID. | |
304 | (MachHeaderAtom::copyRawContent): Don't count a load command if its size is | |
305 | 0. | |
306 | (UUIDLoadCommandAtom::copyRawContent): Depend on fEmit. | |
307 | ||
308 | ||
309 | 2006-01-31 Nick Kledzik <kledzik@apple.com> | |
310 | ||
311 | * unit-tests/test-cases/dwarf-debug-notes : Added | |
312 | * src/ld.cpp: don't generate debug note for .eh symbols | |
313 | * src/MachOReaderRelocatable.hpp: make dwarf line info to atom matching faster and better | |
314 | ||
315 | 2006-01-31 Nick Kledzik <kledzik@apple.com> | |
316 | ||
317 | * ld64.xcodeproj/project.pbxproj : Make buildable on Leopard | |
318 | * src/MachOFileAbstraction.hpp: make buildable without latest cctools headers | |
319 | ||
320 | 2006-01-31 Nick Kledzik <kledzik@apple.com> | |
321 | ||
322 | * src/MachOReaderRelocatable.hpp: better error message for bad relocs | |
323 | * src/ObjectDump.cpp: add emacs tab settings | |
324 | * src/SectCreate.h: ditto | |
325 | * src/SectCreate.cpp: ditto | |
326 | * src/machochecker.cpp: ditto | |
327 | * src/ExecutableFile.h: ditto | |
328 | ||
329 | 2006-01-30 Eric Christopher <echristo@apple.com> | |
330 | ||
331 | * src/ExecutableFile.h: Indent. | |
332 | ||
333 | 2006-01-30 Nick Kledzik <kledzik@apple.com> | |
334 | ||
335 | * src/MachOReaderRelocatable.hpp: performance improvements | |
336 | * src/ld.cpp: now that stubs are synthesized in write, don't need to special case anymore | |
337 | ||
338 | 2006-01-30 Nick Kledzik <kledzik@apple.com> | |
339 | ||
340 | * src/MachOReaderRelocatable.hpp: fix parsing of pcc relocs | |
341 | * unit-tests/test-cases/relocs-asm/relocs-asm.s: add test case for above | |
342 | ||
343 | 2006-01-29 Nick Kledzik <kledzik@apple.com> | |
344 | ||
345 | * unit-tests/test-cases/weak_import: added test case | |
346 | * src/ld.cpp: move code for weak_import mismatch to writer | |
347 | * src/ObjectFile.h: remove ImportWeakness methods | |
348 | * src/MachOReaderDylib.hpp: ditto | |
349 | * src/SectCreate.cpp: ditto | |
350 | * src/Architectures.hpp: add new ReferenceKinds for weak_imports | |
351 | * src/MachOReaderRelocatable.hpp: implement new ReferenceKinds | |
352 | * src/MachOWriterExecutable.hpp: handle new ReferenceKinds and weak_import mismatches | |
353 | ||
354 | 2006-01-29 Nick Kledzik <kledzik@apple.com> | |
355 | ||
356 | * src/Options.cpp: verify -allow_stack_execute is only used on main executables | |
357 | ||
358 | 2006-01-29 Nick Kledzik <kledzik@apple.com> | |
359 | ||
360 | * src/MachOReaderRelocatable.hpp: sync with latest dwarf reader from Geoff | |
361 | * src/debugline.c: sync with latest dwarf reader from Geoff | |
362 | ||
363 | 2006-01-27 Eric Christopher <echristo@apple.com> | |
364 | ||
365 | * src/ld.cpp (Linker::syntesizeStabs): Correct spelling. Update all uses. | |
366 | ||
367 | 2006-01-27 Eric Christopher <echristo@apple.com> | |
368 | ||
369 | * src/Options.h (Options): Add hasExecutableStack, fExecutableStack. | |
370 | * src/Options.cpp (Options::hasExecutableStack): New. | |
371 | (Options::parse): Parse -allow_stack_execute. | |
372 | * src/MachOWriterExecutable.hpp (MachHeaderAtom::copyRawContent): | |
373 | Implement MH_ALLOW_STACK_EXECUTION. | |
374 | * unit-tests/include/common.makefile (FAIL_IF_EMPTY): New. | |
375 | * unit-tests/bin/fail-if-no-stdin.pl: New file. | |
376 | * unit-tests/test-cases/allow-stack-execute: New directory. | |
377 | ||
378 | 2006-01-27 Nick Kledzik <kledzik@apple.com> | |
379 | ||
380 | * src/MachOFileAbstraction.hpp: rely on latest system headers | |
381 | * src/MachOWriterExecutable.hpp: fix ppc stubs. | |
382 | wrote new relocationNeededInFinalLinkedImage() to replace common code | |
383 | ||
384 | 2006-01-27 Eric Christopher <echristo@apple.com> | |
385 | ||
386 | * src/ld.cpp (logTraceInfo): New. | |
387 | (Linker::addArchive): Use. | |
388 | (Linker::addDylib): Ditto. | |
389 | * src/ObjectFile (ReaderOptions::fTraceOutputFile): New. | |
390 | * src/MachOReaderArchive.hpp (Reader::Reader): Move trace | |
391 | logging to Linker::addArchive. | |
392 | * src/Options.cpp (parsePreCommandLineEnvironment): Check | |
393 | LD_PRINT_FILE if tracing dylibs or archives. | |
394 | ||
395 | 2006-01-26 Nick Kledzik <kledzik@apple.com> | |
396 | ||
397 | * src/MachOWriterExecutable.hpp: handle NULL strings in SO debug notes | |
398 | ||
399 | 2006-01-26 Nick Kledzik <kledzik@apple.com> | |
400 | ||
401 | * src/MachOWriterExecutable.hpp: fix header padding calculation and thread state | |
402 | ||
403 | 2006-01-26 Nick Kledzik <kledzik@apple.com> | |
404 | ||
405 | Rewrite all stabs processing. | |
406 | Move sythesize of debug notes into ld.cpp | |
407 | ||
408 | 2006-01-26 Nick Kledzik <kledzik@apple.com> | |
409 | ||
410 | * src/MachOWriterExecutable.hpp: fix ppc and ppc64 stub relocs | |
411 | ||
412 | 2006-01-25 Nick Kledzik <kledzik@apple.com> | |
413 | ||
414 | * ld64.xcodeproj/project.pbxproj: special case building in Curry | |
415 | ||
416 | 2006-01-25 Nick Kledzik <kledzik@apple.com> | |
417 | ||
418 | * src/MachOWriterExecutable.hpp: fix bugs in stub/lazy-pointer synthesis | |
419 | ||
420 | 2006-01-24 Eric Christopher <echristo@apple.com> | |
421 | ||
422 | * src/ld.cpp (Linker::createReaders): Change logging title to XBS. | |
423 | (Linker::addDylib): Ditto. | |
424 | * src/MachOReaderArchive.hpp (Reader::Reader): Ditto. | |
425 | * src/Options.h (fPrintOptions): New. | |
426 | * src/Options.cpp (Options::Options): Initialize above. | |
427 | (Options::checkForFile): Change logging title to XBS. | |
428 | (Options::findFramework): Ditto. | |
429 | (Options::parse): Add log for options. | |
430 | (Options::parsePreCommandLineEnvironmentSettings): Add LD_TRACE_ARCHIVES, | |
431 | LD_TRACE_DYLIBS, and LD_PRINT_OPTIONS. | |
432 | ||
433 | 2006-01-24 Nick Kledzik <kledzik@apple.com> | |
434 | ||
435 | * src/MachOReaderRelocatable.hpp: better C++ eh parsing | |
436 | ||
437 | 2006-01-23 Eric Christopher <echristo@apple.com> | |
438 | ||
439 | * unit-tests/bin/fail-if-exit-zero.pl: New. | |
440 | * unit-tests/include/common.makefile (FAIL_IF_SUCCESS): Use. | |
441 | * unit-tests/allowable-client: New test. | |
442 | * src/ld.cpp (Linker::addDylib): Check allowable clients before adding dylib. | |
443 | * src/Options.h (allowableClients): New. | |
444 | (clientName): Ditto. | |
445 | (fAllowableClients): Ditto. | |
446 | (fClientName): Ditto. | |
447 | * src/Options.cpp: Implement above. | |
448 | (parse): Handle -allowable_client and -client_name. | |
449 | * src/MachOReaderDylib.hpp (getAllowableClients): New. | |
450 | (fAllowableClients): Ditto. | |
451 | (Reader): Process LC_SUB_CLIENT load command. | |
452 | * src/ObjectFile.h (parentUmbrella): New. | |
453 | (getAllowableClients): New. | |
454 | * src/MachOWriterExecutable.hpp (AllowableClientLoadCommandsAtom): New. | |
455 | ||
456 | 2006-01-23 Nick Kledzik <kledzik@apple.com> | |
457 | ||
458 | * unit-tests/test-cases/archive-basic: added | |
459 | * src/ld.cpp: fix shadowed local variable | |
460 | * src/FileAbstraction.hpp: <rdar://problem/4417372> ld64 shouldn't inline when building debug | |
461 | ||
462 | 2006-01-23 Nick Kledzik <kledzik@apple.com> | |
463 | ||
464 | * src/ld.cpp: fix symbol not found error message | |
465 | * src/MachOReaderDylib.hpp: add logging to hash table | |
466 | * src/MachOReaderRelocatable.hpp: enable stabs processing. Handle static functions with stubs | |
467 | handle labeled cstrings. | |
468 | * src/MachOWriterExecutable.hpp: properly suppress atoms not in symbol table. fix low14 error check. | |
469 | add StubAtomHelper. | |
470 | * unit-tests/test-cases/relocs-literals/test.c: add more interesting edge cases | |
471 | ||
472 | 2006-01-17 Nick Kledzik <kledzik@apple.com> | |
473 | ||
474 | * src/MachOReaderRelocatable.hpp: tweaks to synthesizing debug notes | |
475 | ||
476 | 2006-01-16 Nick Kledzik <kledzik@apple.com> | |
477 | ||
478 | * src/debugline.{sh}: added | |
479 | * src/MachOReaderRelocatable.hpp: synthesize debug notes SOL from dwarf | |
480 | * src/MachOWriterExecutable.hpp: fix lazy pointer section | |
481 | * src/ObjectDump.hpp: Fix conditionalization | |
482 | * unit-tests/test-cases/dwarf-strip: added | |
483 | ||
484 | 2006-01-11 Nick Kledzik <kledzik@apple.com> | |
485 | ||
486 | * src/MachOReaderRelocatable.hpp: support Tiger crt1.o build with old ld64 | |
487 | * src/ObjectDump.hpp: Support -arch option | |
488 | ||
489 | 2006-01-10 Nick Kledzik <kledzik@apple.com> | |
490 | ||
491 | * src/MachOWriterExecutable.hpp: fix stubs for ppc64 | |
492 | * src/MachOFileAbstraction.hpp: fix typo for macho_routines | |
493 | * ld64.xcodeproj/project.pbxproj: add machochecker target | |
494 | * src/machochecker.cpp: new skeleton for checking mach-o file bit | |
495 | * unit-tests/: Add support for running machochecker | |
496 | ||
497 | 2006-01-10 Nick Kledzik <kledzik@apple.com> | |
498 | ||
499 | * src/MachOReaderRelocatable.hpp: warn if dwarf can't be parsed | |
500 | * src/MachOReaderArchive.hpp: modTime for OSO stabs from archives is .a modTime | |
501 | ||
502 | 2006-01-09 Nick Kledzik <kledzik@apple.com> | |
503 | ||
504 | * track modification time of .o files so that sythesized OSO stab will have it | |
505 | ||
506 | 2006-01-09 Nick Kledzik <kledzik@apple.com> | |
507 | ||
508 | * src/MachOFileAbstraction.hpp: add macho_uuid_command | |
509 | * src/MachOWriterExecutable.cpp: add UUID load command to generated files | |
510 | ||
511 | 2006-01-09 Nick Kledzik <kledzik@apple.com> | |
512 | ||
513 | * src/MachOReaderDylib.hpp: no longer keep dylib memory mapped | |
514 | * src/ld.cpp: don't track dylib sizes because they are not longer memory mapped | |
515 | ||
516 | 2006-01-05 Nick Kledzik <kledzik@apple.com> | |
517 | ||
518 | * src/MachOReaderRelocatable.hpp: support new relocations | |
519 | ||
520 | 2006-01-05 Nick Kledzik <kledzik@apple.com> | |
521 | ||
522 | * src/MachOReaderDylib.hpp: support MH_DYLIB_STUB | |
523 | * src/MachOReaderRelocatable.hpp: Add Geoff's comp unit extractor | |
524 | ||
525 | 2006-01-05 Nick Kledzik <kledzik@apple.com> | |
526 | ||
527 | refactor: transform Atom::dontStripName() to getSymbolTableInclusion() | |
528 | * src/ld.cpp: pass dyld_stub_binding_helper to writer | |
529 | * src/MachOReaderRelocatable.hpp: update synthesized stabs | |
530 | Ignore stubs and lazy pointers in .o files | |
531 | Support initializers and terminators | |
532 | * src/MachOWriterExecutable.hpp: synthesize stubs and lazy pointers as needed | |
533 | * ld64.xcodeproj/project.pbxproj: change Release target to build with dwarf | |
534 | ||
535 | 2006-01-03 Eric Christopher <echristo@apple.com> | |
536 | ||
537 | * src/Options.h (multipleDefinitionsInDylibs): Declare. | |
538 | (overridingDefinitionInDependentDylib): Ditto. | |
539 | (warnOnMultipleDefinitionsInObjectFiles): Ditto. | |
540 | (multiplyDefined): Remove. | |
541 | (multiplyDefinedUnused): Ditto. | |
542 | (fMultiplyDefined): Ditto. | |
543 | (fWarnOnMultiplyDefined): New. | |
544 | (fMultiplyDefinedDynamic): Ditto. | |
545 | * src/Options.cpp (Options::Options): Initialize above. | |
546 | (overridingDefinitionInDependentDylib): New. | |
547 | (multipleDefinitionsInDylibs): Ditto. | |
548 | (warnOnMultipleDefinitionsInObjectFiles): Ditto. | |
549 | (parse): Update comments. Fix parsing of -y option. | |
550 | Update error message for -dead_strip. Parse above | |
551 | options. | |
552 | ||
553 | 2006-01-02 Nick Kledzik <kledzik@apple.com> | |
554 | ||
555 | * Refactor: move Atom::writeContent() to Writer | |
556 | ||
557 | 2005-12-23 Nick Kledzik <kledzik@apple.com> | |
558 | ||
559 | * Reworked, simplify, and document test harness | |
560 | * unit-tests/README: Added | |
561 | ||
562 | 2005-12-23 Nick Kledzik <kledzik@apple.com> | |
563 | ||
564 | * src/MachOReaderRelocatable.hpp: fixes for Objective-C | |
565 | * unit-tests/test-cases/relocs-objc: Added | |
566 | ||
567 | 2005-12-22 Nick Kledzik <kledzik@apple.com> | |
568 | ||
569 | * src/MachOReaderRelocatable.hpp: fix check that next reloc is pair | |
570 | * src/MachOReaderRelocatable.hpp: Add code to synthesize essential stabs from dwarf | |
571 | ||
572 | 2005-12-21 Nick Kledzik <kledzik@apple.com> | |
573 | ||
574 | * src/MachOReaderRelocatable.hpp: Fix parsing of literal sections | |
575 | * src/MachOWriterExecutable.hpp: Fix writing of literal sections | |
576 | * unit-tests/test-cases/relocs-literals: Added | |
577 | ||
578 | 2005-12-15 Eric Christopher <echristo@apple.com> | |
579 | ||
580 | * src/Options.h (enum Treatment): New. | |
581 | (enum PICTreatment): Delete. | |
582 | (enum VersionMin): New. | |
583 | (prebind): Declare. | |
584 | (macosxVersionMin): Ditto. | |
585 | (multiplyDefined): Ditto. | |
586 | (multiplyDefinedUnused): Ditto. | |
587 | (setVersionMin): Ditto. | |
588 | (setPICTreatment): Delete. | |
589 | (setReadOnlyRelocTreatment): Ditto. | |
590 | (picTreatment): Adjust return type. | |
591 | (parseTreatment): New. | |
592 | (fPrebind): Ditto. | |
593 | (fVersionMin): Ditto. | |
594 | (fPICTreatment): Change type. | |
595 | (fMultiplyDefined): New. | |
596 | (fMultiplyDefinedUnused): Ditto. | |
597 | (fLimitUndefinedSymbols): Ditto. | |
598 | ||
599 | * src/Options.cpp: Fix whitespace. Add comments on options. | |
600 | (Options::Options): Add initializers for new variables. | |
601 | (Options::prebind): New. | |
602 | (Options::macosxVersionMin): Ditto. | |
603 | (Options::parseTreatment): Ditto. | |
604 | (Options::setVersionMin): Ditto. | |
605 | (Options::setReadOnlyRelocTreatment): Delete. | |
606 | (Options::setPICTreatment): Ditto. | |
607 | (Options::Parse): Update for above. Add comments. | |
608 | ||
609 | 2005-12-15 Nick Kledzik <kledzik@apple.com> | |
610 | ||
611 | * src/MachOReaderRelocatable.hpp: Add comments about dwarf | |
612 | ||
613 | 2005-12-14 Nick Kledzik <kledzik@apple.com> | |
614 | ||
615 | * src/ELFFileAbstraction.hpp: Added | |
616 | * src/ELFReaderRelocatable.hpp: Added | |
617 | * Lot of fixes for new architecture | |
618 | ||
619 | 2005-12-13 Nick Kledzik <kledzik@apple.com> | |
620 | ||
621 | * src/MachOReaderRelocatable.hpp: check for S_ATTR_DEBUG and ignore those sections | |
622 | * unit-tests/test-cases/dwarf-ignore: added | |
623 | ||
624 | 2005-12-12 Nick Kledzik <kledzik@apple.com> | |
625 | ||
626 | * Added test harness and three initial tests: | |
627 | relocs-asm, relocs-c, and hello-world | |
628 | ||
629 | 2005-12-12 Nick Kledzik <kledzik@apple.com> | |
630 | ||
631 | * src/MachOReaderRelocatable.hpp: Massive refactoring: | |
632 | Now there are three Atom classes, Chopping into Atoms | |
633 | is done on label boundaries or by knowledge of special | |
634 | sections, Share lots of ppc/ppc64 code. | |
635 | Stabs process code is temporarily disabled. | |
636 | ||
637 | 2005-12-12 Nick Kledzik <kledzik@apple.com> | |
638 | ||
639 | * src/ObjectDump.cpp: Add command line options: -no_content, -stabs, -no_sort | |
640 | ||
641 | 2005-12-11 Eric Christopher <echristo@apple.com> | |
642 | ||
643 | * src/Options.cpp: Reformat. | |
644 | * src/Options.h: Ditto. | |
645 | ||
646 | 2005-12-07 Eric Christopher <echristo@apple.com> | |
647 | ||
648 | * src/MachOReaderRelocatable.hpp (Atom::getAlignment): | |
649 | When calculating alignment of an Atom, take into account | |
650 | the alignment from which we pulled the Atom. | |
651 | ||
652 | 2005-12-06 Nick Kledzik <kledzik@apple.com> | |
653 | ||
654 | * src/Options.cpp src/Options.h: Add design comments | |
655 | ||
656 | 2005-12-05 Eric Christopher <echristo@apple.com> | |
657 | ||
658 | * src/ld.cpp (Linker::createWriter): Uncomment ppc64 and | |
659 | i386 linkers. | |
660 | ||
661 | 2005-12-05 Eric Christopher <echristo@apple.com> | |
662 | ||
663 | * ChangeLog: New file. | |
664 | ||
665 | 2005-12-02 Nick Kledzik <kledzik@apple.com> | |
666 | ||
667 | * src/ObjectFile.h: Add design comments | |
668 | ||
669 | 2005-11-28 Nick Kledzik <kledzik@apple.com> | |
670 | ||
671 | * Refactor Atom to use getDefinitionKind() | |
672 | ||
673 | 2005-11-21 Nick Kledzik <kledzik@apple.com> | |
674 | ||
675 | * src/MachOWriterExecutable.hpp: don't generate section for commons in -r mode | |
676 | ||
677 | 2005-11-18 Nick Kledzik <kledzik@apple.com> | |
678 | ||
679 | * x86 tweaks | |
680 | ||
681 | 2005-11-18 Nick Kledzik <kledzik@apple.com> | |
682 | ||
683 | * src/ObjectDump.cpp: make work with command line arguments | |
684 | ||
685 | 2005-11-18 Nick Kledzik <kledzik@apple.com> | |
686 | ||
687 | * Massive rework to remove preprocessor conditionals and use templates | |
688 | ||
689 | 2005-11-14 Nick Kledzik <kledzik@apple.com> | |
690 | ||
691 | * Created new Subversion repository for ld64 from cvs tag ld64-27.2 |