]> git.saurik.com Git - apple/ld64.git/blame - ChangeLog
ld64-62.1.tar.gz
[apple/ld64.git] / ChangeLog
CommitLineData
d696c285 1
74cfe461
A
22006-09-22 Nick Kledzik <kledzik@apple.com>
3
4 ld64.xcodeproj/project.pbxproj: change install name back to ld64
5 src/Options.cpp: remove support for rolling over to ld_classic
6 src/ld.cpp: remove support for rolling over to ld_classic
7
8
9----- Tagged ld64-62
10
112006-08-15 Nick Kledzik <kledzik@apple.com>
12
13 <rdar://problem/4681062> wrong error message when symbol is found in unused indirect library
14 src/ld.cpp: remove indirect libraries if they are not re-exported
15 unit-tests/test-cases/indirect-dylib: added test case
16
17
182006-08-15 Nick Kledzik <kledzik@apple.com>
19
20 <rdar://problem/3930461> alignment needs to be richer
21 src/ObjectFile.h: define ObjectFile::Alignment class for tracking rich alignment info
22 src/ld.cpp: modify SymbolTable::add() to work with new Alignment type
23 src/MachOReaderRelocatable.hpp: use new Alignment type. Remove alignAtLeast() and handleAnonymousNonLazyPointers()
24 src/MachOWriterExecutable.hpp: update for new Alignment type, use modulus when calculating layout address
25 src/ObjectDump.cpp: print richer Alignment info
26 unit-tests/test-cases/align-modulus: added test case
27
28
292006-08-11 Nick Kledzik <kledzik@apple.com>
30
31 remove OPEN_SOURCE conditionals around x86_64 support
32
33
342006-07-31 Nick Kledzik <kledzik@apple.com>
35
36 <rdar://problem/4654131> ld64 while linking cc1 [ when dead_strip is ON]
37 src/ld.cpp: Add ivar fAtomsWithUnresolvedReferences to track atoms not initially resolvable
38 unit-tests/test-cases/dead_strip-archive: added test case
39
40
412006-07-31 Nick Kledzik <kledzik@apple.com>
42
43 <rdar://problem/4656617> x86_64: instructions with immediate and rip-relative operands need to use new relocation types
44 src/MachOWriterExecutable.hpp: generate new reloc types in -r mode
45 src/MachOReaderRelocatable.hpp: parse new reloc types
46 unit-tests/test-cases/relocs-asm/relocs-asm.s: add test cases for new reloc type
47
48
492006-07-18 Nick Kledzik <kledzik@apple.com>
50
51 src/MachOReaderRelocatable.hpp: suppress warning about dwarf info parsing for one benign no-op case
52 the compiler emits when there are not functions in the __text section
53
54
552006-07-17 Nick Kledzik <kledzik@apple.com>
56
57 <rdar://problem/4634840> faster debug note generateion
58 src/ld.cpp: rework collectDebugInfo() to produce all debug notes in one pass, intead of a
59 pass per .o file. Added timing info for collectDebugInfo() to -print_statistics
60 unit-tests/test-cases/dwarf-debug-notes-r/Makefile: add expliced -arch to ld -r
61 unit-tests/test-cases/dwarf-debug-notes-r/expected-stabs: alter for new debug notes order
62
63
642006-07-17 Nick Kledzik <kledzik@apple.com>
65
66 <rdar://problem/4623994> ld64 VSIZE is 1.18GB when building Finder ppc64
67 src/ld.cpp: fixed typo in createReader() that prevented dylibs from being unmapped
68
69----- Tagged ld64-61.1
86b84c30
A
70
712006-07-11 Nick Kledzik <kledzik@apple.com>
74cfe461
A
72
73 <rdar://problem/4622049> ld64-61: gcc DejaGnu tests failing due to -arch followed by unknown architecture name
74 src/Options.cpp: map ppc750, ppc7400, ppc7450, and ppc970 to ppc. Improve error message
86b84c30 75
74cfe461 762006-07-11 Nick Kledzik <kledzik@apple.com>
86b84c30 77
74cfe461
A
78 <rdar://problem/4622769> If -arch is missing, rollover to ld_classic does not happen
79 src/Options.h: make gotoClassicLinker() public
80 src/ld.cpp: call gotoClassicLinker() if the inferred architecture is ppc or i386
86b84c30 81
74cfe461 82----- Tagged ld64-61
86b84c30 83
74cfe461 842006-06-29 Nick Kledzik <kledzik@apple.com>
86b84c30 85
74cfe461
A
86 <rdar://problem/4606628> ld64 should be renamed to ld
87 src/Options.cpp: exec() ld_classic if -arch ppc or -arch i386 is seen
88 src/ld.cpp: alter version string
89 ld64.xcodeproj/project.pbxproj: change install location to /usr/bin/ld, add symlink from /usr/bin/ld64
90 doc/man/man1/ld.1: added
91
92----- Tagged ld64-60
93
942006-06-28 Nick Kledzik <kledzik@apple.com>
95
96 <rdar://problem/4604539> Can't link large ppc64 program: ld64 says "bl out of range"
97 MachOWriterExecutable.hpp: fix branch island generation to work for weak_import functions
98 and properly chain together branch islands
99 MachOReaderRelocatable.hpp: improve performance of huge .o file reading by sorted references
100 only when done
86b84c30
A
101
1022006-06-28 Nick Kledzik <kledzik@apple.com>
103
104 <rdar://problem/4603454> MySQL-36 fails to build with ld64-59
74cfe461
A
105 src/MachOReaderRelocatable.hpp: back out fix for 4585335
106 src/MachOWriterExecutable.hpp: back out fix for 4585335
107
1082006-06-27 Nick Kledzik <kledzik@apple.com>
109
110 src/MachOReaderRelocatable.hpp: handle N_GSYM without ending :G() since that is how
111 dwarf debug notes are formed.
112
1132006-06-23 Nick Kledzik <kledzik@apple.com>
114
115 <rdar://problem/4599239 objc class with no superclass causes bad undefined symbol
116 src/MachOReaderRelocatable.hpp: handle NULL superclass in objc_class
117 unit-tests/test-cases/relocs-objc/test.m: add case with no super class
118
119
1202006-06-23 Nick Kledzik <kledzik@apple.com>
121
122 <rdar://problem/4313369> ld64 doesn't support variant linking -framework fw,_debug
123 src/Options.cpp: enhance findFramework() to support suffixes
86b84c30 124
69a49097 125----- Tagged ld64-59
d696c285 126
69a49097 1272006-06-22 Nick Kledzik <kledzik@apple.com>
d696c285 128
69a49097 129 <rdar://problem/4596726> ld64 lost DWARF debug notes
74cfe461 130 src/MachOReaderRelocatable.hpp: add fHasUUID so kDebugInfoStabsUUID can be set later
69a49097 131 unit-tests/test-cases/dwarf-debug-notes-r: added test case
d696c285 132
69a49097 1332006-06-21 Nick Kledzik <kledzik@apple.com>
d696c285 134
69a49097
A
135 <rdar://problem/4567995> python 64-bit address miscalculation
136 src/MachOReaderRelocatable.hpp: change getTargetOffset() to sign extend the 32-bit value to 64-bits
d696c285 137
69a49097 1382006-06-21 Nick Kledzik <kledzik@apple.com>
d696c285 139
69a49097 140 <rdar://problem/4535036> ld64 seems to offset things incorrectly when using -r
74cfe461 141 src/MachOWriterExecutable.hpp: in -r mode, virtual sections should not increment address
d696c285 142
d696c285 143
69a49097 144----- Tagged ld64-58
d696c285 145
69a49097 1462006-06-16 Nick Kledzik <kledzik@apple.com>
d696c285 147
69a49097
A
148 src/rebase.cpp: fix page alignment problem
149 src/rebase.cpp: fix endianess problem with local non-lazy pointers
d696c285 150
69a49097 1512006-06-15 Nick Kledzik <kledzik@apple.com>
d696c285 152
69a49097
A
153 src/rebase.cpp: fix to build in CurryWeed
154 ld64.xcodeproj/project.pbxproj: fix to build properly in CurryWeed
d696c285 155
69a49097 1562006-06-15 Nick Kledzik <kledzik@apple.com>
d696c285 157
69a49097
A
158 <rdar://problem/4495309> Support .objc_class_name_* symbols
159 src/ObjectFile.h: Add kSymbolTableInAsAbsolute
160 src/MachOReaderRelocatable.hpp: synthesize references to required objc classes
161 src/MachOWriterExecutable.hpp: write objc_class_name as absolute symbol
162 unit-tests/test-cases/objc-references: added
d696c285 163
69a49097 1642006-06-15 Nick Kledzik <kledzik@apple.com>
d696c285 165
69a49097
A
166 <rdar://problem/4484369> SECTION_ATTRIBUTES unset in ppc64 mach-o header
167 src/MachOWriterExecutable.hpp: add section attribute for sections with code
d696c285 168
69a49097 1692006-06-15 Nick Kledzik <kledzik@apple.com>
d696c285 170
69a49097 171 <rdar://problem/4569407> ld64 bogus duplicate symbol name linking GNU libobjc
74cfe461 172 src/MachOReaderRelocatable.hpp: only special case Apple objc runtime objc classes
d696c285 173
69a49097 1742006-06-15 Nick Kledzik <kledzik@apple.com>
d696c285 175
69a49097
A
176 <rdar://problem/4582999> x86_64: ".align" directive not honored
177 src/MachOReaderRelocatable.hpp: change code alignment to not depend on atom size
d696c285 178
69a49097 1792006-06-14 Nick Kledzik <kledzik@apple.com>
d696c285 180
69a49097
A
181 <rdar://problem/4585335> jump table into middle of weak symbol causes error
182 src/MachOReaderRelocatable.hpp: create direct references to the interior of weak symbols
74cfe461 183 src/MachOWriterExecutable.hpp: do not error on absolute references to interior of weak symbols
d696c285 184
69a49097 1852006-06-13 Nick Kledzik <kledzik@apple.com>
d696c285 186
69a49097 187 src/Options.cpp: allow -image_base as an alias for -seg1addr
d696c285 188
69a49097 1892006-06-13 Nick Kledzik <kledzik@apple.com>
d696c285 190
69a49097
A
191 <rdar://problem/4585115> implement -d
192 src/Options.h: add fMakeTentativeDefinitionsReal
193 src/Options.cpp: set fMakeTentativeDefinitionsReal if -d option is found
194 src/MachOWriterExecutable.hpp: turn tentative into real definition if makeTentativeDefinitionsReal
195 unit-tests/test-cases/btentative-to-real: added test case
d696c285 196
69a49097 1972006-06-13 Nick Kledzik <kledzik@apple.com>
d696c285 198
69a49097
A
199 <rdar://problem/4584355> implement -bundle_loader
200 src/Options.h: add fBundleLoader bit to DynamicLibraryOptions
201 src/Options.cpp: handle -bundle_loader
202 src/ld.cpp: pass fBundleLoader bit to MachOReaderDylib
203 src/MachOReaderDylib.hpp: support reading MH_EXECUTE files if fBundleLoader is set
204 src/MachOWriterExecutable.hpp: set bundle loader ordinal as EXECUTABLE_ORDINAL
205 unit-tests/test-cases/bundle_loader: added test case
d696c285 206
69a49097 2072006-06-12 Nick Kledzik <kledzik@apple.com>
d696c285 208
69a49097
A
209 <rdar://problem/4583347> -syslibroot can cause "can't find ordinal for imported" error
210 src/MachOReaderDylib.hpp: in Reader::reExports() compare install path in addition to load path
d696c285 211
d696c285 212
69a49097 2132006-06-10 Nick Kledzik <kledzik@apple.com>
d696c285 214
69a49097
A
215 <rdar://problem/4548935> Need rebasing tool
216 src/rebase.cpp: added
217 unit-tests/test-cases/rebase-basic: added
218 doc/man/man1/rebase.1: added
219 ld64.xcodeproj/project.pbxproj: added rebase target. changed all targets to build with dwarf
220
d696c285 221
69a49097 2222006-06-10 Nick Kledzik <kledzik@apple.com>
d696c285 223
69a49097 224 src/machochecker.cpp: add some ppc reloc sanity checking
d696c285 225
69a49097 226----- Tagged ld64-57
d696c285 227
69a49097 2282006-06-06 Nick Kledzik <kledzik@apple.com>
d696c285 229
69a49097
A
230 <rdar://problem/4565088> ld64 is not adding a final '/' char on the initial directory-name SO stab debug map entry
231 ld.cpp: Change Linker::synthesizeStabs() to assure directory SO always has a trailing slash
232 unit-tests/test-cases/dwarf-debug-notes/expected-stabs: update with trailing /
233
2342006-06-06 Nick Kledzik <kledzik@apple.com>
d696c285 235
69a49097
A
236 <rdar://problem/4572702> -sectcreate of a 0-byte section fails
237 MachOWriterExecutable.cpp: Don't error out on zero length segments
238 MachOWriterExecutable.cpp: For ppc64 reloc base address is the first writable segment iff
239 there is a writable segment >4GB from base address
d696c285 240
69a49097 2412006-06-04 Eric Christopher <echristo@apple.com>
d696c285 242
69a49097
A
243 Radar 4560240
244 Radar 3964999
245 * src/ld.cpp (createReader): Fixed error message.
246 (resolve): Ditto.
247 (resolveFrom): Ditto.
248 (checkUndefines): Ditto.
d696c285 249
69a49097 250----- Tagged ld64-56
d696c285 251
69a49097 2522006-05-23 Nick Kledzik <kledzik@apple.com>
d696c285 253
69a49097
A
254 <rdar://problem/4558079> No debug notes for ObjC methods when linking with ld64
255 ld.cpp: don't limit debug notes to functions starting with underscore
d696c285 256
69a49097 2572006-05-22 Nick Kledzik <kledzik@apple.com>
d696c285 258
69a49097
A
259 <rdar://problem/4556982> ld64 spends much time in mach_o::relocatable::Reader<x86_64>::findAtomByName
260 * src/MachOReaderRelocatable.hpp: add makeReferenceToSymbol() so that x86_64 does not need to do by-name lookups
d696c285 261
69a49097 2622006-05-22 Nick Kledzik <kledzik@apple.com>
d696c285 263
69a49097
A
264 <rdar://problem/4535044> remove inferring warning
265 * ld.cpp: Remove "inferring" warning. If a link failed and now arch was specifed add which arch was
266 inferred to error message
d696c285 267
69a49097 2682006-05-19 Nick Kledzik <kledzik@apple.com>
d696c285 269
69a49097
A
270 <rdar://problem/4544001> ld64 does not honor -arch_multiple
271 * ld.cpp: If fOptions.printArchPrefix(), add architecture name to error message
d696c285 272
69a49097 2732006-05-19 Nick Kledzik <kledzik@apple.com>
d696c285 274
69a49097
A
275 <rdar://problem/4555973> Support S_16BYTE_LITERALS section types
276 * src/MachOReaderRelocatable.hpp: support S_16BYTE_LITERALS
277 * src/MachOWriterExecutable.hpp: support S_16BYTE_LITERALS
d696c285 278
69a49097 2792006-05-19 Nick Kledzik <kledzik@apple.com>
d696c285 280
69a49097
A
281 <rdar://problem/4548803> "warning can't parse dwarf compilation unit info" warnings building debug
282 * src/MachOReaderRelocatable.hpp: fix bugs in dwarf line table parsing
d696c285 283
69a49097 284----- Tagged ld64-55
d696c285 285
69a49097 2862006-05-18 Nick Kledzik <kledzik@apple.com>
d696c285 287
69a49097
A
288 <rdar://problem/4534339> Default the pagezero size to 4GB for x86-64
289 * src/Options.cpp: Chnage default the pagezero size to 4GB for x86-64
d696c285 290
69a49097 2912006-05-18 Nick Kledzik <kledzik@apple.com>
d696c285 292
69a49097
A
293 <rdar://problem/4552825> x86_64 CarbonCore fails to link with "atom not found in symbolIndex"
294 * src/MachOWriterExecutable.hpp: in buildObjectFileFixups() don't call addObjectRelocs() on kNoFixUp references
d696c285 295
69a49097 2962006-05-18 Nick Kledzik <kledzik@apple.com>
d696c285 297
69a49097
A
298 <rdar://problem/4553555> ld64: .section defaults to read-only
299 * src/MachOReaderRelocatable.hpp: default unknown segments to r/w
d696c285 300
69a49097 3012006-05-18 Nick Kledzik <kledzik@apple.com>
d696c285 302
69a49097
A
303 <rdar://problem/4551990> -fvisibility=hidden causes crashes for x86_64
304 * src/MachOWriterExecutable.hpp: properly handle RIP relative tentative definitions
d696c285 305
69a49097 3062006-05-12 Nick Kledzik <kledzik@apple.com>
d696c285 307
69a49097
A
308 * src/Architectures.hpp: add x86::kAbsolute32
309 * src/MachOReaderRelocatable.hpp: generate x86::kAbsolute32 for mdynamic-no-pic instructions
310 * src/MachOWriterExecutable.hpp: process x86::kAbsolute32 reference kind
d696c285 311
69a49097 312----- Tagged ld64-54
d696c285 313
69a49097 3142006-05-11 Nick Kledzik <kledzik@apple.com>
d696c285 315
69a49097
A
316 <rdar://problem/4545108> CF-393 failes to link for x86_64
317 * src/MachOWriterExecutable.cpp: fix sign extension for Rel32 relocs in Writer<x86_64>::fixUpReferenceRelocatable
d696c285 318
69a49097 3192006-05-11 Nick Kledzik <kledzik@apple.com>
d696c285 320
69a49097
A
321 <rdar://problem/4501434> warning arch x86_64 not found using i386
322 * src/ld.cpp: remove hack to allow x86_64 to link against i386 dylibs
d696c285 323
d696c285 324
69a49097 3252006-05-10 Nick Kledzik <kledzik@apple.com>
d696c285 326
69a49097
A
327 <rdar://problem/4543754> x86_64: .objc_class_name symbol names scrambled
328 * src/MachOReaderRelocatable.hpp: properly compute alignment of __OBJC __class sections
d696c285 329
d696c285 330
69a49097 3312006-05-08 Nick Kledzik <kledzik@apple.com>
d696c285 332
69a49097
A
333 <rdar://problem/3894083> Support -dead_strip
334 * src/Options.h/cpp: implement -why_load and -why_live. Enable -dead_strip.
335 * src/MachOReaderArchive.hpp: implement -why_load
336 * src/MachOReaderRelocatable.hpp: suppress GCC_except_table* symbols in final output
337 * src/ld.cpp: implement dead code stripping
338 * unit-tests/test-cases/dead_strip: added
d696c285 339
69a49097 340----- Tagged ld64-53
d696c285 341
69a49097 3422006-05-05 Nick Kledzik <kledzik@apple.com>
d696c285 343
69a49097 344 * src/Options.cpp: make 10.4 be minimum OS version for newer architectures
d696c285 345
69a49097 3462006-05-05 Nick Kledzik <kledzik@apple.com>
d696c285 347
69a49097
A
348 <rdar://problem/4147604> N_SO symbols in 64-bit builds have a zero address for n.n_value
349 * src/ld.cpp: for SO stabs, associate first and last atom in the SO range
350 * src/MachOWriterExecutable.hpp: use atom associated with SO stab to set ins n_value
d696c285 351
69a49097 3522006-05-05 Nick Kledzik <kledzik@apple.com>
d696c285 353
69a49097 354 * MachOWriterExecutable.hpp: fix end FUN stab to have length of function
d696c285 355
d696c285 356
69a49097 3572006-05-02 Nick Kledzik <kledzik@apple.com>
d696c285 358
69a49097
A
359 <rdar://problem/4496250> 64-bit main executables should have 4GB zero page by default
360 * src/Opptions.cpp: change default pagezero_size to 4GB for ppc64
361 <rdar://problem/4492850> 64 bit: apps with -mdynamic-no-pic seg fault when page zero > 4GB
362 * src/MachOWriterExecutable.cpp: rework pagezero for ppc64 so that if any mdynamic-no-pic code
363 is found, the code is kept in the low 2GB, and a new segment is create to map away up to 4GB.
d696c285 364
69a49097 3652006-05-02 Nick Kledzik <kledzik@apple.com>
d696c285 366
69a49097
A
367 * src/Opptions.cpp: remove warning about -stack_addr not specified. Add warning if 32-bit stack
368 overlaps shared region
d696c285 369
69a49097 370----- Tagged ld64-52.1
d696c285 371
69a49097 3722006-05-01 Nick Kledzik <kledzik@apple.com>
d696c285 373
69a49097
A
374 * src/MachOReaderRelocatable.cpp: rework handleAnonymousNonLazyPointers() to handle anl's in the middle
375 the __data section too.
d696c285 376
69a49097 377----- Tagged ld64-52
d696c285 378
69a49097 3792006-04-28 Nick Kledzik <kledzik@apple.com>
d696c285 380
69a49097
A
381 <rdar://problem/4513304> 64-bit: 9A152 TextEdit crashes in dlopen on bring-up
382 * src/MachOReaderRelocatable.cpp: rework anonymous non-lazy-pointer detection
d696c285 383
69a49097 3842006-04-28 Nick Kledzik <kledzik@apple.com>
d696c285 385
69a49097
A
386 <rdar://problem/4528054> 64 Bit: Development build of ppc64 TextEdit gets confused about static variables
387 * src/MachOReaderRelocatable.cpp: mark non-lazy-pointer atoms as scopeTranslationUnit if targetting a static symbol
d696c285 388
d696c285 389
d696c285 390
69a49097 3912006-04-21 Nick Kledzik <kledzik@apple.com>
d696c285 392
69a49097
A
393 * src/Options.cpp: fix default address for ppc64 custom stack
394 * src/MachOWriterExecutable.cpp: fix set up of ppc64 custom stack
d696c285 395
d696c285 396
69a49097 3972006-04-14 Nick Kledzik <kledzik@apple.com>
d696c285 398
69a49097 399 * src/Options.cpp: fix -sub_library processing to work it dylib is specifed with leaf name
d696c285 400
69a49097 401----- Tagged ld64-51.1
d696c285 402
69a49097 4032006-04-13 Nick Kledzik <kledzik@apple.com>
d696c285 404
69a49097
A
405 <rdar://problem/4513304> 64-bit: 9A152 TextEdit crashes in dlopen on bring-up
406 * src/MachOReaderRelocatable.hpp: when detecting anonymous non-lazy-pointers disqualify data
407 that points to static or global symbols
408 * src/ld.cpp: print version of ld64 in error messages
d696c285 409
d696c285 410
69a49097 411----- Tagged ld64-51
d696c285 412
69a49097 4132006-04-11 Nick Kledzik <kledzik@apple.com>
d696c285 414
69a49097
A
415 <rdar://problem/4499168> exported symbols not properly stripped
416 * src/MachOReaderRelocatable.hpp: enable AnonymousAtom::setScope()
d696c285 417
69a49097 4182006-03-31 Nick Kledzik <kledzik@apple.com>
d696c285 419
69a49097
A
420 <rdar://problem/4498391> ld64 fails when linking debug ppc64 HIToolbox
421 * src/MachOReaderRelocatable.hpp: handle anonymous non-lazy pointers encoded with local relocations
422 * src/MachOWriterExecutable.hpp: in -r mode, only generated INDIRECT_SYMBOL_LOCAL for non-lazy targets that
d696c285 423
d696c285 424
69a49097 4252006-03-31 Nick Kledzik <kledzik@apple.com>
d696c285 426
69a49097
A
427 <rdar://problem/4496499> ld64 should remove generated file if link errors out
428 * src/MachOWriterExecutable.hpp: catch exceptions in Writer<A>::write(), delete output file, and rethrow
d696c285 429
d696c285 430
69a49097 431----- Tagged ld64-50
d696c285 432
d696c285 433
69a49097 4342006-03-29 Nick Kledzik <kledzik@apple.com>
d696c285 435
69a49097
A
436 * src/MachOReaderRelocatable.hpp: synthesize .objc_class_name symbols
437 * src/MachOFileAbstraction.hpp: use strncpy for sect/seg names to zero fill trailing space
d696c285 438
69a49097 4392006-03-28 Nick Kledzik <kledzik@apple.com>
d696c285 440
69a49097 441 * src/MachOReaderRelocatable.hpp: fix spurious warning about dwarf line info
d696c285 442
69a49097 443----- Tagged ld64-49.1
d696c285 444
69a49097 4452006-03-25 Nick Kledzik <kledzik@apple.com>
d696c285 446
69a49097 447 * MachOWriterExecutable.hpp : don't complain about ppc64 dyld being based > 4GB
d696c285 448
69a49097 449----- Tagged ld64-49
d696c285 450
69a49097 4512006-03-24 Nick Kledzik <kledzik@apple.com>
d696c285 452
69a49097
A
453 * src/MachOWriterExecutable.hpp: dyld is allowed to have synthesized non-lazy pointers
454 <rdar://problem/4488113> ld64 is after processing bad GSYM stabs
455 * src/MachOReaderRelocatable.hpp: if a GSYM is found that does not match any data symbol, suppress it
d696c285 456
69a49097 4572006-03-23 Nick Kledzik <kledzik@apple.com>
d696c285 458
69a49097
A
459 * src/MachOWriterExecutable.hpp: in Writer<x86>::fixUpReferenceFinal() fix when x86::kPointer is for an
460 external relocation
d696c285 461
69a49097 4622006-03-23 Nick Kledzik <kledzik@apple.com>
d696c285 463
69a49097
A
464 * src/Options.cpp: change macosx-min-version to default to a per-architecture setting
465 add warning if -pagezero_size is not page aligned
466 * src/MachOWriterExecutable.hpp: properly handle external relocations for ppc64 with 4GB pagezero
467 * src/machochecker.cpp: sanity check relocation records
d696c285 468
69a49097 469----- Tagged ld64-48
d696c285 470
69a49097 4712006-03-21 Nick Kledzik <kledzik@apple.com>
d696c285 472
69a49097
A
473 <rdar://problem/4481406> 64bit: passing function pointer to another function passes the wrong function address
474 * src/MachOReaderRelocatable.hpp: when processing a non-lazy pointer to a static function, don't accidentally
475 match it to a STAB symbol.
d696c285 476
69a49097 4772006-03-21 Nick Kledzik <kledzik@apple.com>
d696c285 478
69a49097
A
479 <rdar://problem/4180168> .eh symbols make up 13% of libstdc++'s stripped binary size
480 * src/ObjectFile.h: add ReaderOptions.fForFinalLinkedImage
481 * src/Options.cpp: setup ReaderOptions.fForFinalLinkedImage
482 * src/MachOReaderRelocatable.hpp: mark .eh symbols kSymbolTableNotIn when building final linked image
d696c285 483
69a49097 4842006-03-21 Nick Kledzik <kledzik@apple.com>
d696c285 485
69a49097
A
486 <rdar://problem/4473742> ld64 does not parse optional second argument to -filelist
487 * unit-tests/test-cases/filelist: added
488 * src/Options.cpp: in Options::loadFileList() handle comma option
d696c285 489
86b84c30
A
490
491----- Tagged ld64-47.1
492
d696c285 493
69a49097 494----- Tagged ld64-47
d696c285 495
d696c285 496
69a49097 497----- Tagged ld64-46
d696c285 498
69a49097 4992006-03-10 Nick Kledzik <kledzik@apple.com>
d696c285 500
69a49097
A
501 <rdar://problem/4419505> ld64 should figure out architecture from .o files
502 * unit-tests/test-cases/auto-arch: added
503 * src/ld.cpp: added Linker::inferArchitecture() to scan .o files are infer architecture to link
504 * src/MachOReaderArchive.hpp: enhanced validFile() to look deeper into archive and really valdate
505 * src/MachOWriterExecutable.hpp: stop using fOptions.architecture()
506 * src/Options.cpp: stop defaulting to ppc64
d696c285 507
d696c285 508
69a49097 5092006-03-09 Nick Kledzik <kledzik@apple.com>
d696c285 510
69a49097
A
511 <rdar://problem/4465004> Need "intentionally left blank" dylib stubs
512 * unit-tests/include/common.makefile: add VALID_ARCHS
513 * unit-tests/run-all-unit-tests: set up VALID_ARCHS
514 * unit-tests/test-cases/blank-stubs: add test case
515 * src/ld.cpp: in addDylib(), detect and ignore blank stubs
516 * src/MachOReaderDylib.hpp: in constructor, handle blank stubs
d696c285 517
69a49097 5182006-03-09 Nick Kledzik <kledzik@apple.com>
d696c285 519
69a49097
A
520 <rdar://problem/4471424> crash in stub with 2GB pagezero
521 * src/MachOWriterExecutable.hpp: StubAtom<ppc64> can't be no-pic if a large zero-page is used
d696c285 522
69a49097 5232006-03-06 Nick Kledzik <kledzik@apple.com>
d696c285 524
69a49097 525 * src/Options.cpp: addSectionAlignment, warn if -sectalign alignment is not a power of two
d696c285 526
69a49097 527----- Tagged ld64-45
d696c285 528
d696c285 529
69a49097 5302006-03-06 Nick Kledzik <kledzik@apple.com>
d696c285 531
69a49097
A
532 <rdar://problem/4466930> LP64/9A122: ld64: hang when trying to link DiscRecording framework
533 * src/Options.cpp: addSectionAlignment, warn on zero. Use log2() for alignment conversion
d696c285 534
d696c285 535
69a49097 536----- Tagged ld64-44
d696c285 537
69a49097 5382006-03-04 Nick Kledzik <kledzik@apple.com>
d696c285 539
69a49097
A
540 * src/MachOReaderRelocatable.hpp: fix again test for detection of anonymous non-lazy-pointer.
541 Error out if .o file contains old __DWARFA style dwarf.
d696c285 542
69a49097 5432006-03-02 Nick Kledzik <kledzik@apple.com>
d696c285 544
69a49097 545 * src/ld.cpp: only re-map page aligned sub-parts of a fat file. A conformat mmap() requires alignment.
d696c285 546
69a49097 547----- Tagged ld64-43
d696c285 548
86b84c30
A
549
5502006-03-02 Nick Kledzik <kledzik@apple.com>
551
552 * src/MachOReaderRelocatable.hpp: <rdar://problem/4464370> tighten detection of anonymous non-lazy-pointer
553
554----- Tagged ld64-42
555
5562006-02-28 Nick Kledzik <kledzik@apple.com>
557
558 * src/MachOReaderRelocatable.hpp: fix x86 __IMPORT permissions for class Segment
559
5602006-02-28 Nick Kledzik <kledzik@apple.com>
561
562 <rdar://problem/4461240> SWB: ld64-37 (can't resolve symbol ___dso_handle)
563 * src/MachOWriterExecutable.hpp: add class DsoHandleAtom
564
5652006-02-28 Nick Kledzik <kledzik@apple.com>
566
567 * unit-tests/test-cases/literals-coalesce-alignment: added test case
568 * src/ld.cpp: when coalescing strings pick one with greater alignment
569 <rdar://problem/4458660> ld64: CG link failed because lo14 reference to anonymous non-lazy-pointer not aligned
570 * unit-tests/test-cases/relocs-c/test.c: tweak to fail like 4458660
571 * src/MachOReaderRelocatable.hpp: detect anonymous non-lazy-pointer and transform into real non-lazy-pointers
572
573----- Tagged ld64-41
574
5752006-02-24 Nick Kledzik <kledzik@apple.com>
576
577 * src/Options.cpp: Warning about -no_dead_strip_inits_and_terms and -i options.
578 Fix -weak-l option.
579
580----- Tagged ld64-40
581
5822006-02-24 Nick Kledzik <kledzik@apple.com>
583
584 <rdar://problem/4454698> Leopard9A113: ppc64 libstdc++.dylib initializer crashes in pthread_once
585 * unit-tests/test-cases/multiple-entry-points: added
586 * src/MachOReaderRelocatable.hpp: make sure that if there are multiple symbols with the same
587 address, that we properly make zero length atoms for all but last symbol
588
5892006-02-24 Nick Kledzik <kledzik@apple.com>
590
591 * src/Options.cpp: <rdar://problem/4456093> ld64 doesn't realpath(3) B&I tracing paths
592
5932006-02-24 Nick Kledzik <kledzik@apple.com>
594
595 * src/Options.cpp: <rdar://problem/4457078> 9A110: ld64 can't deal with section names >16 chars
596
5972006-02-23 Nick Kledzik <kledzik@apple.com>
598
599 * src/MachOWriterExecutable.hpp: use vector.reserve() to minimize re-allocations
600 * src/Options.cpp: use vector.reserve() to minimize re-allocations
601 * src/MachOReaderRelocatable.hpp: use vector.reserve() to minimize re-allocations
602 * src/MachOReaderDylib.hpp: use vector.reserve() to minimize re-allocations
603 * src/ld.cpp: use vector.reserve() to minimize re-allocations
604
6052006-02-23 Nick Kledzik <kledzik@apple.com>
606
607 <rdar://problem/4455927> ld64 creates corrupt executables (and has malloc errors) with -headerpad option
608 * src/MachOWriterExecutable.hpp: Change LoadCommandsPaddingAtom<A>::setSize() to update fLargestAtomSize
609 * unit-tests/test-cases/header-pad: added
610
6112006-02-23 Nick Kledzik <kledzik@apple.com>
612
613 <rdar://problem/4455192> ld64 creates invalid static executables
614 * src/MachOWriterExecutable.hpp: Change MachHeaderAtom<A>::copyRawContent() to create correct header
615 for static executables. Change SymbolTableLoadCommandsAtom to skip LC_DYSYMTAB for static executables
616 * src/machochecker.cpp: Add tests that static executables are well formed
617 * unit-tests/test-cases/static-executable: added
618
6192006-02-22 Nick Kledzik <kledzik@apple.com>
620
621 * src/Options.cpp: <rdar://problem/4453468> chnage printf on unknown arg to a throw
622
623----- Tagged ld64-39
624
6252006-02-20 Nick Kledzik <kledzik@apple.com>
626
627 * unit-tests/test-cases/read-only-relocs: added new test case
628 * src/MachOWriterExecutable.hpp: <rdar://problem/4448922> detect and error on relocs in read-only sections
629 * src/MachOReaderRelocatable.hpp: fix parsing of i386 absolute addressing relocs
630
6312006-02-20 Nick Kledzik <kledzik@apple.com>
632
633 * unit-tests/test-cases/stabs-coalesce: added new test case
634 * src/ld.cpp.hpp: <rdar://problem/4449226> in collectStabs removed unused stabs
635
636----- Tagged ld64-38
637
6382006-02-17 Nick Kledzik <kledzik@apple.com>
639
640 * src/MachOWriterExecutable.hpp: <rdar://problem/4434578> set correct n_sect field of stabs
641
6422006-02-15 Nick Kledzik <kledzik@apple.com>
643
644 * src/MachOReaderArchive.hpp: <rdar://problem/4441920> with -all_load skip over both kinds of SYMDEFs
645 * unit-tests/test-cases/archive-basic/Makefile: add -all_load test case
646
647----- Tagged ld64-37
648
6492006-02-13 Eric Christopher <echristo@apple.com>
650
651 * src/MachOWriterExecutable.hpp (assignFileOffsets): Simplify. Add comments.
652 Adjust whitespace.
653
6542006-02-13 Nick Kledzik <kledzik@apple.com>
655
656 * src/MachOWriterExecutable.hpp: in Writer<x86>::fixUpReferenceRelocatable() fix kPCRel32 for external case
657
6582006-02-13 Nick Kledzik <kledzik@apple.com>
659
660 * unit-tests/test-cases/zero-fill: added
661 * src/machochecker.cpp: check that S_ZEROFILL have no file offset
662 * src/MachOWriterExecutable.hpp: rework assignFileOffsets() to fix rdar://problem/4441145
663
6642006-02-12 Nick Kledzik <kledzik@apple.com>
665
666 * src/MachOReaderRelocatable.hpp: <rdar://problem/4440880> fix use of first zero-length c-string in .o file
667
6682006-02-12 Nick Kledzik <kledzik@apple.com>
669
670 * src/MachOReaderRelocatable.hpp: <rdar://problem/4440905> fix uninitialized fAlignment
671
6722006-02-12 Nick Kledzik <kledzik@apple.com>
673
674 * unit-tests/test-cases/relocs-asm/relocs-asm.s: add pointer-diff cases
675 * src/Architectures.hpp: make size explicit in ppc/ppc64 kPointerDiff
676 * src/MachOReaderRelocatable.hpp: don't allow kPointerDiff64 for ppc (just ppc64)
677 * src/MachOWriterExecutable.cpp: set proper r_length for ld -r of kPointerDiff
678
679----- Tagged ld64-36
680
6812006-02-08 Nick Kledzik <kledzik@apple.com>
682
683 * src/MachOReaderRelocatable.cpp: rdar://problem/4438677 Handle when a .o file dwarf line info entries but no functions
684
6852006-02-08 Nick Kledzik <kledzik@apple.com>
686
687 * src/MachOWriterExecutable.cpp: Properly set address of first TEXT section
688 Keep S_COALESCED attribute for __eh_frame
689
6902006-02-08 Nick Kledzik <kledzik@apple.com>
691
692 * src/ld.cpp: Temporarily turn allowable client errors into warnings
693 * unit-tests/test-cases/allowable-clientMakefile: Temporarily let warnings be ok for above
694 * src/MachOWriterExecutable.hpp: fix ld -r to not use external relocations for symbols make static
695
6962006-02-08 Nick Kledzik <kledzik@apple.com>
697
698 * src/ld.cpp: A sibling in an umbrella can always link with its other siblings
699 * unit-tests/test-cases/allowable-client: add test case for above
700
7012006-02-08 Nick Kledzik <kledzik@apple.com>
702
703 * src/MachOReaderRelocatable.hpp: support LOCAL non-lazy pointers to hidden symbols
704 * src/machochecker.cpp: verify indirect symbol table
705 * unit-tests/test-cases/private-non-lazy: added test case
706
7072006-02-07 Nick Kledzik <kledzik@apple.com>
708
709 * src/MachOWriterExecutable.hpp: fix calculation of file offsets in ld -r mode
710 * src/machochecker.cpp: verify segment file offsets are within file
711
712----- Tagged ld64-35
713
7142006-02-06 Nick Kledzik <kledzik@apple.com>
715
716 * ld.cpp: allow parent of sub-framework to link
717 * unit-tests/test-cases/allowable-client/Makefile: added cases for parent and clients of parent
718
7192006-02-04 Nick Kledzik <kledzik@apple.com>
720
721 * unit-tests/test-cases/relocs-c/test.c: added some array cases
722 * src/MachOReaderRelocatable.hpp: factor out makeReferenceToEH()
723 * src/MachOWriterExecutable.hpp: add initial support for non-lazy pointer synthesis
724
725----- Tagged ld64-34
726
7272006-02-04 Nick Kledzik <kledzik@apple.com>
728
729 * src/ld.cpp: <rdar://problem/4432917> fix -no_arch_warnings
730 <rdar://problem/4432932> fix -undefined warning
731 Do BINCL/EINCL optimization for gfull stabs
732 Implement "essential symbols" for stabs (-Sp)
733 Fix allowable clients to only test on direct libraries
734 * src/MachOReaderRelocatable.hpp: support BINCL/EINCL stabs
735
7362006-02-03 Nick Kledzik <kledzik@apple.com>
737
738 * src/machochecker.cpp: add code to check load command alignment
739 * src/MachOWriterExecutable.hpp: make load command alignment depend on architecture
740
7412006-02-03 Nick Kledzik <kledzik@apple.com>
742
743 * unit-tests/test-cases/literals-coalesce: added
744 * src/MachOReaderRelocatable.hpp: assure all targets of low14 ppc relocs are at least 4-byte alignmented
745
746----- Tagged ld64-33
747
7482006-02-02 Nick Kledzik <kledzik@apple.com>
749
750 * src/MachOReaderRelocatable.hpp: properly coalesce 8-byte literals
751 * src/MachOWriterExecutable.hpp: support ppc64::kPointerDiff32
752
753----- Tagged ld64-32
754
7552006-02-02 Nick Kledzik <kledzik@apple.com>
756
757 * src/MachOReaderRelocatable.hpp: support anonymous zero fill atoms
758
7592006-02-02 Nick Kledzik <kledzik@apple.com>
760
761 * src/ld.cpp: A weak definition is good enough, do not search archives for a non-weak one
762 * unit-tests/test-cases/archive-weak: add test case for above
763 * src/MachOReaderRelocatable.hpp: an atom should never have a by-name reference to itself
764 * src/Options.cpp: prevent .eh symbols from being exported via a -exported_symbols_list
765
7662006-02-01 Nick Kledzik <kledzik@apple.com>
767
768 * src/MachOReaderRelocatable.hpp: Support -macosx_version_min 10.5
769
7702006-02-01 Nick Kledzik <kledzik@apple.com>
771
772 * src/MachOReaderRelocatable.hpp: don't try to parse debug_line dwarf if no symboled atoms
773
774----- Tagged ld64-31
775
7762006-02-01 Eric Christopher <echristo@apple.com>
777
778 * unit-tests/test-cases/allow-stack-execute/Makefile: Move otool handling...
779 * unit-tests/include/common.makefile: ... here.
780 * unit-tests/bin/fail-if-stdin.pl: New.
781 * unit-tests/test-cases/no-uuid: Ditto.
782 * src/ld.cpp (Linker::) Add fCreateUUID.
783 (::Linker): Initialize.
784 (::collectStabs): Use. Set if dwarf or we have a UUID already.
785 (::writeOutput): Pass as argument to Writer::write along with option.
786 * src/Options.h (Option::emitUUID): Declare.
787 (Option::fEmitUUID): Ditto.
788 * src/Options.cpp (Option::emitUUID): New.
789 (parse): Handle -no_uuid.
790 * src/MachOReaderRelocatable (Reader::Reader): Handle LC_UUID.
791 * src/ExecutableFile.h (Writer::Write): Add createUUID boolean.
792 * src/MachOWriterExecutable: Add UUID forward declaration.
793 (fUUIDAtom): New.
794 (UUIDLoadCommandAtom): Emit LC_UUID if fEmit. New function emit. Size
795 to zero at start.
796 (Writer::writer): Add handle for LC_UUID. If createUUID emit LC_UUID.
797 (MachHeaderAtom::copyRawContent): Don't count a load command if its size is
798 0.
799 (UUIDLoadCommandAtom::copyRawContent): Depend on fEmit.
800
801
8022006-01-31 Nick Kledzik <kledzik@apple.com>
803
804 * unit-tests/test-cases/dwarf-debug-notes : Added
805 * src/ld.cpp: don't generate debug note for .eh symbols
806 * src/MachOReaderRelocatable.hpp: make dwarf line info to atom matching faster and better
807
8082006-01-31 Nick Kledzik <kledzik@apple.com>
809
810 * ld64.xcodeproj/project.pbxproj : Make buildable on Leopard
811 * src/MachOFileAbstraction.hpp: make buildable without latest cctools headers
812
8132006-01-31 Nick Kledzik <kledzik@apple.com>
814
815 * src/MachOReaderRelocatable.hpp: better error message for bad relocs
816 * src/ObjectDump.cpp: add emacs tab settings
817 * src/SectCreate.h: ditto
818 * src/SectCreate.cpp: ditto
819 * src/machochecker.cpp: ditto
820 * src/ExecutableFile.h: ditto
821
8222006-01-30 Eric Christopher <echristo@apple.com>
823
824 * src/ExecutableFile.h: Indent.
825
8262006-01-30 Nick Kledzik <kledzik@apple.com>
827
828 * src/MachOReaderRelocatable.hpp: performance improvements
829 * src/ld.cpp: now that stubs are synthesized in write, don't need to special case anymore
830
8312006-01-30 Nick Kledzik <kledzik@apple.com>
832
833 * src/MachOReaderRelocatable.hpp: fix parsing of pcc relocs
834 * unit-tests/test-cases/relocs-asm/relocs-asm.s: add test case for above
835
8362006-01-29 Nick Kledzik <kledzik@apple.com>
837
838 * unit-tests/test-cases/weak_import: added test case
839 * src/ld.cpp: move code for weak_import mismatch to writer
840 * src/ObjectFile.h: remove ImportWeakness methods
841 * src/MachOReaderDylib.hpp: ditto
842 * src/SectCreate.cpp: ditto
843 * src/Architectures.hpp: add new ReferenceKinds for weak_imports
844 * src/MachOReaderRelocatable.hpp: implement new ReferenceKinds
845 * src/MachOWriterExecutable.hpp: handle new ReferenceKinds and weak_import mismatches
846
8472006-01-29 Nick Kledzik <kledzik@apple.com>
848
849 * src/Options.cpp: verify -allow_stack_execute is only used on main executables
850
8512006-01-29 Nick Kledzik <kledzik@apple.com>
852
853 * src/MachOReaderRelocatable.hpp: sync with latest dwarf reader from Geoff
854 * src/debugline.c: sync with latest dwarf reader from Geoff
855
8562006-01-27 Eric Christopher <echristo@apple.com>
857
858 * src/ld.cpp (Linker::syntesizeStabs): Correct spelling. Update all uses.
859
8602006-01-27 Eric Christopher <echristo@apple.com>
861
862 * src/Options.h (Options): Add hasExecutableStack, fExecutableStack.
863 * src/Options.cpp (Options::hasExecutableStack): New.
864 (Options::parse): Parse -allow_stack_execute.
865 * src/MachOWriterExecutable.hpp (MachHeaderAtom::copyRawContent):
866 Implement MH_ALLOW_STACK_EXECUTION.
867 * unit-tests/include/common.makefile (FAIL_IF_EMPTY): New.
868 * unit-tests/bin/fail-if-no-stdin.pl: New file.
869 * unit-tests/test-cases/allow-stack-execute: New directory.
870
8712006-01-27 Nick Kledzik <kledzik@apple.com>
872
873 * src/MachOFileAbstraction.hpp: rely on latest system headers
874 * src/MachOWriterExecutable.hpp: fix ppc stubs.
875 wrote new relocationNeededInFinalLinkedImage() to replace common code
876
8772006-01-27 Eric Christopher <echristo@apple.com>
878
879 * src/ld.cpp (logTraceInfo): New.
880 (Linker::addArchive): Use.
881 (Linker::addDylib): Ditto.
882 * src/ObjectFile (ReaderOptions::fTraceOutputFile): New.
883 * src/MachOReaderArchive.hpp (Reader::Reader): Move trace
884 logging to Linker::addArchive.
885 * src/Options.cpp (parsePreCommandLineEnvironment): Check
886 LD_PRINT_FILE if tracing dylibs or archives.
887
8882006-01-26 Nick Kledzik <kledzik@apple.com>
889
890 * src/MachOWriterExecutable.hpp: handle NULL strings in SO debug notes
891
8922006-01-26 Nick Kledzik <kledzik@apple.com>
893
894 * src/MachOWriterExecutable.hpp: fix header padding calculation and thread state
895
8962006-01-26 Nick Kledzik <kledzik@apple.com>
897
898 Rewrite all stabs processing.
899 Move sythesize of debug notes into ld.cpp
900
9012006-01-26 Nick Kledzik <kledzik@apple.com>
902
903 * src/MachOWriterExecutable.hpp: fix ppc and ppc64 stub relocs
904
9052006-01-25 Nick Kledzik <kledzik@apple.com>
906
907 * ld64.xcodeproj/project.pbxproj: special case building in Curry
908
9092006-01-25 Nick Kledzik <kledzik@apple.com>
910
911 * src/MachOWriterExecutable.hpp: fix bugs in stub/lazy-pointer synthesis
912
9132006-01-24 Eric Christopher <echristo@apple.com>
914
915 * src/ld.cpp (Linker::createReaders): Change logging title to XBS.
916 (Linker::addDylib): Ditto.
917 * src/MachOReaderArchive.hpp (Reader::Reader): Ditto.
918 * src/Options.h (fPrintOptions): New.
919 * src/Options.cpp (Options::Options): Initialize above.
920 (Options::checkForFile): Change logging title to XBS.
921 (Options::findFramework): Ditto.
922 (Options::parse): Add log for options.
923 (Options::parsePreCommandLineEnvironmentSettings): Add LD_TRACE_ARCHIVES,
924 LD_TRACE_DYLIBS, and LD_PRINT_OPTIONS.
925
9262006-01-24 Nick Kledzik <kledzik@apple.com>
927
928 * src/MachOReaderRelocatable.hpp: better C++ eh parsing
929
9302006-01-23 Eric Christopher <echristo@apple.com>
931
932 * unit-tests/bin/fail-if-exit-zero.pl: New.
933 * unit-tests/include/common.makefile (FAIL_IF_SUCCESS): Use.
934 * unit-tests/allowable-client: New test.
935 * src/ld.cpp (Linker::addDylib): Check allowable clients before adding dylib.
936 * src/Options.h (allowableClients): New.
937 (clientName): Ditto.
938 (fAllowableClients): Ditto.
939 (fClientName): Ditto.
940 * src/Options.cpp: Implement above.
941 (parse): Handle -allowable_client and -client_name.
942 * src/MachOReaderDylib.hpp (getAllowableClients): New.
943 (fAllowableClients): Ditto.
944 (Reader): Process LC_SUB_CLIENT load command.
945 * src/ObjectFile.h (parentUmbrella): New.
946 (getAllowableClients): New.
947 * src/MachOWriterExecutable.hpp (AllowableClientLoadCommandsAtom): New.
948
9492006-01-23 Nick Kledzik <kledzik@apple.com>
950
951 * unit-tests/test-cases/archive-basic: added
952 * src/ld.cpp: fix shadowed local variable
953 * src/FileAbstraction.hpp: <rdar://problem/4417372> ld64 shouldn't inline when building debug
954
9552006-01-23 Nick Kledzik <kledzik@apple.com>
956
957 * src/ld.cpp: fix symbol not found error message
958 * src/MachOReaderDylib.hpp: add logging to hash table
959 * src/MachOReaderRelocatable.hpp: enable stabs processing. Handle static functions with stubs
960 handle labeled cstrings.
961 * src/MachOWriterExecutable.hpp: properly suppress atoms not in symbol table. fix low14 error check.
962 add StubAtomHelper.
963 * unit-tests/test-cases/relocs-literals/test.c: add more interesting edge cases
964
9652006-01-17 Nick Kledzik <kledzik@apple.com>
966
967 * src/MachOReaderRelocatable.hpp: tweaks to synthesizing debug notes
968
9692006-01-16 Nick Kledzik <kledzik@apple.com>
970
971 * src/debugline.{sh}: added
972 * src/MachOReaderRelocatable.hpp: synthesize debug notes SOL from dwarf
973 * src/MachOWriterExecutable.hpp: fix lazy pointer section
974 * src/ObjectDump.hpp: Fix conditionalization
975 * unit-tests/test-cases/dwarf-strip: added
976
9772006-01-11 Nick Kledzik <kledzik@apple.com>
978
979 * src/MachOReaderRelocatable.hpp: support Tiger crt1.o build with old ld64
980 * src/ObjectDump.hpp: Support -arch option
981
9822006-01-10 Nick Kledzik <kledzik@apple.com>
983
984 * src/MachOWriterExecutable.hpp: fix stubs for ppc64
985 * src/MachOFileAbstraction.hpp: fix typo for macho_routines
986 * ld64.xcodeproj/project.pbxproj: add machochecker target
987 * src/machochecker.cpp: new skeleton for checking mach-o file bit
988 * unit-tests/: Add support for running machochecker
989
9902006-01-10 Nick Kledzik <kledzik@apple.com>
991
992 * src/MachOReaderRelocatable.hpp: warn if dwarf can't be parsed
993 * src/MachOReaderArchive.hpp: modTime for OSO stabs from archives is .a modTime
994
9952006-01-09 Nick Kledzik <kledzik@apple.com>
996
997 * track modification time of .o files so that sythesized OSO stab will have it
998
9992006-01-09 Nick Kledzik <kledzik@apple.com>
1000
1001 * src/MachOFileAbstraction.hpp: add macho_uuid_command
1002 * src/MachOWriterExecutable.cpp: add UUID load command to generated files
1003
10042006-01-09 Nick Kledzik <kledzik@apple.com>
1005
1006 * src/MachOReaderDylib.hpp: no longer keep dylib memory mapped
1007 * src/ld.cpp: don't track dylib sizes because they are not longer memory mapped
1008
10092006-01-05 Nick Kledzik <kledzik@apple.com>
1010
1011 * src/MachOReaderRelocatable.hpp: support new relocations
1012
10132006-01-05 Nick Kledzik <kledzik@apple.com>
1014
1015 * src/MachOReaderDylib.hpp: support MH_DYLIB_STUB
1016 * src/MachOReaderRelocatable.hpp: Add Geoff's comp unit extractor
1017
10182006-01-05 Nick Kledzik <kledzik@apple.com>
1019
1020 refactor: transform Atom::dontStripName() to getSymbolTableInclusion()
1021 * src/ld.cpp: pass dyld_stub_binding_helper to writer
1022 * src/MachOReaderRelocatable.hpp: update synthesized stabs
1023 Ignore stubs and lazy pointers in .o files
1024 Support initializers and terminators
1025 * src/MachOWriterExecutable.hpp: synthesize stubs and lazy pointers as needed
1026 * ld64.xcodeproj/project.pbxproj: change Release target to build with dwarf
1027
10282006-01-03 Eric Christopher <echristo@apple.com>
1029
1030 * src/Options.h (multipleDefinitionsInDylibs): Declare.
1031 (overridingDefinitionInDependentDylib): Ditto.
1032 (warnOnMultipleDefinitionsInObjectFiles): Ditto.
1033 (multiplyDefined): Remove.
1034 (multiplyDefinedUnused): Ditto.
1035 (fMultiplyDefined): Ditto.
1036 (fWarnOnMultiplyDefined): New.
1037 (fMultiplyDefinedDynamic): Ditto.
1038 * src/Options.cpp (Options::Options): Initialize above.
1039 (overridingDefinitionInDependentDylib): New.
1040 (multipleDefinitionsInDylibs): Ditto.
1041 (warnOnMultipleDefinitionsInObjectFiles): Ditto.
1042 (parse): Update comments. Fix parsing of -y option.
1043 Update error message for -dead_strip. Parse above
1044 options.
1045
10462006-01-02 Nick Kledzik <kledzik@apple.com>
1047
1048 * Refactor: move Atom::writeContent() to Writer
1049
10502005-12-23 Nick Kledzik <kledzik@apple.com>
1051
1052 * Reworked, simplify, and document test harness
1053 * unit-tests/README: Added
1054
10552005-12-23 Nick Kledzik <kledzik@apple.com>
1056
1057 * src/MachOReaderRelocatable.hpp: fixes for Objective-C
1058 * unit-tests/test-cases/relocs-objc: Added
1059
10602005-12-22 Nick Kledzik <kledzik@apple.com>
1061
1062 * src/MachOReaderRelocatable.hpp: fix check that next reloc is pair
1063 * src/MachOReaderRelocatable.hpp: Add code to synthesize essential stabs from dwarf
1064
10652005-12-21 Nick Kledzik <kledzik@apple.com>
1066
1067 * src/MachOReaderRelocatable.hpp: Fix parsing of literal sections
1068 * src/MachOWriterExecutable.hpp: Fix writing of literal sections
1069 * unit-tests/test-cases/relocs-literals: Added
1070
10712005-12-15 Eric Christopher <echristo@apple.com>
1072
1073 * src/Options.h (enum Treatment): New.
1074 (enum PICTreatment): Delete.
1075 (enum VersionMin): New.
1076 (prebind): Declare.
1077 (macosxVersionMin): Ditto.
1078 (multiplyDefined): Ditto.
1079 (multiplyDefinedUnused): Ditto.
1080 (setVersionMin): Ditto.
1081 (setPICTreatment): Delete.
1082 (setReadOnlyRelocTreatment): Ditto.
1083 (picTreatment): Adjust return type.
1084 (parseTreatment): New.
1085 (fPrebind): Ditto.
1086 (fVersionMin): Ditto.
1087 (fPICTreatment): Change type.
1088 (fMultiplyDefined): New.
1089 (fMultiplyDefinedUnused): Ditto.
1090 (fLimitUndefinedSymbols): Ditto.
1091
1092 * src/Options.cpp: Fix whitespace. Add comments on options.
1093 (Options::Options): Add initializers for new variables.
1094 (Options::prebind): New.
1095 (Options::macosxVersionMin): Ditto.
1096 (Options::parseTreatment): Ditto.
1097 (Options::setVersionMin): Ditto.
1098 (Options::setReadOnlyRelocTreatment): Delete.
1099 (Options::setPICTreatment): Ditto.
1100 (Options::Parse): Update for above. Add comments.
1101
11022005-12-15 Nick Kledzik <kledzik@apple.com>
1103
1104 * src/MachOReaderRelocatable.hpp: Add comments about dwarf
1105
11062005-12-14 Nick Kledzik <kledzik@apple.com>
1107
1108 * src/ELFFileAbstraction.hpp: Added
1109 * src/ELFReaderRelocatable.hpp: Added
1110 * Lot of fixes for new architecture
1111 * Added __OPEN_SOURCE__ to "Preprocessor Macros" to disable new architecture support by default
1112
11132005-12-13 Nick Kledzik <kledzik@apple.com>
1114
1115 * src/MachOReaderRelocatable.hpp: check for S_ATTR_DEBUG and ignore those sections
1116 * unit-tests/test-cases/dwarf-ignore: added
1117
11182005-12-12 Nick Kledzik <kledzik@apple.com>
1119
1120 * Added test harness and three initial tests:
1121 relocs-asm, relocs-c, and hello-world
1122
11232005-12-12 Nick Kledzik <kledzik@apple.com>
1124
1125 * src/MachOReaderRelocatable.hpp: Massive refactoring:
1126 Now there are three Atom classes, Chopping into Atoms
1127 is done on label boundaries or by knowledge of special
1128 sections, Share lots of ppc/ppc64 code.
1129 Stabs process code is temporarily disabled.
1130
11312005-12-12 Nick Kledzik <kledzik@apple.com>
1132
1133 * src/ObjectDump.cpp: Add command line options: -no_content, -stabs, -no_sort
1134
11352005-12-11 Eric Christopher <echristo@apple.com>
1136
1137 * src/Options.cpp: Reformat.
1138 * src/Options.h: Ditto.
1139
11402005-12-07 Eric Christopher <echristo@apple.com>
1141
1142 * src/MachOReaderRelocatable.hpp (Atom::getAlignment):
1143 When calculating alignment of an Atom, take into account
1144 the alignment from which we pulled the Atom.
1145
11462005-12-06 Nick Kledzik <kledzik@apple.com>
1147
1148 * src/Options.cpp src/Options.h: Add design comments
1149
11502005-12-05 Eric Christopher <echristo@apple.com>
1151
1152 * src/ld.cpp (Linker::createWriter): Uncomment ppc64 and
1153 i386 linkers.
1154
11552005-12-05 Eric Christopher <echristo@apple.com>
1156
1157 * ChangeLog: New file.
1158
11592005-12-02 Nick Kledzik <kledzik@apple.com>
1160
1161 * src/ObjectFile.h: Add design comments
1162
11632005-11-30 Nick Kledzik <kledzik@apple.com>
1164
1165 * Fix uses of __OPEN_SOURCE__
1166
11672005-11-28 Nick Kledzik <kledzik@apple.com>
1168
1169 * Refactor Atom to use getDefinitionKind()
1170
11712005-11-21 Nick Kledzik <kledzik@apple.com>
1172
1173 * src/MachOWriterExecutable.hpp: don't generate section for commons in -r mode
1174
11752005-11-18 Nick Kledzik <kledzik@apple.com>
1176
1177 * x86 tweaks
1178
11792005-11-18 Nick Kledzik <kledzik@apple.com>
1180
1181 * src/ObjectDump.cpp: make work with command line arguments
1182
11832005-11-18 Nick Kledzik <kledzik@apple.com>
1184
1185 * Massive rework to remove preprocessor conditionals and use templates
1186
11872005-11-14 Nick Kledzik <kledzik@apple.com>
1188
1189 * Created new Subversion repository for ld64 from cvs tag ld64-27.2