]> git.saurik.com Git - apple/ld64.git/blobdiff - ChangeLog
ld64-84.1.2.tar.gz
[apple/ld64.git] / ChangeLog
old mode 100644 (file)
new mode 100755 (executable)
index d028e47..3f83489
--- a/ChangeLog
+++ b/ChangeLog
 
------ Tagged ld64-47
+----- Tagged ld64-84.1.2
 
-
------ Tagged ld64-46
-
-2006-03-10     Nick Kledzik    <kledzik@apple.com>
-
-       <rdar://problem/4419505> ld64 should figure out architecture from .o files      
-       * unit-tests/test-cases/auto-arch: added
-       * src/ld.cpp: added Linker::inferArchitecture() to scan .o files are infer architecture to link
-       * src/MachOReaderArchive.hpp: enhanced validFile() to look deeper into archive and really valdate
-       * src/MachOWriterExecutable.hpp: stop using fOptions.architecture() 
-       * src/Options.cpp: stop defaulting to ppc64
-
-
-2006-03-09     Nick Kledzik    <kledzik@apple.com>
-
-       <rdar://problem/4465004> Need "intentionally left blank" dylib stubs
-       * unit-tests/include/common.makefile: add VALID_ARCHS
-       * unit-tests/run-all-unit-tests: set up VALID_ARCHS
-       * unit-tests/test-cases/blank-stubs: add test case
-       * src/ld.cpp: in addDylib(), detect and ignore blank stubs
-       * src/MachOReaderDylib.hpp: in constructor, handle blank stubs
+2008-04-09     Nick Kledzik    <kledzik@apple.com>
        
-2006-03-09     Nick Kledzik    <kledzik@apple.com>
-
-       <rdar://problem/4471424> crash in stub with 2GB pagezero
-       * src/MachOWriterExecutable.hpp: StubAtom<ppc64> can't be no-pic if a large zero-page is used
-
-2006-03-06     Nick Kledzik    <kledzik@apple.com>
-
-       * src/Options.cpp: addSectionAlignment, warn if -sectalign alignment is not a power of two
-
------ Tagged ld64-45
+       <rdar://problem/5852023> -undefined dynamic_lookup busted
+       * src/ld.cpp: don't create proxy atom when scanning for dylib duplicates
+       * unit-tests/test-cases/tentative-and-archive: use -undefined dynamic_lookup
 
+----- Tagged ld64-84.1
 
-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
+2008-03-28     Nick Kledzik    <kledzik@apple.com>
 
+       <rdar://problem/5720961> ld should prefer architecture-specific variant over generic in fat object file
+       * src/Options.cpp: fully process -arch arguments into fArchitecture and fSubArchitecture
+       * src/ld.cpp: when -arch with a subtype is used, try to find the exact subtype from fat files
+       * unit-tests/test-cases/cpu-sub-types-preference: added test cases for arm and ppc
        
------ Tagged ld64-44
-
-2006-03-04     Nick Kledzik    <kledzik@apple.com>
-
-       * src/MachOReaderRelocatable.hpp: fix again test for detection of anonymous non-lazy-pointer.
-       Error out if .o file contains old __DWARFA style dwarf.
-
-2006-03-02     Nick Kledzik    <kledzik@apple.com>
-
-       * src/ld.cpp: only re-map page aligned sub-parts of a fat file.  A conformat mmap() requires alignment.
-
------ Tagged ld64-43
-
-2006-03-02     Nick Kledzik    <kledzik@apple.com>
-
-       * src/MachOReaderRelocatable.hpp: <rdar://problem/4464370> tighten detection of anonymous non-lazy-pointer
-
------ Tagged ld64-42
-
-2006-02-28     Nick Kledzik    <kledzik@apple.com>
-
-       * src/MachOReaderRelocatable.hpp: fix x86 __IMPORT permissions for class Segment 
-
-2006-02-28     Nick Kledzik    <kledzik@apple.com>
-
-       <rdar://problem/4461240> SWB: ld64-37 (can't resolve symbol ___dso_handle)
-       * src/MachOWriterExecutable.hpp: add class DsoHandleAtom
-
-2006-02-28     Nick Kledzik    <kledzik@apple.com>
-
-       * unit-tests/test-cases/literals-coalesce-alignment: added test case
-       * src/ld.cpp: when coalescing strings pick one with greater alignment
-       <rdar://problem/4458660> ld64: CG link failed because lo14 reference to anonymous non-lazy-pointer not aligned
-       * unit-tests/test-cases/relocs-c/test.c: tweak to fail like 4458660
-       * src/MachOReaderRelocatable.hpp: detect anonymous non-lazy-pointer and transform into real non-lazy-pointers
-
------ Tagged ld64-41
-
-2006-02-24     Nick Kledzik    <kledzik@apple.com>
-
-       * src/Options.cpp: Warning about -no_dead_strip_inits_and_terms and -i options. 
-                                          Fix -weak-l option.
-
------ Tagged ld64-40
-
-2006-02-24     Nick Kledzik    <kledzik@apple.com>
-
-       <rdar://problem/4454698> Leopard9A113: ppc64 libstdc++.dylib initializer crashes in pthread_once
-       * unit-tests/test-cases/multiple-entry-points: added
-       * src/MachOReaderRelocatable.hpp: make sure that if there are multiple symbols with the same
-       address, that we properly make zero length atoms for all but last symbol
-
-2006-02-24     Nick Kledzik    <kledzik@apple.com>
-
-       * src/Options.cpp: <rdar://problem/4456093> ld64 doesn't realpath(3) B&I tracing paths
-
-2006-02-24     Nick Kledzik    <kledzik@apple.com>
-
-       * src/Options.cpp: <rdar://problem/4457078> 9A110: ld64 can't deal with section names >16 chars
-
-2006-02-23     Nick Kledzik    <kledzik@apple.com>
-
-       * src/MachOWriterExecutable.hpp:  use vector.reserve() to minimize re-allocations
-       * src/Options.cpp: use vector.reserve() to minimize re-allocations
-       * src/MachOReaderRelocatable.hpp:  use vector.reserve() to minimize re-allocations
-       * src/MachOReaderDylib.hpp:  use vector.reserve() to minimize re-allocations
-       * src/ld.cpp:  use vector.reserve() to minimize re-allocations
-
-2006-02-23     Nick Kledzik    <kledzik@apple.com>
-
-       <rdar://problem/4455927> ld64 creates corrupt executables (and has malloc errors) with -headerpad option        
-       * src/MachOWriterExecutable.hpp: Change LoadCommandsPaddingAtom<A>::setSize() to update fLargestAtomSize
-       * unit-tests/test-cases/header-pad: added
-
-2006-02-23     Nick Kledzik    <kledzik@apple.com>
-
-       <rdar://problem/4455192> ld64 creates invalid static executables
-       * src/MachOWriterExecutable.hpp: Change MachHeaderAtom<A>::copyRawContent() to create correct header
-       for static executables.  Change SymbolTableLoadCommandsAtom to skip LC_DYSYMTAB for static executables
-       * src/machochecker.cpp: Add tests that static executables are well formed       
-       * unit-tests/test-cases/static-executable: added
-
-2006-02-22     Nick Kledzik    <kledzik@apple.com>
-
-       * src/Options.cpp: <rdar://problem/4453468> chnage printf on unknown arg to a throw
-
------ Tagged ld64-39
-
-2006-02-20     Nick Kledzik    <kledzik@apple.com>
-
-       * unit-tests/test-cases/read-only-relocs: added new test case
-       * src/MachOWriterExecutable.hpp: <rdar://problem/4448922> detect and error on relocs in read-only sections
-       * src/MachOReaderRelocatable.hpp: fix parsing of i386 absolute addressing relocs
-
-2006-02-20     Nick Kledzik    <kledzik@apple.com>
-
-       * unit-tests/test-cases/stabs-coalesce: added new test case
-       * src/ld.cpp.hpp: <rdar://problem/4449226> in collectStabs removed unused stabs
-
------ Tagged ld64-38
-
-2006-02-17     Nick Kledzik    <kledzik@apple.com>
-
-       * src/MachOWriterExecutable.hpp: <rdar://problem/4434578> set correct n_sect field of stabs
-
-2006-02-15     Nick Kledzik    <kledzik@apple.com>
-
-       * src/MachOReaderArchive.hpp: <rdar://problem/4441920> with -all_load skip over both kinds of SYMDEFs 
-       * unit-tests/test-cases/archive-basic/Makefile: add -all_load test case
-
------ Tagged ld64-37
-
-2006-02-13  Eric Christopher  <echristo@apple.com>
-
-       * src/MachOWriterExecutable.hpp (assignFileOffsets): Simplify. Add comments.
-       Adjust whitespace.
-
-2006-02-13     Nick Kledzik    <kledzik@apple.com>
-
-       * src/MachOWriterExecutable.hpp: in Writer<x86>::fixUpReferenceRelocatable() fix kPCRel32 for external case
-
-2006-02-13     Nick Kledzik    <kledzik@apple.com>
-
-       * unit-tests/test-cases/zero-fill: added
-       * src/machochecker.cpp: check that S_ZEROFILL have no file offset
-       * src/MachOWriterExecutable.hpp: rework assignFileOffsets() to fix rdar://problem/4441145
-
-2006-02-12     Nick Kledzik    <kledzik@apple.com>
-
-       * src/MachOReaderRelocatable.hpp: <rdar://problem/4440880> fix use of first zero-length c-string in .o file
-
-2006-02-12     Nick Kledzik    <kledzik@apple.com>
-
-       * src/MachOReaderRelocatable.hpp: <rdar://problem/4440905> fix uninitialized fAlignment
-
-2006-02-12     Nick Kledzik    <kledzik@apple.com>
-
-       * unit-tests/test-cases/relocs-asm/relocs-asm.s: add pointer-diff cases
-       * src/Architectures.hpp: make size explicit in ppc/ppc64 kPointerDiff
-       * src/MachOReaderRelocatable.hpp: don't allow kPointerDiff64 for ppc (just ppc64)
-       * src/MachOWriterExecutable.cpp: set proper r_length for ld -r of kPointerDiff
-
------ Tagged ld64-36
-
-2006-02-08     Nick Kledzik    <kledzik@apple.com>
-
-       * src/MachOReaderRelocatable.cpp: rdar://problem/4438677 Handle when a .o file dwarf line info entries but no functions
-
-2006-02-08     Nick Kledzik    <kledzik@apple.com>
-
-       * src/MachOWriterExecutable.cpp: Properly set address of first TEXT section
-       Keep S_COALESCED attribute for __eh_frame
-
-2006-02-08     Nick Kledzik    <kledzik@apple.com>
-
-       * src/ld.cpp: Temporarily turn allowable client errors into warnings
-       * unit-tests/test-cases/allowable-clientMakefile: Temporarily let warnings be ok for above
-       * src/MachOWriterExecutable.hpp: fix ld -r to not use external relocations for symbols make static
-
-2006-02-08     Nick Kledzik    <kledzik@apple.com>
-
-       * src/ld.cpp: A sibling in an umbrella can always link with its other siblings
-       * unit-tests/test-cases/allowable-client: add test case for above
-
-2006-02-08     Nick Kledzik    <kledzik@apple.com>
-
-       * src/MachOReaderRelocatable.hpp: support LOCAL non-lazy pointers to hidden symbols
-       * src/machochecker.cpp: verify indirect symbol table
-       * unit-tests/test-cases/private-non-lazy: added test case
 
-2006-02-07     Nick Kledzik    <kledzik@apple.com>
+----- Tagged ld64-84
 
-       * src/MachOWriterExecutable.hpp: fix calculation of file offsets in ld -r mode
-       * src/machochecker.cpp: verify segment file offsets are within file
+2008-03-28     Nick Kledzik    <kledzik@apple.com>
 
------ Tagged ld64-35
-
-2006-02-06     Nick Kledzik    <kledzik@apple.com>
-
-       * ld.cpp: allow parent of sub-framework to link
-       * unit-tests/test-cases/allowable-client/Makefile: added cases for parent and clients of parent
-
-2006-02-04     Nick Kledzik    <kledzik@apple.com>
-
-       * unit-tests/test-cases/relocs-c/test.c:  added some array cases
-       * src/MachOReaderRelocatable.hpp: factor out makeReferenceToEH()
-       * src/MachOWriterExecutable.hpp: add initial support for non-lazy pointer synthesis
-
------ Tagged ld64-34
-
-2006-02-04     Nick Kledzik    <kledzik@apple.com>
-
-       * src/ld.cpp: <rdar://problem/4432917> fix -no_arch_warnings
-                                 <rdar://problem/4432932> fix -undefined warning
-                               Do BINCL/EINCL optimization for gfull stabs
-                               Implement "essential symbols" for stabs (-Sp)
-                               Fix allowable clients to only test on direct libraries
-       * src/MachOReaderRelocatable.hpp: support BINCL/EINCL stabs
-
-2006-02-03     Nick Kledzik    <kledzik@apple.com>
-
-       * src/machochecker.cpp: add code to check load command alignment
-       * src/MachOWriterExecutable.hpp: make load command alignment depend on architecture
-
-2006-02-03     Nick Kledzik    <kledzik@apple.com>
-
-       * unit-tests/test-cases/literals-coalesce: added
-       * src/MachOReaderRelocatable.hpp: assure all targets of low14 ppc relocs are at least 4-byte alignmented
-
------ Tagged ld64-33
-
-2006-02-02     Nick Kledzik    <kledzik@apple.com>
-
-       * src/MachOReaderRelocatable.hpp: properly coalesce 8-byte literals
-       * src/MachOWriterExecutable.hpp: support ppc64::kPointerDiff32
-
------ Tagged ld64-32
-
-2006-02-02     Nick Kledzik    <kledzik@apple.com>
-
-       * src/MachOReaderRelocatable.hpp: support anonymous zero fill atoms
-
-2006-02-02     Nick Kledzik    <kledzik@apple.com>
-
-       * src/ld.cpp: A weak definition is good enough, do not search archives for a non-weak one
-       * unit-tests/test-cases/archive-weak: add test case for above
-       * src/MachOReaderRelocatable.hpp: an atom should never have a by-name reference to itself
-       * src/Options.cpp: prevent .eh symbols from being exported via a -exported_symbols_list
-
-2006-02-01     Nick Kledzik    <kledzik@apple.com>
-
-       * src/MachOReaderRelocatable.hpp: Support -macosx_version_min 10.5
-
-2006-02-01     Nick Kledzik    <kledzik@apple.com>
-
-       * src/MachOReaderRelocatable.hpp: don't try to parse debug_line dwarf if no symboled atoms
-
------ Tagged ld64-31
-
-2006-02-01  Eric Christopher  <echristo@apple.com>
-
-       * unit-tests/test-cases/allow-stack-execute/Makefile: Move otool handling...
-       * unit-tests/include/common.makefile: ... here.
-       * unit-tests/bin/fail-if-stdin.pl: New.
-       * unit-tests/test-cases/no-uuid: Ditto.
-       * src/ld.cpp (Linker::) Add fCreateUUID.
-       (::Linker): Initialize.
-       (::collectStabs): Use. Set if dwarf or we have a UUID already.
-       (::writeOutput): Pass as argument to Writer::write along with option.
-       * src/Options.h (Option::emitUUID): Declare.
-       (Option::fEmitUUID): Ditto.
-       * src/Options.cpp (Option::emitUUID): New.
-       (parse): Handle -no_uuid.
-       * src/MachOReaderRelocatable (Reader::Reader): Handle LC_UUID.
-       * src/ExecutableFile.h (Writer::Write): Add createUUID boolean.
-       * src/MachOWriterExecutable: Add UUID forward declaration.
-       (fUUIDAtom): New.
-       (UUIDLoadCommandAtom): Emit LC_UUID if fEmit. New function emit. Size
-       to zero at start.
-       (Writer::writer): Add handle for LC_UUID. If createUUID emit LC_UUID.
-       (MachHeaderAtom::copyRawContent): Don't count a load command if its size is
-       0.
-       (UUIDLoadCommandAtom::copyRawContent): Depend on fEmit.
-
-
-2006-01-31     Nick Kledzik    <kledzik@apple.com>
-
-       * unit-tests/test-cases/dwarf-debug-notes : Added
-       * src/ld.cpp: don't generate debug note for .eh symbols
-       * src/MachOReaderRelocatable.hpp: make dwarf line info to atom matching faster and better
-
-2006-01-31     Nick Kledzik    <kledzik@apple.com>
-
-       * ld64.xcodeproj/project.pbxproj : Make buildable on Leopard
-       * src/MachOFileAbstraction.hpp: make buildable without latest cctools headers
-
-2006-01-31     Nick Kledzik    <kledzik@apple.com>
+       * src/LTOReader.hpp: don't print lto version, if lto is unavailable
+       
 
-       * src/MachOReaderRelocatable.hpp: better error message for bad relocs
-       * src/ObjectDump.cpp: add emacs tab settings
-       * src/SectCreate.h: ditto
-       * src/SectCreate.cpp: ditto
-       * src/machochecker.cpp: ditto
-       * src/ExecutableFile.h: ditto
+2008-03-26     Nick Kledzik    <kledzik@apple.com>
 
-2006-01-30  Eric Christopher  <echristo@apple.com>
+       <rdar://problem/5575399> Add LD_WARN_COMMONS to BigBear builds
+       * src/Options.cpp: Add support for LD_WARN_FILE which copies all warnings to a side file
+       
 
-       * src/ExecutableFile.h: Indent.
+2008-03-26     Nick Kledzik    <kledzik@apple.com>
 
-2006-01-30     Nick Kledzik    <kledzik@apple.com>
+       <rdar://problem/5797713> Need encryption tag in mach-o file
+       <rdar://problem/5811920> linker should adjust arm final linked images so __text is never on the same page as the load commands
+       * src/MachOFileAbstraction.hpp: add support for encryption_info_command
+       * src/Options.cpp: add support for LD_NO_ENCRYPT and -no_encryption
+       * src/MachOWriterExecutable.hpp: add EncryptionLoadCommandsAtom
+       * src/machochecker.cpp: validate LC_ENCRYPTION_INFO
+       
 
-       * src/MachOReaderRelocatable.hpp: performance improvements
-       * src/ld.cpp: now that stubs are synthesized in write, don't need to special case anymore
+2008-03-25     Nick Kledzik    <kledzik@apple.com>
 
-2006-01-30     Nick Kledzik    <kledzik@apple.com>
+       <rdar://problem/5712533> ld64 does not recognize LLVM bitcode archive files
+       * src/MachOReaderArchive.hpp: renamed to src/ArchiveReader.hpp
+       * src/ArchiveReader.hpp: sniff each member and instantiate correct reader
+       * src/ld.cpp: rename mach_o::archive::Reader to archive::Reader
+       * ld64.xcodeproj/project.pbxproj: rename MachOReaderArchive.hpp to ArchiveReader.hpp
+       * unit-tests/test-cases/llvm-integration: added test case
 
-       * src/MachOReaderRelocatable.hpp: fix parsing of pcc relocs
-       * unit-tests/test-cases/relocs-asm/relocs-asm.s: add test case for above
 
-2006-01-29     Nick Kledzik    <kledzik@apple.com>
+2008-03-25     Nick Kledzik    <kledzik@apple.com>
 
-       * unit-tests/test-cases/weak_import: added test case
-       * src/ld.cpp: move code for weak_import mismatch to writer
-       * src/ObjectFile.h: remove ImportWeakness methods
-       * src/MachOReaderDylib.hpp: ditto
-       * src/SectCreate.cpp: ditto
-       * src/Architectures.hpp: add new ReferenceKinds for weak_imports
-       * src/MachOReaderRelocatable.hpp: implement new ReferenceKinds
-       * src/MachOWriterExecutable.hpp: handle new ReferenceKinds and weak_import mismatches
+       <rdar://problem/5771658> ld64 should switch to new libLTO.dylib interface
+       <rdar://problem/5675690> Produce llvm bc file in 'ld -r' mode if all .o files are llvm bc
+       * src/LTOReader.hpp: rewrite from LLVMReader.hpp to use new lto_* C interface
+       * unit-tests/test-cases/llvm-integration: update and comment
+       * ld64.xcodeproj/project.pbxproj: update to lazy load libLTO.dylib 
+       * src/ld.cpp: rework and simplify Linker::optimize() 
+       * src/ObjectDump.cpp: Add -nm option
+       
 
-2006-01-29     Nick Kledzik    <kledzik@apple.com>
+2008-03-25     Nick Kledzik    <kledzik@apple.com>
 
-       * src/Options.cpp: verify -allow_stack_execute is only used on main executables
+       * src/MachOReaderRelocatable.cpp: Fix some .objc_class_name_ off by one problem
+       * src/MachOWriterExecutable.cpp: Fix some .objc_class_name_ off by one problem
 
-2006-01-29     Nick Kledzik    <kledzik@apple.com>
 
-       * src/MachOReaderRelocatable.hpp: sync with latest dwarf reader from Geoff
-       * src/debugline.c: sync with latest dwarf reader from Geoff
+2008-03-24     Nick Kledzik    <kledzik@apple.com>
 
-2006-01-27  Eric Christopher  <echristo@apple.com>
+       <rdar://problem/5814613> Xcode 3.1 breaks linkage of libgcj.9.dylib from gcc 4.3.0
+       * src/MachOWriterExecutable.cpp: Make sure all ivars in Writer are initialized.
 
-       * src/ld.cpp (Linker::syntesizeStabs): Correct spelling. Update all uses.
 
-2006-01-27  Eric Christopher  <echristo@apple.com>
+2008-03-21     Nick Kledzik    <kledzik@apple.com>
 
-       * src/Options.h (Options): Add hasExecutableStack, fExecutableStack.
-       * src/Options.cpp (Options::hasExecutableStack): New.
-       (Options::parse): Parse -allow_stack_execute.
-       * src/MachOWriterExecutable.hpp (MachHeaderAtom::copyRawContent):
-       Implement MH_ALLOW_STACK_EXECUTION.
-       * unit-tests/include/common.makefile (FAIL_IF_EMPTY): New.
-       * unit-tests/bin/fail-if-no-stdin.pl: New file.
-       * unit-tests/test-cases/allow-stack-execute: New directory.
+       * src/Options.cpp: warn if -seg1addr value is not page aligned
+       
 
-2006-01-27     Nick Kledzik    <kledzik@apple.com>
+2008-03-21     Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/5806437> Move ARM support outside of __OPEN_SOURCE__
+       * src/ld.cpp: remove __OPEN_SOURCE__ around arm support
+       * src/LLVMReader.hpp: remove __OPEN_SOURCE__ around arm support
+       * src/MachOReaderDylib.hpp: remove __OPEN_SOURCE__ around arm support
+       * src/ObjectFile.h: remove __OPEN_SOURCE__ around arm support
+       * src/MachOReaderRelocatable.hpp: remove __OPEN_SOURCE__ around arm support
+       * src/OpaqueSection.hpp: Cover arm support inside __OPEN_SOURCE__ macro check
+       * src/MachOWriterExecutable.hpp: remove __OPEN_SOURCE__ around arm support
+       * src/ObjectDump.cpp: remove __OPEN_SOURCE__ around arm support
+       * ld64.xcodeproj/project.pbxproj: remove ARM_SUPPORT from config.h
+       
 
-       * src/MachOFileAbstraction.hpp: rely on latest system headers
-       * src/MachOWriterExecutable.hpp: fix ppc stubs.
-               wrote new relocationNeededInFinalLinkedImage() to replace common code
+----- Tagged ld64-83.2
+       
+2008-03-15     Nick Kledzik    <kledzik@apple.com>
+       
+       <rdar://problem/5801620> ld64-83 removes OBJC_CLASS_$ symbols from projects, causes catastrophic results
+       * src/Options.cpp: restore "case CPU_TYPE_ARM" in switch statement for .objc_class symbols in .exp files
+       * unit-tests/test-cases/objc-exported_symbols_list: added test case
+       
+       
+----- Tagged ld64-83.1
 
-2006-01-27  Eric Christopher  <echristo@apple.com>
+2008-03-14     Nick Kledzik    <kledzik@apple.com>
 
-       * src/ld.cpp (logTraceInfo): New.
-       (Linker::addArchive): Use.
-       (Linker::addDylib): Ditto.
-       * src/ObjectFile (ReaderOptions::fTraceOutputFile): New.
-       * src/MachOReaderArchive.hpp (Reader::Reader): Move trace
-       logging to Linker::addArchive.
-       * src/Options.cpp (parsePreCommandLineEnvironment): Check
-       LD_PRINT_FILE if tracing dylibs or archives.
+       <rdar://problem/5800466> -iphone_version_min ==> -iphoneos_version_min
+       * src/Options.cpp: support -iphoneos_version_min as well
+       
 
-2006-01-26     Nick Kledzik    <kledzik@apple.com>
+----- Tagged ld64-83
 
-       * src/MachOWriterExecutable.hpp: handle NULL strings in SO debug notes
+2008-03-10     Nick Kledzik    <kledzik@apple.com>
 
-2006-01-26     Nick Kledzik    <kledzik@apple.com>
+       <rdar://problem/5791543> ld needs to strip iphone_version_min option if invoking ld_classic
+       * src/Options.cpp: suppress -iphone_version_min from being passed to ld_classic
+       
 
-       * src/MachOWriterExecutable.hpp: fix header padding calculation and thread state
+2008-03-04     Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/4171253> ADOBE XCODE: Linker option to lazy load frameworks (cause dyld is too slow)
+       * src/MachOWriterExecutable.hpp: create lazy stubs and LC_LAZY_LOAD_DYLIB for lazy load dylibs
+       * src/Options.cpp: support -lazy-l, -lazy_library, and -lazy_framework
+       * src/MachOFileAbstraction.hpp: add LC_LAZY_LOAD_DYLIB and S_LAZY_DYLIB_SYMBOL_POINTERS until in cctools
+       * src/MachOReaderDylib.hpp: add isLazyLoadedDylib()
+       * src/ld.cpp: pass lazy helper atom to writer
+       * doc/man/man1/ld.1: document new options
+       * unit-tests/test-cases/lazy-dylib-objc: add test case
+       * unit-tests/test-cases/lazy-dylib: add test case
+       
 
-2006-01-26     Nick Kledzik    <kledzik@apple.com>
+----- Tagged ld64-82.7
 
-       Rewrite all stabs processing.
-       Move sythesize of debug notes into ld.cpp
+2008-03-07     Nick Kledzik    <kledzik@apple.com>
 
-2006-01-26     Nick Kledzik    <kledzik@apple.com>
+       <rdar://problem/5787149> duplicate symbol literal-pointer@__OBJC@__message_refs@...
+       * src/MachOReaderRelocatable.hpp: AnonymousAtom from S_LITERAL_POINTERS section should be weak
+       * unit-tests/test-cases/objc-selector-coalescing: added test case
 
-       * src/MachOWriterExecutable.hpp: fix ppc and ppc64 stub relocs
+       
+----- Tagged ld64-82.6
 
-2006-01-25     Nick Kledzik    <kledzik@apple.com>
+2008-03-04     Nick Kledzik    <kledzik@apple.com>
 
-       * ld64.xcodeproj/project.pbxproj: special case building in Curry
+       <rdar://problem/5779681> ld crashes building XsanFS for Snow Leopard Builds
+       * src/ld.cpp: add bool dylibsOnly parameter to addJustInTimeAtoms()
+       * unit-tests/test-cases/tentative-and-archive: added test case
+       
+2008-03-04     Nick Kledzik    <kledzik@apple.com>
 
-2006-01-25     Nick Kledzik    <kledzik@apple.com>
+       <rdar://problem/5775822> ld64 should not force building with gcc 4.0
+       * ld64.xcodeproj/project.pbxproj: change rules to use "system" compiler instead of 4.0
+       
 
-       * src/MachOWriterExecutable.hpp: fix bugs in stub/lazy-pointer synthesis
+2008-02-29     Nick Kledzik    <kledzik@apple.com>
 
-2006-01-24  Eric Christopher  <echristo@apple.com>
+       <rdar://problem/5774730> Simulator frameworks are being build split-seg and not prebound
+       * src/Options.cpp: only splitseg if prebound
 
-       * src/ld.cpp (Linker::createReaders): Change logging title to XBS.
-       (Linker::addDylib): Ditto.
-       * src/MachOReaderArchive.hpp (Reader::Reader): Ditto.
-       * src/Options.h (fPrintOptions): New.
-       * src/Options.cpp (Options::Options): Initialize above.
-       (Options::checkForFile): Change logging title to XBS.
-       (Options::findFramework): Ditto.
-       (Options::parse): Add log for options.
-       (Options::parsePreCommandLineEnvironmentSettings): Add LD_TRACE_ARCHIVES,
-       LD_TRACE_DYLIBS, and LD_PRINT_OPTIONS.
 
-2006-01-24     Nick Kledzik    <kledzik@apple.com>
+2008-02-29     Nick Kledzik    <kledzik@apple.com>
 
-       * src/MachOReaderRelocatable.hpp: better C++ eh parsing
+       <rdar://problem/5774231> Linker should not make GSYM debug note for .objc_category_* symbols
+       * src/ld.cpp: suppress GSYM debug notes for absolute symbols
+       * unit-tests/test-cases/objc-category-debug-notes: added test case
 
-2006-01-23  Eric Christopher  <echristo@apple.com>
 
-       * unit-tests/bin/fail-if-exit-zero.pl: New.
-       * unit-tests/include/common.makefile (FAIL_IF_SUCCESS): Use.
-       * unit-tests/allowable-client: New test.
-       * src/ld.cpp (Linker::addDylib): Check allowable clients before adding dylib.
-       * src/Options.h (allowableClients): New.
-       (clientName): Ditto.
-       (fAllowableClients): Ditto.
-       (fClientName): Ditto.
-       * src/Options.cpp: Implement above.
-       (parse): Handle -allowable_client and -client_name.
-       * src/MachOReaderDylib.hpp (getAllowableClients): New.
-       (fAllowableClients): Ditto.
-       (Reader): Process LC_SUB_CLIENT load command.
-       * src/ObjectFile.h (parentUmbrella): New.
-       (getAllowableClients): New.
-       * src/MachOWriterExecutable.hpp (AllowableClientLoadCommandsAtom): New.
+2008-02-29     Nick Kledzik    <kledzik@apple.com>
 
-2006-01-23     Nick Kledzik    <kledzik@apple.com>
+    <rdar://problem/5768970> non-ASCII CFString support is broken
+    * src/MachOReaderRelocatable.hpp: only name and coalesce cfstring constants if they use a __cstring
+    * unit-tests/test-cases/cfstring-utf16: add test case
 
-       * unit-tests/test-cases/archive-basic: added
-       * src/ld.cpp: fix shadowed local variable
-       * src/FileAbstraction.hpp: <rdar://problem/4417372> ld64 shouldn't inline when building debug
 
-2006-01-23     Nick Kledzik    <kledzik@apple.com>
+2008-02-25     Nick Kledzik    <kledzik@apple.com>
 
-       * src/ld.cpp: fix symbol not found error message
-       * src/MachOReaderDylib.hpp: add logging to hash table
-       * src/MachOReaderRelocatable.hpp: enable stabs processing. Handle static functions with stubs
-                                                                       handle labeled cstrings.
-       * src/MachOWriterExecutable.hpp: properly suppress atoms not in symbol table. fix low14 error check.
-                                                                       add StubAtomHelper.
-       * unit-tests/test-cases/relocs-literals/test.c: add more interesting edge cases
+       <rdar://problem/5366363> ld -r -x 
+       * doc/man/man1/ld.1: update man page to explain -r -x produces auto-stripped labels
 
-2006-01-17     Nick Kledzik    <kledzik@apple.com>
 
-       * src/MachOReaderRelocatable.hpp: tweaks to synthesizing debug notes
+----- Tagged ld64-82.5
 
-2006-01-16     Nick Kledzik    <kledzik@apple.com>
+2008-02-12     Nick Kledzik    <kledzik@apple.com>
 
-       * src/debugline.{sh}: added
-       * src/MachOReaderRelocatable.hpp: synthesize debug notes SOL from dwarf
-       * src/MachOWriterExecutable.hpp: fix lazy pointer section
-       * src/ObjectDump.hpp: Fix conditionalization
-       * unit-tests/test-cases/dwarf-strip: added
+       <rdar://problem/5738023> x86_64: -stack_size failure when large __bss is used
+       * src/ld.cpp: only move section already in __DATA segment to new __huge section 
+       * unit-tests/test-cases/stack_size_no_addr: updated test case to add large bss section
+       
 
-2006-01-11     Nick Kledzik    <kledzik@apple.com>
+----- Tagged ld64-82.4
 
-       * src/MachOReaderRelocatable.hpp: support Tiger crt1.o build with old ld64
-       * src/ObjectDump.hpp: Support -arch option
+2008-02-06     Nick Kledzik    <kledzik@apple.com>
+       
+       <rdar://problem/5726215> comdat warnings with ld -r of C++ .o files
+       * unit-tests/test-cases/eh-coalescing-r: added test case
+       * src/ld.cpp: in ld -r mode don't warn about if .eh symbols are not static
+       
 
-2006-01-10     Nick Kledzik    <kledzik@apple.com>
+2008-02-06     Devang Patel    <dpatel@apple.com>
 
-       * src/MachOWriterExecutable.hpp: fix stubs for ppc64
-       * src/MachOFileAbstraction.hpp: fix typo for macho_routines
-       * ld64.xcodeproj/project.pbxproj: add machochecker target
-       * src/machochecker.cpp: new skeleton for checking mach-o file bit
-       * unit-tests/: Add support for running machochecker
+       <rdar://problem/5724990> LTO of Bom framework with -dead_strip causes ld(1) crash
+       * src/LLVMReader.hpp: Check fAtom while determining LLVMReference target binding.
+       * unit-tests/test-cases/llvm-integration/Makefile: Add new test case.
+       * unit-tests/test-cases/llvm-integration/a15.c: New.
+       * unit-tests/test-cases/llvm-integration/b15.c: New.
+       * unit-tests/test-cases/llvm-integration/c15.c: New.
+       
+2008-02-05     Nick Kledzik    <kledzik@apple.com>
 
-2006-01-10     Nick Kledzik    <kledzik@apple.com>
+       * src/ld.cpp: fix for -arch ppc -mdynamic-no-pic -pie so PPC_RELOC_HA16 reloc is used
+       
+----- Tagged ld64-82.3
+       
+2008-02-04     Nick Kledzik    <kledzik@apple.com>
 
-       * src/MachOReaderRelocatable.hpp: warn if dwarf can't be parsed
-       * src/MachOReaderArchive.hpp: modTime for OSO stabs from archives is .a modTime
+       <rdar://problem/5721186> ld doesn't seem to understand $ld$add$os... and $ld$hide$os... for 10.6 moves
+       * src/ObjectFile.h: add 10.6
+       * src/Options.cpp: add 10.6 support
+       * src/MachOReaderDylib.hpp: recognize $os10.6$
+       
 
-2006-01-09     Nick Kledzik    <kledzik@apple.com>
+----- Tagged ld64-82.2
 
-       * track modification time of .o files so that sythesized OSO stab will have it
+2008-01-30     Devang Patel    <dpatel@apple.com>
 
-2006-01-09     Nick Kledzik    <kledzik@apple.com>
+       <rdar://problem/5714833> Can't build 64-bit Intel binaries with LTO
+       <rdar://problem/5714787> ld64 fails to build with llvm-gcc-4.2
+       * src/LLVMReader.hpp: Fix character count typo in strncmp call.
+       Use const char * to initialize temp. string.
+       * ld64.xcodeproj/project.pbxproj: use $(DEVELOPER_DIR) in header search construction
+       instead of hard coding /Developer.
+       
+----- Tagged ld64-82.1
 
-       * src/MachOFileAbstraction.hpp: add macho_uuid_command
-       * src/MachOWriterExecutable.cpp: add UUID load command to generated files
+2008-01-23     Nick Kledzik    <kledzik@apple.com>
 
-2006-01-09     Nick Kledzik    <kledzik@apple.com>
+       * src/MachOReaderRelocatable.hpp: don't bus error if S_LITERAL_POINTERS is missing relocs
+       
 
-       * src/MachOReaderDylib.hpp: no longer keep dylib memory mapped
-       * src/ld.cpp: don't track dylib sizes because they are not longer memory mapped
+2008-01-22     Nick Kledzik    <kledzik@apple.com>
 
-2006-01-05     Nick Kledzik    <kledzik@apple.com>
+       <rdar://problem/5695496> ld uses 32-bits in some places to hold addresses when parsing 64-bit mach-o files
+       * src/MachOReaderRelocatable.hpp: use AddrToAtomMap type that switch address to 64-bits for 64-bit archs
+       * src/MachOWriterExecutable.hpp: verify BR14 does not overflow for external relocs
+       * unit-tests/test-cases/relocs-c: update test case to slide addresses to verify x86_64 .o files
 
-       * src/MachOReaderRelocatable.hpp: support new relocations
+       
+----- Tagged ld64-82
+       
+2008-01-18     Nick Kledzik    <kledzik@apple.com>
 
-2006-01-05     Nick Kledzik    <kledzik@apple.com>
+       <rdar://problem/5694612> Bad grammar used in ld warning: cannot exported hidden symbol
+       * src/ld.cpp: fix typo in warning string
+       
 
-       * src/MachOReaderDylib.hpp: support MH_DYLIB_STUB
-       * src/MachOReaderRelocatable.hpp: Add Geoff's comp unit extractor
+2008-01-16     Nick Kledzik    <kledzik@apple.com>
 
-2006-01-05     Nick Kledzik    <kledzik@apple.com>
+       <rdar://problem/5565074> Bundle Loader does not work anymore when loader is a bundle
+       <rdar://problem/5590203> ld warns of incorrect architecture when linking a bundle to a bundle
+       * src/MachOReaderDylib.hpp: support linking against bundles via -bundle_loader. Clean up error messages
+       * unit-tests/test-cases/bundle_loader: update test case
+               
+       
+2008-01-16     Nick Kledzik    <kledzik@apple.com>
+       
+       <rdar://problem/5366363> ld -r -x creates debug notes (stabs) when it should not with -x (keep only global symbols)
+       * src/Options.cpp: in reconfigureDefaults() if -r and -x then -S
+       
 
-       refactor: transform Atom::dontStripName() to getSymbolTableInclusion()
-       * src/ld.cpp: pass dyld_stub_binding_helper to writer
-       * src/MachOReaderRelocatable.hpp: update synthesized stabs
-         Ignore stubs and lazy pointers in .o files
-         Support initializers and terminators
-       * src/MachOWriterExecutable.hpp: synthesize stubs and lazy pointers as needed
-       * ld64.xcodeproj/project.pbxproj: change Release target to build with dwarf
+2008-01-16     Nick Kledzik    <kledzik@apple.com>
 
-2006-01-03  Eric Christopher  <echristo@apple.com>
+       <rdar://problem/5566068> if ld crashes while writing output file, it should delete the half written file
+       * src/MachOWriterExecutable.hpp: wrap open/write/close in try block and add signal handlers all to delete
+       output file on failure.
+       
 
-       * src/Options.h (multipleDefinitionsInDylibs): Declare.
-       (overridingDefinitionInDependentDylib): Ditto.
-       (warnOnMultipleDefinitionsInObjectFiles): Ditto.
-       (multiplyDefined): Remove.
-       (multiplyDefinedUnused): Ditto.
-       (fMultiplyDefined): Ditto.
-       (fWarnOnMultiplyDefined): New.
-       (fMultiplyDefinedDynamic): Ditto.
-       * src/Options.cpp (Options::Options): Initialize above.
-       (overridingDefinitionInDependentDylib): New.
-       (multipleDefinitionsInDylibs): Ditto.
-       (warnOnMultipleDefinitionsInObjectFiles): Ditto.
-       (parse): Update comments. Fix parsing of -y option.
-       Update error message for -dead_strip. Parse above
-       options.
+2008-01-16     Devang Patel    <dpatel@apple.com>
 
-2006-01-02     Nick Kledzik    <kledzik@apple.com>
+       * src/LLVMReader.hpp: Use __gnu_cxx::hash_map instead of hash supported by LLVM.
 
-       * Refactor: move Atom::writeContent() to Writer
 
-2005-12-23     Nick Kledzik    <kledzik@apple.com>
+2008-01-16     Nick Kledzik    <kledzik@apple.com>
 
-       * Reworked, simplify, and document test harness
-       * unit-tests/README: Added
+       <rdar://problem/5593537> GC-supported library can't be linked into GC-required executable
+       * src/ld.cpp: loosen constraint that all objc code must be compiled with same GC settings and
+       allow gc-compatible code to be linked into anything.
+       * unit-tests/test-cases/objc-gc-checks: update test case
 
-2005-12-23     Nick Kledzik    <kledzik@apple.com>
 
-       * src/MachOReaderRelocatable.hpp: fixes for Objective-C
-       * unit-tests/test-cases/relocs-objc: Added
+2008-01-15     Nick Kledzik    <kledzik@apple.com>
 
-2005-12-22     Nick Kledzik    <kledzik@apple.com>
+       <rdar://problem/5687976> no debug notes for custom named data
+       * src/ld.cpp: in synthesizeDebugNotes() check getSymbolTableInclusion() instead of for leading underscore
+       * unit-tests/test-cases/dwarf-debug-notes: update test case
+       
+----- Tagged ld64-81.5
 
-       * src/MachOReaderRelocatable.hpp: fix check that next reloc is pair
-       * src/MachOReaderRelocatable.hpp: Add code to synthesize essential stabs from dwarf
+2008-01-14     Devang Patel    <dpatel@apple.com>
 
-2005-12-21     Nick Kledzik    <kledzik@apple.com>
+       <rdar://problem/5683813> llvm-gcc-4.2 fails to build Sqlite 3.5.4 with -O4
+       * src/LLVMReader.hpp: Resolve proxy references. Collect new unbounded references 
+       after optimization.
+       * src/ld.cpp: Resolve additional unbounded references after optimization.
+       
 
-       * src/MachOReaderRelocatable.hpp: Fix parsing of literal sections
-       * src/MachOWriterExecutable.hpp: Fix writing of literal sections
-       * unit-tests/test-cases/relocs-literals: Added
+2008-01-14     Nick Kledzik    <kledzik@apple.com>
 
-2005-12-15  Eric Christopher  <echristo@apple.com>
+       <rdar://problem/5655246> PPC Leopard (Xcode 3.0) linker ld gets "Bus error" sometimes
+       * src/MachOReaderRelocatable.hpp: use same code as x86 to parse ppc and arm sect-diff relocs
+       * src/MachOWriterExecutable.hpp:  use same code as x86 to write ppc and arm sect-diff relocs
+       
 
-       * src/Options.h (enum Treatment): New.
-       (enum PICTreatment): Delete.
-       (enum VersionMin): New.
-       (prebind): Declare.
-       (macosxVersionMin): Ditto.
-       (multiplyDefined): Ditto.
-       (multiplyDefinedUnused): Ditto.
-       (setVersionMin): Ditto.
-       (setPICTreatment): Delete.
-       (setReadOnlyRelocTreatment): Ditto.
-       (picTreatment): Adjust return type.
-       (parseTreatment): New.
-       (fPrebind): Ditto.
-       (fVersionMin): Ditto.
-       (fPICTreatment): Change type.
-       (fMultiplyDefined): New.
-       (fMultiplyDefinedUnused): Ditto.
-       (fLimitUndefinedSymbols): Ditto.
+2008-01-11     Nick Kledzik    <kledzik@apple.com>
 
-       * src/Options.cpp: Fix whitespace. Add comments on options.
-       (Options::Options): Add initializers for new variables.
-       (Options::prebind): New.
-       (Options::macosxVersionMin): Ditto.
-       (Options::parseTreatment): Ditto.
-       (Options::setVersionMin): Ditto.
-       (Options::setReadOnlyRelocTreatment): Delete.
-       (Options::setPICTreatment): Ditto.
-       (Options::Parse): Update for above. Add comments.
+       <rdar://problem/5637618> PPC Leopard (Xcode 3.0) linker ld reports "unknown scattered relocation type 4"
+       * src/MachOReaderRelocatable.hpp: add PPC_RELOC_HI16 to scattered reloc parsing
+       * unit-tests/test-cases/relocs-asm/relocs-asm.s: added tests for scattered hi/lo instructions
+       
 
-2005-12-15     Nick Kledzik    <kledzik@apple.com>
+2008-01-11     Nick Kledzik    <kledzik@apple.com>
 
-       * src/MachOReaderRelocatable.hpp: Add comments about dwarf
+       * doc/man/man1/ld.1: add doc for -no_implicit_dylibs, -read_only_stubs, -slow_stubs, -interposable_list
+       
+       
+2008-01-11     Nick Kledzik    <kledzik@apple.com>
 
-2005-12-14     Nick Kledzik    <kledzik@apple.com>
+       <rdar://problem/4800212> ld64(1) man page uses ambiguous term "suffix"
+       * doc/man/man1/ld.1: make meaning of "suffix" more explicit
+       
 
-       * src/ELFFileAbstraction.hpp: Added
-       * src/ELFReaderRelocatable.hpp: Added
-       * Lot of fixes for new architecture
+2008-01-11     Nick Kledzik    <kledzik@apple.com>
 
-2005-12-13     Nick Kledzik    <kledzik@apple.com>
+       <rdar://problem/5633081> Obj-C Symbols in Leopard Can't Be Weak Linked
+       * src/MachOWriterExecutable.hpp: set weak and lazy attributes on dummy .objc_class_name undefines
+        to dylibs to support Mac OS X 10.3.x dyld
+        
 
-       * src/MachOReaderRelocatable.hpp: check for S_ATTR_DEBUG and ignore those sections
-       * unit-tests/test-cases/dwarf-ignore: added
+2008-01-11     Nick Kledzik    <kledzik@apple.com>
 
-2005-12-12     Nick Kledzik    <kledzik@apple.com>
+       <rdar://problem/5669751> Unknown error with linker (dyld: unknown external relocation type)
+       * src/ld.cpp: fix crash when SO stabs are not balanced
+       
 
-       * Added test harness and three initial tests:
-               relocs-asm, relocs-c, and hello-world
+2008-01-11     Devang Patel    <dpatel@apple.com>
 
-2005-12-12     Nick Kledzik    <kledzik@apple.com>
+       <rdar://problem/5667433> LTO does not work if expected output is a dynamic library
+       * src/LLVMReader.hpp: Supply arguments describing output kind to optimizer. Communicate
+       visibility info.
 
-       * src/MachOReaderRelocatable.hpp: Massive refactoring:
-               Now there are three Atom classes, Chopping into Atoms
-               is done on label boundaries or by knowledge of special
-               sections, Share lots of ppc/ppc64 code.
-       Stabs process code is temporarily disabled.
+2000-01-10     Nick Kledzik    <kledzik@apple.com>
 
-2005-12-12     Nick Kledzik    <kledzik@apple.com>
+       <rdar://problem/5680988> __cls_refs section is losing S_LITERAL_POINTERS section type
+       * src/MachOWriterExecutable.hpp: special case __cls_refs section 
+       * unit-tests/test-cases/objc-literal-pointers: add test case
 
-       * src/ObjectDump.cpp: Add command line options: -no_content, -stabs, -no_sort
 
-2005-12-11  Eric Christopher  <echristo@apple.com>
+2008-01-03     Nick Kledzik    <kledzik@apple.com>
 
-       * src/Options.cpp: Reformat.
-       * src/Options.h: Ditto.
+       <rdar://problem/5667688> wrong EH information might be used
+       Created new kGroupSubordinate reference kind to model group comdat.  The "signature" atom
+       has kGroupSubordinate references to the other atoms in the group.  If the signature atom
+       is coalesced away, the linker follows kGroupSubordinate references and throws away the
+       other members of the group.
+       * unit-tests/test-cases/eh-coalescing: added test case
+       * src/ld.cpp: added markDead() and use propagate to subordinates
+       * src/Architectures.hpp: added kGroupSubordinate
+       * src/MachOReaderRelocatable.hpp: add kGroupSubordinate reference from a function to its .eh atom
+         and if used, from .eh atom to its LSDA atom.
+       * src/MachOWriterExecutable.hpp: handle kGroupSubordinate like kNoFixUp
 
-2005-12-07  Eric Christopher  <echristo@apple.com>
+----- Tagged ld64-81.4.1
 
-       * src/MachOReaderRelocatable.hpp (Atom::getAlignment):
-       When calculating alignment of an Atom, take into account
-       the alignment from which we pulled the Atom.
+2007-12-19     Devang Patel    <dpatel@apple.com>
 
-2005-12-06     Nick Kledzik    <kledzik@apple.com>
+       * src/LLVMReader.hpp: Add LLVM_LTO_VERSION #ifdef check.
+       
+2007-12-19     Devang Patel    <dpatel@apple.com>
 
-       * src/Options.cpp src/Options.h: Add design comments
+       * src/LLVMReader.hpp: Add fOptimizer NULL check before calling printVersion().
+       
+2007-12-19     Devang Patel    <dpatel@apple.com>
 
-2005-12-05  Eric Christopher  <echristo@apple.com>
+       <rdar://problem/5655956> print LLVM LTO version number in verbose mode
+       * src/LLVMReader.hpp: Add printLLVMVersion() to print llvm version string in verbose mode.
+       * src/Options.cpp: Use printLLVMVersion() in verbose mode.
 
-       * src/ld.cpp (Linker::createWriter): Uncomment ppc64 and
-       i386 linkers.
+2007-12-19     Devang Patel    <dpatel@apple.com>
 
-2005-12-05  Eric Christopher  <echristo@apple.com>
+       <rdar://problem/5655956> print LLVM LTO version number in verbose mode
+       * src/Options.h: Add verbose() method to check fVerbose flag.
+       * src/LLVMReader.hpp: Print LLVM version string in verbose mode.
+       
+----- Tagged ld64-81.4
 
-       * ChangeLog: New file.
+2007-12-18     Devang Patel    <dpatel@apple.com>
 
-2005-12-02     Nick Kledzik    <kledzik@apple.com>
+       * src/LLVMReader.hpp: Invalidate input architecture when optimizer is not available.
 
-       * src/ObjectFile.h: Add design comments
+----- Tagged ld64-81.3
 
-2005-11-28     Nick Kledzik    <kledzik@apple.com>
+2007-12-17     Nick Kledzik    <kledzik@apple.com>
 
-       * Refactor Atom to use getDefinitionKind()
+       * ld64.xcodeproj/project.pbxproj: remove extraneous header search paths
+       
 
-2005-11-21     Nick Kledzik    <kledzik@apple.com>
+2007-12-17     Devang Patel    <dpatel@apple.com>
 
-       * src/MachOWriterExecutable.hpp: don't generate section for commons in -r mode
+       * src/LLVMReader.hpp: Do not throw exception if LLVMReader is not able to
+       dlopen LTO library. Instead just flag input file as an invalid LLVM bitcode file.
 
-2005-11-18     Nick Kledzik    <kledzik@apple.com>
 
-       * x86 tweaks
+2007-12-14     Nick Kledzik    <kledzik@apple.com>
 
-2005-11-18     Nick Kledzik    <kledzik@apple.com>
+       <rdar://problem/5645908> gcc DejaGnu failure: gcc.dg/20020312-2.c (test for excess errors) (-fstack-protector-all)
+       * src/MachOWriterExecutable.hpp: fix Writer<x86>::generatesExternalTextReloc() to allow text relocs
+       * unit-tests/test-cases/read-only-relocs: updated test case to link a dynamic main executable compiled with -static
 
-       * src/ObjectDump.cpp: make work with command line arguments
 
-2005-11-18     Nick Kledzik    <kledzik@apple.com>
+2007-12-14     Devang Patel    <dpatel@apple.com>
 
-       * Massive rework to remove preprocessor conditionals and use templates
+  <rdar://problem/5648438> Enable Link Time Optimization in Opal
+  * src/LLVMReader.hpp: Locate LLVMlto.dylib relative to ld location in Developer folder.
+  * ld64.xcodeproj/project.pbxproj: Add {DEVELOPER_DIR}/usr/include in header search path.
+  * unit-tests/run-all-unit-tests: Set DYLD_FALLBACK_LIBRARY_PATH to find LLVMlto.dylib during unit testing.
+  * unit-tests/testcases/llvm-integration/Makefile: Point LLVMGCC and LLVMGXX to llvm-gcc-4.2 in Developer folder during unit testing.
+  
+  
+2007-12-13     Nick Kledzik    <kledzik@apple.com>
 
-2005-11-14     Nick Kledzik    <kledzik@apple.com>
+       <rdar://problem/5645446> SWB: failures due to ld: pointer in read-only segment not allowed in slidable image, used in ...
+       * src/MachOReaderRelocatable.hpp: in Reader<x86>::addRelocReference() handle weak pc-rel 32-bit vanilla relocs properly
+       
+----- Tagged ld64-81.2 
 
-       * Created new Subversion repository for ld64 from cvs tag ld64-27.2