File: jexec.diff

package info (click to toggle)
openjdk-11 11.0.29~4ea-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 780,672 kB
  • sloc: java: 5,208,618; xml: 1,192,267; cpp: 1,138,375; ansic: 461,923; javascript: 162,416; sh: 16,738; objc: 13,729; python: 4,757; asm: 3,570; makefile: 2,970; perl: 357; awk: 351; sed: 172; jsp: 24; csh: 3
file content (35 lines) | stat: -rw-r--r-- 1,478 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
--- a/src/java.base/unix/native/launcher/jexec.c
+++ b/src/java.base/unix/native/launcher/jexec.c
@@ -168,9 +168,10 @@
 
     /* Get the path to the java binary, which is in a known position relative
      * to our current position, which is in argv[0]. */
-    if (getJavaPath(argv[argi++], java, RELATIVE_DEPTH) != 0) {
+    if (getJavaPath(JDK_BASE_DIR "/lib/jexec", java, RELATIVE_DEPTH) != 0) {
         errorExit(errno, MISSING_JAVA_MSG);
     }
+    argi++;
     alen = (argc + 2) * (sizeof (const char *));
     if (alen <= 0 || alen > INT_MAX / sizeof(char *)) {
         errorExit(errno, BAD_ARG_MSG);
--- a/make/launcher/Launcher-java.base.gmk
+++ b/make/launcher/Launcher-java.base.gmk
@@ -57,6 +57,9 @@
 ################################################################################
 
 ifeq ($(call isTargetOs, linux), true)
+  ifeq (,$(DEBIAN_JDK_BASE_DIR))
+    $(error DEBIAN_JDK_BASE_DIR must be defined for jexec build)
+  endif
   $(eval $(call SetupJdkExecutable, BUILD_JEXEC, \
       NAME := jexec, \
       SRC := $(TOPDIR)/src/$(MODULE)/unix/native/launcher, \
@@ -64,7 +67,7 @@
       OPTIMIZATION := LOW, \
       CFLAGS := $(CFLAGS_JDKEXE) \
           -I$(TOPDIR)/src/$(MODULE)/share/native/libjli, \
-      CFLAGS_linux := -fPIC, \
+      CFLAGS_linux := -fPIC '-DJDK_BASE_DIR="$(DEBIAN_JDK_BASE_DIR)"', \
       CFLAGS_solaris := -KPIC, \
       LDFLAGS := $(LDFLAGS_JDKEXE), \
       OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/modules_libs/$(MODULE), \