summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorJung-uk Kim <jkim@FreeBSD.org>2012-08-29 11:27:23 +0200
committerStephan Bergmann <sbergman@redhat.com>2012-08-29 12:02:26 +0200
commit34ca8dd9adb62c1154f979887a38483d73da978b (patch)
tree86907a50ccfefcd088c6c04e56f08542dfaf0caa /solenv
parentcc9c380b157d03ca10d66c66f4500ddaf5e42f7e (diff)
fdo#54015: At least FreeBSD ld requires -z origin when RPATH contains $ORIGIN
Signed-off-by: Stephan Bergmann <sbergman@redhat.com>: * bulk replacement of "-Wl,-z,origin,-rpath,..." with "-Wl,-z,origin -Wl,rpath,..." * additional hunk for directory/c-sdk/config/FreeBSD.mk in moz/seamonkey-source-1.1.14.patch did not apply and has been dropped Change-Id: Ie60c696f041108e819ce8f799cff6f58e63a5ad7
Diffstat (limited to 'solenv')
-rw-r--r--solenv/gbuild/platform/unxgcc.mk4
-rw-r--r--solenv/inc/unxgcc.mk8
2 files changed, 6 insertions, 6 deletions
diff --git a/solenv/gbuild/platform/unxgcc.mk b/solenv/gbuild/platform/unxgcc.mk
index bb0db92449b3..cb1493dbc037 100644
--- a/solenv/gbuild/platform/unxgcc.mk
+++ b/solenv/gbuild/platform/unxgcc.mk
@@ -297,7 +297,7 @@ gb_Library_LAYER := \
$(foreach lib,$(gb_Library_EXTENSIONLIBS),$(lib):OXT) \
define gb_Library__get_rpath
-$(if $(1),$(strip '-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
@@ -338,7 +338,7 @@ gb_Executable_LAYER := \
define gb_Executable_get_rpath
-'-Wl,-rpath,$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Executable_get_layer,$(1)))' \
+'-Wl,-z,origin -Wl,-rpath,$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Executable_get_layer,$(1)))' \
-Wl,-rpath-link,$(gb_Library_OUTDIRLOCATION)
endef
diff --git a/solenv/inc/unxgcc.mk b/solenv/inc/unxgcc.mk
index 0e98de77f47d..3ac4956ff216 100644
--- a/solenv/inc/unxgcc.mk
+++ b/solenv/inc/unxgcc.mk
@@ -191,11 +191,11 @@ LINKFLAGS_SYSBASE:=-Wl,--sysroot=$(SYSBASE)
# entry. This will cause both, DT_RPATH and DT_RUNPATH entries, to be created
#
LINKFLAGSDEFS*=-Wl,-z,defs
-LINKFLAGSRUNPATH_URELIB=-Wl,-rpath,\''$$ORIGIN'\',--enable-new-dtags
-LINKFLAGSRUNPATH_UREBIN=-Wl,-rpath,\''$$ORIGIN/../lib:$$ORIGIN'\',--enable-new-dtags
+LINKFLAGSRUNPATH_URELIB=-Wl,-z,origin -Wl,-rpath,\''$$ORIGIN'\',--enable-new-dtags
+LINKFLAGSRUNPATH_UREBIN=-Wl,-z,origin -Wl,-rpath,\''$$ORIGIN/../lib:$$ORIGIN'\',--enable-new-dtags
#TODO: drop $ORIGIN once no URE executable is also shipped in OOo
-LINKFLAGSRUNPATH_OOO=-Wl,-rpath,\''$$ORIGIN:$$ORIGIN/../ure-link/lib'\',--enable-new-dtags
-LINKFLAGSRUNPATH_SDKBIN=-Wl,-rpath,\''$$ORIGIN/../../ure-link/lib'\',--enable-new-dtags
+LINKFLAGSRUNPATH_OOO=-Wl,-z,origin -Wl,-rpath,\''$$ORIGIN:$$ORIGIN/../ure-link/lib'\',--enable-new-dtags
+LINKFLAGSRUNPATH_SDKBIN=-Wl,-z,origin -Wl,-rpath,\''$$ORIGIN/../../ure-link/lib'\',--enable-new-dtags
LINKFLAGSRUNPATH_OXT=
LINKFLAGSRUNPATH_NONE=
# flag -Wl,-z,noexecstack sets the NX bit on the stack