I already responded to Isvaran with this: -----
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. ----- Sriram Natarajan wrote: > Hi > Any comments on this below question will be much appreciated. > > Web Server is compiling our application on Solaris 8. However, with > Solaris 10 Update 5, we observe a crash and the ldd output of one of our > libraries return the following . Any help on what is the problem and how > to resolve this will be much appreciated. > > Note : I am posting this question on my colleague - Isvaran > Krishnamurthy's behalf. We earlier posted this question within Sun alias > and we were redirected to this alias. > > > 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 > 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 > ... > ... > > > 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. >> > > -- Rod.