RTTI on Solaris/SPARC builds

David Holmes david.holmes at oracle.com
Fri Feb 24 08:32:36 UTC 2017


On 24/02/2017 6:00 PM, Volker Simonis wrote:
> As far as I can see we don't explicitly set a compatibility mode so
> according to the SS 12 documentation [1] we are using -compat=5, which
> is the default. Also, according to [1], -feature=nortti can only be
> used in compat mode 4. So I'm afraid we have no choice :)

There are always unintended consequences of compiler upgrades :(

David

> Regards,
> Volker
>
> https://docs.oracle.com/cd/E19205-01/819-5267/6n7c46ebk/index.html
>
> On Fri, Feb 24, 2017 at 1:19 AM, David Holmes <david.holmes at oracle.com> wrote:
>> On 24/02/2017 8:10 AM, Ioi Lam wrote:
>>>
>>> I noticed that on Solaris/SPARC, RTTI is enabled in the JVM build. Is
>>> there any reason for it? Just curious.
>>
>>
>> Probably accidental due to default compiler settings. AFAIK we do not use
>> any C++ RTTI in hotspot and it should not be enabled.
>>
>> David
>> -----
>>
>>
>>> This is what I got in dbx when looking at the first slot of a C++ vtable:
>>>
>>> (dbx) print *(int**)(0xfffffffefa20bdd0)
>>> *((int **) 18446744069316066768U) = 0xfffffffef9de5b78
>>> (dbx) dis 0xfffffffef9de6050
>>> 0xfffffffef9de6050: __RTTI__1nFMyYYY4nMConstantPool___       :  illtrap
>>> 0x0
>>> 0xfffffffef9de6054: __RTTI__1nFMyYYY4nMConstantPool___+0x0004:  illtrap
>>> 0xae8
>>> 0xfffffffef9de6058: __RTTI__1nFMyYYY4nMConstantPool___+0x0008:  illtrap
>>> 0x0
>>> 0xfffffffef9de605c: __RTTI__1nFMyYYY4nMConstantPool___+0x000c:  illtrap
>>> 0x0
>>> 0xfffffffef9de6060: __RTTI__1nFMyYYY4nMConstantPool___+0x0010:  illtrap
>>> 0x0
>>> 0xfffffffef9de6064: __RTTI__1nFMyYYY4nMConstantPool___+0x0014:  illtrap
>>> 0xaf0
>>> 0xfffffffef9de6068: __RTTI__1nFMyYYY4nMConstantPool___+0x0018:  ldsb
>>> [%o7 - 3854], %g7
>>> 0xfffffffef9de606c: __RTTI__1nFMyYYY4nMConstantPool___+0x001c:  sethi
>>> %hi(0x7612ac00), %l1
>>> 0xfffffffef9de6070: __RTTI__1nFMyYYY4nMConstantPool___+0x0020:  ldstub
>>> [%i3 + 1076], %o4
>>> 0xfffffffef9de6074: __RTTI__1nFMyYYY4nMConstantPool___+0x0024:  be,a
>>> 0xfffffffefa526810
>>>
>>> Thanks
>>> - Ioi



More information about the build-dev mailing list