]> git.saurik.com Git - apple/ld64.git/blobdiff - ChangeLog
ld64-123.2.1.tar.gz
[apple/ld64.git] / ChangeLog
old mode 100755 (executable)
new mode 100644 (file)
index 62ac23d..e2d1d2c
--- a/ChangeLog
+++ b/ChangeLog
 
-2008-05-06     Nick Kledzik    <kledzik@apple.com>
+-------- tagged ld64-123.2.1
 
-       <rdar://problem/5905889> ARM ld should take W bit off of maxprot for __TEXT segment
-       * src/MachOWriterExecutable.hpp: for iPhone always set maxprot to be initprot in all segments
+2010-03-07    Nick Kledzik    <kledzik@apple.com>
 
+    <rdar://problem/8955206> enable i386 ASLR
 
-2008-05-06     Nick Kledzik    <kledzik@apple.com>
+-------- tagged ld64-123.2
 
-       <rdar://problem/5914343> encryptable images may not be signable
-       * src/MachOWriterExecutable.hpp: use minimum header padding when aligning __text section
+2010-12-10    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8746980> Man page typo: "dysmutil" under object_path_lto
+
+2010-12-10    Nick Kledzik    <kledzik@apple.com>
        
+       <rdar://problem/8746896> ld64 crashes when warning about re-exported symbol
 
------ Tagged ld64-85
+-------- tagged ld64-123.1
 
-2008-04-29     Nick Kledzik    <kledzik@apple.com>
+2010-12-07    Nick Kledzik    <kledzik@apple.com>
 
-       * ld64.xcodeproj/project.pbxproj: <llvm-c/lto.h> is moving from /usr/local/include to /Developer/usr/local/include
+       <rdar://problem/8732097> assertion if symbol from re-exported dylib is in -exported_symbols_list
 
+-------- tagged ld64-123
 
-2008-04-29     Nick Kledzik    <kledzik@apple.com>
+2010-12-06    Nick Kledzik    <kledzik@apple.com>
 
-       <rdar://problem/5829579> ld doesn't honor "rightmost" -syslibroot argument
-       * src/Options.cpp: if last -syslibroot is /, then ignore all syslibroots
+       <rdar://problem/8649182> Change default search order and add -search_dylibs_first to restore old behavior
 
+2010-12-06    Nick Kledzik    <kledzik@apple.com>
 
-2008-04-29     Nick Kledzik    <kledzik@apple.com>
-       
-       <rdar://problem/5866582> GLRendererFloat has bad __eh_frame section caused by mixing llvm-gcc and gcc object files
-       * src/MachOReaderRelocatable.hpp: make all atoms in __eh_frame section have 1-byte alignment
-       * src/MachOWriterExecutable.hpp: make __eh_frame section have pointer sized alignment
+       <rdar://problem/8626058> ld should consistently warn when resolvers are not exported
 
+2010-12-02    Nick Kledzik    <kledzik@apple.com>
 
-2008-04-17     Nick Kledzik    <kledzik@apple.com>
+       <rdar://problem/8723307> data segment has file offset 0
 
-       * src/MachOReaderRelocatable.hpp: better cpu subtype support
+-------- tagged ld64-122
 
+2010-12-01    Nick Kledzik    <kledzik@apple.com>
 
-2008-04-14     Nick Kledzik    <kledzik@apple.com>
-       
-       <rdar://problem/5733759> ld64 has bad ARM branch island check
-       * src/MachOWriterExecutable.hpp: in addBranchIslands() don't force large arm programs to fail
-       
+       Add #define ARM_RELOC_HALF in case trying to build with old mach-o/arm/reloc.h header
 
-2008-04-10     Nick Kledzik    <kledzik@apple.com>
+2010-11-30    Nick Kledzik    <kledzik@apple.com>
 
-       * src/MachOWriterExecutable.hpp: fix stubs used with lazy dylibs
-       
+       <rdar://problem/8134559> Linker should synthesize interworking stubs for tail calls
+       added test case: unit-tests/test-cases/branch-interworking
+
+2010-11-30    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8708091> Link Time Optimization error with tentative defs and -dead_strip
+       added test case: unit-tests/test-cases/lto-dead_strip-tentative
+
+-------- tagged ld64-121
+
+2010-11-10    Nick Kledzik    <kledzik@apple.com>
+
+       Add -dylibs option to dyldinfo tool
+
+2010-11-03    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/7441442> Need support for ARM/thumb upper/lower 16 bit relocation
 
------ Tagged ld64-84.4
+2010-11-03    Nick Kledzik    <kledzik@apple.com>
 
-2008-04-10     Nick Kledzik    <kledzik@apple.com>
+       <rdar://problem/8624334> Spelling typo in linker warning 
 
-       <rdar://problem/5847206> SPEC2000/eon built with -mdynamic-no-pic won't run
-       * src/Architectures.hpp: added arm::kReadOnlyPointer
-       * src/MachOReaderRelocatable.hpp: generate arm::kReadOnlyPointer
-       * src/MachOWriterExecutable.hpp: use arm::kReadOnlyPointer
-       * src/machochecker.cpp: allow MH_PIE bit
-       * unit-tests/test-cases/switch-jump-table: added test cases
+2010-11-02    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8616906> Xcode 4: ld -r doesn't work on files compiled with llvm-gcc -flto
+
+2010-11-01    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8618747> ld wrongly complaining about tlv relocs for i386
+
+2010-11-01    Nick Kledzik    <kledzik@apple.com>
+
+       Fix -why_live to list all references, not just first
+
+2010-11-01    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8612861>
+
+-------- tagged ld64-120.3
+
+2010-11-09    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8644314> revert default search order 
        
+-------- tagged ld64-120.2
+
+2010-11-09    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8510696> ld -r corrupts multiple non-lazy sections
 
------ Tagged ld64-84.3
+-------- tagged ld64-120.1
 
-2008-04-09     Nick Kledzik    <kledzik@apple.com>
+2010-10-25    Nick Kledzik    <kledzik@apple.com>
        
-       <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
+       <rdar://problem/8612550> When order file used on data, turn ordered zero fill symbols into zero data
 
+-------- tagged ld64-120
 
------ Tagged ld64-84.2
+2010-10-25    Nick Kledzik    <kledzik@apple.com>
 
-2008-04-04     Nick Kledzik    <kledzik@apple.com>
+       <rdar://problem/8592564> ld should use this-image ordinal for symbols from re-exported non-public dylibs
+       added test case: unit-tests/test-cases/re-export-and-use
 
-       * src/ld.cpp: don't add .eh symbols to symbol table in -r mode
-       * unit-tests/test-cases/eh-coalescing-r: update to test out of order coalescing
+2010-10-25    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8284718> Value of N_SO stabs should be address of first atom from translation unit
+
+2010-10-25    Nick Kledzik    <kledzik@apple.com>
+
+       Always print arch name on undefined symbols error
        
+2010-10-25    Nick Kledzik    <kledzik@apple.com>
+
+       Add ld64 version number to crash logs
+       
+2010-10-22    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/7952947> -objc_abi_version 1 not supported
+
+2010-10-22    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/5591394> Add support to ld64 for N_FUN stabs when used for symbolic constants
+
+2010-10-22    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/3560832> Change default search order and add -search_dylibs_first to restore old behavior
+
+2010-10-22    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/6955037> -L flag should support a space between it and its argument
+
+2010-10-22    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8553647> Hidden resolver functions don't work with DYLD_BIND_AT_LAUNCH
+
+2010-10-22    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8541707> Support resolver functions for function pointer use from same linkage unit
+
+2010-10-19    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8571323> section$start$ does not always point to start of built in section types
+
+-------- tagged ld64-119.2
+
+2010-10-18    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8553312> make having an ObjC2 class symbol in an export list be a warning instead of an error
+
+2010-10-15    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8553283> lazily produce (crt1.o missing) error
+
+-------- tagged ld64-119.1
+
+2010-10-05    Nick Kledzik    <kledzik@apple.com>
 
------ Tagged ld64-84.1
+       <rdar://problem/8527740> ld -r can produce output with LC_DYLD_INFO load command
 
-2008-03-28     Nick Kledzik    <kledzik@apple.com>
+2010-10-05    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
+       <rdar://problem/8516692> ld doesn't pass stabs debug info through to the final executable any longer
+
+2010-10-05    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/4251267> __UNIXSTACK placed incorrectly when -stack_addr < 0x4000000
+
+2010-10-05    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8267015> ld mishandles -lazy-l option
+       Updated test case: unit-tests/test-cases/lazy-dylib
        
+2010-10-04    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8468240> -no_compact_unwind should suppress dwarf->CUE warnings
+
+-------- tagged ld64-119
+
+2010-10-01    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/6599016> use ld64 to link iBoot
+
+2010-10-01    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8504770> crash when entrypoint is thumb
+
+2010-10-01    Nick Kledzik    <kledzik@apple.com>
+
+       If -ios_version_min is used with -arch i386, assume simulator
+
+2010-10-01    Nick Kledzik    <kledzik@apple.com>
 
------ Tagged ld64-84
+       <rdar://problem/8500061> crash with multiple re-exported dylibs with same install_name
 
-2008-03-28     Nick Kledzik    <kledzik@apple.com>
+2010-09-28    Nick Kledzik    <kledzik@apple.com>
 
-       * src/LTOReader.hpp: don't print lto version, if lto is unavailable
+       <rdar://problem/8032130> Linker complains about resolver functions when architecture is inferred.
        
+2010-09-28    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/6751424> ARM subtype not set on LTO programs
+
+2010-09-28    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8481987> Link-Time Optimization assertion 
+       Added test cases: 
+               unit-tests/test-cases/lto-dead_strip-objc
+               unit-tests/test-cases/lto-dead_strip-some-hidden
+
+2010-09-24    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8441087> Support -dyld_env NAME=value
+
+2010-09-23    Nick Kledzik    <kledzik@apple.com>
+
+       Previous BranchIsland code changes to make buildable with clang++ were bad.  Fix.
+
+2010-09-23    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8274443> ld64 objc category merging asserts on category from old framework
+
+2010-09-23    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8469063> ASLR Sidebuild: Many Projects Fail checksyms_read_only_relocs Verifier
+
+2010-09-22    Nick Kledzik    <kledzik@apple.com>
+
+       Fix DOF section name bug
+
+2010-09-22    Nick Kledzik    <kledzik@apple.com>
+
+       Fixes to build with clang++
+
+2010-09-21    Nick Kledzik    <kledzik@apple.com>
+
+       In Resolver::fillInHelpersInInternalState(), dyld never needs stubs
+
+2010-09-21    Ivan Krstic     <ike@apple.com>
+
+       <rdar://problem/8457083> ld: support non-executable heap Mach-O header flag
+
+2010-09-21    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8175282> Xcode 4 linker fails with "address not in any section"
+
+2010-09-20    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8198832> assertion failure reading i386 yasm .o (not using scattered reloc)
+
+2010-09-20    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8430751> ld crashes when parsing dwarf and all code is not in __text
+
+2010-09-17    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8396450> magic segment symbol names don't work with preload executables
+       Update test case: unit-tests/test-cases/segment-labels
+
+2010-09-17    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8445985> OSO in DebugNotes for LTO should point to generated mach-o not, bitcode .o file
+
+2010-09-16    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8413931> FUN in debug map not rebased
+       Update test case: unit-tests/test-cases/rebase-basic
+
+2010-09-16    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8427133> Relocation failure with i386 32-bit diff to stub
+
+2010-09-16    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8437287> assert when targeting 10.5 and crt1.o/dylib1.o is not supplied
+
+-------- tagged ld64-118.1
+
+2010-09-15    Nick Kledzik    <kledzik@apple.com>
 
-2008-03-26     Nick Kledzik    <kledzik@apple.com>
+       Fix missing rebase commands that broke perl
 
-       <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
+2010-09-15    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8252819> assert when .objc_class_name_* symbol missing
+       Add test case: unit-tests/test-cases/archive-ObjC-unexported
+
+2010-09-13    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8419850> linker does not honor $ld$hide for umbrella libraries
+       Added test case: unit-tests/test-cases/symbol-hiding-umbrella
+
+2010-09-09    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/6723729> LC_UUID uuids should conform to RFC 4122 UUID version 4 & UUID version 5 formats
+
+2010-09-09    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/4942948> support -bind_at_load
+
+2010-09-07    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/7989734> ld mis-handling std::tr1::anonymous symbols
+       Remove support for ordering gcc-4.0 compiled anonymous namespace symbols
+
+
+-------- tagged ld64-118
+
+2010-09-02    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8308697> -preload should not have LINKEDIT segment
+       Added test case: unit-tests/test-cases/efi-basic
+
+2010-09-02    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8389578> trivial Objective-C app fails when using libLTO
+       Added test case: unit-tests/test-cases/lto-objc-image-info
+
+2010-09-02    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8384727> Add -reexport_symbols_list option to re-export certain symbols.
+       Added test case: unit-tests/test-cases/reexport_symbols_list
+
+2010-09-01    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/7438246> LTO with 'dead code strip' can't ignore unused functions with undefined references
+       Add test case: unit-tests/test-cases/lto-dead_strip-unused
+
+2010-09-01    Nick Kledzik    <kledzik@apple.com>
+
+       Warn if unaligned ARM code is detected
+
+2010-09-01    Nick Kledzik    <kledzik@apple.com>
        
+       <rdar://problem/8383175> Mach-O linked by current linker don't load in VIrtualBox any more
+
+2010-09-01    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8304984> Linker should pick default visibility instead of warning about conflicts
+       Updated test case: unit-tests/test-cases/visibility-warning
+
+2010-09-01    Nick Kledzik    <kledzik@apple.com>
 
-2008-03-26     Nick Kledzik    <kledzik@apple.com>
+       <rdar://problem/8249338> Enable new load commands
 
-       <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
+2010-09-01    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8368679>  Do not pass -demangle to ld_classic
+
+2010-09-01    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8336910> iOS 4.3 armv7 should be PIE by default
+       <rdar://problem/5472933> better error message for direct access to external globals when not linking read_only_relocs
+       <rdar://problem/7927510> linker does not error on direct (static) data references to a dylib symbol     
+
+-------- tagged ld64-117.11
+
+2010-09-03    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8385011> mask thumb bit off non lazy pointers content when parsing arm .o files
+
+-------- tagged ld64-117.10
+
+2010-08-26    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8358084> 8F64 kills installtest devices
+       Don't clear thumb bit on pointers inside thumb functions if addend is negative
+
+-------- tagged ld64-117.9
+
+2010-08-25    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8345038> no more audio because of broken thunk
+       Update of thumb22 b.w instruction was not clearing bits before or'ing in new ones
+
+-------- tagged ld64-117.8
+
+2010-08-25    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8342028> prefetch abort in kernel mode: fault_addr=0xe58024e4
+       Don't set thumb bit on .long pointers in thumb functions that point to some offset in same function
+
+-------- tagged ld64-117.7
+
+2010-08-24    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8346444> dyld-179.4 fails to link, assert in setLoadCommandsPadding()
+       Fix linker to always put __text first before other code-only sections
+
+-------- tagged ld64-117.6
+
+2010-08-23    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8339702> ld no longer output static archive dependencies for dyld for B&I
+       Add test case unit-tests/test-cases/dependency-logging
+
+-------- tagged ld64-117.5
+
+2010-08-20    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8309595> SWB: ld64-117.1 on Durango8F54: Assertion failed:
+       UTF16 CFStrings were not coalesced correctly when gcc built the .o files and the
+       last string in the __ustring section only had a single zero byte at the end.
        
+-------- tagged ld64-117.4
+
+2010-08-19    Nick Kledzik    <kledzik@apple.com>
 
-2008-03-25     Nick Kledzik    <kledzik@apple.com>
+       <rdar://problem/8326544> DTSJ1J105: SpringBoard crashes on boot
+       Fix order file to move aliases even when subsections_via_symbols it used
+       Update test case unit-tests/test-cases/order_file
 
-       <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
+2010-08-17    Nick Kledzik    <kledzik@apple.com>
 
+       Fix resolver functions to survive ld -r.
+       Warn if resolver functions are made non-external.
 
-2008-03-25     Nick Kledzik    <kledzik@apple.com>
+2010-08-17    Nick Kledzik    <kledzik@apple.com>
 
-       <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
+       Make it an error for resolver functions to be used in anything but a dylib.
+
+-------- tagged ld64-117.3
+
+2010-08-17    Nick Kledzik    <kledzik@apple.com>
+
+       Fix thumb resolver functions
+       Enable updward dylibs and symbol re-exports for iOS 4.2
+
+2010-08-16    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8308697> Latest ld no longer supports EFI -preload
+       Rearrange LINKEDIT chunks in -preload mode
+
+-------- tagged ld64-117.2
+
+2010-08-14    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8308697> Latest ld no longer supports EFI -preload
+       Add LC_UNIXTHREAD to -preload
+
+2010-08-14    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8309530> SWB: ld64-117.1 on Durango8F54: Assertion failed: (categoryAtom->size() == Category<A>::size())
+       gcc-4.0 uses 'L' labels on categories.  This merges them onto previous data and disable category optimzation
+
+2010-08-14    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8309917> SWB: ld64-117.1 on Durango8F54: bad category optimization
+       Disable category optimization for i386 and arm until further testing
+
+2010-08-14    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8309608> SWB: ld64-117.1 on Durango8F54: address not in any section
+       Handle pointer diff to stub for weak hidden function
+
+2010-08-13    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8308697> Latest ld no longer supports EFI -preload
+
+-------- tagged ld64-117.1
+
+2010-08-11    Nick Kledzik    <kledzik@apple.com>
+
+       Make missing exported symbols a warning to help adoption of new linker
+
+2010-08-11    Nick Kledzik    <kledzik@apple.com>
+
+       Add ExternalRelocationsAtom<>::pointerReloc() to more easily support kext bundles
+
+2010-08-09    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8210380> SWB: ld64-116.2 fix branch to label-4
+
+2010-08-09    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8260073> Error with empty non_lazy_symbol_pointers section
+
+2010-08-06    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/7977374> Add command line options to control symbol weak-def-bit on exported symbols
+
+-------- tagged ld64-117
+
+2010-07-28    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8243431> split seg info wrong for x86_64 stub helpers
+
+2010-07-26    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8237436> __nlcatlist categories should not be optimized
+
+2010-07-23    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8179273> ld64 assertion on object file
+
+2010-07-21    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/7435296> Reorder sections to reduce page faults in object files
+
+2010-06-30    Nick Kledzik    <kledzik@apple.com>
+
+       Support resolver functions in iOS dylibs
+
+-------- tagged ld64-116.2
+
+2010-06-30    Nick Kledzik    <kledzik@apple.com>
        
+       <rdar://problem/8138287> C programs get objc GCness from dylibs
+       Update: unit-tests/test-cases/objc-gc-checks
+
+-------- tagged ld64-116.1
+
+2010-06-22    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8111013> address range check should not apply to preload executables
+
+2010-06-22    Nick Kledzik    <kledzik@apple.com>
+
+       Warn instead of error when CPU_SUBTYPE_ARM_ALL .o files used.
+
+2010-06-22    Nick Kledzik    <kledzik@apple.com>
+
+       Fix assert in objc category optimzation.  Metaclass also has copy of propery list to update.
+
+2010-06-22    Nick Kledzik    <kledzik@apple.com>
+
+       Fix crash in -r mode with -alias.
 
-2008-03-25     Nick Kledzik    <kledzik@apple.com>
+-------- tagged ld64-116
 
-       * src/MachOReaderRelocatable.cpp: Fix some .objc_class_name_ off by one problem
-       * src/MachOWriterExecutable.cpp: Fix some .objc_class_name_ off by one problem
+2010-06-21    Nick Kledzik    <kledzik@apple.com>
 
+       Add support for -ios_version_min as an alias for -iphoneos_version_min
 
-2008-03-24     Nick Kledzik    <kledzik@apple.com>
+2010-06-21    Nick Kledzik    <kledzik@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.
+       <rdar://problem/7687304> linker could merge method lists from class and its categories
+       Added test case: unit-tests/test-cases/objc-category-optimize
+       Added option: -no_objc_category_merging to disable
 
+2010-06-21    Nick Kledzik    <kledzik@apple.com>
 
-2008-03-21     Nick Kledzik    <kledzik@apple.com>
+       <rdar://problem/8113877> i386 TLV PIC reloc content is negated
 
-       * src/Options.cpp: warn if -seg1addr value is not page aligned
+2010-06-15    Nick Kledzik    <kledzik@apple.com>
+
+       Added better error messages and asserts for bad thread local object files
+
+2010-06-09    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8076986>
+
+2010-06-09    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/7966333> executable has no debug symbols when compiled with LTO
+       Added test case: unit-tests/test-cases/lto-object_path
+
+2010-06-09    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/7702923> stop promoting hidden referenced dynamically symbols to global
+       Updated test case: unit-tests/test-cases/main-stripped
+
+2010-06-04    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/6144674> ER: individual symbol re-exports
+       Added test case: unit-tests/test-cases/re-export-symbo
+
+2010-06-03    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/7474224> add functions start info to LINKEDIT
+       * Support added but not on by default.  Use -function_starts to enable.
+       * Added test case: unit-tests/test-cases/function-start
+
+2010-06-02    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/5674241> ER: add load command for min OS version
+       * Support added but not on by default.  Use -version_load_command to enable.
+
+2010-06-02    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/8040089> provide better undefined symbol error message
+
+2010-05-28    Nick Kledzik    <kledzik@apple.com>
+
+       * <rdar://problem/7780438> ld should also merge file attributes from lazy loaded archives
+       * Move attribute gathering from InputFiles to Resolver
+
+2010-05-28    Nick Kledzik    <kledzik@apple.com>
+
+       * <rdar://problem/8038333> SWB: ld64-115.3: dylib on kext link line causes malformed kext
+       * allow -static after -kext on command line
+
+-------- tagged ld64-115.3
+
+2010-05-26    Nick Kledzik    <kledzik@apple.com>
+
+       * <rdar://problem/8024702> strip of .o files removes __objc_imageinfo section
+       * Added test case:  unit-tests/test-cases/dwarf-strip-objc
+
+2010-05-25    Nick Kledzik    <kledzik@apple.com>
+
+       * <rdar://problem/8023624> crash when parsing local vanilla reloc to weak def
+
+-------- tagged ld64-115.2
+
+2010-05-21    Nick Kledzik    <kledzik@apple.com>
+
+       * <rdar://problem/8012536> switch back to using ld_classic for -static arm code
        
 
-2008-03-21     Nick Kledzik    <kledzik@apple.com>
+2010-05-21    Nick Kledzik    <kledzik@apple.com>
+
+       * <rdar://problem/8012549> warn instead of error when seg1addr is out of range for ARM
+
+
+2010-05-21    Nick Kledzik    <kledzik@apple.com>
+
+       * <rdar://problem/8012526> fix -undefined dynamic_lookup -nodefaults to not error about missing dyld_stub_binder
+
+-------- tagged ld64-115.1
+
+2010-05-19    Nick Kledzik    <kledzik@apple.com>
+
+       * Fix trie nodes for resolver functions to have second address be stub not helper               
+
+2010-05-19    Nick Kledzik    <kledzik@apple.com>
+
+       * <rdar://problem/7996423> work around for old checksyms tools  
+       * Make i386 stub section named "__symbol_stub" instead of "__stubs"
+
+2010-05-10    Nick Kledzik    <kledzik@apple.com>
+
+       * <rdar://problem/7960396> linking with LTO prints "/tmp/lto.o"
 
-       <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
+-------- tagged ld64-115
+
+2010-05-06    Nick Kledzik    <kledzik@apple.com>
+
+       * <rdar://problem/7892392> linker loses x86_64 addend to 'L' symbols
+       * properly handle addend to 'L' symbols that are ignored
+
+2010-05-05    Nick Kledzik    <kledzik@apple.com>
+
+       * rework min OS version parsing to enable the linker to handle unknown OS versions
+
+
+2010-05-05    Nick Kledzik    <kledzik@apple.com>
+
+       * Implement magic section$start$xxx$yyyy and section$end$xxx$yyyy symbols
+       * Implement magic segment$start$xxx and segment$end$xxx symbols
+       * Add test case: unit-tests/test-cases/segment-labels
        
 
------ Tagged ld64-83.2
+2010-05-03    Nick Kledzik    <kledzik@apple.com>
+
+       * <rdar://problem/7173071> implement optional demangling in linker
+       * Add option: -demangle
+       * Add test case: unit-tests/test-cases/demangle
        
-2008-03-15     Nick Kledzik    <kledzik@apple.com>
+
+2010-05-03    Nick Kledzik    <kledzik@apple.com>
+
+       * <rdar://problem/7931759> ld64 doesn't grok the modern-objc-ABI-on-i386 
+       * Add support for -objc_abi_version command line option
+       * Added test case: unit-tests/test-cases/objc-abi
+
+
+2010-05-03    Nick Kledzik    <kledzik@apple.com>
+
+       * <rdar://problem/7929974> -alias does not work with __OBJC sections
+       * sort contents of sections with aliases
+       * Added test case: unit-tests/test-cases/objc-class-alias
        
-       <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
+
+2010-04-28    Nick Kledzik    <kledzik@apple.com>
        
+       * <rdar://problem/4966836> Feature: Thread local storage
+       * Add test case: unit-tests/test-cases/tlv-basic
+       * Add test case: unit-tests/test-cases/tlv-dylib
        
------ Tagged ld64-83.1
 
-2008-03-14     Nick Kledzik    <kledzik@apple.com>
+2010-04-27    Nick Kledzik    <kledzik@apple.com>
 
-       <rdar://problem/5800466> -iphone_version_min ==> -iphoneos_version_min
-       * src/Options.cpp: support -iphoneos_version_min as well
-       
+       * <rdar://problem/4383612> Accelerate needs way to dispatch based on instruction execution time characteristics.
+       * Add support for "symbol resolver" functions
+       * Add test case unit-tests/test-cases/symbol-resolver-basic
 
------ Tagged ld64-83
 
-2008-03-10     Nick Kledzik    <kledzik@apple.com>
+2010-04-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
-       
+       * <rdar://problem/7711820> range check fat archives
+       * check that fat file slice being used does not extend beyond end of file
+       * check that member being used does not extend beyond end of slice/file
 
-2008-03-04     Nick Kledzik    <kledzik@apple.com>
+2010-04-26    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
-       
+       * <rdar://problem/7666015> The documentation for the -allowable_client option doesn't say enough about it
 
------ Tagged ld64-82.7
+2010-04-26    Nick Kledzik    <kledzik@apple.com>
 
-2008-03-07     Nick Kledzik    <kledzik@apple.com>
+       * <rdar://problem/7854068> back out LD_NO_PIE
 
-       <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
+2010-04-22    Nick Kledzik    <kledzik@apple.com>
 
+       * <rdar://problem/7831043> More ICU make check failures with 0-terminated UTF16 strings
+       * Change UTF16StringSection to break into atoms just on label boundaries
+       * Added test case: unit-tests/test-cases/utf16-nul
        
------ Tagged ld64-82.6
 
-2008-03-04     Nick Kledzik    <kledzik@apple.com>
+-------- tagged ld64-114.12
+
+2010-04-14    Nick Kledzik    <kledzik@apple.com>
 
-       <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
+       * <rdar://problem/7811357> Crash with messed up BNSYM
        
-2008-03-04     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
+2010-04-07    Nick Kledzik    <kledzik@apple.com>
+
+       * Fix crash with blank dylib stubs
+
+-------- tagged ld64-114.11
+
+2010-04-07    Nick Kledzik    <kledzik@apple.com>
+
+       * <rdar://problem/7798495> for ppc, add split-seg info for TEXT pointers to DATA
        
 
-2008-02-29     Nick Kledzik    <kledzik@apple.com>
+2010-04-07    Nick Kledzik    <kledzik@apple.com>
 
-       <rdar://problem/5774730> Simulator frameworks are being build split-seg and not prebound
-       * src/Options.cpp: only splitseg if prebound
+       * <rdar://problem/7831379> Cannot build ppc64 target with ObjC code
 
 
-2008-02-29     Nick Kledzik    <kledzik@apple.com>
+2010-04-01    Nick Kledzik    <kledzik@apple.com>
 
-       <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
+       * let .exp files override auto-hide so that they can be exported if needed
 
 
-2008-02-29     Nick Kledzik    <kledzik@apple.com>
+2010-04-01    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
+       * <rdar://problem/6783167> support auto hidden weak symbols: .weak_def_can_be_hidden
+       * added test case: unit-tests/test-cases/weak-def-auto-hide
 
 
-2008-02-25     Nick Kledzik    <kledzik@apple.com>
+2010-04-01    Nick Kledzik    <kledzik@apple.com>
 
-       <rdar://problem/5366363> ld -r -x 
-       * doc/man/man1/ld.1: update man page to explain -r -x produces auto-stripped labels
+       * <rdar://problem/7818475> 'l' symbols not being automatically removed
 
 
------ Tagged ld64-82.5
+2010-03-31    Nick Kledzik    <kledzik@apple.com>
 
-2008-02-12     Nick Kledzik    <kledzik@apple.com>
+       * <rdar://problem/7808258> weak defs should not cause indirection in static executables
+       * Update test case: unit-tests/test-cases/static-executable-weak-defines
 
-       <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
+-------- tagged ld64-114.10
+
+2010-03-31    Nick Kledzik    <kledzik@apple.com>
        
+       * <rdar://problem/7735120> assert with .o file with two LSDA sections
+
 
------ Tagged ld64-82.4
+-------- tagged ld64-114.9
 
-2008-02-06     Nick Kledzik    <kledzik@apple.com>
+2010-03-30    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
+       * <rdar://problem/7791161> L4 locks up starting a second processor, works fine with old linker
+       * properly get addend from content in x86_64 substractor when target is direct
        
 
-2008-02-06     Devang Patel    <dpatel@apple.com>
+2010-03-29    Nick Kledzik    <kledzik@apple.com>
+
+       * <rdar://problem/7805172> ld should excludes debug notes when computing UUID
+       * added test case: unit-tests/test-cases/dwarf-debug-notes-uuid
 
-       <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.
+-------- tagged ld64-114.8
+
+2010-03-26    Nick Kledzik    <kledzik@apple.com>
+
+       * <rdar://problem/7788474> __objc_catlist section loses don't dead strip bit in ld -r mode
+       * Update test case unit-tests/test-cases/static-executable
+
+-------- tagged ld64-114.7
        
-2008-02-05     Nick Kledzik    <kledzik@apple.com>
+2010-03-25    Nick Kledzik    <kledzik@apple.com>
+
+       * <rdar://problem/7796313> Support LD_NO_PIE again
+
+2010-03-25    Nick Kledzik    <kledzik@apple.com>
+
+       * <rdar://problem/7765885> Rosetta crashes on launch in 11A133a
+       * Fix -segaddr __TEXT to cause other floating segments to be contiguous with TEXT
+
+2010-03-24    Nick Kledzik    <kledzik@apple.com>
+
+       * <rdar://problem/7786326> Page Zero segment seems to be getting dead stripped
+
+2010-03-24    Nick Kledzik    <kledzik@apple.com>
+
+       * <rdar://problem/7785574> kernel sdt dtrace probes not visible
+
+-------- tagged ld64-114.6
+
+2010-03-23    Nick Kledzik    <kledzik@apple.com>
 
-       * src/ld.cpp: fix for -arch ppc -mdynamic-no-pic -pie so PPC_RELOC_HA16 reloc is used
+       * <rdar://problem/7783918> new linker makes dylibs with no __text section, causing codesign_allocate tool to fail
+       * make sure there is always a __text section in dylibs and bundles
+
+-------- tagged ld64-114.5
+
+2010-03-22    Nick Kledzik    <kledzik@apple.com>
+
+       * <rdar://problem/7767311> missing __objc_imageinfo section
+       * Real fix will be in 7780438.  For now have Resolver also accumulate objc constraint info
        
------ Tagged ld64-82.3
+
+2010-03-19    Nick Kledzik    <kledzik@apple.com>
+
+       * <rdar://problem/7772740> ld64-114 does not error on missing exported symbols with -dead_strip
+
+-------- tagged ld64-114.4
        
-2008-02-04     Nick Kledzik    <kledzik@apple.com>
+2010-03-16    Nick Kledzik    <kledzik@apple.com>
 
-       <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$
+       * <rdar://problem/7762146> dyld missing LC_ID_DYLINKER
        
+-------- tagged ld64-114.3
 
------ Tagged ld64-82.2
+2010-03-15    Nick Kledzik    <kledzik@apple.com>
 
-2008-01-30     Devang Patel    <dpatel@apple.com>
+       * force i386 kexts to be built with ld_classic
+       * preserve 'l' labels in static executables
+       * sync section offsets and addresses in segments with command line addresses
 
-       <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
 
-2008-01-23     Nick Kledzik    <kledzik@apple.com>
+-------- tagged ld64-114.2
+
+2010-03-13    Nick Kledzik    <kledzik@apple.com>
+
+       * <rdar://problem/7751930> ld64-114 generates x86_64 kext external call sites with incorrect addend
+
+-------- tagged ld64-114.1
+
+2010-03-12    Nick Kledzik    <kledzik@apple.com>
+
+       * Fix dyldinfo tool to correct show ordinal info for classic linkedit
+
+2010-03-12    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/7748047> ld64-114 is causing read_only_reloc verification errors for ppc
+       * Update machochecker to check this.
+
+-------- tagged ld64-114
+
+2010-03-11    Nick Kledzik    <kledzik@apple.com>
+
+       * <rdar://problem/7744174> i386 dylibs built with ld64-112 cause runtime errors when incorporated into the dyld shared cache
+       * Add -shared_region option to dyldinfo tool
+
+-------- tagged ld64-113
+
+2010-03-11    Nick Kledzik    <kledzik@apple.com>
+
+       * Allow CPU_SUBTYPE_ARM_ALL .o files to be linked into any arm arch linkage
+
+2010-03-11    Nick Kledzik    <kledzik@apple.com>
+
+       <rdar://problem/7741238> ld64-112 with -undefined dynamic_lookup marks all symbols as being flat
+       * update test case at: unit-tests/test-cases/undefined-dynamic-lookup
+
+2010-03-10    Nick Kledzik    <kledzik@apple.com>
+
+       * prevent possible crash in warning about can't export hidden symbols
+
+2010-03-10    Nick Kledzik    <kledzik@apple.com>
 
-       * src/MachOReaderRelocatable.hpp: don't bus error if S_LITERAL_POINTERS is missing relocs
+       * make sure split-info data is zero terminated
+
+-------- tagged ld64-112
+
+2010-03-09    Nick Kledzik    <kledzik@apple.com>
+
+       * Never dead strip sections added with -sectcreate
+       * Added test case: unit-tests/test-cases/sectcreate-dead_strip
+
+
+-------- tagged ld64-111
+
+2010-03-03    Nick Kledzik    <kledzik@apple.com>
+
+       * Add support for "-arch arm -force_cpusubtype_ALL" to keep gcc building
+
+2010-03-02    Nick Kledzik    <kledzik@apple.com>
+
+       * Add some checking to the use of upward dylibs
+
+-------- tagged ld64-110
+
+2010-03-01    Nick Kledzik    <kledzik@apple.com>
+
+       * Don't coalesce cstrings across segments
+
+2010-03-01    Nick Kledzik    <kledzik@apple.com>
+
+       * Emulate previous linker bug where hidden symbols with dynamically-referenced
+        bit were promoted to global.
+       * Added test case: unit-tests/test-cases/unstrippable-symbols
+
+-------- tagged ld64-109.1
+
+2010-02-26    Nick Kledzik    <kledzik@apple.com>
+
+       * Make sure building dyld results in a thread load command
        
+-------- tagged ld64-109
+
+2010-02-26    Nick Kledzik    <kledzik@apple.com>
+
+       * Better sorting of zero-fill sections to preserve discovery order
+       * Zero out file offsets in dynamic symbol table entries that are not used
 
-2008-01-22     Nick Kledzik    <kledzik@apple.com>
+2010-02-26    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
+       * Support pointer-diffs to zero sized atom in zero sized section 
 
+2010-02-25    Nick Kledzik    <kledzik@apple.com>
+
+       * Add support for -r mode with ppc64 
+
+2010-02-25    Nick Kledzik    <kledzik@apple.com>
+
+       * Handle multiple labels on the same coalesable literal by making an
+       atom for each label, each with the same content.
+       * Add test case: unit-tests/test-cases/literals-labels
        
------ Tagged ld64-82
+
+2010-02-25    Nick Kledzik    <kledzik@apple.com>
+
+       * Handle old ppc .o files that have stubs to static functions
+
+2010-02-25    Nick Kledzik    <kledzik@apple.com>
+
+       * Add basic ppc64 support
+
+2010-02-24    Nick Kledzik    <kledzik@apple.com>
+
+       * Range check TOC entries in archives
+
+
+2010-02-23    Nick Kledzik    <kledzik@apple.com>
+
+       * Fix spurious dylib re-export warnings that are just regular linkage cycles
+
+
+2010-02-23    Nick Kledzik    <kledzik@apple.com>
+
+       * re-partition bits in mach_o::relocatable::Atom ivars to allow more functions per file
+
+
+2010-02-22    Nick Kledzik    <kledzik@apple.com>
+
+       * re-partition bits in mach_o::relocatable::Atom ivars to allow more fixups per function
        
-2008-01-18     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
+2010-02-22    Nick Kledzik    <kledzik@apple.com>
+
+       * Handle re-exported dylibs that are re-exported again
+       * Added test case: unit-tests/test-cases/re-export-layers
        
 
-2008-01-16     Nick Kledzik    <kledzik@apple.com>
+2010-02-22    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
-               
+       * Properly handle X86_64_RELOC_SUBTRACTOR with non-external target symbol
        
-2008-01-16     Nick Kledzik    <kledzik@apple.com>
+
+-------- tagged ld64-108
+
+2010-02-17    Nick Kledzik    <kledzik@apple.com>
+
+       * <rdar://problem/7658740> ER: Support upward dylib dependencies
+       * Add test case:  unit-tests/test-cases/dylib-upward
        
-       <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
+
+2010-02-17    Nick Kledzik    <kledzik@apple.com>
+
+       * <rdar://problem/7401775> ld(1) man page typo
+       * <rdar://problem/7230340> Linker (ld) man page typo: "unredable" in -pagezero_size option description
+       * <rdar://problem/7207483> Typo in ld(1) man page, "-x" option
+       * <rdar://problem/6239264> man ld: Change "if" -> "is"
+       * <rdar://problem/7393216> DOC: ld(1) mentions -dynamiclib when it means -dylib
        
 
-2008-01-16     Nick Kledzik    <kledzik@apple.com>
+2010-02-17    Nick Kledzik    <kledzik@apple.com>
+
+       * <rdar://problem/7625461> Wordsmith ld warning about missing directories
 
-       <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.
+
+2010-02-17    Nick Kledzik    <kledzik@apple.com>
+
+       * Fix -umbrella to work when umbrella is a dylib instead of a framework
+       * Add test case:  unit-tests/test-cases/umbrella-dylib
        
 
-2008-01-16     Devang Patel    <dpatel@apple.com>
+-------- tagged ld64-107
+
+2010-02-16    Nick Kledzik    <kledzik@apple.com>
 
-       * src/LLVMReader.hpp: Use __gnu_cxx::hash_map instead of hash supported by LLVM.
+       * Fix bugs with -preload
 
 
-2008-01-16     Nick Kledzik    <kledzik@apple.com>
+2010-02-16    Nick Kledzik    <kledzik@apple.com>
 
-       <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
+       * Fix dylib re-export cylce detection
 
 
-2008-01-15     Nick Kledzik    <kledzik@apple.com>
+2010-02-16    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
+       * <rdar://problem/6018216> -ObjC not pulling in members with categories only
+       * scan for non-zero __objc_catlist section in archive members when -ObjC is used
+       * Added test case: unit-tests/test-cases/objc-category-archive
        
------ Tagged ld64-81.5
+       
+2010-02-15    Nick Kledzik    <kledzik@apple.com>
 
-2008-01-14     Devang Patel    <dpatel@apple.com>
+       * <rdar://problem/7398610> ld glibly removes /dev/null
 
-       <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.
        
+2010-02-15    Nick Kledzik    <kledzik@apple.com>
 
-2008-01-14     Nick Kledzik    <kledzik@apple.com>
+       * <rdar://problem/7196255> Linker should be able to validate GC intentions
+       * Add -objc_gc and -objc_gc_only. Error when used and RR based .o file is linked in
+       * Update test case:  unit-tests/test-cases/objc-gc-checks
 
-       <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
-       
 
-2008-01-11     Nick Kledzik    <kledzik@apple.com>
+2010-02-15    Nick Kledzik    <kledzik@apple.com>
 
-       <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
+       * <rdar://problem/7421695> Linker should provide a way to mark binaries that support compaction
+       * Added -objc_gc_compaction option
+       * Update test case:  unit-tests/test-cases/objc-gc-checks
        
 
-2008-01-11     Nick Kledzik    <kledzik@apple.com>
+2010-02-15    Nick Kledzik    <kledzik@apple.com>
 
-       * doc/man/man1/ld.1: add doc for -no_implicit_dylibs, -read_only_stubs, -slow_stubs, -interposable_list
-       
+       * <rdar://problem/7546367> ER: Need a way to detect weak exports in dev tools
+       * implement -warn_weak_exports
+
+2010-02-15    Nick Kledzik    <kledzik@apple.com>
+
+       * Add support for LD_DYLD_PATH
+
+
+2010-02-15    Nick Kledzik    <kledzik@apple.com>
+
+       * <rdar://problem/7636072> cfstring backing store points to global cstring
+       * Force all by-name references in cfstring to be direct references
+       * add test case: unit-tests/test-cases/cfstring-and-cstring
        
-2008-01-11     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
+-------- tagged ld64-106
+
+2010-02-12    Nick Kledzik    <kledzik@apple.com>
+
+       * <rdar://problem/7644673> Assertion failed: when class is translation unit scoped
+       * added test case unit-tests/test-cases/objc-visibility
        
 
-2008-01-11     Nick Kledzik    <kledzik@apple.com>
+2010-02-12    Nick Kledzik    <kledzik@apple.com>
+
+       * <rdar://problem/7644828> crash with missing crt?
 
-       <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
-        
 
-2008-01-11     Nick Kledzik    <kledzik@apple.com>
+2010-02-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
+       * Suppress indirect symbol table in static executables
        
 
-2008-01-11     Devang Patel    <dpatel@apple.com>
+2010-02-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.
+       * Rework CIE parsing to work with icc generated code
 
-2000-01-10     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
+2010-02-11    Nick Kledzik    <kledzik@apple.com>
 
+       * Fix creation of debug notes
+       * Tweak unit-tests/test-cases/dwarf-debug-notes to match llvm symbol layout
 
-2008-01-03     Nick Kledzik    <kledzik@apple.com>
 
-       <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
+2010-02-11    Nick Kledzik    <kledzik@apple.com>
 
------ Tagged ld64-81.4.1
+       * Don't assert when infering ppc subtype that is ALL.
+       * Fix spurious warning about mismatched subtypes, when subtype is inferred
 
-2007-12-19     Devang Patel    <dpatel@apple.com>
 
-       * src/LLVMReader.hpp: Add LLVM_LTO_VERSION #ifdef check.
-       
-2007-12-19     Devang Patel    <dpatel@apple.com>
+-------- tagged ld64-105
+
+2010-02-11    Nick Kledzik    <kledzik@apple.com>
+
+       * Use symbolic constants for bit field sizes
+
 
-       * src/LLVMReader.hpp: Add fOptimizer NULL check before calling printVersion().
+2010-02-10    Nick Kledzik    <kledzik@apple.com>
+
+       * Handle out of order sections in .o files
+
+
+-------- tagged ld64-104
+
+2010-02-10    Nick Kledzik    <kledzik@apple.com>
+
+       * Rename __tentative internal section name to __comm/tent to sort like __common
+       * Fix test case in unit-tests/test-cases/tentative-to-real-r
+
+
+2010-02-10    Nick Kledzik    <kledzik@apple.com>
+
+       * Better warning messages about mismatched architectures
        
-2007-12-19     Devang Patel    <dpatel@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.
+2010-02-10    Nick Kledzik    <kledzik@apple.com>
+
+       * Gracefully ignore if there are >8000 line info per function in debug info
+
+
+2010-02-10    Nick Kledzik    <kledzik@apple.com>
+
+       * Properly handle when regular definition is weak_imported
+       * Add unit-tests/test-cases/weak_import-local
 
-2007-12-19     Devang Patel    <dpatel@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.
+2010-02-10    Nick Kledzik    <kledzik@apple.com>
+
+       * Don't try to coalesce zero length cstrings in mach-o parser.
+       
+
+2010-02-10    Nick Kledzik    <kledzik@apple.com>
+
+       * Add work around for llvm using L labels for backing string of CFString with -fwritable-strings
        
------ Tagged ld64-81.4
 
-2007-12-18     Devang Patel    <dpatel@apple.com>
+2010-02-09    Nick Kledzik    <kledzik@apple.com>
+
+       * Ignore labels in __gcc_except_tab section
+       * Properly apply local relocations to __eh_frame section so CFI parser works
+       * Update unit-tests/test-cases/eh-stripped-symbols to reproduce problem
+
+
+2010-02-09    Nick Kledzik    <kledzik@apple.com>
+
+       * Fix file offset computation with large zero-fill sections
+        
+
+2010-02-09    Nick Kledzik    <kledzik@apple.com>
+
+       * Force global 'l' to be hidden 
+       * Add test case with objc properties: unit-tests/test-cases/objc-properties
+
 
-       * src/LLVMReader.hpp: Invalidate input architecture when optimizer is not available.
+-------- tagged ld64-103
 
------ Tagged ld64-81.3
+2010-02-04    Nick Kledzik    <kledzik@apple.com>
 
-2007-12-17     Nick Kledzik    <kledzik@apple.com>
+       * Temporarily change assert() to call exit(1) instead of abort() 
 
-       * ld64.xcodeproj/project.pbxproj: remove extraneous header search paths
+
+2010-02-04    Nick Kledzik    <kledzik@apple.com>
+
+       * Fix another case in -r mode where the vmsize was less that filesize
+       
        
+2010-02-04    Nick Kledzik    <kledzik@apple.com>
+
+       * Fix assert when generating GSYM stab debug notes
+       
+
+2010-02-04    Nick Kledzik    <kledzik@apple.com>
 
-2007-12-17     Devang Patel    <dpatel@apple.com>
+       * Add SRCROOT to crash logs
 
-       * 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.
 
+2010-02-04    Nick Kledzik    <kledzik@apple.com>
 
-2007-12-14     Nick Kledzik    <kledzik@apple.com>
+       * Remove architectureName() from InputFiles
 
-       <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
 
+-------- tagged ld64-102
 
-2007-12-14     Devang Patel    <dpatel@apple.com>
+2010-02-03    Nick Kledzik    <kledzik@apple.com>
 
-  <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>
+       * Add follow-on reference from symbol text atom to non-symboled text atom
 
-       <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-101
+
+2010-01-29    Nick Kledzik    <kledzik@apple.com>
+
+       * fix -alias symbols to be global by default
        
------ Tagged ld64-81.2 
 
+-------- tagged ld64-100
+
+2010-01-28    Nick Kledzik    <kledzik@apple.com>
+       
+       * Merge new/refactored linker to trunk
+