------- Comment #1 from jojelino at gmail dot com 2010-01-08 17:50 ------- here is vtable dump for klass as you can see , klass->engine of dynamic version is NULL whereas static version got proper instance though.... so klass->engine->verify(klass); invokes SEGV....... but why does it happened??? some linker problem?? $ diff static dynamic -ud --- static 2010-01-09 02:43:35.750000000 +0900 +++ dynamic 2010-01-09 02:43:36.187500000 +0900 @@ -1,23 +1,23 @@ (gdb) print *klass -$1 = (java::lang::Class) { +$2 = (java::lang::Class) { <> = {<No data fields>}, members of java::lang::Class: static class$ = { <> = {<No data fields>}, members of java::lang::Class: static class$ = <same as static member of an already seen type>, - next_or_version = 0x0, - name = 0xe2e9f4, + next_or_version = 0x40062e08, + name = 0x6c7f70b4, accflags = 49, - superclass = 0xb5c900, + superclass = 0x6c587100, constants = { size = 37, - tags = 0xb5c180 "", - data = 0xb5c0e0 + tags = 0x6c587580 "", + data = 0x6c5874e0 }, { - methods = 0xb5c1c0, - element_type = 0xb5c1c0 + methods = 0x6c5875c0, + element_type = 0x6c5875c0 }, method_count = 82, vtable_method_count = 65, @@ -26,15 +26,15 @@ ---Type <return> to continue, or q <return> to quit--- field_count = 0, static_field_count = 0, - vtable = 0xb5bf28, + vtable = 0x6c587328, otable = 0x0, otable_syms = 0x0, atable = 0x0, atable_syms = 0x0, itable = 0x0, itable_syms = 0x0, - catch_classes = 0xb5c828, - interfaces = 0xb5c840, + catch_classes = 0x6c587c28, + interfaces = 0x6c587c40, loader = 0x0, interface_count = 4, state = 1 '\001', @@ -52,37 +52,37 @@ hack_signers = 0x0, chain = 0x0, aux_info = 0x0, - engine = 0x1173040, - reflection_data = 0xe2ea20 "\001" + engine = 0x0, + reflection_data = 0x6c7f70e0 "\001" }, - next_or_version = 0x0, - name = 0xdfea20, + next_or_version = 0x40062e08, + name = 0x6c8cb860, accflags = 1057, - superclass = 0xb5c900, + superclass = 0x6c587100, constants = { size = 24, - tags = 0xb1c838 "", - data = 0xb19d00 + tags = 0x6c6a12d8 "", + data = 0x6c69e7a0 }, { - methods = 0xb1c860, - element_type = 0xb1c860 + methods = 0x6c6a1300, + element_type = 0x6c6a1300 }, method_count = 37, vtable_method_count = 34, - fields = 0xb1cb60, + fields = 0x6c6a1600, size_in_bytes = 44, field_count = 13, ---Type <return> to continue, or q <return> to quit--- static_field_count = 4, - vtable = 0xb13888, + vtable = 0x6c698328, otable = 0x0, otable_syms = 0x0, atable = 0x0, atable_syms = 0x0, itable = 0x0, itable_syms = 0x0, - catch_classes = 0xb1cc30, + catch_classes = 0x6c6a16d0, interfaces = 0x0, loader = 0x0, interface_count = 0, @@ -101,6 +101,6 @@ ---Type <return> to continue, or q <return> to quit--- chain = 0x0, aux_info = 0x0, - engine = 0x1173040, - reflection_data = 0xdfea40 "\002" + engine = 0x0, + reflection_data = 0x6c8cb880 "\002"
\ No newline at end of file -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42658