Commit graph

211 commits

Author SHA1 Message Date
Piotr Kubaj
27753529c1 java/openjdk8: commit forgotten patch
Reported by:	mikael
2023-02-20 14:44:06 +01:00
Piotr Kubaj
7c57122016 java/openjdk8: fix build on powerpc64* with clang 15
/wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u362-b09.1/hotspot/agent/src/os/bsd/symtab.c:266:14: warning: call to undeclared function 'find_section_by_name'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
  opd_sect = find_section_by_name(".opd", fd, &ehdr, scn_cache);
             ^
/wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u362-b09.1/hotspot/agent/src/os/bsd/symtab.c:266:12: error: incompatible integer to pointer conversion assigning to 'struct elf_section *' from 'int' [-Wint-conversion]
  opd_sect = find_section_by_name(".opd", fd, &ehdr, scn_cache);
           ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Bump PORTREVISION because the issue actually existed with previous clang versions, but didn't cause an error.
find_section_by_name() is copied from Linux's symtab.c.
2023-02-19 23:28:58 +01:00
Greg Lewis
abec68416a java/openjdk8: Update to 8u362 2023-01-22 17:07:41 -08:00
Dimitry Andric
d7146f6d33 java/openjdk8: fix build with clang 15
During an exp-run for llvm 15 (see bug 265425), it turned out that
java/openjdk8 failed to build with clang 15:

    /wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u352-b08.1/jdk/src/share/bin/splashscreen_stubs.c:64:30: error: incompatible pointer to integer conversion returning 'void *' from a function with result type 'int' [-Wint-conversion]
        INVOKE(SplashLoadMemory, NULL)(pdata, size);
                                 ^~~~
    /usr/include/sys/_null.h:34:14: note: expanded from macro 'NULL'
    #define NULL    ((void *)0)
                    ^~~~~~~~~~~
    /wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u352-b08.1/jdk/src/share/bin/splashscreen_stubs.c:60:39: note: expanded from macro 'INVOKE'
    #define INVOKE(name,def) _INVOKE(name,def,return)
                                          ^~~
    /wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u352-b08.1/jdk/src/share/bin/splashscreen_stubs.c:57:25: note: expanded from macro '_INVOKE'
        if (!proc) { return def; } \
                            ^~~
    /wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u352-b08.1/jdk/src/share/bin/splashscreen_stubs.c:68:28: error: incompatible pointer to integer conversion returning 'void *' from a function with result type 'int' [-Wint-conversion]
        INVOKE(SplashLoadFile, NULL)(filename);
                               ^~~~
    /usr/include/sys/_null.h:34:14: note: expanded from macro 'NULL'
    #define NULL    ((void *)0)
                    ^~~~~~~~~~~
    /wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u352-b08.1/jdk/src/share/bin/splashscreen_stubs.c:60:39: note: expanded from macro 'INVOKE'
    #define INVOKE(name,def) _INVOKE(name,def,return)
                                          ^~~
    /wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u352-b08.1/jdk/src/share/bin/splashscreen_stubs.c:57:25: note: expanded from macro '_INVOKE'
        if (!proc) { return def; } \
                            ^~~
    2 errors generated.

Indeed, instead of the pointer value NULL, the integer value 0 should be
used.

PR:		268223
Approved by:	portmgr (tcberner)
MFH:		2022Q4
2022-12-18 18:23:58 +01:00
Greg Lewis
60e0223972 java/openjdk8: Use the distributed cacerts
PR:		266723
Reported by:	Michael Osipov <michael.osipov@siemens.com>
2022-11-03 22:52:56 -07:00
Greg Lewis
6168584745 java/openjdk8: Update to 8u352 2022-10-29 15:22:52 -07:00
Dimitry Andric
e0af091d6c java/openjdk8: Bump PORTREVISION for previous change
PR:		264065
MFH:		2022Q3
2022-09-14 12:46:26 +02:00
Dimitry Andric
a705af9bfc java/openjdk8: Restore workaround for aarch64 assertions
See also <https://bugs.openjdk.org/browse/JDK-8247766>.

Even though the upstream fix has been applied to this version of the
JDK, some users still report the assertion "guarantee(val < (1U <<
nbits)) failed: Field too big for insn" occurring, when it is built with
recent versions of clang.

Therefore, restore the workaround that uses clang 12 to build the JDK on
aarch64.

PR:		264065
MFH:		2022Q3
2022-09-14 10:52:48 +02:00
Stefan Eßer
fb16dfecae Remove WWW entries moved into port Makefiles
Commit b7f05445c0 has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.

This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.

Approved by:		portmgr (tcberner)
2022-09-07 23:58:51 +02:00
Stefan Eßer
b7f05445c0 Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.

Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.

There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.

This commit implements such a proposal and moves one of the WWW: entries
of each pkg-descr file into the respective port's Makefile. A heuristic
attempts to identify the most relevant URL in case there is more than
one WWW: entry in some pkg-descr file. URLs that are not moved into the
Makefile are prefixed with "See also:" instead of "WWW:" in the pkg-descr
files in order to preserve them.

There are 1256 ports that had no WWW: entries in pkg-descr files. These
ports will not be touched in this commit.

The portlint port has been adjusted to expect a WWW entry in each port
Makefile, and to flag any remaining "WWW:" lines in pkg-descr files as
deprecated.

Approved by:		portmgr (tcberner)
2022-09-07 23:10:59 +02:00
Dimitry Andric
591a784f32 java/openjdk{8,11}: Remove dependency on devel/llvm12 which is no longer necessary
The workarounds committed in aa1ca89826 and 846ff4e952 are no longer
necessary, as both the upstream commits for PR258954
(305a68a90c)
and PR264065 (https://hg.openjdk.java.net/jdk/jdk/rev/40c07de877ab) are
now merged into the distribution tarballs.

PR:		258954, 264065
Approved by:	maintainer timeout (1 month)
MFH:		2022Q3
2022-08-06 12:55:32 +02:00
Greg Lewis
8efb59db35 java/openjdk8: Update to 8u342 2022-08-01 21:15:45 -07:00
Greg Lewis
2242e75646 java/openjdk8: Bump PORTREVISION for previous change 2022-06-19 09:01:17 -07:00
Greg Lewis
aa1ca89826 java/openjdk8: Attempt to fix newer aarch64
Revert to forcing Clang 12 if Clang 13 or newer is detected.
This may fix problems with the built JDK on aarch64.

PR:		264065
2022-06-18 21:55:54 -07:00
Greg Lewis
54d64d5a98 java/openjdk8: Fix the build on aarch64 2022-05-07 20:51:19 -07:00
Greg Lewis
22a5ad0dc8 java/openjdk8: Update to 8u332 GA 2022-05-04 18:34:18 -07:00
Piotr Kubaj
2e91d772ca java/openjdk8: enable jfr on powerpc64 2022-04-21 17:11:03 +00:00
Piotr Kubaj
d34e0ccb81 java/openjdk8: enable jfr on powerpc64le
Now builds fine.
2022-04-19 14:09:15 +02:00
Greg Lewis
12a02d5f73 java/openjdk8: Update to 8u322 GA
This should also fix problems with LLVM/Clang 13
2022-02-11 20:30:51 -08:00
Greg Lewis
4568b98a98 java/openjdk8: Update to 8u312 2021-10-31 11:07:43 -07:00
Dimitry Andric
3822416493 java/openjdk*: work around UB in markOopDesc, fix builds with clang 13
During an exp-run for llvm 13 (see bug 258209), it turned out that
java/openjdk11 through openjdk13 fail to build with clang 13:

=== Output from failing command(s) repeated here ===
* For target jdk__packages_attribute.done:

These crashes are all caused by the markOop/markOopDesc classes, which
are used to keep track of objects, and which are 'marked' using the low
few bits. (See
https://github.com/openjdk/jdk13u/blob/master/src/hotspot/share/oops/markOop.hpp
).

After some laborious bisecting, I found out that these crashes start
occuring after the upstream commit https://github.com
/llvm/llvm-project/commit/16d03818412 (Return "[CGCall] Annotate this
argument with alignment").

What happens afterwards, is that clang considers the "this" pointer to
always be aligned to the alignment of the actual object, and then
masking or adding a few low bits is not working as expected.

The reason openjdk14 and higher work fine with clang 13, and don't crash
similarly, is that the OpenJDK people completely redid the
markOop/markOopDesc classes in
ae5615c614
("8229258: Rework markOop and markOopDesc into a simpler mark word value
carrier"). E.g, the markOopDesc class was renamed to markWord, and
*stores* a pointer-like value instead of *being* a pointer-like value.
This is a much safer way of handling things.

However, this upstream commit is *very* large, as are a few of its
follow-ups, which is probably the reason why it has not been backported
to JDKs <= 13. I tried manually backporting it, but got lost in many
nasty patch conflicts and problems.

As a workaround, build openjdk8 through 13 with clang12 from the
devel/llvm12 port, for the time being.

In addition, allow openjdk14 through 17 to be built with clang 13, by
adding -Wno-unused-but-set-parameter to the compilation flags.

PR:		258954
Approved by:	maintainer timeout (2 weeks)
MFH:		2021Q4
2021-10-16 14:22:03 +02:00
Bernhard Froehlich
0b302c302f
java/openjdk8: Add CPE information
Approved by:	portmgr (blanket)
2021-09-11 11:28:00 +00:00
Piotr Kubaj
602c26c145 java/openjdk8: fix runtime issues on powerpc64*
Running java or javac executables fails with:
Error: dl failure on line 910
Error: failed /usr/local/openjdk8/jre/lib/ppc64le/server/libjvm.so, because /usr/local/openjdk8/jre/lib/ppc64le/server/libjvm.so: Undefined symbol "_ZN5frameC1EPlPh"
2021-09-03 13:19:12 +00:00
Mikael Urankar
1eb8f96f4c java/openjdk8: Switch to server mode on aarch64
PR:		257929
Approved by:	java (maintainer timeout)
Tested by:	Ronald Klop <ronald-lists@klop.ws>
2021-09-01 18:23:08 +02:00
Piotr Kubaj
3700c180db java/openjdk8: fix build on powerpc64*
/wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u302-b08.1/hotspot/src/os_cpu/bsd_ppc/vm/thread_bsd_ppc.cpp:45:37: error: use of undeclared identifier 'uc_mcontext'
    frame ret_frame((intptr_t*)uc->>uc_mcontext.mc_gpr[1/*REG_SP*/],
                                    ^
/wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u302-b08.1/hotspot/src/os_cpu/bsd_ppc/vm/thread_bsd_ppc.cpp:88:18: error: redefinition of 'pd_get_top_frame_for_signal_handler'
bool JavaThread::pd_get_top_frame_for_signal_handler(frame* fr_addr, void* ucontext, bool isInJava) {
                 ^
/wrkdirs/usr/ports/java/openjdk8/work/jdk8u-jdk8u302-b08.1/hotspot/src/os_cpu/bsd_ppc/vm/thread_bsd_ppc.cpp:83:18: note: previous definition is here
bool JavaThread::pd_get_top_frame_for_signal_handler(frame* fr_addr, void* ucontext, bool isInJava) {
2021-08-04 19:34:19 +00:00
Jan Beich
42cfc88267 java/openjdk8: unbreak TEST=on after 4dca33c0a4
$ make checksum WITH=TEST
===>  License GPLv2 accepted by the user
===>   openjdk8-8.302.08.1 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by openjdk8-8.302.08.1 for building
=> No SHA256 checksum recorded for jtreg4.1-b08.tar.gz.
=> No suitable checksum found for jtreg4.1-b08.tar.gz.
=> SHA256 Checksum OK for battleblow-jdk8u-8.302.08.1-jdk8u302-b08.1_GH0.tar.gz.
*** Error code 1

Reported by:	Philipp Ost (via ports@ list)
2021-08-01 03:02:16 +00:00
Greg Lewis
4dca33c0a4 java/openjdk8: Update to 8u302 2021-07-30 19:01:28 -07:00
Mikael Urankar
1025536a1c java/openjdk8: Fix build on armv6/7
PR:		255326
Reported by:	tech-lists@zyxst.net
Approved by:	portmgr (tier-2 / build fix blanket)
2021-05-14 10:30:52 +02:00
Greg Lewis
244a6b7e66 Update to 8u292 2021-05-04 22:21:48 -07:00
Mathieu Arnold
cf118ccf87
One more small cleanup, forgotten yesterday.
Reported by:	lwhsu
2021-04-07 10:09:01 +02:00
Mathieu Arnold
305f148f48
Remove # $FreeBSD$ from Makefiles. 2021-04-06 16:31:07 +02:00
Jung-uk Kim
59d2277eb6 Replace ${ECHO} with ${ECHO_CMD}.
${ECHO} may be no-op when "make -s" is used.

PR:		253588
2021-02-19 08:02:02 +00:00
Greg Lewis
2c4828e1b5 Update to 8u282 GA 2021-01-21 03:05:07 +00:00
Piotr Kubaj
4d2bb2699b java/openjdk8: add support for powerpc64le
powerpc64le needs --disable-jfr and USE_PRECOMPILED_HEADER=0 - same as powerpc64 elfv2.

Clang refuses to build little-endian binaries for power7, this needs to be bumped to power8 (this is a bug in openjdk, POWER7 is not LE-compatible).

-minsert-sched-nops=regroup_exact -mno-multiple -mno-string are not supported by clang and need to be removed.

FreeBSD uses sys/endian.h instead of byteswap.h and bswap{16,32,64} instead of bswap_{16,32,64}.

PR:		251247
Approved by:	java (maintainer timeout)
2020-12-03 23:39:47 +00:00
Greg Lewis
22a2034261 Update to 8u275 2020-11-11 18:29:57 +00:00
Piotr Kubaj
ae33c6a4d2 java/openjdk8: fix build on powerpc64 elfv1
Now elfv1 also fails to build with jfr enabled.
2020-11-09 16:09:36 +00:00
Piotr Kubaj
8c4b158dda java/openjdk8: fix build on powerpc64 elfv2
Build with jfr fails on powerpc64 elfv2.
2020-10-30 11:32:33 +00:00
Greg Lewis
03258c05c7 Fix the build for i386
* Disable jfr (at least for the moment)
* Bump PORTREVISION so the port will get rebuilt on the package builders
2020-10-25 23:42:38 +00:00
Greg Lewis
3e118ecb88 Update to 8u272 2020-10-23 03:30:53 +00:00
Jung-uk Kim
d859457c02 Add upstream patches to build with "-fno-common".
This is default with Clang 11 and GCC 10.

https://hg.openjdk.java.net/jdk8u/jdk8u/jdk/rev/41be6128f4c1
https://hg.openjdk.java.net/jdk8u/jdk8u/jdk/rev/d5c69bd5f7ad
2020-08-19 22:40:04 +00:00
Piotr Kubaj
52b815fde4 java/openjdk8: fix patching on powerpc64 elfv2
Patching hotspot/src/cpu/ppc/vm/sharedRuntime_ppc.cpp is not necessary anymore.
2020-08-03 15:30:38 +00:00
Greg Lewis
c0fe26479a Update to 8u265 2020-08-01 03:39:53 +00:00
Piotr Kubaj
47a00a0292 java/openjdk8: fix patching
Remove files/patch-hotspot_src_cpu_ppc_vm_sharedRuntime__ppc.cpp to fix patching.
I'm not sure why this patch was added. Removing it doesn't break build on powerpc64 (both elfv1 and elfv2). There's no include for alloca.h in sharedRuntime_ppc.cpp.
2020-07-30 21:45:02 +00:00
Greg Lewis
ecb1055969 Fix the build for PowerPC64
Submitted by:	Curtis Hamilton
2020-07-23 02:15:25 +00:00
Greg Lewis
fe3188ebad Update to 8u262 2020-07-16 03:45:28 +00:00
Greg Lewis
d916436f2a Don't print the company name in the version info
This evidently breaks some software that does parsing of -version output

PR:		244634
Submitted by:	Stefan Ehmann <shoesoft@gmx.net>
2020-07-13 05:29:33 +00:00
Greg Lewis
f6ccbefdc6 More accurate vendor information
I've tweaked the values suggested in the PR patch.

PR:		244634
Submitted by:	Michael Osipov <michael.osipov@siemens.com>
2020-07-12 01:03:36 +00:00
Niclas Zeising
0e32330f15 Chanse update of devel/libffi
Chase the devel/libffi update
Bump portrevision of all dependent ports to chace shard library version bump
in libffi.
Update LIB_DEPENDS lines where needed to not require a specific version of
libffi.so.

PR:		247028 (for tracking)
2020-07-04 18:11:42 +00:00
Greg Lewis
bfbaa6ea20 Update to 8u252 2020-04-15 22:05:19 +00:00
Jung-uk Kim
7500155a45 Fix linker errors with libinotify.
A patch was mismerged in the previous update.

PR:		243454
2020-04-08 20:43:11 +00:00