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