Fix for compiling on Solaris
Bill Rushmore
bill.rushmore at oracle.com
Fri Feb 27 13:35:59 PST 2015
Here's the updated patch with the new flags for Solaris.
Bill
On 2/27/2015 11:15 AM, Eric Christopher wrote:
> Thanks!
>
> -eric
>
> On Fri, Feb 27, 2015 at 11:11 AM Bill Rushmore
> <bill.rushmore at oracle.com <mailto:bill.rushmore at oracle.com>> wrote:
>
> Eric,
>
> The Solaris linker's equivalent is (sorry I didn't realize this
> earlier):
>
> -Wl,-z -Wl,discard-unused=sections
>
> We can use -ffunction-section/-fdata-sections with Solaris' GCC.
> We also need to pass -falign-functions=8.
>
> I will rework the patch with these changes, test it, and then resend.
>
> Bill
>
>
> On 2/27/2015 10:27 AM, Eric Christopher wrote:
>> Hi Bill,
>>
>> Will the sun linker gc the sections itself then? or do we need to
>> avoid using -ffunction-section/-fdata-sections as well?
>>
>> -eric
>>
>> On Fri, Feb 27, 2015 at 10:09 AM bill rushmore
>> <bill.rushmore at oracle.com <mailto:bill.rushmore at oracle.com>> wrote:
>>
>> I have a very simple patch for Makefile.rules that solves the
>> problem of
>> trying to build on Solaris. The issue is that Solaris' gcc
>> uses the
>> Solaris linker and that linker doesn't have the --gc-sections
>> flag.
>> This patch fixes Bug 18517.
>>
>> Bill Rushmore
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu <mailto:llvm-commits at cs.uiuc.edu>
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150227/4f3091c3/attachment.html>
-------------- next part --------------
Index: Makefile.rules
===================================================================
--- Makefile.rules (revision 230785)
+++ Makefile.rules (working copy)
@@ -631,6 +631,9 @@
ifneq ($(HOST_OS),Darwin)
ifneq ($(HOST_ARCH),Mips)
CXX.Flags += -ffunction-sections -fdata-sections
+ ifeq ($(HOST_OS),SunOS)
+ CXX.Flags += -falign-functions=8
+ endif
endif
endif
endif
@@ -638,10 +641,13 @@
ifeq ($(HOST_OS),Darwin)
LD.Flags += -Wl,-dead_strip
else
- ifneq ($(HOST_OS), $(filter $(HOST_OS), Cygwin MingW))
+ ifneq ($(HOST_OS), $(filter $(HOST_OS), Cygwin MingW SunOS))
LD.Flags += -Wl,--gc-sections
endif
endif
+ ifeq ($(HOST_OS),SunOS)
+ LD.Flags += -Wl,-z -Wl,discard-unused=sections
+ endif
endif
# Adjust linker flags for building an executable
More information about the llvm-commits
mailing list