------ Tagged ld64-59.4
+2006-09-22 Nick Kledzik <kledzik@apple.com>
+
+ ld64.xcodeproj/project.pbxproj: change install name back to ld64
+ src/Options.cpp: remove support for rolling over to ld_classic
+ src/ld.cpp: remove support for rolling over to ld_classic
+
+
+----- Tagged ld64-62
+
+2006-08-15 Nick Kledzik <kledzik@apple.com>
+
+ <rdar://problem/4681062> wrong error message when symbol is found in unused indirect library
+ src/ld.cpp: remove indirect libraries if they are not re-exported
+ unit-tests/test-cases/indirect-dylib: added test case
+
+
+2006-08-15 Nick Kledzik <kledzik@apple.com>
+
+ <rdar://problem/3930461> alignment needs to be richer
+ src/ObjectFile.h: define ObjectFile::Alignment class for tracking rich alignment info
+ src/ld.cpp: modify SymbolTable::add() to work with new Alignment type
+ src/MachOReaderRelocatable.hpp: use new Alignment type. Remove alignAtLeast() and handleAnonymousNonLazyPointers()
+ src/MachOWriterExecutable.hpp: update for new Alignment type, use modulus when calculating layout address
+ src/ObjectDump.cpp: print richer Alignment info
+ unit-tests/test-cases/align-modulus: added test case
+
+
+2006-08-11 Nick Kledzik <kledzik@apple.com>
+
+ remove OPEN_SOURCE conditionals around x86_64 support
+
+
+2006-07-31 Nick Kledzik <kledzik@apple.com>
+
+ <rdar://problem/4654131> ld64 while linking cc1 [ when dead_strip is ON]
+ src/ld.cpp: Add ivar fAtomsWithUnresolvedReferences to track atoms not initially resolvable
+ unit-tests/test-cases/dead_strip-archive: added test case
+
+
+2006-07-31 Nick Kledzik <kledzik@apple.com>
+
+ <rdar://problem/4656617> x86_64: instructions with immediate and rip-relative operands need to use new relocation types
+ src/MachOWriterExecutable.hpp: generate new reloc types in -r mode
+ src/MachOReaderRelocatable.hpp: parse new reloc types
+ unit-tests/test-cases/relocs-asm/relocs-asm.s: add test cases for new reloc type
+
+
+2006-07-18 Nick Kledzik <kledzik@apple.com>
+
+ src/MachOReaderRelocatable.hpp: suppress warning about dwarf info parsing for one benign no-op case
+ the compiler emits when there are not functions in the __text section
+
+
+2006-07-17 Nick Kledzik <kledzik@apple.com>
+
+ <rdar://problem/4634840> faster debug note generateion
+ src/ld.cpp: rework collectDebugInfo() to produce all debug notes in one pass, intead of a
+ pass per .o file. Added timing info for collectDebugInfo() to -print_statistics
+ unit-tests/test-cases/dwarf-debug-notes-r/Makefile: add expliced -arch to ld -r
+ unit-tests/test-cases/dwarf-debug-notes-r/expected-stabs: alter for new debug notes order
+
+
+2006-07-17 Nick Kledzik <kledzik@apple.com>
+
+ <rdar://problem/4623994> ld64 VSIZE is 1.18GB when building Finder ppc64
+ src/ld.cpp: fixed typo in createReader() that prevented dylibs from being unmapped
+
+----- Tagged ld64-61.1
2006-07-11 Nick Kledzik <kledzik@apple.com>
+
+ <rdar://problem/4622049> ld64-61: gcc DejaGnu tests failing due to -arch followed by unknown architecture name
+ src/Options.cpp: map ppc750, ppc7400, ppc7450, and ppc970 to ppc. Improve error message
- remove conditionals around x86_64 support
+2006-07-11 Nick Kledzik <kledzik@apple.com>
------ Tagged ld64-59.3
+ <rdar://problem/4622769> If -arch is missing, rollover to ld_classic does not happen
+ src/Options.h: make gotoClassicLinker() public
+ src/ld.cpp: call gotoClassicLinker() if the inferred architecture is ppc or i386
-2006-07-02 Nick Kledzik <kledzik@apple.com>
+----- Tagged ld64-61
- <rdar://problem/4664607> x86_64: instructions with immediate and rip-relative operands need to use new relocation types
- back port fix for 4656617 to Inca branch
+2006-06-29 Nick Kledzik <kledzik@apple.com>
------ Tagged ld64-59.2
+ <rdar://problem/4606628> ld64 should be renamed to ld
+ src/Options.cpp: exec() ld_classic if -arch ppc or -arch i386 is seen
+ src/ld.cpp: alter version string
+ ld64.xcodeproj/project.pbxproj: change install location to /usr/bin/ld, add symlink from /usr/bin/ld64
+ doc/man/man1/ld.1: added
+
+----- Tagged ld64-60
+
+2006-06-28 Nick Kledzik <kledzik@apple.com>
+
+ <rdar://problem/4604539> Can't link large ppc64 program: ld64 says "bl out of range"
+ MachOWriterExecutable.hpp: fix branch island generation to work for weak_import functions
+ and properly chain together branch islands
+ MachOReaderRelocatable.hpp: improve performance of huge .o file reading by sorted references
+ only when done
2006-06-28 Nick Kledzik <kledzik@apple.com>
<rdar://problem/4603454> MySQL-36 fails to build with ld64-59
- back port fix to Inca branch
+ src/MachOReaderRelocatable.hpp: back out fix for 4585335
+ src/MachOWriterExecutable.hpp: back out fix for 4585335
+
+2006-06-27 Nick Kledzik <kledzik@apple.com>
+
+ src/MachOReaderRelocatable.hpp: handle N_GSYM without ending :G() since that is how
+ dwarf debug notes are formed.
+
+2006-06-23 Nick Kledzik <kledzik@apple.com>
+
+ <rdar://problem/4599239 objc class with no superclass causes bad undefined symbol
+ src/MachOReaderRelocatable.hpp: handle NULL superclass in objc_class
+ unit-tests/test-cases/relocs-objc/test.m: add case with no super class
+
+
+2006-06-23 Nick Kledzik <kledzik@apple.com>
+
+ <rdar://problem/4313369> ld64 doesn't support variant linking -framework fw,_debug
+ src/Options.cpp: enhance findFramework() to support suffixes
----- Tagged ld64-59
2006-06-22 Nick Kledzik <kledzik@apple.com>
<rdar://problem/4596726> ld64 lost DWARF debug notes
- MachOReaderRelocatable.hpp: add fHasUUID so kDebugInfoStabsUUID can be set later
+ src/MachOReaderRelocatable.hpp: add fHasUUID so kDebugInfoStabsUUID can be set later
unit-tests/test-cases/dwarf-debug-notes-r: added test case
2006-06-21 Nick Kledzik <kledzik@apple.com>
2006-06-21 Nick Kledzik <kledzik@apple.com>
<rdar://problem/4535036> ld64 seems to offset things incorrectly when using -r
- src/MachOWriterExecutable.hpp: in -r mode, virtual sections don't increment address
+ src/MachOWriterExecutable.hpp: in -r mode, virtual sections should not increment address
----- Tagged ld64-58
2006-06-15 Nick Kledzik <kledzik@apple.com>
<rdar://problem/4569407> ld64 bogus duplicate symbol name linking GNU libobjc
- src/MachOReaderRelocatable.hpp: only special case Apple's objc runtime objc classes
+ src/MachOReaderRelocatable.hpp: only special case Apple objc runtime objc classes
2006-06-15 Nick Kledzik <kledzik@apple.com>
<rdar://problem/4585335> jump table into middle of weak symbol causes error
src/MachOReaderRelocatable.hpp: create direct references to the interior of weak symbols
- src/MachOWriterExecutable.hpp: don't error on absolute references to interior of weak symbols
+ src/MachOWriterExecutable.hpp: do not error on absolute references to interior of weak symbols
2006-06-13 Nick Kledzik <kledzik@apple.com>
* src/MachOReaderRelocatable.cpp: mark non-lazy-pointer atoms as scopeTranslationUnit if targetting a static symbol
-2006-04-27 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4498971> dyld crashes ungracefully on x86_64 when there is an internal exception
- * src/MachOWriterExecutable.cpp: allow non-zero PCRELGOT addends (used by C++ eh frames)
2006-04-21 Nick Kledzik <kledzik@apple.com>
----- Tagged ld64-50
-2006-03-29 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOWriterExecutable.hpp: fix x86_64 addends when -multi_module forces an external relocation
2006-03-29 Nick Kledzik <kledzik@apple.com>
* src/Options.cpp: setup ReaderOptions.fForFinalLinkedImage
* src/MachOReaderRelocatable.hpp: mark .eh symbols kSymbolTableNotIn when building final linked image
-2006-03-21 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4475928> Inca ld64-45 fatal error with C++ and asm() renaming
- * src/MachOReaderRelocatable.hpp: fix Reader<x86_64>::makeReferenceToEH(() to walk relocations to find
- target of eh symbol, rather assume target name is eh symbol name less .eh
-
2006-03-21 Nick Kledzik <kledzik@apple.com>
<rdar://problem/4473742> ld64 does not parse optional second argument to -filelist
* unit-tests/test-cases/filelist: added
* src/Options.cpp: in Options::loadFileList() handle comma option
-2006-03-21 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4483625> 32-bit pointer difference out of range for cxx eh frame
- * src/MachOReaderRelocatable.hpp: x86_64 doesn't have anonymous non-lazy-pointers
- * src/machochecker.cpp: fix validFile() for x86_64
- * unit-tests/run-all-unit-tests: add x86_64
- * unit-tests/include/common.makefile: don't add -g to all compilers
- * unit-tests/test-cases/relocs-asm/relocs-asm.s: add x86_64 test cases
- * unit-tests/test-cases/relocs-c/Makefile: fix to work with x86_64
- * src/ld.cpp: add hack to use i386 dylibs if x86_64 don't exist
-
-2006-03-19 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4483330> ld64 crashes whenever I try to link with dylib1.o
- * src/MachOReaderRelocatable.hpp: in Reader<x86_64>::addRelocReference() fix local relocations
----- Tagged ld64-47.1
-2006-03-16 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4459633> ld64-41 in Leopard doesn't have x86_64 support
- * ld64.xcodeproj/project.pbxproj: enable x86_64 for Leopard
----- Tagged ld64-47
-2006-03-14 Nick Kledzik <kledzik@apple.com>
-
- * src/Architectures.hpp: redo x86_64 relocation types
- * src/MachOReaderRelocatable.hpp: redo x86_64 relocation types, make some section type illegal for x86_64
- * src/MachOWriterExecutable.hpp: redo x86_64 relocation types
-
-2006-03-13 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4467122> ld64 -r does not handle internal relocations for x86_64
- * src/MachOWriterExecutable.hpp: handle internal relocations in Writer<x86_64>::fixUpReferenceRelocatable()
- and Writer<x86_64>::addObjectRelocs().
----- Tagged ld64-46
----- Tagged ld64-45
-2006-03-06 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4466930> <rdar://problem/4467982> ld64 failed: rel32 out of range when linking a dylib
- * src/MachOWriterExecutable.cpp: in Writer<x86_64>::fixUpReferenceFinal add (int32_t) cast
2006-03-06 Nick Kledzik <kledzik@apple.com>
<rdar://problem/4466930> LP64/9A122: ld64: hang when trying to link DiscRecording framework
* src/Options.cpp: addSectionAlignment, warn on zero. Use log2() for alignment conversion
-2006-03-06 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4457818> x86_THREAD_STATE64_COUNT will change, ld64 must adapt
- * src/MachOWriterExecutable.hpp: update ThreadsLoadCommandsAtom<x86_64> for new thread status layout
----- Tagged ld64-44
----- Tagged ld64-43
-2006-03-03 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4465443> RIP-relative offsets aren't handled properly when the instruction has immediate operands
- * src/Architectures.hpp: add x86_64::kPCRel32_*
- * src/MachOReaderRelocatable.hpp: generate x86_64::kPCRel32_*
- * src/MachOWriterExecutable.hpp: process x86_64::kPCRel32_*
2006-03-02 Nick Kledzik <kledzik@apple.com>