Adding BSD PPC Support to jdk9

Volker Simonis volker.simonis at gmail.com
Thu Jun 16 08:34:04 UTC 2016


Hi Curtis,

welcome on board!

On Thu, Jun 16, 2016 at 4:48 AM, Curtis Hamilton <hamiltcl at verizon.net> wrote:
> I want to contribute in the development of jdk9, by adding native ppc
> support for bsd.  I've already developed core patches for native support in
> jdk9 and can successfully compile the mercurial.
>

Congratulations! Sounds like an interesting project.
How big are the changes you had to do? Did you had to do significant
changes in the existing sources or did you merely add
hotspot/src/os_cp/bsd_ppc ?

> The extent of my testing, so far, is compiling "HelloWorld" and running
> simple command-line (text based) java applications.  All seem to be working
> (no errors).  However, I'm getting the following error(s) when attempting to
> test any app that uses a graphical interface:
>
> ...ppc64/libjava.so: Undefined symbol "jlog"
>
> -OR-
>
> ...ppc64/libjava.so: Undefined symbol "jsin"
>

In jdk/src/java.base/share/native/libfdlibm/jfdlibm.h the usual
mathematical functions are redefined to versions prefixed by 'j'. E.g.

#define sin     jsin

jdk/src/java.base/share/native/libfdlibm/jfdlibm.h is included by
jdk/src/java.base/share/native/libfdlibm/fdlibm.h which is in tunr
included into jdk/src/java.base/share/native/libfdlibm/s_sin.c which
defines the function.

Can you check if s_sin.c (and the other files from libfdlibm) get
compiled into libfdlibm.a. To do this, you can build with 'LOG=debug'
(i.e. make images LOG=debug).

I suppose it is not build until you add a line like:

    LIBS_bsd := $(LIBDL) $(BUILD_LIBFDLIBM), \

to the

$(eval $(call SetupNativeCompilation,BUILD_LIBJAVA, \

section in jdk/make/lib/CoreLibraries.gmk

Regards,
Volker

> I understand that jdk9 is WIP, but can someone point me in the right
> direction to look?
>
> Thanks in advance!
>


More information about the ppc-aix-port-dev mailing list