Should we file a bug then? In which category?
Rod Evans wrote:
> The alias "linker-interest at sun.com" is dead. Please use
> "tools-linking at opensolaris.org" instead.
>
> Isvaran Krishnamurthy wrote:
>> Hi,
>>
>> ldd is reporting the following:
>> lib/libmonitorjni.so: warning: hardware capability unsupported:
>> 0x8b5a0008 [ SEP 0x8b5a0000 ]
>>
>> What does this mean? Due to this our application is dumping core with
>> the following stack:
>> *fefdea78 hwcap_check (e3d309d0, e41e0000) + 3c
>
> There's a bit of a trick with SUNW_cap section processing. Typically
> ld(1)
> arranges for this section to be the first in the file, and thus it exists
> in the first page of the file. ld.so.1 reads the first page of a file to
> determine what the file is and provide some initial verification.
>
> ld.so.1 is assuming the SUNW_cap is the first section without checking
> (which is bad), and is thus accessing beyond the first page, and
> falling over.
>
> SUNW_cap doesn't seem to be on the first page because you have a large
> SUNW_dof section is front of it. My assumption is that the Solaris 9
> version of ld(1) isn't DTrace aware, and isn't placing the SUNW_dof
> section
> where it typically resides, at the end of the text segment. ld(1) became
> DTrace aware with 5062921 (s10_63). On s10 I'd expect the SUNW_dof
> section
> to be placed a long way after the SUNW_cap section, right?
>
> If you're going to embed dof data I think you need a newer ld(1), and I'm
> not aware of this functionality being taken back to s9.
>
>
>
>
>> fefcf257 elf_are_u (e3d309d0) + af
>> fefccb5b are_u_this (e3d309d0, 35, e3d30438, e40904d8) + df
>> fefcd608 file_open (0, feffa220, e40904d8, e40904d8, fca10aa8,
>> 40000000) + 28c
>> fefcd823 find_path (feffa220, e40904d8, fca10aa8, 40000000, e3d3098c,
>> e3d309d0) + 133
>> fefcdde5 load_so (feffa220, 1c, e40904d8, fca10aa8, 40000000, 0) + 109
>> fefce622 load_path (feffa220, 1c, e40904d8, fca10aa8, c01, 40000000)
>> + 192
>> fefce7e3 load_one (feffa220, 1c, e4090510, fca10aa8, c01, 40000000) + 6b
>> fefd9919 dlmopen_core (feffa220, 8f31868, c01, fca10aa8, 0, 8000) + 18d
>> fefd9b3b dlmopen_intn (feffa220, 8f31868, c01, fca10aa8, 0, 0) + 37
>> fefd9c3f dlmopen_check (feffa220, 8f31868, c01, fca10aa8, e3d30b90) + c3
>> fefd9d2b dlopen (8f31868, 1) + 67
>> *fc6d77db __1cCosIdll_load6Fpkcpci_pv_ (8f31868, e3d30c20, 400) + 23
>> fc3ab375 JVM_LoadLibrary (8f31868) + 16d
>> fbeadb6f Java_java_lang_ClassLoader_00024NativeLibrary_load (926bcf4,
>> e3d315e4, e3d315e0, f8e02f0d, e3d315b0, 0) + cb
>> ...
>> ...
>> ..
>>
>> bash-3.00# ldd -e LD_DEBUG=cap,detail lib/libmonitorjni.so
>> 04353:
>> 04353: hardware capabilities - 0x15ff7 [ CX16 SSE3 SSE2 SSE
>> FXSR AMD_3DNowx AMD_3DNow AMD_MMX MMX CMOV AMD_SYSC CX8
>> 04353:
>> 04353:
>> 04353: configuration file=/var/ld/ld.config: unable to process file
>> 04353:
>> 04353:
>> ldd: lib/libmonitorjni.so: execution failed due to signal 11 (core
>> dumped)
>> bash-3.00#
>>
>> bash-3.00# /usr/ccs/bin/elfdump lib/limonitorjni.so
>> ELF Header
>> ei_magic: { 0x7f, E, L, F }
>> ei_class: ELFCLASS32 ei_data: ELFDATA2LSB
>> e_machine: EM_386 e_version: EV_CURRENT
>> e_type: ET_DYN
>> e_flags: 0
>> e_entry: 0xb8 e_ehsize: 52 e_shstrndx: 29
>> e_shoff: 0x2a7b8 e_shentsize: 40 e_shnum: 30
>> e_phoff: 0x34 e_phentsize: 32 e_phnum: 4
>>
>> Program Header[0]:
>> p_vaddr: 0x1a3e4 p_flags: [ PF_R ]
>> p_paddr: 0 p_type: [ PT_SUNWCAP ]
>> p_filesz: 0x10 p_memsz: 0
>> p_offset: 0x1a3e4 p_align: 0
>>
>> Program Header[1]:
>> p_vaddr: 0 p_flags: [ PF_X PF_R ]
>> p_paddr: 0 p_type: [ PT_LOAD ]
>> p_filesz: 0x22155 p_memsz: 0x22155
>> p_offset: 0 p_align: 0x10000
>>
>> Program Header[2]:
>> p_vaddr: 0x32158 p_flags: [ PF_X PF_W PF_R ]
>> p_paddr: 0 p_type: [ PT_LOAD ]
>> p_filesz: 0x1a00 p_memsz: 0x1a00
>> p_offset: 0x22158 p_align: 0x10000
>>
>> Program Header[3]:
>> p_vaddr: 0x32294 p_flags: [ PF_X PF_W PF_R ]
>> p_paddr: 0 p_type: [ PT_DYNAMIC ]
>> p_filesz: 0x150 p_memsz: 0
>> p_offset: 0x22294 p_align: 0
>>
>> Section Header[1]: sh_name: .SUNW_dof
>> sh_addr: 0xb8 sh_flags: [ SHF_ALLOC ]
>> sh_size: 0x1a32c sh_type: [ SHT_SUNW_dof ]
>> sh_offset: 0xb8 sh_entsize: 0
>> sh_link: 0 sh_info: 0
>> sh_addralign: 0x8
>>
>> Section Header[2]: sh_name: .SUNW_cap
>> sh_addr: 0x1a3e4 sh_flags: [ SHF_ALLOC ]
>> sh_size: 0x10 sh_type: [ SHT_SUNW_cap ]
>> sh_offset: 0x1a3e4 sh_entsize: 0x8
>> sh_link: 0 sh_info: 0
>> sh_addralign: 0x4
>>
>> Section Header[3]: sh_name: .hash
>> sh_addr: 0x1a3f4 sh_flags: [ SHF_ALLOC ]
>> sh_size: 0x440 sh_type: [ SHT_HASH ]
>> sh_offset: 0x1a3f4 sh_entsize: 0x4
>> sh_link: 4 sh_info: 0
>> sh_addralign: 0x4
>>
>> Section Header[4]: sh_name: .dynsym
>> sh_addr: 0x1a834 sh_flags: [ SHF_ALLOC ]
>> sh_size: 0x850 sh_type: [ SHT_DYNSYM ]
>> sh_offset: 0x1a834 sh_entsize: 0x10
>> sh_link: 5 sh_info: 1
>> sh_addralign: 0x4
>>
>> Section Header[5]: sh_name: .dynstr
>> sh_addr: 0x1b084 sh_flags: [ SHF_ALLOC SHF_STRINGS ]
>> sh_size: 0x1c00 sh_type: [ SHT_STRTAB ]
>> sh_offset: 0x1b084 sh_entsize: 0
>> sh_link: 0 sh_info: 0
>> sh_addralign: 0x1
>>
>> Section Header[6]: sh_name: .SUNW_version
>> sh_addr: 0x1cc84 sh_flags: [ SHF_ALLOC ]
>> sh_size: 0x80 sh_type: [ SHT_SUNW_verneed ]
>> sh_offset: 0x1cc84 sh_entsize: 0
>> sh_link: 5 sh_info: 4
>> sh_addralign: 0x4
>>
>> Section Header[7]: sh_name: .rel.got
>> sh_addr: 0x1cd04 sh_flags: [ SHF_ALLOC
>> SHF_INFO_LINK ]
>> sh_size: 0x38 sh_type: [ SHT_REL ]
>> sh_offset: 0x1cd04 sh_entsize: 0x8
>> sh_link: 4 sh_info: 18
>> sh_addralign: 0x4
>>
>> Section Header[8]: sh_name: .rel.ex_shared
>> sh_addr: 0x1cd3c sh_flags: [ SHF_ALLOC
>> SHF_INFO_LINK ]
>> sh_size: 0x60 sh_type: [ SHT_REL ]
>> sh_offset: 0x1cd3c sh_entsize: 0x8
>> sh_link: 4 sh_info: 20
>> sh_addralign: 0x4
>>
>> Section Header[9]: sh_name: .rel.cpp_finidata
>> sh_addr: 0x1cd9c sh_flags: [ SHF_ALLOC
>> SHF_INFO_LINK ]
>> sh_size: 0x18 sh_type: [ SHT_REL ]
>> sh_offset: 0x1cd9c sh_entsize: 0x8
>> sh_link: 4 sh_info: 21
>> sh_addralign: 0x4
>>
>> Section Header[10]: sh_name: .rel.data
>> sh_addr: 0x1cdb4 sh_flags: [ SHF_ALLOC
>> SHF_INFO_LINK ]
>> sh_size: 0x10 sh_type: [ SHT_REL ]
>> sh_offset: 0x1cdb4 sh_entsize: 0x8
>> sh_link: 4 sh_info: 23
>> sh_addralign: 0x4
>>
>> Section Header[11]: sh_name: .rel.plt
>> sh_addr: 0x1cdc4 sh_flags: [ SHF_ALLOC
>> SHF_INFO_LINK ]
>> sh_size: 0x228 sh_type: [ SHT_REL ]
>> sh_offset: 0x1cdc4 sh_entsize: 0x8
>> sh_link: 4 sh_info: 12
>> sh_addralign: 0x4
>>
>> Section Header[12]: sh_name: .plt
>> sh_addr: 0x1cfec sh_flags: [ SHF_ALLOC
>> SHF_EXECINSTR ]
>> sh_size: 0x460 sh_type: [ SHT_PROGBITS ]
>> sh_offset: 0x1cfec sh_entsize: 0x10
>> sh_link: 0 sh_info: 0
>> sh_addralign: 0x4
>>
>> Section Header[13]: sh_name: .text
>> sh_addr: 0x1d44c sh_flags: [ SHF_ALLOC
>> SHF_EXECINSTR ]
>> sh_size: 0x49aa sh_type: [ SHT_PROGBITS ]
>> sh_offset: 0x1d44c sh_entsize: 0
>> sh_link: 0 sh_info: 0
>> sh_addralign: 0x4
>>
>> Section Header[14]: sh_name: .init
>> sh_addr: 0x21df8 sh_flags: [ SHF_ALLOC
>> SHF_EXECINSTR ]
>> sh_size: 0xbe sh_type: [ SHT_PROGBITS ]
>> sh_offset: 0x21df8 sh_entsize: 0
>> sh_link: 0 sh_info: 0
>> sh_addralign: 0x4
>>
>> Section Header[15]: sh_name: .fini
>> sh_addr: 0x21eb8 sh_flags: [ SHF_ALLOC
>> SHF_EXECINSTR ]
>> sh_size: 0x65 sh_type: [ SHT_PROGBITS ]
>> sh_offset: 0x21eb8 sh_entsize: 0
>> sh_link: 0 sh_info: 0
>> sh_addralign: 0x4
>>
>> Section Header[16]: sh_name: .rodata
>> sh_addr: 0x21f20 sh_flags: [ SHF_ALLOC ]
>> sh_size: 0x1f1 sh_type: [ SHT_PROGBITS ]
>> sh_offset: 0x21f20 sh_entsize: 0
>> sh_link: 0 sh_info: 0
>> sh_addralign: 0x8
>>
>> Section Header[17]: sh_name: .rodata1
>> sh_addr: 0x22111 sh_flags: [ SHF_ALLOC ]
>> sh_size: 0x44 sh_type: [ SHT_PROGBITS ]
>> sh_offset: 0x22111 sh_entsize: 0
>> sh_link: 0 sh_info: 0
>> sh_addralign: 0x1
>>
>> Section Header[18]: sh_name: .got
>> sh_addr: 0x32158 sh_flags: [ SHF_WRITE SHF_ALLOC ]
>> sh_size: 0x13c sh_type: [ SHT_PROGBITS ]
>> sh_offset: 0x22158 sh_entsize: 0x4
>> sh_link: 0 sh_info: 0
>> sh_addralign: 0x4
>>
>> Section Header[19]: sh_name: .dynamic
>> sh_addr: 0x32294 sh_flags: [ SHF_WRITE SHF_ALLOC ]
>> sh_size: 0x150 sh_type: [ SHT_DYNAMIC ]
>> sh_offset: 0x22294 sh_entsize: 0x8
>> sh_link: 5 sh_info: 0
>> sh_addralign: 0x4
>>
>> Section Header[20]: sh_name: .ex_shared
>> sh_addr: 0x323e4 sh_flags: [ SHF_WRITE SHF_ALLOC ]
>> sh_size: 0x38 sh_type: [ SHT_PROGBITS ]
>> sh_offset: 0x223e4 sh_entsize: 0
>> sh_link: 0 sh_info: 0
>> sh_addralign: 0x4
>>
>> Section Header[21]: sh_name: .cpp_finidata
>> sh_addr: 0x3241c sh_flags: [ SHF_WRITE SHF_ALLOC ]
>> sh_size: 0xc sh_type: [ SHT_PROGBITS ]
>> sh_offset: 0x2241c sh_entsize: 0
>> sh_link: 0 sh_info: 0
>> sh_addralign: 0x4
>>
>> Section Header[22]: sh_name: .exception_ranges
>> sh_addr: 0x32428 sh_flags: [ SHF_WRITE SHF_ALLOC ]
>> sh_size: 0x1724 sh_type: [ SHT_PROGBITS ]
>> sh_offset: 0x22428 sh_entsize: 0
>> sh_link: 0 sh_info: 0
>> sh_addralign: 0x1
>>
>> Section Header[23]: sh_name: .data
>> sh_addr: 0x33b4c sh_flags: [ SHF_WRITE SHF_ALLOC ]
>> sh_size: 0xc sh_type: [ SHT_PROGBITS ]
>> sh_offset: 0x23b4c sh_entsize: 0
>> sh_link: 0 sh_info: 0
>> sh_addralign: 0x4
>>
>> Section Header[24]: sh_name: .bssf
>> sh_addr: 0x33b58 sh_flags: [ SHF_WRITE SHF_ALLOC ]
>> sh_size: 0 sh_type: [ SHT_PROGBITS ]
>> sh_offset: 0x23b58 sh_entsize: 0
>> sh_link: 0 sh_info: 0
>> sh_addralign: 0x1
>>
>> Section Header[25]: sh_name: .bss
>> sh_addr: 0x33b58 sh_flags: [ SHF_WRITE SHF_ALLOC ]
>> sh_size: 0 sh_type: [ SHT_NOBITS ]
>> sh_offset: 0x23b58 sh_entsize: 0
>> sh_link: 0 sh_info: 0
>> sh_addralign: 0x1
>>
>> Section Header[26]: sh_name: .symtab
>> sh_addr: 0 sh_flags: 0
>> sh_size: 0xc00 sh_type: [ SHT_SYMTAB ]
>> sh_offset: 0x23b58 sh_entsize: 0x10
>> sh_link: 27 sh_info: 60
>> sh_addralign: 0x4
>>
>> Section Header[27]: sh_name: .strtab
>> sh_addr: 0 sh_flags: [ SHF_STRINGS ]
>> sh_size: 0x1d52 sh_type: [ SHT_STRTAB ]
>> sh_offset: 0x24758 sh_entsize: 0
>> sh_link: 0 sh_info: 0
>> sh_addralign: 0x1
>>
>> Section Header[28]: sh_name: .comment
>> sh_addr: 0 sh_flags: 0
>> sh_size: 0x4210 sh_type: [ SHT_PROGBITS ]
>> sh_offset: 0x264aa sh_entsize: 0
>> sh_link: 0 sh_info: 0
>> sh_addralign: 0x1
>>
>> Section Header[29]: sh_name: .shstrtab
>> sh_addr: 0 sh_flags: [ SHF_STRINGS ]
>> sh_size: 0xfd sh_type: [ SHT_STRTAB ]
>> sh_offset: 0x2a6ba sh_entsize: 0
>> sh_link: 0 sh_info: 0
>> sh_addralign: 0x1
>>
>> Version Needed Section: .SUNW_version
>> file version
>> libsupport.so SUNWprivate
>> libnspr4.so NSPR_4.0
>> libCrun.so.1 SUNW_1.1
>> libCstd.so.1 SUNW_1.1.1 [ WEAK ]
>>
>> Symbol Table Section: .dynsym
>> ...
>> ...
>>
>> Hardware/Software Capabilities Section: .SUNW_cap
>> index tag value
>> [0] CA_SUNW_HW_1 0x1 [ FPU ]
>>
>> NOTE: The exact same binary (library) works on another s10u3 box
>> which has exactly the same patch levels. Find attached the patch
>> levels for both the s10u3 m/cs (showrev_s10u3_working.out and
>> showrev_s10u3_notworking.out)
>>
>> The m/c details are as follows:
>>
>> bash-3.00# isainfo -v
>> 64-bit amd64 applications
>> cx16 sse3 sse2 sse fxsr amd_3dnowx amd_3dnow amd_mmx mmx cmov
>> amd_sysc
>> cx8 tsc fpu
>> 32-bit i386 applications
>> cx16 sse3 sse2 sse fxsr amd_3dnowx amd_3dnow amd_mmx mmx cmov
>> amd_sysc
>> cx8 tsc fpu
>> bash-3.00# uname -a
>> SunOS 000000000 5.10 Generic_118855-33 i86pc i386 i86pc
>> bash-3.00# cat /etc/release
>> Solaris 10 11/06 s10x_u3wos_10 X86
>> Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
>> Use is subject to license terms.
>> Assembled 14 November 2006
>> bash-3.00#
>> bash-3.00# psrinfo -v
>> Status of virtual processor 0 as of: 04/30/2008 15:08:14
>> on-line since 04/29/2008 16:09:10.
>> The i386 processor operates at 2613 MHz,
>> and has an i387 compatible floating point processor.
>> bash-3.00#
>>
>> I suspect there's some problem in the offsets but I am not sure.
>>
>> The stack is as follows:
>> =>[1] hwcap_check(0xe0784bd0, *0xe09a0000*), at 0xfefdea78
>> [2] elf_are_u(0xe0784bd0), at 0xfefcf257
>> [3] are_u_this(0xe0784bd0, 0x1e, 0xe0784638, 0xf5a100d8), at
>> 0xfefccb5b
>> [4] file_open(0x0, 0xfeffa220, 0xf5a100d8, 0xf5a100d8, 0xfc9f0418,
>> 0x40000000, 0xe0784b8c, 0xe0784bd0), at 0xfefcd608
>> [5] find_path(0xfeffa220, 0xf5a100d8, 0xfc9f0418, 0x40000000,
>> 0xe0784b8c, 0xe0784bd0), at 0xfefcd823
>> [6] load_so(0xfeffa220, 0x1c, 0xf5a100d8, 0xfc9f0418, 0x40000000,
>> 0x0, 0xe0784ca0), at 0xfefcdde5
>> [7] load_path(0xfeffa220, 0x1c, 0xf5a100d8, 0xfc9f0418, 0xc01,
>> 0x40000000, 0xe0784cf4, 0x0, 0xe0784ca0), at 0xfefce622
>> [8] load_one(0xfeffa220, 0x1c, 0xf5a10c98, 0xfc9f0418, 0xc01,
>> 0x40000000, 0xe0784cf4), at 0xfefce7e3
>> [9] dlmopen_core(0xfeffa220, 0x8259a68, 0xc01, 0xfc9f0418, 0x0,
>> 0x8000), at 0xfefd9919
>> [10] dlmopen_intn(0xfeffa220, 0x8259a68, 0xc01, 0xfc9f0418, 0x0,
>> 0x0, 0xe0784d88), at 0xfefd9b3b
>> [11] dlmopen_check(0xfeffa220, 0x8259a68, 0xc01, 0xfc9f0418,
>> 0xe0784d88), at 0xfefd9c3f
>> [12] _dlopen(0x8259a68, 0x1), at 0xfefd9d2b
>> [13] os::dll_load(0x8259a68, 0xe0784e0c, 0x400), at 0xfc6c8060
>> [14] JVM_LoadLibrary(0x8259a68), at 0xfc43753c
>>
>> Elf header structure pointer ehdr = (Ehdr *) is *0xe09a0000.*
>>>>> bash-3.00# /usr/ccs/bin/elfdump lib/limonitorjni.so
>>>>> ELF Header
>>>>> ei_magic: { 0x7f, E, L, F }
>>>>> ei_class: ELFCLASS32 ei_data: ELFDATA2LSB
>>>>> e_machine: EM_386 e_version: EV_CURRENT
>>>>> e_type: ET_DYN
>>>>> e_flags: 0
>>>>> e_entry: 0xb8 e_ehsize: 52 e_shstrndx: 29
>>>>> e_shoff: 0x2a7b8 e_shentsize: 40 e_shnum: 30
>>>>> *e_phoff: 0x34* e_phentsize: 32
>>>>> e_phnum: 4
>> As per hwcap_check code it does phdr = ((char *)ehdr + e_phoff=0x34)
>>>>>
>>>>> Program Header[0]:
>>>>> p_vaddr: 0x1a3e4 p_flags: [ PF_R ]
>>>>> p_paddr: 0 p_type: [ PT_SUNWCAP ]
>>>>> p_filesz: 0x10 p_memsz: 0
>>>>> *p_offset: 0x1a3e4* p_align: 0
>> Following with (if phdr->p_type == PT_SUNWCAP) caphdr = (Cap *)
>> ((char *)ehdr + p_offset=0x1a3e4)
>> This value comes to 0xe09ba3e4.
>> (dbx) print (char *)0xe09a0000 + 0x1a3e4
>> dbx: warning: unknown language, 'c' assumed
>> *((char *) 0xe09a0000U)+0x1a3e4 = 0xe09ba3e4 "<bad address 0xe09ba3e4>"*
>> (dbx)
>>
>> The following is the build output for libmonitorjni.so (reference for
>> compiler and linker flags used):
>>
>> /usr/dist/share/sunstudio_i386,v11.0/SUNWspro/bin/CC -mt -KPIC
>> -DBUILD_MONITORJNI_DLL -DXP_UNIX -DSVR4 -DSYSV -DSOLARIS
>> -D_REENTRANT -DDEBUG -D_DEBUG -DNSS_ENABLE_ECC -DUSE_JDK=1
>> -DNS_DOMESTIC -DNS_ENTERPRISE -DMCC_HTTPD -DNET_SSL -DSERVER_BUILD
>> -DENCRYPT_PASSWORDS -DNSPR20 -DSPAPI20 -DPEER_SNMP -DOSVERSION=5010
>> -DPLATFORM_SPECIFIC_STATS_ON -I../util -I../../include
>> -I../../../../../../work/B1/SunOS5.9_i86pc_DBG.OBJ/include
>> -I../../../../../../internal/B1/SunOS5.9_i86pc_DBG.OBJ/include
>> -I../../../../../../internal/B1/SunOS5.9_i86pc_DBG.OBJ/include/support
>> -I../../../../../../external/security/SunOS5.9_i86pc_DBG.OBJ/include
>> -I../../../../../../external/security/SunOS5.9_i86pc_DBG.OBJ/include/nspr
>> -I../../../../../../external/jdk/SunOS5.9_i86pc_DBG.OBJ/include
>> -I../../../../../../external/jdk/SunOS5.9_i86pc_DBG.OBJ/include/solaris
>> -I../../../../../../internal/B1/SunOS5.9_i86pc_DBG.OBJ/include/jni
>> -g -xs -ptrSunOS5.9_i86pc_DBG.OBJ -c \
>> \
>> -o SunOS5.9_i86pc_DBG.OBJ/StatsBridgeJNI.o \
>> \
>> StatsBridgeJNI.cpp
>> /usr/dist/share/sunstudio_i386,v11.0/SUNWspro/bin/CC -mt -KPIC
>> -DBUILD_MONITORJNI_DLL -DXP_UNIX -DSVR4 -DSYSV -DSOLARIS
>> -D_REENTRANT -DDEBUG -D_DEBUG -DNSS_ENABLE_ECC -DUSE_JDK=1
>> -DNS_DOMESTIC -DNS_ENTERPRISE -DMCC_HTTPD -DNET_SSL -DSERVER_BUILD
>> -DENCRYPT_PASSWORDS -DNSPR20 -DSPAPI20 -DPEER_SNMP -DOSVERSION=5010
>> -DPLATFORM_SPECIFIC_STATS_ON -I../util -I../../include
>> -I../../../../../../work/B1/SunOS5.9_i86pc_DBG.OBJ/include
>> -I../../../../../../internal/B1/SunOS5.9_i86pc_DBG.OBJ/include
>> -I../../../../../../internal/B1/SunOS5.9_i86pc_DBG.OBJ/include/support
>> -I../../../../../../external/security/SunOS5.9_i86pc_DBG.OBJ/include
>> -I../../../../../../external/security/SunOS5.9_i86pc_DBG.OBJ/include/nspr
>> -I../../../../../../external/jdk/SunOS5.9_i86pc_DBG.OBJ/include
>> -I../../../../../../external/jdk/SunOS5.9_i86pc_DBG.OBJ/include/solaris
>> -I../../../../../../internal/B1/SunOS5.9_i86pc_DBG.OBJ/include/jni
>> -g -xs -ptrSunOS5.9_i86pc_DBG.OBJ -c \
>> \
>> -o SunOS5.9_i86pc_DBG.OBJ/HeaderStatsJNI.o \
>> \
>> HeaderStatsJNI.cpp
>> /usr/dist/share/sunstudio_i386,v11.0/SUNWspro/bin/CC -mt -KPIC
>> -DBUILD_MONITORJNI_DLL -DXP_UNIX -DSVR4 -DSYSV -DSOLARIS
>> -D_REENTRANT -DDEBUG -D_DEBUG -DNSS_ENABLE_ECC -DUSE_JDK=1
>> -DNS_DOMESTIC -DNS_ENTERPRISE -DMCC_HTTPD -DNET_SSL -DSERVER_BUILD
>> -DENCRYPT_PASSWORDS -DNSPR20 -DSPAPI20 -DPEER_SNMP -DOSVERSION=5010
>> -DPLATFORM_SPECIFIC_STATS_ON -I../util -I../../include
>> -I../../../../../../work/B1/SunOS5.9_i86pc_DBG.OBJ/include
>> -I../../../../../../internal/B1/SunOS5.9_i86pc_DBG.OBJ/include
>> -I../../../../../../internal/B1/SunOS5.9_i86pc_DBG.OBJ/include/support
>> -I../../../../../../external/security/SunOS5.9_i86pc_DBG.OBJ/include
>> -I../../../../../../external/security/SunOS5.9_i86pc_DBG.OBJ/include/nspr
>> -I../../../../../../external/jdk/SunOS5.9_i86pc_DBG.OBJ/include
>> -I../../../../../../external/jdk/SunOS5.9_i86pc_DBG.OBJ/include/solaris
>> -I../../../../../../internal/B1/SunOS5.9_i86pc_DBG.OBJ/include/jni
>> -g -xs -ptrSunOS5.9_i86pc_DBG.OBJ -c \
>> \
>> -o SunOS5.9_i86pc_DBG.OBJ/WebModuleStatsJNI.o \
>> \
>> WebModuleStatsJNI.cpp
>> /usr/dist/share/sunstudio_i386,v11.0/SUNWspro/bin/CC -mt -KPIC
>> -DBUILD_MONITORJNI_DLL -DXP_UNIX -DSVR4 -DSYSV -DSOLARIS
>> -D_REENTRANT -DDEBUG -D_DEBUG -DNSS_ENABLE_ECC -DUSE_JDK=1
>> -DNS_DOMESTIC -DNS_ENTERPRISE -DMCC_HTTPD -DNET_SSL -DSERVER_BUILD
>> -DENCRYPT_PASSWORDS -DNSPR20 -DSPAPI20 -DPEER_SNMP -DOSVERSION=5010
>> -DPLATFORM_SPECIFIC_STATS_ON -I../util -I../../include
>> -I../../../../../../work/B1/SunOS5.9_i86pc_DBG.OBJ/include
>> -I../../../../../../internal/B1/SunOS5.9_i86pc_DBG.OBJ/include
>> -I../../../../../../internal/B1/SunOS5.9_i86pc_DBG.OBJ/include/support
>> -I../../../../../../external/security/SunOS5.9_i86pc_DBG.OBJ/include
>> -I../../../../../../external/security/SunOS5.9_i86pc_DBG.OBJ/include/nspr
>> -I../../../../../../external/jdk/SunOS5.9_i86pc_DBG.OBJ/include
>> -I../../../../../../external/jdk/SunOS5.9_i86pc_DBG.OBJ/include/solaris
>> -I../../../../../../internal/B1/SunOS5.9_i86pc_DBG.OBJ/include/jni
>> -g -xs -ptrSunOS5.9_i86pc_DBG.OBJ -c \
>> \
>> -o SunOS5.9_i86pc_DBG.OBJ/ProcessStatsJNI.o \
>> \
>> ProcessStatsJNI.cpp
>> /usr/dist/share/sunstudio_i386,v11.0/SUNWspro/bin/CC -mt -KPIC
>> -DBUILD_MONITORJNI_DLL -DXP_UNIX -DSVR4 -DSYSV -DSOLARIS
>> -D_REENTRANT -DDEBUG -D_DEBUG -DNSS_ENABLE_ECC -DUSE_JDK=1
>> -DNS_DOMESTIC -DNS_ENTERPRISE -DMCC_HTTPD -DNET_SSL -DSERVER_BUILD
>> -DENCRYPT_PASSWORDS -DNSPR20 -DSPAPI20 -DPEER_SNMP -DOSVERSION=5010
>> -DPLATFORM_SPECIFIC_STATS_ON -I../util -I../../include
>> -I../../../../../../work/B1/SunOS5.9_i86pc_DBG.OBJ/include
>> -I../../../../../../internal/B1/SunOS5.9_i86pc_DBG.OBJ/include
>> -I../../../../../../internal/B1/SunOS5.9_i86pc_DBG.OBJ/include/support
>> -I../../../../../../external/security/SunOS5.9_i86pc_DBG.OBJ/include
>> -I../../../../../../external/security/SunOS5.9_i86pc_DBG.OBJ/include/nspr
>> -I../../../../../../external/jdk/SunOS5.9_i86pc_DBG.OBJ/include
>> -I../../../../../../external/jdk/SunOS5.9_i86pc_DBG.OBJ/include/solaris
>> -I../../../../../../internal/B1/SunOS5.9_i86pc_DBG.OBJ/include/jni
>> -g -xs -ptrSunOS5.9_i86pc_DBG.OBJ -c \
>> \
>> -o SunOS5.9_i86pc_DBG.OBJ/VSStatsJNI.o \
>> \
>> VSStatsJNI.cpp
>> /usr/dist/share/sunstudio_i386,v11.0/SUNWspro/bin/CC -mt -KPIC
>> -DBUILD_MONITORJNI_DLL -DXP_UNIX -DSVR4 -DSYSV -DSOLARIS
>> -D_REENTRANT -DDEBUG -D_DEBUG -DNSS_ENABLE_ECC -DUSE_JDK=1
>> -DNS_DOMESTIC -DNS_ENTERPRISE -DMCC_HTTPD -DNET_SSL -DSERVER_BUILD
>> -DENCRYPT_PASSWORDS -DNSPR20 -DSPAPI20 -DPEER_SNMP -DOSVERSION=5010
>> -DPLATFORM_SPECIFIC_STATS_ON -I../util -I../../include
>> -I../../../../../../work/B1/SunOS5.9_i86pc_DBG.OBJ/include
>> -I../../../../../../internal/B1/SunOS5.9_i86pc_DBG.OBJ/include
>> -I../../../../../../internal/B1/SunOS5.9_i86pc_DBG.OBJ/include/support
>> -I../../../../../../external/security/SunOS5.9_i86pc_DBG.OBJ/include
>> -I../../../../../../external/security/SunOS5.9_i86pc_DBG.OBJ/include/nspr
>> -I../../../../../../external/jdk/SunOS5.9_i86pc_DBG.OBJ/include
>> -I../../../../../../external/jdk/SunOS5.9_i86pc_DBG.OBJ/include/solaris
>> -I../../../../../../internal/B1/SunOS5.9_i86pc_DBG.OBJ/include/jni
>> -g -xs -ptrSunOS5.9_i86pc_DBG.OBJ -c \
>> \
>> -o SunOS5.9_i86pc_DBG.OBJ/AdminStatsClient.o \
>> \
>> AdminStatsClient.cpp
>> /usr/dist/share/sunstudio_i386,v11.0/SUNWspro/bin/CC -mt -KPIC
>> -DBUILD_MONITORJNI_DLL -DXP_UNIX -DSVR4 -DSYSV -DSOLARIS
>> -D_REENTRANT -DDEBUG -D_DEBUG -DNSS_ENABLE_ECC -DUSE_JDK=1
>> -DNS_DOMESTIC -DNS_ENTERPRISE -DMCC_HTTPD -DNET_SSL -DSERVER_BUILD
>> -DENCRYPT_PASSWORDS -DNSPR20 -DSPAPI20 -DPEER_SNMP -DOSVERSION=5010
>> -DPLATFORM_SPECIFIC_STATS_ON -I../util -I../../include
>> -I../../../../../../work/B1/SunOS5.9_i86pc_DBG.OBJ/include
>> -I../../../../../../internal/B1/SunOS5.9_i86pc_DBG.OBJ/include
>> -I../../../../../../internal/B1/SunOS5.9_i86pc_DBG.OBJ/include/support
>> -I../../../../../../external/security/SunOS5.9_i86pc_DBG.OBJ/include
>> -I../../../../../../external/security/SunOS5.9_i86pc_DBG.OBJ/include/nspr
>> -I../../../../../../external/jdk/SunOS5.9_i86pc_DBG.OBJ/include
>> -I../../../../../../external/jdk/SunOS5.9_i86pc_DBG.OBJ/include/solaris
>> -I../../../../../../internal/B1/SunOS5.9_i86pc_DBG.OBJ/include/jni
>> -g -xs -ptrSunOS5.9_i86pc_DBG.OBJ -c \
>> \
>> -o SunOS5.9_i86pc_DBG.OBJ/SessReplicaStats.o \
>> \
>> SessReplicaStats.cpp
>> /usr/dist/share/sunstudio_i386,v11.0/SUNWspro/bin/CC -G \
>> \
>> -o SunOS5.9_i86pc_DBG.OBJ/libmonitorjni.so \
>> \
>> SunOS5.9_i86pc_DBG.OBJ/StatsBridgeJNI.o
>> SunOS5.9_i86pc_DBG.OBJ/HeaderStatsJNI.o
>> SunOS5.9_i86pc_DBG.OBJ/WebModuleStatsJNI.o
>> SunOS5.9_i86pc_DBG.OBJ/ProcessStatsJNI.o
>> SunOS5.9_i86pc_DBG.OBJ/VSStatsJNI.o
>> SunOS5.9_i86pc_DBG.OBJ/AdminStatsClient.o
>> SunOS5.9_i86pc_DBG.OBJ/SessReplicaStats.o \
>> -mt -norunpath
>> -L../../httpd/src/SunOS5.9_i86pc_DBG.OBJ
>> -L../util/SunOS5.9_i86pc_DBG.OBJ
>> -L../../../../../../work/B1/SunOS5.9_i86pc_DBG.OBJ/lib
>> -L../../../../../../internal/B1/SunOS5.9_i86pc_DBG.OBJ/lib
>> -L/usr/dist/share/sunstudio_i386,v11.0/SUNWspro/lib
>> -L../../../../../../external/jdk/SunOS5.9_i86pc_DBG.OBJ/jre/lib/i386/server
>> -L../../../../../../external/security/SunOS5.9_i86pc_DBG.OBJ/lib
>> -ptrSunOS5.9_i86pc_DBG.OBJ \
>> -lsupport -lns-httpd40 -ladminjni -ladminutil -ljvm -lplc4
>> -lplds4 -lnspr4 -lpam -lgss -lpthread -lsocket -lnsl -ldl -lposix4
>> -lkstat -lCrun -lCstd -R
>> \$ORIGIN:\$ORIGIN/../lib:\$ORIGIN/../../lib:"/usr/lib/mps/secv1:/usr/lib/mps:/usr/lib/mps/sasl2"
>>
>>
>>
>> NOTE:
>> 1. libmonitorjni.so (that is not working) is built on a Solaris 9 x86
>> box (Find attached the showrev -a output; showrev_notworking.out).
>>
>> bash-2.05$ uname -a
>> SunOS 0x0x0x0 5.9 Generic_118559-39 i86pc i386 i86pc
>> bash-2.05$ cat /etc/release
>> Solaris 9 HW 9/04 s9x_u7wos_09 x86
>> Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.
>> Use is subject to license terms.
>> Assembled 24 May 2005
>>
>> 2. If libmonitorjni.so is built on the s10u3 box (where the problem
>> is noticed), it works.
>> 3. If libmonitorjni.so is built on a different Solaris 9 x86 box, it
>> works on the s10u3 box(Find attached the showrev -a output;
>> showrev_working.out)
>>
>> bash-2.05# uname -a
>> SunOS 0x0x0x0 5.9 Generic_118559-35 i86pc i386 i86pc
>> bash-2.05# cat /etc/release
>> Solaris 9 9/04 s9x_u7wos_07 x86
>> Copyright 2004 Sun Microsystems, Inc. All Rights Reserved.
>> Use is subject to license terms.
>> Assembled 01 June 2004
>>
>> In 2 and 3 where libmonitorjni.so is working the pt_offset for the
>> PT_SUNWCAP program header is 0xb4.
>>
>> Thanks,
>> IK.
>>
>
>