RFR(XS): 8156929: [aix] Add missing includes.

Lindenmaier, Goetz goetz.lindenmaier at sap.com
Sat May 14 16:44:54 UTC 2016


Hi David, 

The linker says:

ld: 0711-318 ERROR: Undefined symbols were found.
	The following symbols are in error:
 Symbol                    Inpndx  TY CL Source-File(Object-File) OR Import-File{Shared-object}
                              RLD: Address  Section  Rld-type Referencing Symbol
 ----------------------------------------------------------------------------------------------
 .__nw__8CHeapObjXSP5_FUl  [96]    ER PR /sapmnt/home1/d045726/oJ/ppc-stkRsrvd-hs/hotspot/src/share/vm/gc/g1/g1HeapSizingPolicy_ext.cpp(/sapmnt/home1/d045726/oJ/ppc-stkRsrvd-hs/build/aix-ppc64-normal-server-slowdebug-is3044/hotspot/variant-server/libjvm/objs/g1HeapSizingPolicy_ext.o)
                                   00000024 .text    R_RBR    [79]    .create__18G1HeapSizingPolicyFPC15G1CollectedHeapPC11G1Analytics

c++filt .create__18G1HeapSizingPolicyFPC15G1CollectedHeapPC11G1Analytics
.G1HeapSizingPolicy::create(G1CollectedHeap const *, G1Analytics const *)


I would just assume that the new-operator, which is in allocation.inline.hpp, 
is deleted from all the files where allocation.inline.hpp is included because it's
either inlined or not called.

Best regards,
  Goetz.


> -----Original Message-----
> From: David Holmes [mailto:david.holmes at oracle.com]
> Sent: Saturday, May 14, 2016 1:34 AM
> To: Lindenmaier, Goetz <goetz.lindenmaier at sap.com>; hotspot-runtime-
> dev at openjdk.java.net
> Subject: Re: RFR(XS): 8156929: [aix] Add missing includes.
> 
> Thinking more ...
> 
> On 13/05/2016 11:18 PM, David Holmes wrote:
> > On 13/05/2016 11:09 PM, Lindenmaier, Goetz wrote:
> >> Hi,
> >>
> >> I had problems with the dbg build (didn't try opt) and without
> >> precompiled headers.
> >>
> >>> In mutex.cpp there is no aix version of
> >>>
> >>>   #ifdef TARGET_OS_FAMILY_linux
> >>>   # include "mutex_linux.inline.hpp"
> >>>   #endif
> >> Yes, but that file is empty.  They should be removed.
> >> And mutex.cpp should be self-contained with its includes.
> >
> > I see. So the other platforms are getting the missing includes from the
> > mutex_<os>.inline.hpp file and they don't actually contain anything
> > inline just a few includes - which is weird. That said I consider the
> > inline.hpp file part of the mutex.cpp file in terms of being "self
> > contained".
> >
> >>> which definition is coming from the missing include ??
> >> The new operator.
> >
> > Have to wonder where that comes from on other platforms.
> 
> This seems wrong to me. You should not need to include
> allocation.inline.hpp because you use operator new for a class! To do
> "new G1HeapSizingPolicy" all you should need to include is
> g1HeapSizingPolicy.hpp.
> 
> David
> -----
> 
> > But okay - thanks for clarifying. Wish there was a tool to sort out
> > include dependencies .. oh wait, there was ;-)
> >
> > Cheers,
> > David
> >
> >> Best regards,
> >>   Goetz.
> >>
> >>
> >>


More information about the hotspot-runtime-dev mailing list