New build, gobjcopy failure, any clues?

Volker Simonis volker.simonis at gmail.com
Tue Mar 26 18:57:00 UTC 2013


Can you try if 'gobjdump -x' doesn't work as well?
And you can also try '/usr/ccs/bin/elfdump -e'.

For me '/usr/ccs/bin/elfdump -e' gives:

ELF Header
  ei_magic:   { 0x7f, E, L, F }
  ei_class:   ELFCLASS64          ei_data:      ELFDATA2MSB
  e_machine:  EM_SPARCV9          e_version:    EV_CURRENT
  e_type:     ET_DYN
  e_flags:    [ EF_SPARCV9_TSO ]
  e_entry:                  0xe8  e_ehsize:     64  e_shstrndx:   27
  e_shoff:             0x2478b68  e_shentsize:  64  e_shnum:      29
  e_phoff:                  0x40  e_phentsize:  56  e_phnum:       3


And 'gobjdump -x' prints:

/usr/work/openjdk/nb/sun_64/nightly/output-jdk7u-fastdebug/lib/sparcv9/server/libjvm.so:
    file format elf64-sparc
/usr/work/openjdk/nb/sun_64/nightly/output-jdk7u-fastdebug/lib/sparcv9/server/libjvm.so
architecture: sparc:v9, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x00000000000000e8

Program Header:
    LOAD off    0x0000000000000000 vaddr 0x0000000000000000 paddr
0x0000000000000000 align 2**20
         filesz 0x0000000001afe0bf memsz 0x0000000001afe0bf flags r-x
    LOAD off    0x0000000001afe0c0 vaddr 0x0000000001bfe0c0 paddr
0x0000000000000000 align 2**20
         filesz 0x0000000000140c74 memsz 0x00000000001b8520 flags rwx
 DYNAMIC off    0x0000000001b05128 vaddr 0x0000000001c05128 paddr
0x0000000000000000 align 2**0
         filesz 0x0000000000000210 memsz 0x0000000000000000 flags rwx

Dynamic Section:
  NEEDED      libsocket.so.1
  NEEDED      libsched.so.1
  NEEDED      libdl.so.1
  NEEDED      libm.so.1
  NEEDED      libCrun.so.1
  NEEDED      libthread.so.1
  NEEDED      libdoor.so.1
  NEEDED      libc.so.1
  NEEDED      libdemangle.so.1
  NEEDED      libkstat.so.1
  INIT        0x139bb88
  FINI        0x139be88
  SONAME      libjvm.so
  HASH        0xe8
  STRTAB      0x19718
  STRSZ       0x17071
  SYMTAB      0x6680
  SYMENT      0x18
  CHECKSUM    0x53fa
  PLTRELSZ    0x14b8
  PLTREL      0x7
  JMPREL      0x22def0
  RELA        0x30790
  RELASZ      0x1fec18
  RELAENT     0x18
  0x70000001  0x8d4
  0x70000001  0x8e5
  0x70000001  0x811
  FEATURE     0x1
  FLAGS       0x0
  FLAGS_1     0x0
  PLTGOT      0x1c03500

Sections:
Idx Name          Size      VMA               LMA               File off  Algn
  0 .hash         00006598  00000000000000e8  00000000000000e8  000000e8  2**3
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  1 .dynsym       00013098  0000000000006680  0000000000006680  00006680  2**3
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  2 .dynstr       00017071  0000000000019718  0000000000019718  00019718  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  3 .rela.got     0000fb40  0000000000030790  0000000000030790  00030790  2**3
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  4 .rela.ex_shared 000000c0  00000000000402d0  00000000000402d0  000402d0  2**3
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  5 .rela.cpp_finidata 00000048  0000000000040390  0000000000040390
00040390  2**3
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  6 .rela.data    001edb18  00000000000403d8  00000000000403d8  000403d8  2**3
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  7 .rela.plt     000014b8  000000000022def0  000000000022def0  0022def0  2**3
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  8 .text         0116c7c4  000000000022f3c0  000000000022f3c0  0022f3c0  2**5
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  9 .init         00000300  000000000139bb88  000000000139bb88  0139bb88  2**3
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
 10 .fini         00000094  000000000139be88  000000000139be88  0139be88  2**3
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
 11 .exception_ranges 00000008  000000000139bf20  000000000139bf20
0139bf20  2**3
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 12 .rodata       00703d55  000000000139bf28  000000000139bf28  0139bf28  2**3
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 13 .rodata1      0003b3b3  0000000001a9fc7d  0000000001a9fc7d  01a9fc7d  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 14 .got          000053c8  0000000001bfe0c0  0000000001bfe0c0  01afe0c0  2**3
                  CONTENTS, ALLOC, LOAD, DATA
 15 .plt          00001c24  0000000001c03500  0000000001c03500  01b03500  2**8
                  CONTENTS, ALLOC, LOAD, CODE
 16 .dynamic      00000210  0000000001c05128  0000000001c05128  01b05128  2**3
                  CONTENTS, ALLOC, LOAD, DATA
 17 .ex_shared    00000070  0000000001c05338  0000000001c05338  01b05338  2**3
                  CONTENTS, ALLOC, LOAD, DATA
 18 .cpp_finidata 00000018  0000000001c053a8  0000000001c053a8  01b053a8  2**3
                  CONTENTS, ALLOC, LOAD, DATA
 19 .data         00139974  0000000001c053c0  0000000001c053c0  01b053c0  2**3
                  CONTENTS, ALLOC, LOAD, DATA
 20 .picdata      00000000  0000000001d3ed34  0000000001d3ed34  01c3ed34  2**0
                  CONTENTS, ALLOC, LOAD, DATA
 21 .bss          000778a8  0000000001d3ed38  0000000001d3ed38  01c3ed38  2**3
                  ALLOC
 22 .comment      000018d3  0000000000000000  0000000000000000  02477133  2**0
                  CONTENTS, READONLY
 23 .gnu_debuglink 00000018  0000000000000000  0000000000000000  02478b4b  2**0
                  CONTENTS, READONLY


On Tue, Mar 26, 2013 at 7:24 PM, David Chase <david.r.chase at oracle.com> wrote:
> Well, it's not a concurrency bug, and my objcopy is 2.19 but otherwise provides identical info,
> and the failure recurs by hand:
>
> gobjcopy --only-keep-debug libjvm.so /tmp/libjvm.debuginfo
> gobjcopy:libjvm.so: File format not recognized
>
> libjvm.so:      ELF 64-bit MSB dynamic lib SPARCV9 Version 1, dynamically linked, not stripped
>
> What sort of "file" is your libjvm.so?
>
> David
>
> On 2013-03-26, at 2:00 PM, Volker Simonis <volker.simonis at gmail.com> wrote:
>
>> On Tue, Mar 26, 2013 at 6:43 PM, David Chase <david.r.chase at oracle.com> wrote:
>>>
>>> This is Solaris 11, not sure if that matters (configure didn't seem to think it was important enough to mention it).
>>>
>>> cmp says /usr/{sfw,ccs}/bin/gobjcopy are equal.
>>> ls says they are the same inode.
>>>
>>> Just for grins, I tried putting /usr/sfw/bin earlier in my path, and trying again (reconfiguring), but had the same result.
>>>
>>> Is it possible that this is some sort of a concurrency bug?
>>
>> I don't think so but if it should really be only a concurrency bug you
>> should be able to manually do:
>>
>> gobjcopy --only-keep-debug libjvm.so /tmp/libjvm.debuginfo
>>
>>> I tried gmake JOBS=1 and it failed slightly differently.
>>> I am cleaning, starting fresh with JOBS=1, I expect you will not hear from me for a while :-).
>>>
>>
>> by the way, for my 'gobjcopy --info' prints:
>>
>> BFD header file version 2.15
>> elf32-sparc
>> (header big endian, data big endian)
>>  sparc
>> elf64-sparc
>> (header big endian, data big endian)
>>  sparc
>> a.out-sunos-big
>> (header big endian, data big endian)
>>  sparc
>> elf64-little
>> (header little endian, data little endian)
>>  sparc
>> elf64-big
>> (header big endian, data big endian)
>>  sparc
>> elf32-little
>> (header little endian, data little endian)
>>  sparc
>> elf32-big
>> (header big endian, data big endian)
>>  sparc
>> srec
>> (header endianness unknown, data endianness unknown)
>>  sparc
>> symbolsrec
>> (header endianness unknown, data endianness unknown)
>>  sparc
>> tekhex
>> (header endianness unknown, data endianness unknown)
>>  sparc
>> binary
>> (header endianness unknown, data endianness unknown)
>>  sparc
>> ihex
>> (header endianness unknown, data endianness unknown)
>>  sparc
>>
>>               elf32-sparc elf64-sparc a.out-sunos-big elf64-little elf64-big
>>         sparc elf32-sparc elf64-sparc a.out-sunos-big elf64-little elf64-big
>>
>>               elf32-little elf32-big srec symbolsrec tekhex binary ihex
>>         sparc elf32-little elf32-big srec symbolsrec tekhex binary ihex
>



More information about the build-dev mailing list