[Bug 227552] w, uptime i386 coredump in libxo

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Tue May 8 19:33:12 UTC 2018


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=227552

Dimitry Andric <dim at FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|w, uptime i386 cordeump     |w, uptime i386 coredump in
                   |                            |libxo

--- Comment #21 from Dimitry Andric <dim at FreeBSD.org> ---
(In reply to Dimitry Andric from comment #20)
> it
> looks relevant that the r331838 version of libxo.so.0 (compiled with the
> clang 6.0.0 update) does NOT have a "section to segment mapping" for .tbss

Interestingly, with the non-stripped versions of libxo.so, this is not the
case:

======================================================================
File: libxo.so.0.full.r331837
[...]
 Section to Segment mapping:
  Segment Sections...
   00     .hash .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rel.dyn
.rel.plt .init .plt .text .fini .rodata .eh_frame .comment .debug_pubnames
.debug_info .debug_abbrev .debug_line .debug_frame .debug_str .debug_loc
.debug_macinfo .debug_pubtypes .debug_ranges .shstrtab .symtab .strtab
   01     .tbss .ctors .dtors .jcr .data.rel.ro .dynamic .got .got.plt .data
.bss
   02     .dynamic
   03     .tbss .ctors .dtors .jcr .data.rel.ro .dynamic .got .got.plt
[...]
Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf
Al
[...]
  [15] .tbss             NOBITS          00018228 017228 000658 00 WAT  0   0 
8

======================================================================
File: libxo.so.0.full.r331838
[...]
 Section to Segment mapping:
  Segment Sections...
   00     .hash .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rel.dyn
.rel.plt .init .plt .text .fini .rodata .eh_frame .comment .debug_pubnames
.debug_info .debug_abbrev .debug_line .debug_frame .debug_str .debug_loc
.debug_macinfo .debug_pubtypes .debug_ranges .shstrtab .symtab .strtab
   01     .ctors .dtors .jcr .data.rel.ro .dynamic .got .got.plt .data .bss
   02     .dynamic
   03     .tbss .ctors .dtors .jcr .data.rel.ro .dynamic .got .got.plt .data
.bss
[...]
Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf
Al
[...]
  [15] .tbss             NOBITS          00018160 017160 000658 00 WAT  0   0 
8

So in case of r331837, segments 01 *and* 03 have a .tbss mapping, but in case
of r331838, only segment 03 has it.  And after stripping, the r331838 version
even misses the .tbss mappings completely:

======================================================================
File: libxo.so.0.r331838
[...]
 Section to Segment mapping:
  Segment Sections...
   00     .hash .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rel.dyn
.rel.plt .init .plt .text .fini .rodata .eh_frame .comment .gnu_debuglink
.shstrtab .symtab .strtab
   01     .ctors .dtors .jcr .data.rel.ro .dynamic .got .got.plt .data .bss
   02     .dynamic
   03     .ctors .dtors .jcr .data.rel.ro .dynamic .got .got.plt .data .bss

It seems elftoolchain strip completely eradicates the mapping, for some reason?

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list