- * src/MachOWriterExecutable.hpp: support __IMPORT segment being slide independently of __DATA segment in shared cache
-
-
-2006-11-16 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4838262> 9a303: ld -filelist Bus Error
- * src/Options.cpp: add check that -filelist is followed by an argument
-
-
-2006-11-16 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOWriterExecutable.hpp: when building split-seg dylibs, LINKEDIT goes in read-only side
-
-
-2006-11-15 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOWriterExecutable.hpp: set proper attributes for __eh_frame in ld -r mode
- * unit-tests/test-cases/eh_frame: added test case
-
-
-2006-11-10 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOReaderRelocatable.hpp: redirect references to static weak stubs to the real target
-
-
-2006-11-09 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOWriterExecutable.hpp: r_address is offset from first LC_SEGMENT vmaddr - not from segment with lowest address
-
-
------ Tagged ld64-66.1
-
-2006-11-09 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOWriterExecutable.hpp: initialize fModuleInfoAtom to zero
-
-
-2006-11-08 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4821985> FSF GCC's libjava doesn't link with Ochre ld64
- * src/MachOReaderRelocatable.hpp: ignore debug_line section if debug_info section is missing or empty
-
------ Tagged ld64-66
-
-2006-11-07 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4824368> SWB: d64-65 does not built usage split-seg dylibs
- * src/MachOWriterExecutable.hpp: when prebinding split-seg correctly set r_address fields and on
- disk values for external relocations
- * unit-tests/test-cases/prebound-split-seg: added test case
-
-
-2006-11-03 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOReaderDylib.hpp: don't report dependent libraries if MH_NO_REEXPORTED_DYLIBS bit is set
- * src/MachOWriterExecutable.hpp: set MH_NO_REEXPORTED_DYLIBS bit if dylib does not logically re-export any other dylibs
- * unit-tests/test-cases/re-export-flag: added test case
- * src/machochecker.cpp: validate use of MH_NO_REEXPORTED_DYLIBS
-
-
-2006-11-02 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4814565> Mysterious messages from ld64 with MACOSX_DEPLOYMENT_TARGET = 10.5
- * src/MachOWriterExecutable.hpp: kPointerWeakImport is a valid reference type to cross segments
-
-
-2006-11-02 Nick Kledzik <kledzik@apple.com>
-
- * src/Options.cpp,h: Add support for -rpath
- * src/MachOFileAbstraction.hpp: add macho_rpath_command
- * src/MachOWriterExecutable.hpp: add RPathLoadCommandsAtom to create LC_RPATH for each -rpath
-
-
------ Tagged ld64-65
-
-2006-10-30 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4729162> x86_64 default stack_addr is wrong
- * src/Options.cpp: change default 64-bit stack location when using -stack_size
-
-
-2006-10-30 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4474316> dylibs need modules for 10.3 and for ld_classic in Salt
- * src/MachOWriterExecutable.hpp: add ModuleInfoLinkEditAtom to create module table stuff
- * src/Options.cpp,h: Add needsModuleTable()
- * src/MachOFileAbstraction.hpp: Add macho_dylib_module, macho_dylib_reference, and macho_dylib_table_of_contents
-
-
-2006-10-27 Nick Kledzik <kledzik@apple.com>
-
- * unit-tests/test-cases/no-uuid/Makefile: add -gstabs+ to be compatible with latest compiler
- * unit-tests/test-cases/stabs-coalesce/Makefile: add -gstabs+ to be compatible with latest compiler
-
-
-2006-10-26 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4585230> i386 -mdynamic-no-pic switch statement jump table is out of line
- * src/MachOWriterExecutable.hpp: for i386 don't check for direct references to weak symbols
-
-
-2006-10-26 Devang Patel <dpatel@apple.com>
-
- * src/LLVMReader.hpp: Supply final output file path to optimizer.
-
-2006-10-26 Devang Patel <dpatel@apple.com>
-
- * src/ObjectFile.h: Make setSection* methods virtual.
- * src/LLVMReader.hpp: Override setSection* methods.
-
-2006-10-26 Devang Patel <dpatel@apple.com>
-
- * unit-tests/test-case/llvm-integration/a13.h: New.
- * unit-tests/test-case/llvm-integration/a13.cc: New.
- * unit-tests/test-case/llvm-integration/main13.cc: New.
-
-2006-10-26 Devang Patel <dpatel@apple.com>
-
- * src/options.h, src/options.cpp: Add -save-temps command line option.
- * src/LLVMReader.hpp: Use saveTemps option.
-
-
-2006-10-26 Devang Patel <dpatel@apple.com>
-
- * src/LLVMReader.hpp: Remove invalid module from memory.
-
-2006-10-26 Devang Patel <dpatel@apple.com>
-
- * src/LLVMReader.hpp: Collect symbol alignment info from LLVM optimizer.
-
-2006-10-21 Eric Christopher <echristo@apple.com>
-
- * src/ld.cpp (Linker::Linker): Check for LD_NO_CLASSIC_LINKER before
- invoking ld_classic.
- * unit-tests/test-cases/relocs-literals/Makefile: Run for -mdynamic-no-pic
- and pic.
- * unit-tests/test-cases/static-executable/Makefile: Skip for 64-bit. Add
- -dead_strip to command line.
-
------ Tagged ld64-64.2
-
-2006-10-19 Nick Kledzik <kledzik@apple.com>
-
- * ld64.xcodeproj/project.pbxproj: stop copying LLVMReader.hpp into man1 directory
-
------ Tagged ld64-64.1
-
-2006-10-19 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4791643> ld64-63.1 erroneously coalesces an empty string with a non-empty string
- * src/MachOReaderRelocatable.hpp: rework cstring parsing to not assume all strings are start
- at section alignment boundaries, and when coalescing empty strings always use one with greatest
- alignment requirement
- * src/MachOWriterExecutable.hpp: in -r mode, don't pad end of cstring section
- * src/ObjectFile.h: correctly name leadingZeros() as trailingZeros()
- * src/ld.cpp: leadingZeros() --> trailingZeros()
-
-
-2006-10-18 Eric Christopher <echristo@apple.com>
-
- * unit-tests/test-cases/read-only-relocs/Makefile: Skip for x86_64.
- * unit-tests/test-cases/llvm-integration/Makefile: Skip if llvm isn't
- present.
-
-2006-10-18 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4783853> ld64 change required to go with assembler cstring change
- <rdar://problem/4732996> ld64 should error when a local relocation references an address outside its section
- * src/MachOReaderRelocatable.hpp: for x86_64 in order to work with local or external relocations to cstrings
- change parser to allow atoms with a pending name that is resolved after references are instantiated.
- Make direct references to kRegularDefinition atoms.
- * src/MachOWriterExecutable.hpp: in -r mode for x86_64 generate L* labels for cstrings and use external relocations
- * unit-tests/test-cases/relocs-literals/test.c: add two cases of cstring literal plus addend
-
-
-2006-10-06 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4786250> check MACOSX_DEPLOYMENT_TARGET if -macosx_version_min is not used
- * src/Options.cpp: if -macosx_version_min is not used, check MACOSX_DEPLOYMENT_TARGET, if
- that is unused, default to 10.5
-
------ Tagged ld64-64
-
-2006-10-06 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4756806> crash in ppc64 program - bl to saveFP, but saveFP is too far away?
- * src/MachOWriterExecutable.hpp: in addPPCBranchIslands(), properly account for growth of __text
-
-
-2006-10-06 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4769120> Linker-defined alias converts reference into definition and generates error.
- * src/MachOReaderRelocatable.hpp: only alias symbols actually in the symbol table
-
-
-2006-10-06 Nick Kledzik <kledzik@apple.com>
-
- * unit-tests/test-cases/dwarf-debug-notes/Makefile: crt1.o no longer has stabs, so don't need to strip it
- * unit-tests/test-cases/dwarf-debug-notes-r/Makefile: crt1.o no longer has stabs, so don't need to strip it
-
-
-2006-10-06 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOReaderRelocatable.hpp: rework dwarf line parsing to fix warnings that starting
- showing up with gcc-5421
-
-
-2006-10-05 Eric Christopher <echristo@apple.com>
-
- <rdar://problem/4760935> ld64 needs to support libtool options
- * src/Options.cpp (Options::parse): Add -noall_load, -install_name,
- -current_version and -compatibility_version.
-
-2006-10-03 Eric Christopher <echristo@apple.com>
-
- * src/Options.cpp (Options::gotoClassicLinker): Use execvp
- to call ld_classic.
-
-2006-10-03 Eric Christopher <echristo@apple.com>
-
- * unit-tests/test-cases/tentative-to-real/Makefile: Clean up after tests.
-
-2006-10-03 Eric Christopher <echristo@apple.com>
-
- * unit-tests/include/common.makefile (VALID_ARCHS): Add x86_64.
- (OTOOL): Remove munging based on ARCH.
-
-2006-09-29 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4743925> problem merging .o files built with and without -fno-common
- src/Options.*: make MakeTentativeDefinitionsReal a reader option
- src/ObjectFile.h: make MakeTentativeDefinitionsReal a reader option
- src/MachOWriterExecutable.hpp: make MakeTentativeDefinitionsReal a reader option
- src/MachOReaderRelocatable.hpp: only assign a section name of __common to
- tentative defintions when making a final linked image
-
-
-2006-09-28 Nick Kledzik <kledzik@apple.com>
-
- src/Options.h/.cpp: add support for -segaddr option
- src/MachOWriterExecutable.hpp: In Writer::assignFileOffsets(), use -segaddr info
-
-
-2006-09-28 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4587349> Emit new CPU subtypes for ppc64 and x86-64 when targeting 10.5 or later
- src/MachOWriterExecutable.hpp: set high bit of cpusubtype of 64-bit main executables when targeting 10.5 or later
-
-
-2006-09-28 Devang Patel <dpatel@apple.com>
-
- Add LLVM LTO support
- src/LLVMReader.hpp: New file.
- src/ld.cpp: Add optimization phase. Use LLVM LTO.
- unit-tests/test-cases/llvm-integration: New tests.
-
-2006-09-27 Nick Kledzik <kledzik@apple.com>
-
- ld64.xcodeproj/project.pbxproj: remove accidental install of source file into man1
-
-
-2006-09-25 Nick Kledzik <kledzik@apple.com>
-
- src/Architectures.hpp: add kPointerDiff16 for ppc and ppc64
- src/MachOReaderRelocatable.hpp: support kPointerDiff16
- src/MachOWriterExecutable.hpp: support kPointerDiff16
-
------ Tagged ld64-63.1
-
-2006-09-22 Nick Kledzik <kledzik@apple.com>
-
- src/MachOWriterExecutable.hpp: include stubs in LC_SEGMENT_SPLIT_INFO
-
-
-2006-09-21 Nick Kledzik <kledzik@apple.com>
-
- src/Options.cpp: disable split-seg dylibs for 64-bit architectures
-
-
-2006-09-19 Nick Kledzik <kledzik@apple.com>
-
- src/MachOReaderRelocatable.hpp: rework __cstring parsing to better handle mixed alignment cstrings
- src/MachOWriterExecutable.hpp: in -r mode, make all __cstrings aligned to section alignment
-
-
-2006-09-19 Nick Kledzik <kledzik@apple.com>
-
- src/MachOWriterExecutable.hpp: rework encoding of LC_SEGMENT_SPLIT_INFO
-
-
-2006-09-19 Nick Kledzik <kledzik@apple.com>
-
- src/Options.cpp: check for -search_paths_first in first pass
-
-
------ Tagged ld64-63
-
-2006-09-15 Nick Kledzik <kledzik@apple.com>
-
- src/Options.cpp: since the ld64 will repeatedly search an archive, and some project list archives
- multiple times on command line to work with traditional linkers, automatically ignore duplicate libraries
- unit-tests/test-cases/archive-duplicate: added test case
-
-
-2006-09-15 Nick Kledzik <kledzik@apple.com>
-
- src/Options.cpp: support -r -static
- src/MachOWriterExecutable.hpp: support -r -static an don't generate LC_DYSYMTAB
-
-
-2006-09-14 Nick Kledzik <kledzik@apple.com>
-
- src/MachOWriterExecutable.hpp: in -r mode references to weak symbols should not create external relocations
- as that can cause nmedit to errror later.
-
-
-2006-09-13 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4718189> ld64: Handle .objc_class_name exports specially
- src/Options.cpp: add hack so that .objc_class_name_XXX in -exported_symbols_list imples _OBJC_CLASS_$_XXX
- src/ld.cpp: add hack to supporess errors about .objc_class_name_XXX or _OBJC_CLASS_$_XXX being undefined
-
-
-2006-09-12 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4474172> Support -prebind when targeting ppc and OS < 10.4
- src/Options.h: add splitSeg() and baseWritableAddress()
- src/Options.cpp: Add support for -seg_addr_table and LD_SEG_ADDR_TABLE, and -prebind and LD_PREBIND.
- src/src/MachOWriterExecutable.hpp: support split-seg and canonical prebound files to be generated
-
-
-2006-09-11 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4464904> Linking a dylib or binary from identical binaries should produce the same output
- src/MachOWriterExecutable.hpp: set the timestamps to be constant
-
-
-2006-09-11 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4070025> Linker support for ordering all sections and symbols
- src/Options.cpp: Add -order_file_statistics. Allow architecture prefixes in order files
- src/ld.cpp: Use fOptions.printOrderFileStatistics()
-
-
-2006-09-11 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/3894079> Support -sectorder
- unit-tests/test-cases/order_file: added test case
- src/ld.cpp: Implement order file support in Linker::sortAtoms()
- src/Options.h: add Options.orderedSymbols()
- src/Options.cpp: add parseOrderFile(), implement -order_file
-
-
-2006-09-07 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4637023> need -i for 64-bit (or equivalent)
- <rdar://problem/4014529> Support -i for aliasing exported symbols
- unit-tests/test-cases/alias-objects: added
- unit-tests/test-cases/alias-command-line: added
- src/ObjectFile.h: Added Atom::getOrdinal() as new way to sort atoms. Added ReaderOptions.fAliases
- src/MachOReaderRelocatable.hpp: Added SymbolAliasAtom to handle multiple symbols to same address
- src/MachOReaderArchive.hpp: implement Atom::getOrdinal() to space out atom ordinals across member objects
- src/Options.cpp: support -i, -alias, -alias_list. Move search of /Network/Library/Frameworks to after /System/Library/Frameworks
- src/MachOWriterExecutable.hpp: pad out seg_info data. Implement getOrdinal().
- src/ObjectDump.cpp: call constructors directly instead of using make() wrapper
-
-
-2006-09-01 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4458878> Need the ability to tag libraries/plug-ins with security attributes
- src/MachOReaderDylib.hpp: add warning if using -root_safe or -setuid_safe and link against dylib that is not
- src/ObjectFile.h: add ReaderOption fRootSafe and fSetuidSafe
- src/Options.cpp: handle -root_safe or -setuid_safe command line options
- src/MachOWriterExecutable.hpp: set MH_ROOT_SAFE and MH_SETUID_SAFE flags
-
-
-2006-08-31 Nick Kledzik <kledzik@apple.com>
-
- src/ld.cpp: Add Linker::processDTrace() for processing dtrace static probes
- src/OpaqueSection.hpp: renamed, add symbol name, add ability to add references
- ld64.xcodeproj/project.pbxproj: remove SectCreate.cpp, add OpaqueSection.hpp
-
-
-2006-08-28 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4571042> Add convention for removing symbols at link time
- <rdar://problem/3962731> Assembler -L option causes ld64 to split stubs
- unit-tests/test-cases/special-labels: added test case
- src/MachOReaderRelocatable.hpp: ignore L* labels, make l* labels as kSymbolTableNotIn
-
-
-2006-08-28 Nick Kledzik <kledzik@apple.com>
-
- src/lObjectFile.h: refactor isTargetUnbound() into getTargetBinding()
- src/ld.cpp: create __dof section in final linked images from dtrace static probes
- src/Architectures.hpp: add kDtraceProbe
- src/Options.h/cpp: Add support for -dtrace
- src/machochecker.cpp: support LC_SEGMENT_SPLIT_INFO
- src/MachOWriterExecutable.hpp: support kDtraceProbe
- src/MachOReaderRelocatable.hpp: suppport kDtraceProbe
-
-
-2006-08-25 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4701529> generate LC_SEGMENT_SPLIT_INFO for 10.5 or later dylibs
- src/Options.h&.cpp: implement sharedRegionEligible() to control when LC_SEGMENT_SPLIT_INFO is added
- src/MachOFileAbstraction.hpp: add macho_linkedit_data_command
- src/MachOWriterExecutable.hpp: generate LC_SEGMENT_SPLIT_INFO load command and linkedit content
-
------ Tagged ld64-62
-
-2006-08-15 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4681062> wrong error message when symbol is found in unused indirect library
- src/ld.cpp: remove indirect libraries if they are not re-exported
- unit-tests/test-cases/indirect-dylib: added test case
-
-
-2006-08-15 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/3930461> alignment needs to be richer
- src/ObjectFile.h: define ObjectFile::Alignment class for tracking rich alignment info
- src/ld.cpp: modify SymbolTable::add() to work with new Alignment type
- src/MachOReaderRelocatable.hpp: use new Alignment type. Remove alignAtLeast() and handleAnonymousNonLazyPointers()
- src/MachOWriterExecutable.hpp: update for new Alignment type, use modulus when calculating layout address
- src/ObjectDump.cpp: print richer Alignment info
- unit-tests/test-cases/align-modulus: added test case
-
-
-2006-08-11 Nick Kledzik <kledzik@apple.com>
-
- remove OPEN_SOURCE conditionals around x86_64 support
-
-
-2006-07-31 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4654131> ld64 while linking cc1 [ when dead_strip is ON]
- src/ld.cpp: Add ivar fAtomsWithUnresolvedReferences to track atoms not initially resolvable
- unit-tests/test-cases/dead_strip-archive: added test case
-
-
-2006-07-31 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4656617> x86_64: instructions with immediate and rip-relative operands need to use new relocation types
- src/MachOWriterExecutable.hpp: generate new reloc types in -r mode
- src/MachOReaderRelocatable.hpp: parse new reloc types
- unit-tests/test-cases/relocs-asm/relocs-asm.s: add test cases for new reloc type
-
-
-2006-07-18 Nick Kledzik <kledzik@apple.com>
-
- src/MachOReaderRelocatable.hpp: suppress warning about dwarf info parsing for one benign no-op case
- the compiler emits when there are not functions in the __text section
-
-
-2006-07-17 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4634840> faster debug note generation
- src/ld.cpp: rework collectDebugInfo() to produce all debug notes in one pass, intead of a
- pass per .o file. Added timing info for collectDebugInfo() to -print_statistics
- unit-tests/test-cases/dwarf-debug-notes-r/Makefile: add expliced -arch to ld -r
- unit-tests/test-cases/dwarf-debug-notes-r/expected-stabs: alter for new debug notes order
-
-
-2006-07-17 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4623994> ld64 VSIZE is 1.18GB when building Finder ppc64
- src/ld.cpp: fixed typo in createReader() that prevented dylibs from being unmapped
-
------ Tagged ld64-61.1
-
-2006-07-11 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4622049> ld64-61: gcc DejaGnu tests failing due to -arch followed by unknown architecture name
- src/Options.cpp: map ppc750, ppc7400, ppc7450, and ppc970 to ppc. Improve error message
-
-2006-07-11 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4622769> If -arch is missing, rollover to ld_classic does not happen
- src/Options.h: make gotoClassicLinker() public
- src/ld.cpp: call gotoClassicLinker() if the inferred architecture is ppc or i386
-
------ Tagged ld64-61
-
-2006-06-29 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4606628> ld64 should be renamed to ld
- src/Options.cpp: exec() ld_classic if -arch ppc or -arch i386 is seen
- src/ld.cpp: alter version string
- ld64.xcodeproj/project.pbxproj: change install location to /usr/bin/ld, add symlink from /usr/bin/ld64
- doc/man/man1/ld.1: added
-
------ Tagged ld64-60
-
-2006-06-28 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4604539> Can't link large ppc64 program: ld64 says "bl out of range"
- MachOWriterExecutable.hpp: fix branch island generation to work for weak_import functions
- and properly chain together branch islands
- MachOReaderRelocatable.hpp: improve performance of huge .o file reading by sorted references
- only when done
-
-2006-06-28 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4603454> MySQL-36 fails to build with ld64-59
- src/MachOReaderRelocatable.hpp: back out fix for 4585335
- src/MachOWriterExecutable.hpp: back out fix for 4585335
-
-2006-06-27 Nick Kledzik <kledzik@apple.com>
-
- src/MachOReaderRelocatable.hpp: handle N_GSYM without ending :G() since that is how
- dwarf debug notes are formed.
-
-2006-06-23 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4599239 objc class with no superclass causes bad undefined symbol
- src/MachOReaderRelocatable.hpp: handle NULL superclass in objc_class
- unit-tests/test-cases/relocs-objc/test.m: add case with no super class
-
-
-2006-06-23 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4313369> ld64 doesn't support variant linking -framework fw,_debug
- src/Options.cpp: enhance findFramework() to support suffixes
-
------ Tagged ld64-59
-
-2006-06-22 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4596726> ld64 lost DWARF debug notes
- src/MachOReaderRelocatable.hpp: add fHasUUID so kDebugInfoStabsUUID can be set later
- unit-tests/test-cases/dwarf-debug-notes-r: added test case
-
-2006-06-21 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4567995> python 64-bit address miscalculation
- src/MachOReaderRelocatable.hpp: change getTargetOffset() to sign extend the 32-bit value to 64-bits
-
-2006-06-21 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4535036> ld64 seems to offset things incorrectly when using -r
- src/MachOWriterExecutable.hpp: in -r mode, virtual sections should not increment address
-
-
------ Tagged ld64-58
-
-2006-06-16 Nick Kledzik <kledzik@apple.com>
-
- src/rebase.cpp: fix page alignment problem
- src/rebase.cpp: fix endianess problem with local non-lazy pointers
-
-2006-06-15 Nick Kledzik <kledzik@apple.com>
-
- src/rebase.cpp: fix to build in CurryWeed
- ld64.xcodeproj/project.pbxproj: fix to build properly in CurryWeed
-
-2006-06-15 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4495309> Support .objc_class_name_* symbols
- src/ObjectFile.h: Add kSymbolTableInAsAbsolute
- src/MachOReaderRelocatable.hpp: synthesize references to required objc classes
- src/MachOWriterExecutable.hpp: write objc_class_name as absolute symbol
- unit-tests/test-cases/objc-references: added
-
-2006-06-15 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4484369> SECTION_ATTRIBUTES unset in ppc64 mach-o header
- src/MachOWriterExecutable.hpp: add section attribute for sections with code
-
-2006-06-15 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4569407> ld64 bogus duplicate symbol name linking GNU libobjc
- src/MachOReaderRelocatable.hpp: only special case Apple objc runtime objc classes
-
-2006-06-15 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4582999> x86_64: ".align" directive not honored
- src/MachOReaderRelocatable.hpp: change code alignment to not depend on atom size
-
-2006-06-14 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4585335> jump table into middle of weak symbol causes error
- src/MachOReaderRelocatable.hpp: create direct references to the interior of weak symbols
- src/MachOWriterExecutable.hpp: do not error on absolute references to interior of weak symbols
-
-2006-06-13 Nick Kledzik <kledzik@apple.com>
-
- src/Options.cpp: allow -image_base as an alias for -seg1addr
-
-2006-06-13 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4585115> implement -d
- src/Options.h: add fMakeTentativeDefinitionsReal
- src/Options.cpp: set fMakeTentativeDefinitionsReal if -d option is found
- src/MachOWriterExecutable.hpp: turn tentative into real definition if makeTentativeDefinitionsReal
- unit-tests/test-cases/btentative-to-real: added test case
-
-2006-06-13 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4584355> implement -bundle_loader
- src/Options.h: add fBundleLoader bit to DynamicLibraryOptions
- src/Options.cpp: handle -bundle_loader
- src/ld.cpp: pass fBundleLoader bit to MachOReaderDylib
- src/MachOReaderDylib.hpp: support reading MH_EXECUTE files if fBundleLoader is set
- src/MachOWriterExecutable.hpp: set bundle loader ordinal as EXECUTABLE_ORDINAL
- unit-tests/test-cases/bundle_loader: added test case
-
-2006-06-12 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4583347> -syslibroot can cause "can't find ordinal for imported" error
- src/MachOReaderDylib.hpp: in Reader::reExports() compare install path in addition to load path
-
-
-2006-06-10 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4548935> Need rebasing tool
- src/rebase.cpp: added
- unit-tests/test-cases/rebase-basic: added
- doc/man/man1/rebase.1: added
- ld64.xcodeproj/project.pbxproj: added rebase target. changed all targets to build with dwarf
-
-
-2006-06-10 Nick Kledzik <kledzik@apple.com>
-
- src/machochecker.cpp: add some ppc reloc sanity checking
-
------ Tagged ld64-57
-
-2006-06-06 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4565088> ld64 is not adding a final '/' char on the initial directory-name SO stab debug map entry
- ld.cpp: Change Linker::synthesizeStabs() to assure directory SO always has a trailing slash
- unit-tests/test-cases/dwarf-debug-notes/expected-stabs: update with trailing /
-
-2006-06-06 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4572702> -sectcreate of a 0-byte section fails
- MachOWriterExecutable.cpp: Don't error out on zero length segments
- MachOWriterExecutable.cpp: For ppc64 reloc base address is the first writable segment iff
- there is a writable segment >4GB from base address
-
-2006-06-04 Eric Christopher <echristo@apple.com>
-
- Radar 4560240
- Radar 3964999
- * src/ld.cpp (createReader): Fixed error message.
- (resolve): Ditto.
- (resolveFrom): Ditto.
- (checkUndefines): Ditto.
-
------ Tagged ld64-56
-
-2006-05-23 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4558079> No debug notes for ObjC methods when linking with ld64
- ld.cpp: don't limit debug notes to functions starting with underscore
-
-2006-05-22 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4556982> ld64 spends much time in mach_o::relocatable::Reader<x86_64>::findAtomByName
- * src/MachOReaderRelocatable.hpp: add makeReferenceToSymbol() so that x86_64 does not need to do by-name lookups
-
-2006-05-22 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4535044> remove inferring warning
- * ld.cpp: Remove "inferring" warning. If a link failed and now arch was specifed add which arch was
- inferred to error message
-
-2006-05-19 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4544001> ld64 does not honor -arch_multiple
- * ld.cpp: If fOptions.printArchPrefix(), add architecture name to error message
-
-2006-05-19 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4555973> Support S_16BYTE_LITERALS section types
- * src/MachOReaderRelocatable.hpp: support S_16BYTE_LITERALS
- * src/MachOWriterExecutable.hpp: support S_16BYTE_LITERALS
-
-2006-05-19 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4548803> "warning can't parse dwarf compilation unit info" warnings building debug
- * src/MachOReaderRelocatable.hpp: fix bugs in dwarf line table parsing
-
------ Tagged ld64-55
-
-2006-05-18 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4534339> Default the pagezero size to 4GB for x86-64
- * src/Options.cpp: Chnage default the pagezero size to 4GB for x86-64
-
-2006-05-18 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4552825> x86_64 CarbonCore fails to link with "atom not found in symbolIndex"
- * src/MachOWriterExecutable.hpp: in buildObjectFileFixups() don't call addObjectRelocs() on kNoFixUp references
-
-2006-05-18 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4553555> ld64: .section defaults to read-only
- * src/MachOReaderRelocatable.hpp: default unknown segments to r/w
-
-2006-05-18 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4551990> -fvisibility=hidden causes crashes for x86_64
- * src/MachOWriterExecutable.hpp: properly handle RIP relative tentative definitions
-
-2006-05-12 Nick Kledzik <kledzik@apple.com>
-
- * src/Architectures.hpp: add x86::kAbsolute32
- * src/MachOReaderRelocatable.hpp: generate x86::kAbsolute32 for mdynamic-no-pic instructions
- * src/MachOWriterExecutable.hpp: process x86::kAbsolute32 reference kind
-
------ Tagged ld64-54
-
-2006-05-11 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4545108> CF-393 failes to link for x86_64
- * src/MachOWriterExecutable.cpp: fix sign extension for Rel32 relocs in Writer<x86_64>::fixUpReferenceRelocatable
-
-2006-05-11 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4501434> warning arch x86_64 not found using i386
- * src/ld.cpp: remove hack to allow x86_64 to link against i386 dylibs
-
-
-2006-05-10 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4543754> x86_64: .objc_class_name symbol names scrambled
- * src/MachOReaderRelocatable.hpp: properly compute alignment of __OBJC __class sections
-
-
-2006-05-08 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/3894083> Support -dead_strip
- * src/Options.h/cpp: implement -why_load and -why_live. Enable -dead_strip.
- * src/MachOReaderArchive.hpp: implement -why_load
- * src/MachOReaderRelocatable.hpp: suppress GCC_except_table* symbols in final output
- * src/ld.cpp: implement dead code stripping
- * unit-tests/test-cases/dead_strip: added
-
------ Tagged ld64-53
-
-2006-05-05 Nick Kledzik <kledzik@apple.com>
-
- * src/Options.cpp: make 10.4 be minimum OS version for newer architectures
-
-2006-05-05 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4147604> N_SO symbols in 64-bit builds have a zero address for n.n_value
- * src/ld.cpp: for SO stabs, associate first and last atom in the SO range
- * src/MachOWriterExecutable.hpp: use atom associated with SO stab to set ins n_value
-
-2006-05-05 Nick Kledzik <kledzik@apple.com>
-
- * MachOWriterExecutable.hpp: fix end FUN stab to have length of function
-
-
-2006-05-02 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4496250> 64-bit main executables should have 4GB zero page by default
- * src/Opptions.cpp: change default pagezero_size to 4GB for ppc64
- <rdar://problem/4492850> 64 bit: apps with -mdynamic-no-pic seg fault when page zero > 4GB
- * src/MachOWriterExecutable.cpp: rework pagezero for ppc64 so that if any mdynamic-no-pic code
- is found, the code is kept in the low 2GB, and a new segment is create to map away up to 4GB.
-
-2006-05-02 Nick Kledzik <kledzik@apple.com>
-
- * src/Opptions.cpp: remove warning about -stack_addr not specified. Add warning if 32-bit stack
- overlaps shared region
-
------ Tagged ld64-52.1
-
-2006-05-01 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOReaderRelocatable.cpp: rework handleAnonymousNonLazyPointers() to handle anl's in the middle
- the __data section too.
-
------ Tagged ld64-52
-
-2006-04-28 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4513304> 64-bit: 9A152 TextEdit crashes in dlopen on bring-up
- * src/MachOReaderRelocatable.cpp: rework anonymous non-lazy-pointer detection
-
-2006-04-28 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4528054> 64 Bit: Development build of ppc64 TextEdit gets confused about static variables
- * src/MachOReaderRelocatable.cpp: mark non-lazy-pointer atoms as scopeTranslationUnit if targetting a static symbol
-
-
-
-2006-04-21 Nick Kledzik <kledzik@apple.com>
-
- * src/Options.cpp: fix default address for ppc64 custom stack
- * src/MachOWriterExecutable.cpp: fix set up of ppc64 custom stack
-
-
-2006-04-14 Nick Kledzik <kledzik@apple.com>
-
- * src/Options.cpp: fix -sub_library processing to work it dylib is specifed with leaf name
-
------ Tagged ld64-51.1
-
-2006-04-13 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4513304> 64-bit: 9A152 TextEdit crashes in dlopen on bring-up
- * src/MachOReaderRelocatable.hpp: when detecting anonymous non-lazy-pointers disqualify data
- that points to static or global symbols
- * src/ld.cpp: print version of ld64 in error messages
-
-
------ Tagged ld64-51
-
-2006-04-11 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4499168> exported symbols not properly stripped
- * src/MachOReaderRelocatable.hpp: enable AnonymousAtom::setScope()
-
-2006-03-31 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4498391> ld64 fails when linking debug ppc64 HIToolbox
- * src/MachOReaderRelocatable.hpp: handle anonymous non-lazy pointers encoded with local relocations
- * src/MachOWriterExecutable.hpp: in -r mode, only generated INDIRECT_SYMBOL_LOCAL for non-lazy targets that
-
-
-2006-03-31 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4496499> ld64 should remove generated file if link errors out
- * src/MachOWriterExecutable.hpp: catch exceptions in Writer<A>::write(), delete output file, and rethrow
-
-
------ Tagged ld64-50
-
-
-2006-03-29 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOReaderRelocatable.hpp: synthesize .objc_class_name symbols
- * src/MachOFileAbstraction.hpp: use strncpy for sect/seg names to zero fill trailing space
-
-2006-03-28 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOReaderRelocatable.hpp: fix spurious warning about dwarf line info
-
------ Tagged ld64-49.1
-
-2006-03-25 Nick Kledzik <kledzik@apple.com>
-
- * MachOWriterExecutable.hpp : don't complain about ppc64 dyld being based > 4GB
-
------ Tagged ld64-49
-
-2006-03-24 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOWriterExecutable.hpp: dyld is allowed to have synthesized non-lazy pointers
- <rdar://problem/4488113> ld64 is after processing bad GSYM stabs
- * src/MachOReaderRelocatable.hpp: if a GSYM is found that does not match any data symbol, suppress it
-
-2006-03-23 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOWriterExecutable.hpp: in Writer<x86>::fixUpReferenceFinal() fix when x86::kPointer is for an
- external relocation
-
-2006-03-23 Nick Kledzik <kledzik@apple.com>
-
- * src/Options.cpp: change macosx-min-version to default to a per-architecture setting
- add warning if -pagezero_size is not page aligned
- * src/MachOWriterExecutable.hpp: properly handle external relocations for ppc64 with 4GB pagezero
- * src/machochecker.cpp: sanity check relocation records
-
------ Tagged ld64-48
-
-2006-03-21 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4481406> 64bit: passing function pointer to another function passes the wrong function address
- * src/MachOReaderRelocatable.hpp: when processing a non-lazy pointer to a static function, don't accidentally
- match it to a STAB symbol.
-
-2006-03-21 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4180168> .eh symbols make up 13% of libstdc++'s stripped binary size
- * src/ObjectFile.h: add ReaderOptions.fForFinalLinkedImage
- * src/Options.cpp: setup ReaderOptions.fForFinalLinkedImage
- * src/MachOReaderRelocatable.hpp: mark .eh symbols kSymbolTableNotIn when building final linked image
-
-2006-03-21 Nick Kledzik <kledzik@apple.com>
-
- <rdar://problem/4473742> ld64 does not parse optional second argument to -filelist
- * unit-tests/test-cases/filelist: added
- * src/Options.cpp: in Options::loadFileList() handle comma option
-
-
------ Tagged ld64-47.1
-
-
------ Tagged ld64-47
-
-
------ 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
-
-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
-
-
-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
-
-
------ 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>
-
- * src/MachOWriterExecutable.hpp: fix calculation of file offsets in ld -r mode
- * src/machochecker.cpp: verify segment file offsets are within file
-
------ 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/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
-
-2006-01-30 Eric Christopher <echristo@apple.com>
-
- * src/ExecutableFile.h: Indent.
-
-2006-01-30 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOReaderRelocatable.hpp: performance improvements
- * src/ld.cpp: now that stubs are synthesized in write, don't need to special case anymore
-
-2006-01-30 Nick Kledzik <kledzik@apple.com>
-
- * 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>
-
- * 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
-
-2006-01-29 Nick Kledzik <kledzik@apple.com>
-
- * src/Options.cpp: verify -allow_stack_execute is only used on main executables
-
-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
-
-2006-01-27 Eric Christopher <echristo@apple.com>
-
- * src/ld.cpp (Linker::syntesizeStabs): Correct spelling. Update all uses.
-
-2006-01-27 Eric Christopher <echristo@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.
-
-2006-01-27 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOFileAbstraction.hpp: rely on latest system headers
- * src/MachOWriterExecutable.hpp: fix ppc stubs.
- wrote new relocationNeededInFinalLinkedImage() to replace common code
-
-2006-01-27 Eric Christopher <echristo@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.
-
-2006-01-26 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOWriterExecutable.hpp: handle NULL strings in SO debug notes
-
-2006-01-26 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOWriterExecutable.hpp: fix header padding calculation and thread state
-
-2006-01-26 Nick Kledzik <kledzik@apple.com>
-
- Rewrite all stabs processing.
- Move sythesize of debug notes into ld.cpp
-
-2006-01-26 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOWriterExecutable.hpp: fix ppc and ppc64 stub relocs
-
-2006-01-25 Nick Kledzik <kledzik@apple.com>
-
- * ld64.xcodeproj/project.pbxproj: special case building in Curry
-
-2006-01-25 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOWriterExecutable.hpp: fix bugs in stub/lazy-pointer synthesis
-
-2006-01-24 Eric Christopher <echristo@apple.com>
-
- * 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>
-
- * src/MachOReaderRelocatable.hpp: better C++ eh parsing
-
-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.
-
-2006-01-23 Nick Kledzik <kledzik@apple.com>
-
- * 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>
-
- * 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
-
-2006-01-17 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOReaderRelocatable.hpp: tweaks to synthesizing debug notes
-
-2006-01-16 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
-
-2006-01-11 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOReaderRelocatable.hpp: support Tiger crt1.o build with old ld64
- * src/ObjectDump.hpp: Support -arch option
-
-2006-01-10 Nick Kledzik <kledzik@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
-
-2006-01-10 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
-
-2006-01-09 Nick Kledzik <kledzik@apple.com>
-
- * track modification time of .o files so that sythesized OSO stab will have it
-
-2006-01-09 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOFileAbstraction.hpp: add macho_uuid_command
- * src/MachOWriterExecutable.cpp: add UUID load command to generated files
-
-2006-01-09 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOReaderDylib.hpp: no longer keep dylib memory mapped
- * src/ld.cpp: don't track dylib sizes because they are not longer memory mapped
-
-2006-01-05 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOReaderRelocatable.hpp: support new relocations
-
-2006-01-05 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOReaderDylib.hpp: support MH_DYLIB_STUB
- * src/MachOReaderRelocatable.hpp: Add Geoff's comp unit extractor
-
-2006-01-05 Nick Kledzik <kledzik@apple.com>
-
- 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
-
-2006-01-03 Eric Christopher <echristo@apple.com>
-
- * 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.
-
-2006-01-02 Nick Kledzik <kledzik@apple.com>
-
- * Refactor: move Atom::writeContent() to Writer
-
-2005-12-23 Nick Kledzik <kledzik@apple.com>
-
- * Reworked, simplify, and document test harness
- * unit-tests/README: Added
-
-2005-12-23 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOReaderRelocatable.hpp: fixes for Objective-C
- * unit-tests/test-cases/relocs-objc: Added
-
-2005-12-22 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOReaderRelocatable.hpp: fix check that next reloc is pair
- * src/MachOReaderRelocatable.hpp: Add code to synthesize essential stabs from dwarf
-
-2005-12-21 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOReaderRelocatable.hpp: Fix parsing of literal sections
- * src/MachOWriterExecutable.hpp: Fix writing of literal sections
- * unit-tests/test-cases/relocs-literals: Added
-
-2005-12-15 Eric Christopher <echristo@apple.com>
-
- * 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.
-
- * 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.
-
-2005-12-15 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOReaderRelocatable.hpp: Add comments about dwarf
-
-2005-12-14 Nick Kledzik <kledzik@apple.com>
-
- * src/ELFFileAbstraction.hpp: Added
- * src/ELFReaderRelocatable.hpp: Added
- * Lot of fixes for new architecture
- * Added __OPEN_SOURCE__ to "Preprocessor Macros" to disable new architecture support by default
-
-2005-12-13 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOReaderRelocatable.hpp: check for S_ATTR_DEBUG and ignore those sections
- * unit-tests/test-cases/dwarf-ignore: added
-
-2005-12-12 Nick Kledzik <kledzik@apple.com>
-
- * Added test harness and three initial tests:
- relocs-asm, relocs-c, and hello-world
-
-2005-12-12 Nick Kledzik <kledzik@apple.com>
-
- * 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.
-
-2005-12-12 Nick Kledzik <kledzik@apple.com>
-
- * src/ObjectDump.cpp: Add command line options: -no_content, -stabs, -no_sort
-
-2005-12-11 Eric Christopher <echristo@apple.com>
-
- * src/Options.cpp: Reformat.
- * src/Options.h: Ditto.
-
-2005-12-07 Eric Christopher <echristo@apple.com>
-
- * src/MachOReaderRelocatable.hpp (Atom::getAlignment):
- When calculating alignment of an Atom, take into account
- the alignment from which we pulled the Atom.
-
-2005-12-06 Nick Kledzik <kledzik@apple.com>
-
- * src/Options.cpp src/Options.h: Add design comments
-
-2005-12-05 Eric Christopher <echristo@apple.com>
-
- * src/ld.cpp (Linker::createWriter): Uncomment ppc64 and
- i386 linkers.
-
-2005-12-05 Eric Christopher <echristo@apple.com>
-
- * ChangeLog: New file.
-
-2005-12-02 Nick Kledzik <kledzik@apple.com>
-
- * src/ObjectFile.h: Add design comments
-
-2005-11-30 Nick Kledzik <kledzik@apple.com>
-
- * Fix uses of __OPEN_SOURCE__
-
-2005-11-28 Nick Kledzik <kledzik@apple.com>
-
- * Refactor Atom to use getDefinitionKind()
-
-2005-11-21 Nick Kledzik <kledzik@apple.com>
-
- * src/MachOWriterExecutable.hpp: don't generate section for commons in -r mode
-
-2005-11-18 Nick Kledzik <kledzik@apple.com>
-
- * x86 tweaks
-
-2005-11-18 Nick Kledzik <kledzik@apple.com>
-
- * src/ObjectDump.cpp: make work with command line arguments
-
-2005-11-18 Nick Kledzik <kledzik@apple.com>
-
- * Massive rework to remove preprocessor conditionals and use templates
-
-2005-11-14 Nick Kledzik <kledzik@apple.com>