]> git.saurik.com Git - apple/ld64.git/blob - ChangeLog
ld64-59.3.tar.gz
[apple/ld64.git] / ChangeLog
1
2 ----- Tagged ld64-59.4
3
4 2006-07-11 Nick Kledzik <kledzik@apple.com>
5
6 remove conditionals around x86_64 support
7
8 ----- Tagged ld64-59.3
9
10 2006-07-02 Nick Kledzik <kledzik@apple.com>
11
12 <rdar://problem/4664607> x86_64: instructions with immediate and rip-relative operands need to use new relocation types
13 back port fix for 4656617 to Inca branch
14
15 ----- Tagged ld64-59.2
16
17 2006-06-28 Nick Kledzik <kledzik@apple.com>
18
19 <rdar://problem/4603454> MySQL-36 fails to build with ld64-59
20 back port fix to Inca branch
21
22 ----- Tagged ld64-59
23
24 2006-06-22 Nick Kledzik <kledzik@apple.com>
25
26 <rdar://problem/4596726> ld64 lost DWARF debug notes
27 MachOReaderRelocatable.hpp: add fHasUUID so kDebugInfoStabsUUID can be set later
28 unit-tests/test-cases/dwarf-debug-notes-r: added test case
29
30 2006-06-21 Nick Kledzik <kledzik@apple.com>
31
32 <rdar://problem/4567995> python 64-bit address miscalculation
33 src/MachOReaderRelocatable.hpp: change getTargetOffset() to sign extend the 32-bit value to 64-bits
34
35 2006-06-21 Nick Kledzik <kledzik@apple.com>
36
37 <rdar://problem/4535036> ld64 seems to offset things incorrectly when using -r
38 src/MachOWriterExecutable.hpp: in -r mode, virtual sections don't increment address
39
40
41 ----- Tagged ld64-58
42
43 2006-06-16 Nick Kledzik <kledzik@apple.com>
44
45 src/rebase.cpp: fix page alignment problem
46 src/rebase.cpp: fix endianess problem with local non-lazy pointers
47
48 2006-06-15 Nick Kledzik <kledzik@apple.com>
49
50 src/rebase.cpp: fix to build in CurryWeed
51 ld64.xcodeproj/project.pbxproj: fix to build properly in CurryWeed
52
53 2006-06-15 Nick Kledzik <kledzik@apple.com>
54
55 <rdar://problem/4495309> Support .objc_class_name_* symbols
56 src/ObjectFile.h: Add kSymbolTableInAsAbsolute
57 src/MachOReaderRelocatable.hpp: synthesize references to required objc classes
58 src/MachOWriterExecutable.hpp: write objc_class_name as absolute symbol
59 unit-tests/test-cases/objc-references: added
60
61 2006-06-15 Nick Kledzik <kledzik@apple.com>
62
63 <rdar://problem/4484369> SECTION_ATTRIBUTES unset in ppc64 mach-o header
64 src/MachOWriterExecutable.hpp: add section attribute for sections with code
65
66 2006-06-15 Nick Kledzik <kledzik@apple.com>
67
68 <rdar://problem/4569407> ld64 bogus duplicate symbol name linking GNU libobjc
69 src/MachOReaderRelocatable.hpp: only special case Apple's objc runtime objc classes
70
71 2006-06-15 Nick Kledzik <kledzik@apple.com>
72
73 <rdar://problem/4582999> x86_64: ".align" directive not honored
74 src/MachOReaderRelocatable.hpp: change code alignment to not depend on atom size
75
76 2006-06-14 Nick Kledzik <kledzik@apple.com>
77
78 <rdar://problem/4585335> jump table into middle of weak symbol causes error
79 src/MachOReaderRelocatable.hpp: create direct references to the interior of weak symbols
80 src/MachOWriterExecutable.hpp: don't error on absolute references to interior of weak symbols
81
82 2006-06-13 Nick Kledzik <kledzik@apple.com>
83
84 src/Options.cpp: allow -image_base as an alias for -seg1addr
85
86 2006-06-13 Nick Kledzik <kledzik@apple.com>
87
88 <rdar://problem/4585115> implement -d
89 src/Options.h: add fMakeTentativeDefinitionsReal
90 src/Options.cpp: set fMakeTentativeDefinitionsReal if -d option is found
91 src/MachOWriterExecutable.hpp: turn tentative into real definition if makeTentativeDefinitionsReal
92 unit-tests/test-cases/btentative-to-real: added test case
93
94 2006-06-13 Nick Kledzik <kledzik@apple.com>
95
96 <rdar://problem/4584355> implement -bundle_loader
97 src/Options.h: add fBundleLoader bit to DynamicLibraryOptions
98 src/Options.cpp: handle -bundle_loader
99 src/ld.cpp: pass fBundleLoader bit to MachOReaderDylib
100 src/MachOReaderDylib.hpp: support reading MH_EXECUTE files if fBundleLoader is set
101 src/MachOWriterExecutable.hpp: set bundle loader ordinal as EXECUTABLE_ORDINAL
102 unit-tests/test-cases/bundle_loader: added test case
103
104 2006-06-12 Nick Kledzik <kledzik@apple.com>
105
106 <rdar://problem/4583347> -syslibroot can cause "can't find ordinal for imported" error
107 src/MachOReaderDylib.hpp: in Reader::reExports() compare install path in addition to load path
108
109
110 2006-06-10 Nick Kledzik <kledzik@apple.com>
111
112 <rdar://problem/4548935> Need rebasing tool
113 src/rebase.cpp: added
114 unit-tests/test-cases/rebase-basic: added
115 doc/man/man1/rebase.1: added
116 ld64.xcodeproj/project.pbxproj: added rebase target. changed all targets to build with dwarf
117
118
119 2006-06-10 Nick Kledzik <kledzik@apple.com>
120
121 src/machochecker.cpp: add some ppc reloc sanity checking
122
123 ----- Tagged ld64-57
124
125 2006-06-06 Nick Kledzik <kledzik@apple.com>
126
127 <rdar://problem/4565088> ld64 is not adding a final '/' char on the initial directory-name SO stab debug map entry
128 ld.cpp: Change Linker::synthesizeStabs() to assure directory SO always has a trailing slash
129 unit-tests/test-cases/dwarf-debug-notes/expected-stabs: update with trailing /
130
131 2006-06-06 Nick Kledzik <kledzik@apple.com>
132
133 <rdar://problem/4572702> -sectcreate of a 0-byte section fails
134 MachOWriterExecutable.cpp: Don't error out on zero length segments
135 MachOWriterExecutable.cpp: For ppc64 reloc base address is the first writable segment iff
136 there is a writable segment >4GB from base address
137
138 2006-06-04 Eric Christopher <echristo@apple.com>
139
140 Radar 4560240
141 Radar 3964999
142 * src/ld.cpp (createReader): Fixed error message.
143 (resolve): Ditto.
144 (resolveFrom): Ditto.
145 (checkUndefines): Ditto.
146
147 ----- Tagged ld64-56
148
149 2006-05-23 Nick Kledzik <kledzik@apple.com>
150
151 <rdar://problem/4558079> No debug notes for ObjC methods when linking with ld64
152 ld.cpp: don't limit debug notes to functions starting with underscore
153
154 2006-05-22 Nick Kledzik <kledzik@apple.com>
155
156 <rdar://problem/4556982> ld64 spends much time in mach_o::relocatable::Reader<x86_64>::findAtomByName
157 * src/MachOReaderRelocatable.hpp: add makeReferenceToSymbol() so that x86_64 does not need to do by-name lookups
158
159 2006-05-22 Nick Kledzik <kledzik@apple.com>
160
161 <rdar://problem/4535044> remove inferring warning
162 * ld.cpp: Remove "inferring" warning. If a link failed and now arch was specifed add which arch was
163 inferred to error message
164
165 2006-05-19 Nick Kledzik <kledzik@apple.com>
166
167 <rdar://problem/4544001> ld64 does not honor -arch_multiple
168 * ld.cpp: If fOptions.printArchPrefix(), add architecture name to error message
169
170 2006-05-19 Nick Kledzik <kledzik@apple.com>
171
172 <rdar://problem/4555973> Support S_16BYTE_LITERALS section types
173 * src/MachOReaderRelocatable.hpp: support S_16BYTE_LITERALS
174 * src/MachOWriterExecutable.hpp: support S_16BYTE_LITERALS
175
176 2006-05-19 Nick Kledzik <kledzik@apple.com>
177
178 <rdar://problem/4548803> "warning can't parse dwarf compilation unit info" warnings building debug
179 * src/MachOReaderRelocatable.hpp: fix bugs in dwarf line table parsing
180
181 ----- Tagged ld64-55
182
183 2006-05-18 Nick Kledzik <kledzik@apple.com>
184
185 <rdar://problem/4534339> Default the pagezero size to 4GB for x86-64
186 * src/Options.cpp: Chnage default the pagezero size to 4GB for x86-64
187
188 2006-05-18 Nick Kledzik <kledzik@apple.com>
189
190 <rdar://problem/4552825> x86_64 CarbonCore fails to link with "atom not found in symbolIndex"
191 * src/MachOWriterExecutable.hpp: in buildObjectFileFixups() don't call addObjectRelocs() on kNoFixUp references
192
193 2006-05-18 Nick Kledzik <kledzik@apple.com>
194
195 <rdar://problem/4553555> ld64: .section defaults to read-only
196 * src/MachOReaderRelocatable.hpp: default unknown segments to r/w
197
198 2006-05-18 Nick Kledzik <kledzik@apple.com>
199
200 <rdar://problem/4551990> -fvisibility=hidden causes crashes for x86_64
201 * src/MachOWriterExecutable.hpp: properly handle RIP relative tentative definitions
202
203 2006-05-12 Nick Kledzik <kledzik@apple.com>
204
205 * src/Architectures.hpp: add x86::kAbsolute32
206 * src/MachOReaderRelocatable.hpp: generate x86::kAbsolute32 for mdynamic-no-pic instructions
207 * src/MachOWriterExecutable.hpp: process x86::kAbsolute32 reference kind
208
209 ----- Tagged ld64-54
210
211 2006-05-11 Nick Kledzik <kledzik@apple.com>
212
213 <rdar://problem/4545108> CF-393 failes to link for x86_64
214 * src/MachOWriterExecutable.cpp: fix sign extension for Rel32 relocs in Writer<x86_64>::fixUpReferenceRelocatable
215
216 2006-05-11 Nick Kledzik <kledzik@apple.com>
217
218 <rdar://problem/4501434> warning arch x86_64 not found using i386
219 * src/ld.cpp: remove hack to allow x86_64 to link against i386 dylibs
220
221
222 2006-05-10 Nick Kledzik <kledzik@apple.com>
223
224 <rdar://problem/4543754> x86_64: .objc_class_name symbol names scrambled
225 * src/MachOReaderRelocatable.hpp: properly compute alignment of __OBJC __class sections
226
227
228 2006-05-08 Nick Kledzik <kledzik@apple.com>
229
230 <rdar://problem/3894083> Support -dead_strip
231 * src/Options.h/cpp: implement -why_load and -why_live. Enable -dead_strip.
232 * src/MachOReaderArchive.hpp: implement -why_load
233 * src/MachOReaderRelocatable.hpp: suppress GCC_except_table* symbols in final output
234 * src/ld.cpp: implement dead code stripping
235 * unit-tests/test-cases/dead_strip: added
236
237 ----- Tagged ld64-53
238
239 2006-05-05 Nick Kledzik <kledzik@apple.com>
240
241 * src/Options.cpp: make 10.4 be minimum OS version for newer architectures
242
243 2006-05-05 Nick Kledzik <kledzik@apple.com>
244
245 <rdar://problem/4147604> N_SO symbols in 64-bit builds have a zero address for n.n_value
246 * src/ld.cpp: for SO stabs, associate first and last atom in the SO range
247 * src/MachOWriterExecutable.hpp: use atom associated with SO stab to set ins n_value
248
249 2006-05-05 Nick Kledzik <kledzik@apple.com>
250
251 * MachOWriterExecutable.hpp: fix end FUN stab to have length of function
252
253
254 2006-05-02 Nick Kledzik <kledzik@apple.com>
255
256 <rdar://problem/4496250> 64-bit main executables should have 4GB zero page by default
257 * src/Opptions.cpp: change default pagezero_size to 4GB for ppc64
258 <rdar://problem/4492850> 64 bit: apps with -mdynamic-no-pic seg fault when page zero > 4GB
259 * src/MachOWriterExecutable.cpp: rework pagezero for ppc64 so that if any mdynamic-no-pic code
260 is found, the code is kept in the low 2GB, and a new segment is create to map away up to 4GB.
261
262 2006-05-02 Nick Kledzik <kledzik@apple.com>
263
264 * src/Opptions.cpp: remove warning about -stack_addr not specified. Add warning if 32-bit stack
265 overlaps shared region
266
267 ----- Tagged ld64-52.1
268
269 2006-05-01 Nick Kledzik <kledzik@apple.com>
270
271 * src/MachOReaderRelocatable.cpp: rework handleAnonymousNonLazyPointers() to handle anl's in the middle
272 the __data section too.
273
274 ----- Tagged ld64-52
275
276 2006-04-28 Nick Kledzik <kledzik@apple.com>
277
278 <rdar://problem/4513304> 64-bit: 9A152 TextEdit crashes in dlopen on bring-up
279 * src/MachOReaderRelocatable.cpp: rework anonymous non-lazy-pointer detection
280
281 2006-04-28 Nick Kledzik <kledzik@apple.com>
282
283 <rdar://problem/4528054> 64 Bit: Development build of ppc64 TextEdit gets confused about static variables
284 * src/MachOReaderRelocatable.cpp: mark non-lazy-pointer atoms as scopeTranslationUnit if targetting a static symbol
285
286
287 2006-04-27 Nick Kledzik <kledzik@apple.com>
288
289 <rdar://problem/4498971> dyld crashes ungracefully on x86_64 when there is an internal exception
290 * src/MachOWriterExecutable.cpp: allow non-zero PCRELGOT addends (used by C++ eh frames)
291
292 2006-04-21 Nick Kledzik <kledzik@apple.com>
293
294 * src/Options.cpp: fix default address for ppc64 custom stack
295 * src/MachOWriterExecutable.cpp: fix set up of ppc64 custom stack
296
297
298 2006-04-14 Nick Kledzik <kledzik@apple.com>
299
300 * src/Options.cpp: fix -sub_library processing to work it dylib is specifed with leaf name
301
302 ----- Tagged ld64-51.1
303
304 2006-04-13 Nick Kledzik <kledzik@apple.com>
305
306 <rdar://problem/4513304> 64-bit: 9A152 TextEdit crashes in dlopen on bring-up
307 * src/MachOReaderRelocatable.hpp: when detecting anonymous non-lazy-pointers disqualify data
308 that points to static or global symbols
309 * src/ld.cpp: print version of ld64 in error messages
310
311
312 ----- Tagged ld64-51
313
314 2006-04-11 Nick Kledzik <kledzik@apple.com>
315
316 <rdar://problem/4499168> exported symbols not properly stripped
317 * src/MachOReaderRelocatable.hpp: enable AnonymousAtom::setScope()
318
319 2006-03-31 Nick Kledzik <kledzik@apple.com>
320
321 <rdar://problem/4498391> ld64 fails when linking debug ppc64 HIToolbox
322 * src/MachOReaderRelocatable.hpp: handle anonymous non-lazy pointers encoded with local relocations
323 * src/MachOWriterExecutable.hpp: in -r mode, only generated INDIRECT_SYMBOL_LOCAL for non-lazy targets that
324
325
326 2006-03-31 Nick Kledzik <kledzik@apple.com>
327
328 <rdar://problem/4496499> ld64 should remove generated file if link errors out
329 * src/MachOWriterExecutable.hpp: catch exceptions in Writer<A>::write(), delete output file, and rethrow
330
331
332 ----- Tagged ld64-50
333
334 2006-03-29 Nick Kledzik <kledzik@apple.com>
335
336 * src/MachOWriterExecutable.hpp: fix x86_64 addends when -multi_module forces an external relocation
337
338 2006-03-29 Nick Kledzik <kledzik@apple.com>
339
340 * src/MachOReaderRelocatable.hpp: synthesize .objc_class_name symbols
341 * src/MachOFileAbstraction.hpp: use strncpy for sect/seg names to zero fill trailing space
342
343 2006-03-28 Nick Kledzik <kledzik@apple.com>
344
345 * src/MachOReaderRelocatable.hpp: fix spurious warning about dwarf line info
346
347 ----- Tagged ld64-49.1
348
349 2006-03-25 Nick Kledzik <kledzik@apple.com>
350
351 * MachOWriterExecutable.hpp : don't complain about ppc64 dyld being based > 4GB
352
353 ----- Tagged ld64-49
354
355 2006-03-24 Nick Kledzik <kledzik@apple.com>
356
357 * src/MachOWriterExecutable.hpp: dyld is allowed to have synthesized non-lazy pointers
358 <rdar://problem/4488113> ld64 is after processing bad GSYM stabs
359 * src/MachOReaderRelocatable.hpp: if a GSYM is found that does not match any data symbol, suppress it
360
361 2006-03-23 Nick Kledzik <kledzik@apple.com>
362
363 * src/MachOWriterExecutable.hpp: in Writer<x86>::fixUpReferenceFinal() fix when x86::kPointer is for an
364 external relocation
365
366 2006-03-23 Nick Kledzik <kledzik@apple.com>
367
368 * src/Options.cpp: change macosx-min-version to default to a per-architecture setting
369 add warning if -pagezero_size is not page aligned
370 * src/MachOWriterExecutable.hpp: properly handle external relocations for ppc64 with 4GB pagezero
371 * src/machochecker.cpp: sanity check relocation records
372
373 ----- Tagged ld64-48
374
375 2006-03-21 Nick Kledzik <kledzik@apple.com>
376
377 <rdar://problem/4481406> 64bit: passing function pointer to another function passes the wrong function address
378 * src/MachOReaderRelocatable.hpp: when processing a non-lazy pointer to a static function, don't accidentally
379 match it to a STAB symbol.
380
381 2006-03-21 Nick Kledzik <kledzik@apple.com>
382
383 <rdar://problem/4180168> .eh symbols make up 13% of libstdc++'s stripped binary size
384 * src/ObjectFile.h: add ReaderOptions.fForFinalLinkedImage
385 * src/Options.cpp: setup ReaderOptions.fForFinalLinkedImage
386 * src/MachOReaderRelocatable.hpp: mark .eh symbols kSymbolTableNotIn when building final linked image
387
388 2006-03-21 Nick Kledzik <kledzik@apple.com>
389
390 <rdar://problem/4475928> Inca ld64-45 fatal error with C++ and asm() renaming
391 * src/MachOReaderRelocatable.hpp: fix Reader<x86_64>::makeReferenceToEH(() to walk relocations to find
392 target of eh symbol, rather assume target name is eh symbol name less .eh
393
394 2006-03-21 Nick Kledzik <kledzik@apple.com>
395
396 <rdar://problem/4473742> ld64 does not parse optional second argument to -filelist
397 * unit-tests/test-cases/filelist: added
398 * src/Options.cpp: in Options::loadFileList() handle comma option
399
400 2006-03-21 Nick Kledzik <kledzik@apple.com>
401
402 <rdar://problem/4483625> 32-bit pointer difference out of range for cxx eh frame
403 * src/MachOReaderRelocatable.hpp: x86_64 doesn't have anonymous non-lazy-pointers
404 * src/machochecker.cpp: fix validFile() for x86_64
405 * unit-tests/run-all-unit-tests: add x86_64
406 * unit-tests/include/common.makefile: don't add -g to all compilers
407 * unit-tests/test-cases/relocs-asm/relocs-asm.s: add x86_64 test cases
408 * unit-tests/test-cases/relocs-c/Makefile: fix to work with x86_64
409 * src/ld.cpp: add hack to use i386 dylibs if x86_64 don't exist
410
411 2006-03-19 Nick Kledzik <kledzik@apple.com>
412
413 <rdar://problem/4483330> ld64 crashes whenever I try to link with dylib1.o
414 * src/MachOReaderRelocatable.hpp: in Reader<x86_64>::addRelocReference() fix local relocations
415
416 ----- Tagged ld64-47.1
417
418 2006-03-16 Nick Kledzik <kledzik@apple.com>
419
420 <rdar://problem/4459633> ld64-41 in Leopard doesn't have x86_64 support
421 * ld64.xcodeproj/project.pbxproj: enable x86_64 for Leopard
422
423 ----- Tagged ld64-47
424
425 2006-03-14 Nick Kledzik <kledzik@apple.com>
426
427 * src/Architectures.hpp: redo x86_64 relocation types
428 * src/MachOReaderRelocatable.hpp: redo x86_64 relocation types, make some section type illegal for x86_64
429 * src/MachOWriterExecutable.hpp: redo x86_64 relocation types
430
431 2006-03-13 Nick Kledzik <kledzik@apple.com>
432
433 <rdar://problem/4467122> ld64 -r does not handle internal relocations for x86_64
434 * src/MachOWriterExecutable.hpp: handle internal relocations in Writer<x86_64>::fixUpReferenceRelocatable()
435 and Writer<x86_64>::addObjectRelocs().
436
437 ----- Tagged ld64-46
438
439 2006-03-10 Nick Kledzik <kledzik@apple.com>
440
441 <rdar://problem/4419505> ld64 should figure out architecture from .o files
442 * unit-tests/test-cases/auto-arch: added
443 * src/ld.cpp: added Linker::inferArchitecture() to scan .o files are infer architecture to link
444 * src/MachOReaderArchive.hpp: enhanced validFile() to look deeper into archive and really valdate
445 * src/MachOWriterExecutable.hpp: stop using fOptions.architecture()
446 * src/Options.cpp: stop defaulting to ppc64
447
448
449 2006-03-09 Nick Kledzik <kledzik@apple.com>
450
451 <rdar://problem/4465004> Need "intentionally left blank" dylib stubs
452 * unit-tests/include/common.makefile: add VALID_ARCHS
453 * unit-tests/run-all-unit-tests: set up VALID_ARCHS
454 * unit-tests/test-cases/blank-stubs: add test case
455 * src/ld.cpp: in addDylib(), detect and ignore blank stubs
456 * src/MachOReaderDylib.hpp: in constructor, handle blank stubs
457
458 2006-03-09 Nick Kledzik <kledzik@apple.com>
459
460 <rdar://problem/4471424> crash in stub with 2GB pagezero
461 * src/MachOWriterExecutable.hpp: StubAtom<ppc64> can't be no-pic if a large zero-page is used
462
463 2006-03-06 Nick Kledzik <kledzik@apple.com>
464
465 * src/Options.cpp: addSectionAlignment, warn if -sectalign alignment is not a power of two
466
467 ----- Tagged ld64-45
468
469 2006-03-06 Nick Kledzik <kledzik@apple.com>
470
471 <rdar://problem/4466930> <rdar://problem/4467982> ld64 failed: rel32 out of range when linking a dylib
472 * src/MachOWriterExecutable.cpp: in Writer<x86_64>::fixUpReferenceFinal add (int32_t) cast
473
474 2006-03-06 Nick Kledzik <kledzik@apple.com>
475
476 <rdar://problem/4466930> LP64/9A122: ld64: hang when trying to link DiscRecording framework
477 * src/Options.cpp: addSectionAlignment, warn on zero. Use log2() for alignment conversion
478
479 2006-03-06 Nick Kledzik <kledzik@apple.com>
480
481 <rdar://problem/4457818> x86_THREAD_STATE64_COUNT will change, ld64 must adapt
482 * src/MachOWriterExecutable.hpp: update ThreadsLoadCommandsAtom<x86_64> for new thread status layout
483
484 ----- Tagged ld64-44
485
486 2006-03-04 Nick Kledzik <kledzik@apple.com>
487
488 * src/MachOReaderRelocatable.hpp: fix again test for detection of anonymous non-lazy-pointer.
489 Error out if .o file contains old __DWARFA style dwarf.
490
491 2006-03-02 Nick Kledzik <kledzik@apple.com>
492
493 * src/ld.cpp: only re-map page aligned sub-parts of a fat file. A conformat mmap() requires alignment.
494
495 ----- Tagged ld64-43
496
497 2006-03-03 Nick Kledzik <kledzik@apple.com>
498
499 <rdar://problem/4465443> RIP-relative offsets aren't handled properly when the instruction has immediate operands
500 * src/Architectures.hpp: add x86_64::kPCRel32_*
501 * src/MachOReaderRelocatable.hpp: generate x86_64::kPCRel32_*
502 * src/MachOWriterExecutable.hpp: process x86_64::kPCRel32_*
503
504 2006-03-02 Nick Kledzik <kledzik@apple.com>
505
506 * src/MachOReaderRelocatable.hpp: <rdar://problem/4464370> tighten detection of anonymous non-lazy-pointer
507
508 ----- Tagged ld64-42
509
510 2006-02-28 Nick Kledzik <kledzik@apple.com>
511
512 * src/MachOReaderRelocatable.hpp: fix x86 __IMPORT permissions for class Segment
513
514 2006-02-28 Nick Kledzik <kledzik@apple.com>
515
516 <rdar://problem/4461240> SWB: ld64-37 (can't resolve symbol ___dso_handle)
517 * src/MachOWriterExecutable.hpp: add class DsoHandleAtom
518
519 2006-02-28 Nick Kledzik <kledzik@apple.com>
520
521 * unit-tests/test-cases/literals-coalesce-alignment: added test case
522 * src/ld.cpp: when coalescing strings pick one with greater alignment
523 <rdar://problem/4458660> ld64: CG link failed because lo14 reference to anonymous non-lazy-pointer not aligned
524 * unit-tests/test-cases/relocs-c/test.c: tweak to fail like 4458660
525 * src/MachOReaderRelocatable.hpp: detect anonymous non-lazy-pointer and transform into real non-lazy-pointers
526
527 ----- Tagged ld64-41
528
529 2006-02-24 Nick Kledzik <kledzik@apple.com>
530
531 * src/Options.cpp: Warning about -no_dead_strip_inits_and_terms and -i options.
532 Fix -weak-l option.
533
534 ----- Tagged ld64-40
535
536 2006-02-24 Nick Kledzik <kledzik@apple.com>
537
538 <rdar://problem/4454698> Leopard9A113: ppc64 libstdc++.dylib initializer crashes in pthread_once
539 * unit-tests/test-cases/multiple-entry-points: added
540 * src/MachOReaderRelocatable.hpp: make sure that if there are multiple symbols with the same
541 address, that we properly make zero length atoms for all but last symbol
542
543 2006-02-24 Nick Kledzik <kledzik@apple.com>
544
545 * src/Options.cpp: <rdar://problem/4456093> ld64 doesn't realpath(3) B&I tracing paths
546
547 2006-02-24 Nick Kledzik <kledzik@apple.com>
548
549 * src/Options.cpp: <rdar://problem/4457078> 9A110: ld64 can't deal with section names >16 chars
550
551 2006-02-23 Nick Kledzik <kledzik@apple.com>
552
553 * src/MachOWriterExecutable.hpp: use vector.reserve() to minimize re-allocations
554 * src/Options.cpp: use vector.reserve() to minimize re-allocations
555 * src/MachOReaderRelocatable.hpp: use vector.reserve() to minimize re-allocations
556 * src/MachOReaderDylib.hpp: use vector.reserve() to minimize re-allocations
557 * src/ld.cpp: use vector.reserve() to minimize re-allocations
558
559 2006-02-23 Nick Kledzik <kledzik@apple.com>
560
561 <rdar://problem/4455927> ld64 creates corrupt executables (and has malloc errors) with -headerpad option
562 * src/MachOWriterExecutable.hpp: Change LoadCommandsPaddingAtom<A>::setSize() to update fLargestAtomSize
563 * unit-tests/test-cases/header-pad: added
564
565 2006-02-23 Nick Kledzik <kledzik@apple.com>
566
567 <rdar://problem/4455192> ld64 creates invalid static executables
568 * src/MachOWriterExecutable.hpp: Change MachHeaderAtom<A>::copyRawContent() to create correct header
569 for static executables. Change SymbolTableLoadCommandsAtom to skip LC_DYSYMTAB for static executables
570 * src/machochecker.cpp: Add tests that static executables are well formed
571 * unit-tests/test-cases/static-executable: added
572
573 2006-02-22 Nick Kledzik <kledzik@apple.com>
574
575 * src/Options.cpp: <rdar://problem/4453468> chnage printf on unknown arg to a throw
576
577 ----- Tagged ld64-39
578
579 2006-02-20 Nick Kledzik <kledzik@apple.com>
580
581 * unit-tests/test-cases/read-only-relocs: added new test case
582 * src/MachOWriterExecutable.hpp: <rdar://problem/4448922> detect and error on relocs in read-only sections
583 * src/MachOReaderRelocatable.hpp: fix parsing of i386 absolute addressing relocs
584
585 2006-02-20 Nick Kledzik <kledzik@apple.com>
586
587 * unit-tests/test-cases/stabs-coalesce: added new test case
588 * src/ld.cpp.hpp: <rdar://problem/4449226> in collectStabs removed unused stabs
589
590 ----- Tagged ld64-38
591
592 2006-02-17 Nick Kledzik <kledzik@apple.com>
593
594 * src/MachOWriterExecutable.hpp: <rdar://problem/4434578> set correct n_sect field of stabs
595
596 2006-02-15 Nick Kledzik <kledzik@apple.com>
597
598 * src/MachOReaderArchive.hpp: <rdar://problem/4441920> with -all_load skip over both kinds of SYMDEFs
599 * unit-tests/test-cases/archive-basic/Makefile: add -all_load test case
600
601 ----- Tagged ld64-37
602
603 2006-02-13 Eric Christopher <echristo@apple.com>
604
605 * src/MachOWriterExecutable.hpp (assignFileOffsets): Simplify. Add comments.
606 Adjust whitespace.
607
608 2006-02-13 Nick Kledzik <kledzik@apple.com>
609
610 * src/MachOWriterExecutable.hpp: in Writer<x86>::fixUpReferenceRelocatable() fix kPCRel32 for external case
611
612 2006-02-13 Nick Kledzik <kledzik@apple.com>
613
614 * unit-tests/test-cases/zero-fill: added
615 * src/machochecker.cpp: check that S_ZEROFILL have no file offset
616 * src/MachOWriterExecutable.hpp: rework assignFileOffsets() to fix rdar://problem/4441145
617
618 2006-02-12 Nick Kledzik <kledzik@apple.com>
619
620 * src/MachOReaderRelocatable.hpp: <rdar://problem/4440880> fix use of first zero-length c-string in .o file
621
622 2006-02-12 Nick Kledzik <kledzik@apple.com>
623
624 * src/MachOReaderRelocatable.hpp: <rdar://problem/4440905> fix uninitialized fAlignment
625
626 2006-02-12 Nick Kledzik <kledzik@apple.com>
627
628 * unit-tests/test-cases/relocs-asm/relocs-asm.s: add pointer-diff cases
629 * src/Architectures.hpp: make size explicit in ppc/ppc64 kPointerDiff
630 * src/MachOReaderRelocatable.hpp: don't allow kPointerDiff64 for ppc (just ppc64)
631 * src/MachOWriterExecutable.cpp: set proper r_length for ld -r of kPointerDiff
632
633 ----- Tagged ld64-36
634
635 2006-02-08 Nick Kledzik <kledzik@apple.com>
636
637 * src/MachOReaderRelocatable.cpp: rdar://problem/4438677 Handle when a .o file dwarf line info entries but no functions
638
639 2006-02-08 Nick Kledzik <kledzik@apple.com>
640
641 * src/MachOWriterExecutable.cpp: Properly set address of first TEXT section
642 Keep S_COALESCED attribute for __eh_frame
643
644 2006-02-08 Nick Kledzik <kledzik@apple.com>
645
646 * src/ld.cpp: Temporarily turn allowable client errors into warnings
647 * unit-tests/test-cases/allowable-clientMakefile: Temporarily let warnings be ok for above
648 * src/MachOWriterExecutable.hpp: fix ld -r to not use external relocations for symbols make static
649
650 2006-02-08 Nick Kledzik <kledzik@apple.com>
651
652 * src/ld.cpp: A sibling in an umbrella can always link with its other siblings
653 * unit-tests/test-cases/allowable-client: add test case for above
654
655 2006-02-08 Nick Kledzik <kledzik@apple.com>
656
657 * src/MachOReaderRelocatable.hpp: support LOCAL non-lazy pointers to hidden symbols
658 * src/machochecker.cpp: verify indirect symbol table
659 * unit-tests/test-cases/private-non-lazy: added test case
660
661 2006-02-07 Nick Kledzik <kledzik@apple.com>
662
663 * src/MachOWriterExecutable.hpp: fix calculation of file offsets in ld -r mode
664 * src/machochecker.cpp: verify segment file offsets are within file
665
666 ----- Tagged ld64-35
667
668 2006-02-06 Nick Kledzik <kledzik@apple.com>
669
670 * ld.cpp: allow parent of sub-framework to link
671 * unit-tests/test-cases/allowable-client/Makefile: added cases for parent and clients of parent
672
673 2006-02-04 Nick Kledzik <kledzik@apple.com>
674
675 * unit-tests/test-cases/relocs-c/test.c: added some array cases
676 * src/MachOReaderRelocatable.hpp: factor out makeReferenceToEH()
677 * src/MachOWriterExecutable.hpp: add initial support for non-lazy pointer synthesis
678
679 ----- Tagged ld64-34
680
681 2006-02-04 Nick Kledzik <kledzik@apple.com>
682
683 * src/ld.cpp: <rdar://problem/4432917> fix -no_arch_warnings
684 <rdar://problem/4432932> fix -undefined warning
685 Do BINCL/EINCL optimization for gfull stabs
686 Implement "essential symbols" for stabs (-Sp)
687 Fix allowable clients to only test on direct libraries
688 * src/MachOReaderRelocatable.hpp: support BINCL/EINCL stabs
689
690 2006-02-03 Nick Kledzik <kledzik@apple.com>
691
692 * src/machochecker.cpp: add code to check load command alignment
693 * src/MachOWriterExecutable.hpp: make load command alignment depend on architecture
694
695 2006-02-03 Nick Kledzik <kledzik@apple.com>
696
697 * unit-tests/test-cases/literals-coalesce: added
698 * src/MachOReaderRelocatable.hpp: assure all targets of low14 ppc relocs are at least 4-byte alignmented
699
700 ----- Tagged ld64-33
701
702 2006-02-02 Nick Kledzik <kledzik@apple.com>
703
704 * src/MachOReaderRelocatable.hpp: properly coalesce 8-byte literals
705 * src/MachOWriterExecutable.hpp: support ppc64::kPointerDiff32
706
707 ----- Tagged ld64-32
708
709 2006-02-02 Nick Kledzik <kledzik@apple.com>
710
711 * src/MachOReaderRelocatable.hpp: support anonymous zero fill atoms
712
713 2006-02-02 Nick Kledzik <kledzik@apple.com>
714
715 * src/ld.cpp: A weak definition is good enough, do not search archives for a non-weak one
716 * unit-tests/test-cases/archive-weak: add test case for above
717 * src/MachOReaderRelocatable.hpp: an atom should never have a by-name reference to itself
718 * src/Options.cpp: prevent .eh symbols from being exported via a -exported_symbols_list
719
720 2006-02-01 Nick Kledzik <kledzik@apple.com>
721
722 * src/MachOReaderRelocatable.hpp: Support -macosx_version_min 10.5
723
724 2006-02-01 Nick Kledzik <kledzik@apple.com>
725
726 * src/MachOReaderRelocatable.hpp: don't try to parse debug_line dwarf if no symboled atoms
727
728 ----- Tagged ld64-31
729
730 2006-02-01 Eric Christopher <echristo@apple.com>
731
732 * unit-tests/test-cases/allow-stack-execute/Makefile: Move otool handling...
733 * unit-tests/include/common.makefile: ... here.
734 * unit-tests/bin/fail-if-stdin.pl: New.
735 * unit-tests/test-cases/no-uuid: Ditto.
736 * src/ld.cpp (Linker::) Add fCreateUUID.
737 (::Linker): Initialize.
738 (::collectStabs): Use. Set if dwarf or we have a UUID already.
739 (::writeOutput): Pass as argument to Writer::write along with option.
740 * src/Options.h (Option::emitUUID): Declare.
741 (Option::fEmitUUID): Ditto.
742 * src/Options.cpp (Option::emitUUID): New.
743 (parse): Handle -no_uuid.
744 * src/MachOReaderRelocatable (Reader::Reader): Handle LC_UUID.
745 * src/ExecutableFile.h (Writer::Write): Add createUUID boolean.
746 * src/MachOWriterExecutable: Add UUID forward declaration.
747 (fUUIDAtom): New.
748 (UUIDLoadCommandAtom): Emit LC_UUID if fEmit. New function emit. Size
749 to zero at start.
750 (Writer::writer): Add handle for LC_UUID. If createUUID emit LC_UUID.
751 (MachHeaderAtom::copyRawContent): Don't count a load command if its size is
752 0.
753 (UUIDLoadCommandAtom::copyRawContent): Depend on fEmit.
754
755
756 2006-01-31 Nick Kledzik <kledzik@apple.com>
757
758 * unit-tests/test-cases/dwarf-debug-notes : Added
759 * src/ld.cpp: don't generate debug note for .eh symbols
760 * src/MachOReaderRelocatable.hpp: make dwarf line info to atom matching faster and better
761
762 2006-01-31 Nick Kledzik <kledzik@apple.com>
763
764 * ld64.xcodeproj/project.pbxproj : Make buildable on Leopard
765 * src/MachOFileAbstraction.hpp: make buildable without latest cctools headers
766
767 2006-01-31 Nick Kledzik <kledzik@apple.com>
768
769 * src/MachOReaderRelocatable.hpp: better error message for bad relocs
770 * src/ObjectDump.cpp: add emacs tab settings
771 * src/SectCreate.h: ditto
772 * src/SectCreate.cpp: ditto
773 * src/machochecker.cpp: ditto
774 * src/ExecutableFile.h: ditto
775
776 2006-01-30 Eric Christopher <echristo@apple.com>
777
778 * src/ExecutableFile.h: Indent.
779
780 2006-01-30 Nick Kledzik <kledzik@apple.com>
781
782 * src/MachOReaderRelocatable.hpp: performance improvements
783 * src/ld.cpp: now that stubs are synthesized in write, don't need to special case anymore
784
785 2006-01-30 Nick Kledzik <kledzik@apple.com>
786
787 * src/MachOReaderRelocatable.hpp: fix parsing of pcc relocs
788 * unit-tests/test-cases/relocs-asm/relocs-asm.s: add test case for above
789
790 2006-01-29 Nick Kledzik <kledzik@apple.com>
791
792 * unit-tests/test-cases/weak_import: added test case
793 * src/ld.cpp: move code for weak_import mismatch to writer
794 * src/ObjectFile.h: remove ImportWeakness methods
795 * src/MachOReaderDylib.hpp: ditto
796 * src/SectCreate.cpp: ditto
797 * src/Architectures.hpp: add new ReferenceKinds for weak_imports
798 * src/MachOReaderRelocatable.hpp: implement new ReferenceKinds
799 * src/MachOWriterExecutable.hpp: handle new ReferenceKinds and weak_import mismatches
800
801 2006-01-29 Nick Kledzik <kledzik@apple.com>
802
803 * src/Options.cpp: verify -allow_stack_execute is only used on main executables
804
805 2006-01-29 Nick Kledzik <kledzik@apple.com>
806
807 * src/MachOReaderRelocatable.hpp: sync with latest dwarf reader from Geoff
808 * src/debugline.c: sync with latest dwarf reader from Geoff
809
810 2006-01-27 Eric Christopher <echristo@apple.com>
811
812 * src/ld.cpp (Linker::syntesizeStabs): Correct spelling. Update all uses.
813
814 2006-01-27 Eric Christopher <echristo@apple.com>
815
816 * src/Options.h (Options): Add hasExecutableStack, fExecutableStack.
817 * src/Options.cpp (Options::hasExecutableStack): New.
818 (Options::parse): Parse -allow_stack_execute.
819 * src/MachOWriterExecutable.hpp (MachHeaderAtom::copyRawContent):
820 Implement MH_ALLOW_STACK_EXECUTION.
821 * unit-tests/include/common.makefile (FAIL_IF_EMPTY): New.
822 * unit-tests/bin/fail-if-no-stdin.pl: New file.
823 * unit-tests/test-cases/allow-stack-execute: New directory.
824
825 2006-01-27 Nick Kledzik <kledzik@apple.com>
826
827 * src/MachOFileAbstraction.hpp: rely on latest system headers
828 * src/MachOWriterExecutable.hpp: fix ppc stubs.
829 wrote new relocationNeededInFinalLinkedImage() to replace common code
830
831 2006-01-27 Eric Christopher <echristo@apple.com>
832
833 * src/ld.cpp (logTraceInfo): New.
834 (Linker::addArchive): Use.
835 (Linker::addDylib): Ditto.
836 * src/ObjectFile (ReaderOptions::fTraceOutputFile): New.
837 * src/MachOReaderArchive.hpp (Reader::Reader): Move trace
838 logging to Linker::addArchive.
839 * src/Options.cpp (parsePreCommandLineEnvironment): Check
840 LD_PRINT_FILE if tracing dylibs or archives.
841
842 2006-01-26 Nick Kledzik <kledzik@apple.com>
843
844 * src/MachOWriterExecutable.hpp: handle NULL strings in SO debug notes
845
846 2006-01-26 Nick Kledzik <kledzik@apple.com>
847
848 * src/MachOWriterExecutable.hpp: fix header padding calculation and thread state
849
850 2006-01-26 Nick Kledzik <kledzik@apple.com>
851
852 Rewrite all stabs processing.
853 Move sythesize of debug notes into ld.cpp
854
855 2006-01-26 Nick Kledzik <kledzik@apple.com>
856
857 * src/MachOWriterExecutable.hpp: fix ppc and ppc64 stub relocs
858
859 2006-01-25 Nick Kledzik <kledzik@apple.com>
860
861 * ld64.xcodeproj/project.pbxproj: special case building in Curry
862
863 2006-01-25 Nick Kledzik <kledzik@apple.com>
864
865 * src/MachOWriterExecutable.hpp: fix bugs in stub/lazy-pointer synthesis
866
867 2006-01-24 Eric Christopher <echristo@apple.com>
868
869 * src/ld.cpp (Linker::createReaders): Change logging title to XBS.
870 (Linker::addDylib): Ditto.
871 * src/MachOReaderArchive.hpp (Reader::Reader): Ditto.
872 * src/Options.h (fPrintOptions): New.
873 * src/Options.cpp (Options::Options): Initialize above.
874 (Options::checkForFile): Change logging title to XBS.
875 (Options::findFramework): Ditto.
876 (Options::parse): Add log for options.
877 (Options::parsePreCommandLineEnvironmentSettings): Add LD_TRACE_ARCHIVES,
878 LD_TRACE_DYLIBS, and LD_PRINT_OPTIONS.
879
880 2006-01-24 Nick Kledzik <kledzik@apple.com>
881
882 * src/MachOReaderRelocatable.hpp: better C++ eh parsing
883
884 2006-01-23 Eric Christopher <echristo@apple.com>
885
886 * unit-tests/bin/fail-if-exit-zero.pl: New.
887 * unit-tests/include/common.makefile (FAIL_IF_SUCCESS): Use.
888 * unit-tests/allowable-client: New test.
889 * src/ld.cpp (Linker::addDylib): Check allowable clients before adding dylib.
890 * src/Options.h (allowableClients): New.
891 (clientName): Ditto.
892 (fAllowableClients): Ditto.
893 (fClientName): Ditto.
894 * src/Options.cpp: Implement above.
895 (parse): Handle -allowable_client and -client_name.
896 * src/MachOReaderDylib.hpp (getAllowableClients): New.
897 (fAllowableClients): Ditto.
898 (Reader): Process LC_SUB_CLIENT load command.
899 * src/ObjectFile.h (parentUmbrella): New.
900 (getAllowableClients): New.
901 * src/MachOWriterExecutable.hpp (AllowableClientLoadCommandsAtom): New.
902
903 2006-01-23 Nick Kledzik <kledzik@apple.com>
904
905 * unit-tests/test-cases/archive-basic: added
906 * src/ld.cpp: fix shadowed local variable
907 * src/FileAbstraction.hpp: <rdar://problem/4417372> ld64 shouldn't inline when building debug
908
909 2006-01-23 Nick Kledzik <kledzik@apple.com>
910
911 * src/ld.cpp: fix symbol not found error message
912 * src/MachOReaderDylib.hpp: add logging to hash table
913 * src/MachOReaderRelocatable.hpp: enable stabs processing. Handle static functions with stubs
914 handle labeled cstrings.
915 * src/MachOWriterExecutable.hpp: properly suppress atoms not in symbol table. fix low14 error check.
916 add StubAtomHelper.
917 * unit-tests/test-cases/relocs-literals/test.c: add more interesting edge cases
918
919 2006-01-17 Nick Kledzik <kledzik@apple.com>
920
921 * src/MachOReaderRelocatable.hpp: tweaks to synthesizing debug notes
922
923 2006-01-16 Nick Kledzik <kledzik@apple.com>
924
925 * src/debugline.{sh}: added
926 * src/MachOReaderRelocatable.hpp: synthesize debug notes SOL from dwarf
927 * src/MachOWriterExecutable.hpp: fix lazy pointer section
928 * src/ObjectDump.hpp: Fix conditionalization
929 * unit-tests/test-cases/dwarf-strip: added
930
931 2006-01-11 Nick Kledzik <kledzik@apple.com>
932
933 * src/MachOReaderRelocatable.hpp: support Tiger crt1.o build with old ld64
934 * src/ObjectDump.hpp: Support -arch option
935
936 2006-01-10 Nick Kledzik <kledzik@apple.com>
937
938 * src/MachOWriterExecutable.hpp: fix stubs for ppc64
939 * src/MachOFileAbstraction.hpp: fix typo for macho_routines
940 * ld64.xcodeproj/project.pbxproj: add machochecker target
941 * src/machochecker.cpp: new skeleton for checking mach-o file bit
942 * unit-tests/: Add support for running machochecker
943
944 2006-01-10 Nick Kledzik <kledzik@apple.com>
945
946 * src/MachOReaderRelocatable.hpp: warn if dwarf can't be parsed
947 * src/MachOReaderArchive.hpp: modTime for OSO stabs from archives is .a modTime
948
949 2006-01-09 Nick Kledzik <kledzik@apple.com>
950
951 * track modification time of .o files so that sythesized OSO stab will have it
952
953 2006-01-09 Nick Kledzik <kledzik@apple.com>
954
955 * src/MachOFileAbstraction.hpp: add macho_uuid_command
956 * src/MachOWriterExecutable.cpp: add UUID load command to generated files
957
958 2006-01-09 Nick Kledzik <kledzik@apple.com>
959
960 * src/MachOReaderDylib.hpp: no longer keep dylib memory mapped
961 * src/ld.cpp: don't track dylib sizes because they are not longer memory mapped
962
963 2006-01-05 Nick Kledzik <kledzik@apple.com>
964
965 * src/MachOReaderRelocatable.hpp: support new relocations
966
967 2006-01-05 Nick Kledzik <kledzik@apple.com>
968
969 * src/MachOReaderDylib.hpp: support MH_DYLIB_STUB
970 * src/MachOReaderRelocatable.hpp: Add Geoff's comp unit extractor
971
972 2006-01-05 Nick Kledzik <kledzik@apple.com>
973
974 refactor: transform Atom::dontStripName() to getSymbolTableInclusion()
975 * src/ld.cpp: pass dyld_stub_binding_helper to writer
976 * src/MachOReaderRelocatable.hpp: update synthesized stabs
977 Ignore stubs and lazy pointers in .o files
978 Support initializers and terminators
979 * src/MachOWriterExecutable.hpp: synthesize stubs and lazy pointers as needed
980 * ld64.xcodeproj/project.pbxproj: change Release target to build with dwarf
981
982 2006-01-03 Eric Christopher <echristo@apple.com>
983
984 * src/Options.h (multipleDefinitionsInDylibs): Declare.
985 (overridingDefinitionInDependentDylib): Ditto.
986 (warnOnMultipleDefinitionsInObjectFiles): Ditto.
987 (multiplyDefined): Remove.
988 (multiplyDefinedUnused): Ditto.
989 (fMultiplyDefined): Ditto.
990 (fWarnOnMultiplyDefined): New.
991 (fMultiplyDefinedDynamic): Ditto.
992 * src/Options.cpp (Options::Options): Initialize above.
993 (overridingDefinitionInDependentDylib): New.
994 (multipleDefinitionsInDylibs): Ditto.
995 (warnOnMultipleDefinitionsInObjectFiles): Ditto.
996 (parse): Update comments. Fix parsing of -y option.
997 Update error message for -dead_strip. Parse above
998 options.
999
1000 2006-01-02 Nick Kledzik <kledzik@apple.com>
1001
1002 * Refactor: move Atom::writeContent() to Writer
1003
1004 2005-12-23 Nick Kledzik <kledzik@apple.com>
1005
1006 * Reworked, simplify, and document test harness
1007 * unit-tests/README: Added
1008
1009 2005-12-23 Nick Kledzik <kledzik@apple.com>
1010
1011 * src/MachOReaderRelocatable.hpp: fixes for Objective-C
1012 * unit-tests/test-cases/relocs-objc: Added
1013
1014 2005-12-22 Nick Kledzik <kledzik@apple.com>
1015
1016 * src/MachOReaderRelocatable.hpp: fix check that next reloc is pair
1017 * src/MachOReaderRelocatable.hpp: Add code to synthesize essential stabs from dwarf
1018
1019 2005-12-21 Nick Kledzik <kledzik@apple.com>
1020
1021 * src/MachOReaderRelocatable.hpp: Fix parsing of literal sections
1022 * src/MachOWriterExecutable.hpp: Fix writing of literal sections
1023 * unit-tests/test-cases/relocs-literals: Added
1024
1025 2005-12-15 Eric Christopher <echristo@apple.com>
1026
1027 * src/Options.h (enum Treatment): New.
1028 (enum PICTreatment): Delete.
1029 (enum VersionMin): New.
1030 (prebind): Declare.
1031 (macosxVersionMin): Ditto.
1032 (multiplyDefined): Ditto.
1033 (multiplyDefinedUnused): Ditto.
1034 (setVersionMin): Ditto.
1035 (setPICTreatment): Delete.
1036 (setReadOnlyRelocTreatment): Ditto.
1037 (picTreatment): Adjust return type.
1038 (parseTreatment): New.
1039 (fPrebind): Ditto.
1040 (fVersionMin): Ditto.
1041 (fPICTreatment): Change type.
1042 (fMultiplyDefined): New.
1043 (fMultiplyDefinedUnused): Ditto.
1044 (fLimitUndefinedSymbols): Ditto.
1045
1046 * src/Options.cpp: Fix whitespace. Add comments on options.
1047 (Options::Options): Add initializers for new variables.
1048 (Options::prebind): New.
1049 (Options::macosxVersionMin): Ditto.
1050 (Options::parseTreatment): Ditto.
1051 (Options::setVersionMin): Ditto.
1052 (Options::setReadOnlyRelocTreatment): Delete.
1053 (Options::setPICTreatment): Ditto.
1054 (Options::Parse): Update for above. Add comments.
1055
1056 2005-12-15 Nick Kledzik <kledzik@apple.com>
1057
1058 * src/MachOReaderRelocatable.hpp: Add comments about dwarf
1059
1060 2005-12-14 Nick Kledzik <kledzik@apple.com>
1061
1062 * src/ELFFileAbstraction.hpp: Added
1063 * src/ELFReaderRelocatable.hpp: Added
1064 * Lot of fixes for new architecture
1065 * Added __OPEN_SOURCE__ to "Preprocessor Macros" to disable new architecture support by default
1066
1067 2005-12-13 Nick Kledzik <kledzik@apple.com>
1068
1069 * src/MachOReaderRelocatable.hpp: check for S_ATTR_DEBUG and ignore those sections
1070 * unit-tests/test-cases/dwarf-ignore: added
1071
1072 2005-12-12 Nick Kledzik <kledzik@apple.com>
1073
1074 * Added test harness and three initial tests:
1075 relocs-asm, relocs-c, and hello-world
1076
1077 2005-12-12 Nick Kledzik <kledzik@apple.com>
1078
1079 * src/MachOReaderRelocatable.hpp: Massive refactoring:
1080 Now there are three Atom classes, Chopping into Atoms
1081 is done on label boundaries or by knowledge of special
1082 sections, Share lots of ppc/ppc64 code.
1083 Stabs process code is temporarily disabled.
1084
1085 2005-12-12 Nick Kledzik <kledzik@apple.com>
1086
1087 * src/ObjectDump.cpp: Add command line options: -no_content, -stabs, -no_sort
1088
1089 2005-12-11 Eric Christopher <echristo@apple.com>
1090
1091 * src/Options.cpp: Reformat.
1092 * src/Options.h: Ditto.
1093
1094 2005-12-07 Eric Christopher <echristo@apple.com>
1095
1096 * src/MachOReaderRelocatable.hpp (Atom::getAlignment):
1097 When calculating alignment of an Atom, take into account
1098 the alignment from which we pulled the Atom.
1099
1100 2005-12-06 Nick Kledzik <kledzik@apple.com>
1101
1102 * src/Options.cpp src/Options.h: Add design comments
1103
1104 2005-12-05 Eric Christopher <echristo@apple.com>
1105
1106 * src/ld.cpp (Linker::createWriter): Uncomment ppc64 and
1107 i386 linkers.
1108
1109 2005-12-05 Eric Christopher <echristo@apple.com>
1110
1111 * ChangeLog: New file.
1112
1113 2005-12-02 Nick Kledzik <kledzik@apple.com>
1114
1115 * src/ObjectFile.h: Add design comments
1116
1117 2005-11-30 Nick Kledzik <kledzik@apple.com>
1118
1119 * Fix uses of __OPEN_SOURCE__
1120
1121 2005-11-28 Nick Kledzik <kledzik@apple.com>
1122
1123 * Refactor Atom to use getDefinitionKind()
1124
1125 2005-11-21 Nick Kledzik <kledzik@apple.com>
1126
1127 * src/MachOWriterExecutable.hpp: don't generate section for commons in -r mode
1128
1129 2005-11-18 Nick Kledzik <kledzik@apple.com>
1130
1131 * x86 tweaks
1132
1133 2005-11-18 Nick Kledzik <kledzik@apple.com>
1134
1135 * src/ObjectDump.cpp: make work with command line arguments
1136
1137 2005-11-18 Nick Kledzik <kledzik@apple.com>
1138
1139 * Massive rework to remove preprocessor conditionals and use templates
1140
1141 2005-11-14 Nick Kledzik <kledzik@apple.com>
1142
1143 * Created new Subversion repository for ld64 from cvs tag ld64-27.2