summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@suse.cz>2012-10-02 17:41:01 +0200
committerLuboš Luňák <l.lunak@suse.cz>2012-10-02 17:45:56 +0200
commite2dcbf5e1791badab39361782057005681866e5d (patch)
tree2eaa7329492826613c2753af2fb1257336840415
parentc59769ec7a4f9af1086f534ae92a4f2ccd653122 (diff)
don't use empty rpath
Besides the usual problem this causes with rpath (security), clang also doesn't like empty arguments in -Wl. Change-Id: I5c0896ae06ffcf6d2a268bf98a2b3f031cb8a70f
-rw-r--r--solenv/gbuild/platform/solaris.mk10
-rw-r--r--solenv/gbuild/platform/unxgcc.mk9
2 files changed, 13 insertions, 6 deletions
diff --git a/solenv/gbuild/platform/solaris.mk b/solenv/gbuild/platform/solaris.mk
index 47c12d2c1292..6c0bded557d8 100644
--- a/solenv/gbuild/platform/solaris.mk
+++ b/solenv/gbuild/platform/solaris.mk
@@ -301,12 +301,16 @@ gb_Executable_LAYER := \
$(foreach exe,$(gb_Executable_NONE),$(exe):NONE) \
-define gb_Executable_get_rpath
-'-Wl,-rpath,$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Executable_get_layer,$(1)))' \
--L$(gb_Library_OUTDIRLOCATION)
+define gb_Executable__get_rpath
+$(strip $(if $(1),'-Wl$(COMMA)-rpath$(COMMA)$(1)') \
+-L$(gb_Library_OUTDIRLOCATION))
#JAD#-Wl,-rpath-link,$(gb_Library_OUTDIRLOCATION)
endef
+define gb_Executable_get_rpath
+$(call gb_Executable__get_rpath,$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Executable_get_layer,$(1))))
+endef
+
define gb_Executable_Executable_platform
$(call gb_LinkTarget_get_target,$(2)) : RPATH := $(call gb_Executable_get_rpath,$(1))
diff --git a/solenv/gbuild/platform/unxgcc.mk b/solenv/gbuild/platform/unxgcc.mk
index d996bd46107d..73a354cc63ea 100644
--- a/solenv/gbuild/platform/unxgcc.mk
+++ b/solenv/gbuild/platform/unxgcc.mk
@@ -262,7 +262,7 @@ gb_Library_LAYER := \
$(foreach lib,$(gb_Library_EXTENSIONLIBS),$(lib):OXT) \
define gb_Library__get_rpath
-$(if $(1),$(strip -Wl,-z,origin '-Wl,-rpath,$(1)' '-Wl,-rpath-link,$(gb_Library_OUTDIRLOCATION)'))
+$(if $(1),$(strip -Wl,-z,origin '-Wl,-rpath,$(1)' -Wl,-rpath-link,$(gb_Library_OUTDIRLOCATION)))
endef
define gb_Library_get_rpath
@@ -299,9 +299,12 @@ gb_Executable_LAYER := \
$(foreach exe,$(gb_Executable_NONE),$(exe):NONE) \
+define gb_Executable__get_rpath
+$(strip -Wl,-z,origin $(if $(1),'-Wl$(COMMA)-rpath$(COMMA)$(1)') -Wl,-rpath-link,$(gb_Library_OUTDIRLOCATION))
+endef
+
define gb_Executable_get_rpath
--Wl,-z,origin '-Wl,-rpath,$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Executable_get_layer,$(1)))' \
--Wl,-rpath-link,$(gb_Library_OUTDIRLOCATION)
+$(call gb_Executable__get_rpath,$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Executable_get_layer,$(1))))
endef
define gb_Executable_Executable_platform