diff options
Diffstat (limited to 'recipes-core/openjdk/patches-openjdk-8/0010-build-fix-build-on-as-needed-toolchains-generic.patch')
-rw-r--r-- | recipes-core/openjdk/patches-openjdk-8/0010-build-fix-build-on-as-needed-toolchains-generic.patch | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/recipes-core/openjdk/patches-openjdk-8/0010-build-fix-build-on-as-needed-toolchains-generic.patch b/recipes-core/openjdk/patches-openjdk-8/0010-build-fix-build-on-as-needed-toolchains-generic.patch deleted file mode 100644 index 2d02b7c..0000000 --- a/recipes-core/openjdk/patches-openjdk-8/0010-build-fix-build-on-as-needed-toolchains-generic.patch +++ /dev/null | |||
@@ -1,91 +0,0 @@ | |||
1 | From 84bcdb9cdab0e0be9cdfededfb518d3cea9009e3 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <andre.draszik@jci.com> | ||
3 | Date: Mon, 12 Mar 2018 15:40:58 +0000 | ||
4 | Subject: [PATCH] build: fix build on --as-needed toolchains (generic) | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | If the (host) toolchain has been configured to | ||
10 | unconditionally add --as-needed to the linker command line | ||
11 | then linking fails when using the system zlib: | ||
12 | + ...gcc -lz -L<sysroot>/usr/lib -L<sysroot>/lib \ | ||
13 | -Wl,-rpath-link,<sysroot>/usr/lib -Wl,-rpath-link,<sysroot>/lib \ | ||
14 | -Wl,-rpath,<sysroot>/usr/lib -Wl,-rpath,<sysroot>/lib \ | ||
15 | -Wl,-O1 -Xlinker --hash-style=both -Xlinker -z -Xlinker defs -Xlinker -O1 \ | ||
16 | -Xlinker --allow-shlib-undefined -Xlinker -soname=libunpack.so \ | ||
17 | -Xlinker -z -Xlinker origin -Xlinker -rpath -Xlinker '$ORIGIN' \ | ||
18 | -lc \ | ||
19 | -Xlinker -version-script=<src>/jdk/make/mapfiles/libunpack/mapfile-vers-unpack200 \ | ||
20 | -o $build/jdk/objs/unpackexe/unpack200 \ | ||
21 | $build/jdk/objs/unpackexe/bands.o $build/jdk/objs/unpackexe/bytes.o \ | ||
22 | $build/jdk/objs/unpackexe/coding.o $build/jdk/objs/unpackexe/main.o \ | ||
23 | $build/jdk/objs/unpackexe/unpack.o $build/jdk/objs/unpackexe/utils.o \ | ||
24 | $build/jdk/objs/unpackexe/zip.o -lstdc++ | ||
25 | $build/jdk/objs/unpackexe/zip.o: In function `jar::deflate_bytes(bytes&, bytes&)': | ||
26 | $src/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp:464: undefined reference to `deflateInit2_' | ||
27 | $src/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp:507: undefined reference to `deflate' | ||
28 | $src/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp:514: undefined reference to `deflateEnd' | ||
29 | $src/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp:502: undefined reference to `deflate' | ||
30 | $src/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp:518: undefined reference to `deflateEnd' | ||
31 | $build/jdk/objs/unpackexe/zip.o: In function `jar::get_crc32(unsigned int, unsigned char*, unsigned int)': | ||
32 | $src/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp:61: undefined reference to `crc32' | ||
33 | $src/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp:61: undefined reference to `crc32' | ||
34 | $src/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp:61: undefined reference to `crc32' | ||
35 | $build/jdk/objs/unpackexe/zip.o: In function `gunzip::free()': | ||
36 | $src/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp:645: undefined reference to `inflateEnd' | ||
37 | $build/jdk/objs/unpackexe/zip.o: In function `read_input_via_gzip(unpacker*, void*, long, long)': | ||
38 | $src/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp:548: undefined reference to `inflate' | ||
39 | $src/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp:548: undefined reference to `inflate' | ||
40 | $build/jdk/objs/unpackexe/zip.o: In function `gunzip::start(int)': | ||
41 | $src/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp:637: undefined reference to `inflateInit2_' | ||
42 | collect2: error: ld returned 1 exit status | ||
43 | |||
44 | (as happened on a Ubuntu 16.04 xenial host: | ||
45 | gcc --version | ||
46 | gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609 | ||
47 | Copyright (C) 2015 Free Software Foundation, Inc. | ||
48 | This is free software; see the source for copying conditions. There is NO | ||
49 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
50 | ) | ||
51 | |||
52 | The reason is that the order of command line arguments | ||
53 | becomes important with --as-needed and the JDK build system | ||
54 | places -lz at the beginning of the command line where it | ||
55 | would normally place the zlib object files from its own | ||
56 | bundled compiled version. | ||
57 | |||
58 | Having -lz early in the command line is not useful, as it | ||
59 | is discarded by the linker at that point in time as it | ||
60 | hasn't seen any reference to the symbols provided yet. | ||
61 | |||
62 | As it seems a generic pattern in the makefiles here, just | ||
63 | place the $EXPECTED_OBJS early in the command line, before | ||
64 | any additional libraries, so as to fix this once and for | ||
65 | all. | ||
66 | |||
67 | Signed-off-by: André Draszik <andre.draszik@jci.com> | ||
68 | --- | ||
69 | Upstream-Status: Pending | ||
70 | make/common/NativeCompilation.gmk | 5 ++--- | ||
71 | 1 file changed, 2 insertions(+), 3 deletions(-) | ||
72 | |||
73 | diff --git a/make/common/NativeCompilation.gmk b/make/common/NativeCompilation.gmk | ||
74 | index e7ea22ce..79f081fd 100644 | ||
75 | --- a/make/common/NativeCompilation.gmk | ||
76 | +++ b/make/common/NativeCompilation.gmk | ||
77 | @@ -477,9 +477,8 @@ define SetupNativeCompilation | ||
78 | |||
79 | $$($1_TARGET) : $$($1_EXPECTED_OBJS) $$($1_RES) $$($1_GEN_MANIFEST) | ||
80 | $$(call LINKING_EXE_MSG,$$($1_BASENAME)) | ||
81 | - $$($1_LDEXE) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $(EXE_OUT_OPTION)$$($1_TARGET) \ | ||
82 | - $$($1_EXPECTED_OBJS) $$($1_RES) $$($1_LDFLAGS_SUFFIX) \ | ||
83 | - $$($1_EXTRA_LDFLAGS_SUFFIX) | ||
84 | + $$($1_LDEXE) $$($1_EXPECTED_OBJS) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $(EXE_OUT_OPTION)$$($1_TARGET) \ | ||
85 | + $$($1_RES) $$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX) | ||
86 | ifneq (,$$($1_GEN_MANIFEST)) | ||
87 | $(MT) -nologo -manifest $$($1_GEN_MANIFEST) -outputresource:$$@;#1 | ||
88 | endif | ||
89 | -- | ||
90 | 2.16.2 | ||
91 | |||