search for: ld64

Displaying 20 results from an estimated 343 matches for "ld64".

2015 Sep 04
5
RFC: LTO should use -disable-llvm-verifier
...t;>>>> driver to *always* pass the option to the linker just in case we are > >>>>>>>> doing LTO. Is this reasonable? > >>>>>>>> > >>>>>>>> Also, I realized that passing `-mllvm -disable-llvm-verifier` to ld64 > >>>>>>>> is redundant... so I'm thinking `-mllvm -disable-verify`. Make > >>>>>>>> sense? > >>>>>>>> > >>>>>>>> *sigh* Reasons to hate the driver interface again... > >>>&...
2015 Sep 04
2
RFC: LTO should use -disable-llvm-verifier
...noasserts > >> >>>> driver to *always* pass the option to the linker just in case we are > >> >>>> doing LTO. Is this reasonable? > >> >>>> > >> >>>> Also, I realized that passing `-mllvm -disable-llvm-verifier` to ld64 > >> >>>> is redundant... so I'm thinking `-mllvm -disable-verify`. Make > >> >>>> sense? > >> >>>> > >> >>>> *sigh* Reasons to hate the driver interface again... > >> >>>> > >> &g...
2017 Jun 06
4
LLD support for ld64 mach-o linker synthesised symbols
Hi Folks, I have a question regarding LLD support for ld64 mach-o linker synthesised symbols. I did a quick search of the LLD source and I can not find support for them so before I start trying to use lld I thought I would ask. I have found a couple of cases where they are essential. i.e. where there is no other way to get the required information, such a...
2017 Jun 06
2
LLD support for ld64 mach-o linker synthesised symbols
Hi Rui, The motivation would be primarily that LLVM/Clang/LLD are community projects such that if I or someone in the community added support for e.g. symbol aliases, then it could be reviewed and potentially merged. ld64 on the other hand does not have a community process for patch submission and code review that I am aware of so its unlikely that if someone from the community came up with a patch to support aliases that it would be merged. In that case I might check out the LLD code and try linking “x86_64-xnu-mu...
2020 May 07
2
Ld64.lld cannot find Foundation framework
Dear LLVM community I need some help please. I want to use LLVM's clang and lld within a MacOSX sandboxed app. This is because sandboxing does not allow calls to /usr/bin/clang. The clang binary works fine to compile a file, but ld64.lld comes up with the error "cannot find framework". However similar arguments using /usr/bin/ld instead of ld64.lld works fine. Here are the details: Here is the call using /usr/bin/ld: /usr/bin/ld HelloObjC.o -o HelloObjC -v -sdk_version 10.14.0 -...
2020 May 07
2
Ld64.lld cannot find Foundation framework
...M lld. > On 7 May 2020, at 19:21, James Y Knight <jyknight at google.com> wrote: > > On Thu, May 7, 2020 at 1:54 PM Edmund Furse <edmund.furse at imitation.uk.com <mailto:edmund.furse at imitation.uk.com>> wrote: > Thanks for your reply. Two questions: > 1). Will ld64.lld be fixed in LLVM v11.0 and when is this likely to be? > > Likely won't be fixed that soon. > > 2). You mention Apple’s linker, by which I assume you mean GNU’s ld. > Is it possible to get a binary version of ld (preferably that does not use other things from /usr/b...
2017 Sep 07
2
[ThinLTO] static library failure with object files with the same name
Hi Johan, ld64 only calls functions from llvm/include/llvm-c/lto.h (defined in llvm/tools/lto/lto.cpp) For instance ThinLTOCodeGenerator::addModule is called through thinlto_codegen_add_module(). Apple hasn't released the code for ld64 in Xcode 9 yet, did you check if it is fixed in...
2015 Sep 04
2
RFC: LTO should use -disable-llvm-verifier
...have to change the noasserts >> >>>> driver to *always* pass the option to the linker just in case we are >> >>>> doing LTO. Is this reasonable? >> >>>> >> >>>> Also, I realized that passing `-mllvm -disable-llvm-verifier` to ld64 >> >>>> is redundant... so I'm thinking `-mllvm -disable-verify`. Make >> >>>> sense? >> >>>> >> >>>> *sigh* Reasons to hate the driver interface again... >> >>>> >> >>>> I guess this is...
2020 May 07
2
Ld64.lld cannot find Foundation framework
Thanks for your reply. Two questions: 1). Will ld64.lld be fixed in LLVM v11.0 and when is this likely to be? 2). You mention Apple’s linker, by which I assume you mean GNU’s ld. Is it possible to get a binary version of ld (preferably that does not use other things from /usr/bin)? Thanks > On 7 May 2020, at 12:26, James Y Knight <...
2017 Sep 11
2
[ThinLTO] static library failure with object files with the same name
On Fri, Sep 8, 2017 at 9:04 PM, Johan Engelen <jbc.engelen at gmail.com> wrote: > > On Thu, Sep 7, 2017 at 5:44 PM, Mehdi AMINI <joker.eph at gmail.com> wrote: > >> Hi Johan, >> >> ld64 only calls functions from llvm/include/llvm-c/lto.h (defined >> in llvm/tools/lto/lto.cpp) >> >> For instance ThinLTOCodeGenerator::addModule is called >> through thinlto_codegen_add_module(). >> >> Apple hasn't released the code for...
2020 May 26
2
Emitting aligned nlist_64 structures for Mach-O in MC
I looked into this further. ld64 has a macho_nlist abstraction over the various underlying nlist structures [1]. On x86-64, the P::getP referenced in n_value will resolve to [2], which in turn goes to [3], which calls OSReadLittleInt64. On a little endian machine, OSReadLittleEndian just calls _OSReadInt64 [4], which in turn does...
2013 Oct 22
4
[LLVMdev] ld: Assertion failed: (memberIndex != 0), function makeObjectFileForMember
...ct with Xcode 4.6.3 (4H1503). The project has dependencies on, and links against, an Objective-C static library Xcode project, and a C++ static library Xcode project. All are using using LLVM 4.2. ld: Assertion failed: (memberIndex != 0), function makeObjectFileForMember, file /SourceCache/ld64/ld64-136/src/ld/parsers/archive_file.cpp, line 354. 0 0x10fa41098 __assert_rtn + 144 1 0x10fa678af archive::File<x86_64>::makeObjectFileForMember(archive::File<x86_64>::Entry const*) const + 1149 2 0x10fa670fd archive::File<x86_64>::forEachAtom(ld::File:...
2017 Sep 06
3
[ThinLTO] static library failure with object files with the same name
...rote: >> >> On Tue, Sep 5, 2017 at 2:09 PM, Teresa Johnson <tejohnson at google.com> >> wrote: >> > >> > Hi Johan, >> > >> > Right, per the bug this is fixed in lld (and was already handled in >> > gold-plugin), but I guess not in ld64. Note that lld and gold-plugin use the >> > new LTO API, while ld64 (and probably other linkers) are still using the >> > legacy libLTO (which is what ThinLTOCodeGenerator.cpp is part of). Fixing it >> > in the location you propose could work for all legacy libLTO users....
2018 Feb 14
2
ThinLTO and linkonce_odr + unnamed_addr
...default in GlobalOpts > > 1. When a symbol is linkonce_odr hidden unnamed_addr, it emits both '.private_extern' and '.weak_def_can_be_hidden' asm directives on macho platform. There result of that is .private_extern will win so this is essentially linkonce_odr hidden. > 2. ld64 does treat these two type of symbols differently. For example, ld64 will deduplicate all the can_be_hidden symbols to reduce code size. This can't be achieved when the symbols is private external. For others' context, this deduplication in ld64 will effectively merge (e.g.) std::vector<...
2017 Sep 17
2
[ThinLTO] static library failure with object files with the same name
...> >> On Fri, Sep 8, 2017 at 9:04 PM, Johan Engelen <jbc.engelen at gmail.com> >> wrote: >> >>> >>> On Thu, Sep 7, 2017 at 5:44 PM, Mehdi AMINI <joker.eph at gmail.com> wrote: >>> >>>> Hi Johan, >>>> >>>> ld64 only calls functions from llvm/include/llvm-c/lto.h (defined >>>> in llvm/tools/lto/lto.cpp) >>>> >>>> For instance ThinLTOCodeGenerator::addModule is called >>>> through thinlto_codegen_add_module(). >>>> >>...
2017 Jun 07
3
LLD support for ld64 mach-o linker synthesised symbols
...lark <michaeljclark at mac.com> wrote: > > Hi Rui, > > The motivation would be primarily that LLVM/Clang/LLD are community > projects such that if I or someone in the community added support for e.g. > symbol aliases, then it could be reviewed and potentially merged. ld64 on > the other hand does not have a community process for patch submission and > code review that I am aware of so its unlikely that if someone from the > community came up with a patch to support aliases that it would be merged. > > In that case I might check out the LLD code and tr...
2018 Feb 16
2
ThinLTO and linkonce_odr + unnamed_addr
...39; asm directives on macho platform. There result of that is .private_extern will win so this is essentially linkonce_odr hidden. What do those directives mean? I assume .weak_def_can_be_hidden is the "you can drop this from the symbol table", but .private_extern I am not sure. > 2. ld64 does treat these two type of symbols differently. For example, ld64 will deduplicate all the can_be_hidden symbols to reduce code size. This can't be achieved when the symbols is private external. If I understand you correctly, ld64 will deduplicate std::vector<int>::push_back and std::v...
2018 Feb 16
0
ThinLTO and linkonce_odr + unnamed_addr
...t; > > 1. When a symbol is linkonce_odr hidden unnamed_addr, it emits both > '.private_extern' and '.weak_def_can_be_hidden' asm directives on macho > platform. There result of that is .private_extern will win so this is > essentially linkonce_odr hidden. > > 2. ld64 does treat these two type of symbols differently. For example, > ld64 will deduplicate all the can_be_hidden symbols to reduce code size. > This can't be achieved when the symbols is private external. > > For others' context, this deduplication in ld64 will effectively merge &gt...
2017 Sep 18
2
[ThinLTO] static library failure with object files with the same name
...com> >>>> wrote: >>>> >>>>> >>>>> On Thu, Sep 7, 2017 at 5:44 PM, Mehdi AMINI <joker.eph at gmail.com> >>>>> wrote: >>>>> >>>>>> Hi Johan, >>>>>> >>>>>> ld64 only calls functions from llvm/include/llvm-c/lto.h (defined >>>>>> in llvm/tools/lto/lto.cpp) >>>>>> >>>>>> For instance ThinLTOCodeGenerator::addModule is called >>>>>> through thinlto_codegen_add_mod...
2013 Jan 05
1
[LLVMdev] LLVM triple and Apple ld64 behavior
Hello, I wanted to know about the reasons Apple dropped the support for "arm" target in its ld64. After searching in the sourcecode I found out that ld64 supports armv4 armv5 armv6 armv7 and its subtypes. The code shows that -force_cpusubtype_ALL for ARM targets is no more supported in "src/ld/options.cpp") and static const ARMSubType ARMSubTypes[] doesn't include "a...