[llvm] r187710 - Build with the $RDYNAMIC flag on Darwin as well as other platforms.

Bob Wilson bob.wilson at apple.com
Mon Aug 5 12:04:24 PDT 2013


On Aug 5, 2013, at 11:15 AM, Eric Christopher <echristo at gmail.com> wrote:

> As far as I can tell this change wants a linker that hasn't been
> shipped yet. Does that agree with your perspective?

Yes.  The Xcode 5 preview releases have a newer linker that supports -export_dynamic, but it has not be officially released yet.

The -rdynamic flag should not break anything, though, even when using an older linker, and things are inherently broken on Darwin without it.

> 
> -eric
> 
> On Sun, Aug 4, 2013 at 3:06 PM, Bob Wilson <bob.wilson at apple.com> wrote:
>> Author: bwilson
>> Date: Sun Aug  4 17:06:11 2013
>> New Revision: 187710
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=187710&view=rev
>> Log:
>> Build with the $RDYNAMIC flag on Darwin as well as other platforms.
>> 
>> Part of <rdar://problem/14620988>
>> 
>> Modified:
>>    llvm/trunk/Makefile.rules
>>    llvm/trunk/projects/sample/Makefile.llvm.rules
>> 
>> Modified: llvm/trunk/Makefile.rules
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/Makefile.rules?rev=187710&r1=187709&r2=187710&view=diff
>> ==============================================================================
>> --- llvm/trunk/Makefile.rules (original)
>> +++ llvm/trunk/Makefile.rules Sun Aug  4 17:06:11 2013
>> @@ -612,17 +612,14 @@ ifndef KEEP_SYMBOLS
>>   Install.StripFlag += -s
>> endif
>> 
>> -ifdef TOOL_NO_EXPORTS
>> -  DynamicFlags :=
>> -else
>> -  DynamicFlag := $(RDYNAMIC)
>> -endif
>> -
>> # Adjust linker flags for building an executable
>> ifneq ($(HOST_OS), $(filter $(HOST_OS), Cygwin MingW))
>> +  ifndef TOOL_NO_EXPORTS
>> +    LD.Flags += $(RDYNAMIC)
>> +  endif
>>   ifneq ($(HOST_OS), Darwin)
>>     ifdef TOOLNAME
>> -      LD.Flags += $(RPATH) -Wl,'$$ORIGIN/../lib' $(DynamicFlag)
>> +      LD.Flags += $(RPATH) -Wl,'$$ORIGIN/../lib'
>>     endif
>>   else
>>     ifneq ($(DARWIN_MAJVERS),4)
>> 
>> Modified: llvm/trunk/projects/sample/Makefile.llvm.rules
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/projects/sample/Makefile.llvm.rules?rev=187710&r1=187709&r2=187710&view=diff
>> ==============================================================================
>> --- llvm/trunk/projects/sample/Makefile.llvm.rules (original)
>> +++ llvm/trunk/projects/sample/Makefile.llvm.rules Sun Aug  4 17:06:11 2013
>> @@ -534,21 +534,18 @@ ifndef KEEP_SYMBOLS
>>   Install.StripFlag += -s
>> endif
>> 
>> -ifdef TOOL_NO_EXPORTS
>> -  DynamicFlags :=
>> -else
>> -  DynamicFlag := $(RDYNAMIC)
>> -endif
>> -
>> # Adjust linker flags for building an executable
>> ifneq ($(HOST_OS), $(filter $(HOST_OS), Cygwin MingW))
>> +  ifndef TOOL_NO_EXPORTS
>> +    LD.Flags += $(RDYNAMIC)
>> +  endif
>> ifneq ($(HOST_OS), Darwin)
>> ifdef TOOLNAME
>>   LD.Flags += $(RPATH) -Wl,'$$ORIGIN/../lib'
>>   ifdef EXAMPLE_TOOL
>> -    LD.Flags += $(RPATH) -Wl,$(ExmplDir) $(DynamicFlag)
>> +    LD.Flags += $(RPATH) -Wl,$(ExmplDir)
>>   else
>> -    LD.Flags += $(RPATH) -Wl,$(ToolDir) $(DynamicFlag)
>> +    LD.Flags += $(RPATH) -Wl,$(ToolDir)
>>   endif
>> endif
>> else
>> 
>> 
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list