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