Mercurial > hg > release > icedtea7-forest-2.5 > jdk
changeset 7573:575b3a2fa6c9 icedtea-2.5pre06
RH1059925: RFE: Version Java libraries to allow using multiple Java versions with Linux capabilities enabled
Summary: Add installation location to RPATH so libraries can be found even with privileged binaries
Contributed-by: Omair Majid <omajid@redhat.com> (original unconditional version)
author | andrew |
---|---|
date | Tue, 03 Jun 2014 18:52:56 +0100 |
parents | 66dd22301a54 |
children | 5c6f796c97cf |
files | make/common/Defs-linux.gmk make/common/Program.gmk make/java/instrument/Makefile |
diffstat | 3 files changed, 22 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/make/common/Defs-linux.gmk Wed May 21 15:52:15 2014 +0100 +++ b/make/common/Defs-linux.gmk Tue Jun 03 18:52:56 2014 +0100 @@ -346,8 +346,13 @@ LDFLAG_Z_ORIGIN = $(Z_ORIGIN_FLAG/$(ARCH_FAMILY)) +ifneq ($(INSTALL_LOCATION),) + LDFLAGS_COMMON += $(LDFLAG_Z_ORIGIN) -Xlinker -rpath -Xlinker \$$ORIGIN:$(INSTALL_LOCATION)/jre/lib/$(LIBARCH) + LDFLAGS_COMMON += $(LD_RUNPATH_EXTRAS:%=$(LDFLAG_Z_ORIGIN) -Xlinker -rpath -Xlinker \$$ORIGIN/:$(INSTALL_LOCATION)/jre/lib/$(LIBARCH)%) +else LDFLAGS_COMMON += $(LDFLAG_Z_ORIGIN) -Xlinker -rpath -Xlinker \$$ORIGIN LDFLAGS_COMMON += $(LD_RUNPATH_EXTRAS:%=$(LDFLAG_Z_ORIGIN) -Xlinker -rpath -Xlinker \$$ORIGIN/%) +endif endif
--- a/make/common/Program.gmk Wed May 21 15:52:15 2014 +0100 +++ b/make/common/Program.gmk Tue Jun 03 18:52:56 2014 +0100 @@ -110,7 +110,11 @@ ifeq ($(PLATFORM), linux) LDFLAGS += $(LDFLAG_Z_ORIGIN) LDFLAGS += -Wl,--allow-shlib-undefined - LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../lib/$(LIBARCH)/jli + ifneq ($(INSTALL_LOCATION),) + LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../lib/$(LIBARCH)/jli:$(INSTALL_LOCATION)/jre/lib/$(LIBARCH)/jli + else + LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../lib/$(LIBARCH)/jli + endif endif # PLATFORM LINUX endif # PLATFORM linux solaris @@ -148,8 +152,13 @@ endif # ARCH_DATA_MODEL endif # PLATFORM SOLARIS ifeq ($(PLATFORM), linux) - LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../lib/$(LIBARCH) - LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../jre/lib/$(LIBARCH) + ifneq ($(INSTALL_LOCATION),) + LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../lib/$(LIBARCH):$(INSTALL_LOCATION)/lib/$(LIBARCH) + LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../jre/lib/$(LIBARCH):$(INSTALL_LOCATION)/jre/lib/$(LIBARCH) + else + LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../lib/$(LIBARCH) + LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../jre/lib/$(LIBARCH) + endif endif # PLATFORM LINUX
--- a/make/java/instrument/Makefile Wed May 21 15:52:15 2014 +0100 +++ b/make/java/instrument/Makefile Tue Jun 03 18:52:56 2014 +0100 @@ -123,7 +123,11 @@ ifeq ($(PLATFORM), linux) LDFLAGS += $(LDFLAG_Z_ORIGIN) LDFLAGS += -Wl,--allow-shlib-undefined - LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/jli + ifneq ($(INSTALL_LOCATION),) + LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/jli:$(INSTALL_LOCATION)/jre/lib/$(LIBARCH)/jli + else + LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/jli + endif endif endif endif