From 183622f619ad30b834c5e6a73fa00244d5b035c0 Mon Sep 17 00:00:00 2001 From: Apple Date: Tue, 12 Feb 2008 20:39:29 +0000 Subject: [PATCH] ld64-77.1.tar.gz --- ChangeLog | 80 +++-------------------------------- src/MachOWriterExecutable.hpp | 5 ++- src/ld.cpp | 1 - 3 files changed, 9 insertions(+), 77 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7a63394..bcea8de 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,9 @@ +2007-10-16 Nick Kledzik + + Cannot build with libm_static.a statically linked + * src/MachOWriterExecutable.hpp: fix when extern relocs are used with -r -d + ----- Tagged ld64-77 2007-07-3 Nick Kledzik @@ -1825,12 +1830,6 @@ * src/MachOReaderRelocatable.cpp: mark non-lazy-pointer atoms as scopeTranslationUnit if targetting a static symbol -#ifndef __OPEN_SOURCE__ -2006-04-27 Nick Kledzik - - dyld crashes ungracefully on x86_64 when there is an internal exception - * src/MachOWriterExecutable.cpp: allow non-zero PCRELGOT addends (used by C++ eh frames) -#endif 2006-04-21 Nick Kledzik @@ -1874,11 +1873,6 @@ ----- Tagged ld64-50 -#ifndef __OPEN_SOURCE__ -2006-03-29 Nick Kledzik - - * src/MachOWriterExecutable.hpp: fix x86_64 addends when -multi_module forces an external relocation -#endif 2006-03-29 Nick Kledzik @@ -1930,62 +1924,18 @@ * src/Options.cpp: setup ReaderOptions.fForFinalLinkedImage * src/MachOReaderRelocatable.hpp: mark .eh symbols kSymbolTableNotIn when building final linked image -#ifndef __OPEN_SOURCE__ -2006-03-21 Nick Kledzik - - Inca ld64-45 fatal error with C++ and asm() renaming - * src/MachOReaderRelocatable.hpp: fix Reader::makeReferenceToEH(() to walk relocations to find - target of eh symbol, rather assume target name is eh symbol name less .eh - -#endif 2006-03-21 Nick Kledzik ld64 does not parse optional second argument to -filelist * unit-tests/test-cases/filelist: added * src/Options.cpp: in Options::loadFileList() handle comma option -#ifndef __OPEN_SOURCE__ -2006-03-21 Nick Kledzik - - 32-bit pointer difference out of range for cxx eh frame - * src/MachOReaderRelocatable.hpp: x86_64 doesn't have anonymous non-lazy-pointers - * src/machochecker.cpp: fix validFile() for x86_64 - * unit-tests/run-all-unit-tests: add x86_64 - * unit-tests/include/common.makefile: don't add -g to all compilers - * unit-tests/test-cases/relocs-asm/relocs-asm.s: add x86_64 test cases - * unit-tests/test-cases/relocs-c/Makefile: fix to work with x86_64 - * src/ld.cpp: add hack to use i386 dylibs if x86_64 don't exist - -2006-03-19 Nick Kledzik - - ld64 crashes whenever I try to link with dylib1.o - * src/MachOReaderRelocatable.hpp: in Reader::addRelocReference() fix local relocations -#endif ----- Tagged ld64-47.1 -#ifndef __OPEN_SOURCE__ -2006-03-16 Nick Kledzik - - ld64-41 in Leopard doesn't have x86_64 support - * ld64.xcodeproj/project.pbxproj: enable x86_64 for Leopard -#endif ----- Tagged ld64-47 -#ifndef __OPEN_SOURCE__ -2006-03-14 Nick Kledzik - - * src/Architectures.hpp: redo x86_64 relocation types - * src/MachOReaderRelocatable.hpp: redo x86_64 relocation types, make some section type illegal for x86_64 - * src/MachOWriterExecutable.hpp: redo x86_64 relocation types - -2006-03-13 Nick Kledzik - - ld64 -r does not handle internal relocations for x86_64 - * src/MachOWriterExecutable.hpp: handle internal relocations in Writer::fixUpReferenceRelocatable() - and Writer::addObjectRelocs(). -#endif ----- Tagged ld64-46 @@ -2019,24 +1969,12 @@ ----- Tagged ld64-45 -#ifndef __OPEN_SOURCE__ -2006-03-06 Nick Kledzik - - ld64 failed: rel32 out of range when linking a dylib - * src/MachOWriterExecutable.cpp: in Writer::fixUpReferenceFinal add (int32_t) cast -#endif 2006-03-06 Nick Kledzik LP64/9A122: ld64: hang when trying to link DiscRecording framework * src/Options.cpp: addSectionAlignment, warn on zero. Use log2() for alignment conversion -#ifndef __OPEN_SOURCE__ -2006-03-06 Nick Kledzik - - x86_THREAD_STATE64_COUNT will change, ld64 must adapt - * src/MachOWriterExecutable.hpp: update ThreadsLoadCommandsAtom for new thread status layout -#endif ----- Tagged ld64-44 @@ -2051,14 +1989,6 @@ ----- Tagged ld64-43 -#ifndef __OPEN_SOURCE__ -2006-03-03 Nick Kledzik - - RIP-relative offsets aren't handled properly when the instruction has immediate operands - * src/Architectures.hpp: add x86_64::kPCRel32_* - * src/MachOReaderRelocatable.hpp: generate x86_64::kPCRel32_* - * src/MachOWriterExecutable.hpp: process x86_64::kPCRel32_* -#endif 2006-03-02 Nick Kledzik diff --git a/src/MachOWriterExecutable.hpp b/src/MachOWriterExecutable.hpp index 5b05210..56c6dd2 100644 --- a/src/MachOWriterExecutable.hpp +++ b/src/MachOWriterExecutable.hpp @@ -2383,7 +2383,10 @@ bool Writer::makesExternalRelocatableReference(ObjectFile::Atom& target) cons case ObjectFile::Atom::kAbsoluteSymbol: return false; case ObjectFile::Atom::kTentativeDefinition: - return (target.getScope() != ObjectFile::Atom::scopeTranslationUnit); + if ( fOptions.readerOptions().fMakeTentativeDefinitionsReal ) + return false; + else + return (target.getScope() != ObjectFile::Atom::scopeTranslationUnit); case ObjectFile::Atom::kExternalDefinition: case ObjectFile::Atom::kExternalWeakDefinition: return shouldExport(target); diff --git a/src/ld.cpp b/src/ld.cpp index ff53037..a2a56b9 100644 --- a/src/ld.cpp +++ b/src/ld.cpp @@ -62,7 +62,6 @@ #include "LLVMReader.hpp" #endif - #include "OpaqueSection.hpp" -- 2.45.2