]>
Commit | Line | Data |
---|---|---|
d696c285 | 1 | |
74cfe461 A |
2 | 2006-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 | ||
11 | 2006-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 | ||
18 | 2006-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 | ||
29 | 2006-08-11 Nick Kledzik <kledzik@apple.com> | |
30 | ||
31 | remove OPEN_SOURCE conditionals around x86_64 support | |
32 | ||
33 | ||
34 | 2006-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 | ||
41 | 2006-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 | ||
49 | 2006-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 | ||
55 | 2006-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 | ||
64 | 2006-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 | |
71 | 2006-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 | 76 | 2006-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 | 84 | 2006-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 | ||
94 | 2006-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 | |
102 | 2006-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 | ||
108 | 2006-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 | ||
113 | 2006-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 | ||
120 | 2006-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 | 127 | 2006-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 | 133 | 2006-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 | 138 | 2006-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 | 146 | 2006-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 | 151 | 2006-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 | 156 | 2006-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 | 164 | 2006-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 | 169 | 2006-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 | 174 | 2006-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 | 179 | 2006-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 | 185 | 2006-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 | 189 | 2006-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 | 197 | 2006-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 | 207 | 2006-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 | 213 | 2006-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 | 222 | 2006-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 | 228 | 2006-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 | ||
234 | 2006-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 | 241 | 2006-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 | 252 | 2006-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 | 257 | 2006-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 | 262 | 2006-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 | 268 | 2006-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 | 273 | 2006-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 | 279 | 2006-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 | 286 | 2006-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 | 291 | 2006-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 | 296 | 2006-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 | 301 | 2006-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 | 306 | 2006-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 | 314 | 2006-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 | 319 | 2006-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 | 325 | 2006-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 | 331 | 2006-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 | 342 | 2006-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 | 346 | 2006-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 | 352 | 2006-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 | 357 | 2006-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 | 365 | 2006-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 | 372 | 2006-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 | 379 | 2006-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 | 384 | 2006-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 | 391 | 2006-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 | 397 | 2006-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 | 403 | 2006-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 | 413 | 2006-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 | 418 | 2006-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 | 425 | 2006-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 | 434 | 2006-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 | 439 | 2006-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 | 445 | 2006-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 | 451 | 2006-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 | 457 | 2006-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 | 462 | 2006-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 | 471 | 2006-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 | 477 | 2006-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 | 484 | 2006-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 | 499 | 2006-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 | 509 | 2006-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 | 518 | 2006-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 | 523 | 2006-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 | 530 | 2006-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 | 538 | 2006-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 | 543 | 2006-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 | |
550 | 2006-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 | ||
556 | 2006-02-28 Nick Kledzik <kledzik@apple.com> | |
557 | ||
558 | * src/MachOReaderRelocatable.hpp: fix x86 __IMPORT permissions for class Segment | |
559 | ||
560 | 2006-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 | ||
565 | 2006-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 | ||
575 | 2006-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 | ||
582 | 2006-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 | ||
589 | 2006-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 | ||
593 | 2006-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 | ||
597 | 2006-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 | ||
605 | 2006-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 | ||
611 | 2006-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 | ||
619 | 2006-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 | ||
625 | 2006-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 | ||
631 | 2006-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 | ||
638 | 2006-02-17 Nick Kledzik <kledzik@apple.com> | |
639 | ||
640 | * src/MachOWriterExecutable.hpp: <rdar://problem/4434578> set correct n_sect field of stabs | |
641 | ||
642 | 2006-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 | ||
649 | 2006-02-13 Eric Christopher <echristo@apple.com> | |
650 | ||
651 | * src/MachOWriterExecutable.hpp (assignFileOffsets): Simplify. Add comments. | |
652 | Adjust whitespace. | |
653 | ||
654 | 2006-02-13 Nick Kledzik <kledzik@apple.com> | |
655 | ||
656 | * src/MachOWriterExecutable.hpp: in Writer<x86>::fixUpReferenceRelocatable() fix kPCRel32 for external case | |
657 | ||
658 | 2006-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 | ||
664 | 2006-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 | ||
668 | 2006-02-12 Nick Kledzik <kledzik@apple.com> | |
669 | ||
670 | * src/MachOReaderRelocatable.hpp: <rdar://problem/4440905> fix uninitialized fAlignment | |
671 | ||
672 | 2006-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 | ||
681 | 2006-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 | ||
685 | 2006-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 | ||
690 | 2006-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 | ||
696 | 2006-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 | ||
701 | 2006-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 | ||
707 | 2006-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 | ||
714 | 2006-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 | ||
719 | 2006-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 | ||
727 | 2006-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 | ||
736 | 2006-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 | ||
741 | 2006-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 | ||
748 | 2006-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 | ||
755 | 2006-02-02 Nick Kledzik <kledzik@apple.com> | |
756 | ||
757 | * src/MachOReaderRelocatable.hpp: support anonymous zero fill atoms | |
758 | ||
759 | 2006-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 | ||
766 | 2006-02-01 Nick Kledzik <kledzik@apple.com> | |
767 | ||
768 | * src/MachOReaderRelocatable.hpp: Support -macosx_version_min 10.5 | |
769 | ||
770 | 2006-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 | ||
776 | 2006-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 | ||
802 | 2006-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 | ||
808 | 2006-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 | ||
813 | 2006-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 | ||
822 | 2006-01-30 Eric Christopher <echristo@apple.com> | |
823 | ||
824 | * src/ExecutableFile.h: Indent. | |
825 | ||
826 | 2006-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 | ||
831 | 2006-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 | ||
836 | 2006-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 | ||
847 | 2006-01-29 Nick Kledzik <kledzik@apple.com> | |
848 | ||
849 | * src/Options.cpp: verify -allow_stack_execute is only used on main executables | |
850 | ||
851 | 2006-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 | ||
856 | 2006-01-27 Eric Christopher <echristo@apple.com> | |
857 | ||
858 | * src/ld.cpp (Linker::syntesizeStabs): Correct spelling. Update all uses. | |
859 | ||
860 | 2006-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 | ||
871 | 2006-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 | ||
877 | 2006-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 | ||
888 | 2006-01-26 Nick Kledzik <kledzik@apple.com> | |
889 | ||
890 | * src/MachOWriterExecutable.hpp: handle NULL strings in SO debug notes | |
891 | ||
892 | 2006-01-26 Nick Kledzik <kledzik@apple.com> | |
893 | ||
894 | * src/MachOWriterExecutable.hpp: fix header padding calculation and thread state | |
895 | ||
896 | 2006-01-26 Nick Kledzik <kledzik@apple.com> | |
897 | ||
898 | Rewrite all stabs processing. | |
899 | Move sythesize of debug notes into ld.cpp | |
900 | ||
901 | 2006-01-26 Nick Kledzik <kledzik@apple.com> | |
902 | ||
903 | * src/MachOWriterExecutable.hpp: fix ppc and ppc64 stub relocs | |
904 | ||
905 | 2006-01-25 Nick Kledzik <kledzik@apple.com> | |
906 | ||
907 | * ld64.xcodeproj/project.pbxproj: special case building in Curry | |
908 | ||
909 | 2006-01-25 Nick Kledzik <kledzik@apple.com> | |
910 | ||
911 | * src/MachOWriterExecutable.hpp: fix bugs in stub/lazy-pointer synthesis | |
912 | ||
913 | 2006-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 | ||
926 | 2006-01-24 Nick Kledzik <kledzik@apple.com> | |
927 | ||
928 | * src/MachOReaderRelocatable.hpp: better C++ eh parsing | |
929 | ||
930 | 2006-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 | ||
949 | 2006-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 | ||
955 | 2006-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 | ||
965 | 2006-01-17 Nick Kledzik <kledzik@apple.com> | |
966 | ||
967 | * src/MachOReaderRelocatable.hpp: tweaks to synthesizing debug notes | |
968 | ||
969 | 2006-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 | ||
977 | 2006-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 | ||
982 | 2006-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 | ||
990 | 2006-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 | ||
995 | 2006-01-09 Nick Kledzik <kledzik@apple.com> | |
996 | ||
997 | * track modification time of .o files so that sythesized OSO stab will have it | |
998 | ||
999 | 2006-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 | ||
1004 | 2006-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 | ||
1009 | 2006-01-05 Nick Kledzik <kledzik@apple.com> | |
1010 | ||
1011 | * src/MachOReaderRelocatable.hpp: support new relocations | |
1012 | ||
1013 | 2006-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 | ||
1018 | 2006-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 | ||
1028 | 2006-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 | ||
1046 | 2006-01-02 Nick Kledzik <kledzik@apple.com> | |
1047 | ||
1048 | * Refactor: move Atom::writeContent() to Writer | |
1049 | ||
1050 | 2005-12-23 Nick Kledzik <kledzik@apple.com> | |
1051 | ||
1052 | * Reworked, simplify, and document test harness | |
1053 | * unit-tests/README: Added | |
1054 | ||
1055 | 2005-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 | ||
1060 | 2005-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 | ||
1065 | 2005-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 | ||
1071 | 2005-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 | ||
1102 | 2005-12-15 Nick Kledzik <kledzik@apple.com> | |
1103 | ||
1104 | * src/MachOReaderRelocatable.hpp: Add comments about dwarf | |
1105 | ||
1106 | 2005-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 | ||
1113 | 2005-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 | ||
1118 | 2005-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 | ||
1123 | 2005-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 | ||
1131 | 2005-12-12 Nick Kledzik <kledzik@apple.com> | |
1132 | ||
1133 | * src/ObjectDump.cpp: Add command line options: -no_content, -stabs, -no_sort | |
1134 | ||
1135 | 2005-12-11 Eric Christopher <echristo@apple.com> | |
1136 | ||
1137 | * src/Options.cpp: Reformat. | |
1138 | * src/Options.h: Ditto. | |
1139 | ||
1140 | 2005-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 | ||
1146 | 2005-12-06 Nick Kledzik <kledzik@apple.com> | |
1147 | ||
1148 | * src/Options.cpp src/Options.h: Add design comments | |
1149 | ||
1150 | 2005-12-05 Eric Christopher <echristo@apple.com> | |
1151 | ||
1152 | * src/ld.cpp (Linker::createWriter): Uncomment ppc64 and | |
1153 | i386 linkers. | |
1154 | ||
1155 | 2005-12-05 Eric Christopher <echristo@apple.com> | |
1156 | ||
1157 | * ChangeLog: New file. | |
1158 | ||
1159 | 2005-12-02 Nick Kledzik <kledzik@apple.com> | |
1160 | ||
1161 | * src/ObjectFile.h: Add design comments | |
1162 | ||
1163 | 2005-11-30 Nick Kledzik <kledzik@apple.com> | |
1164 | ||
1165 | * Fix uses of __OPEN_SOURCE__ | |
1166 | ||
1167 | 2005-11-28 Nick Kledzik <kledzik@apple.com> | |
1168 | ||
1169 | * Refactor Atom to use getDefinitionKind() | |
1170 | ||
1171 | 2005-11-21 Nick Kledzik <kledzik@apple.com> | |
1172 | ||
1173 | * src/MachOWriterExecutable.hpp: don't generate section for commons in -r mode | |
1174 | ||
1175 | 2005-11-18 Nick Kledzik <kledzik@apple.com> | |
1176 | ||
1177 | * x86 tweaks | |
1178 | ||
1179 | 2005-11-18 Nick Kledzik <kledzik@apple.com> | |
1180 | ||
1181 | * src/ObjectDump.cpp: make work with command line arguments | |
1182 | ||
1183 | 2005-11-18 Nick Kledzik <kledzik@apple.com> | |
1184 | ||
1185 | * Massive rework to remove preprocessor conditionals and use templates | |
1186 | ||
1187 | 2005-11-14 Nick Kledzik <kledzik@apple.com> | |
1188 | ||
1189 | * Created new Subversion repository for ld64 from cvs tag ld64-27.2 |