Project

General

Profile

Actions

Bug #13337

closed

ctfconvert should skip ssp_ns.c when checking for debug data

Added by Andy Fiddaman 5 months ago. Updated 5 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
tools - gate/build tools
Start date:
Due date:
% Done:

100%

Estimated time:
Difficulty:
Bite-size
Tags:
Gerrit CR:

Description

If a 32-bit ELF object is built with stack smashing protection (SSP) and PIC and is using the illumos native SSP support, it will have to be linked with libssp_ns.a.

ctfconvert spots this and complains that there is no debug (DWARF) data for that component. While it can be overridden with the -m option, this hides all missing debug data.

% /opt/onbld/bin/i386/ctfconvert -o /dev/null ~/ctf/brotli.ssp
ctfconvert: file ssp_ns.c is missing debug info
Actions #1

Updated by Electric Monk 5 months ago

  • Gerrit CR set to 1079
Actions #2

Updated by Andy Fiddaman 5 months ago

Tested by running ctfconvert on a 32-bit object linked with libssp_ns which previous failed:

build:illumos:ig_13337_ctf_ssp% ctfconvert -o p ~/ctf/brotli.ssp

build:illumos:ig_13337_ctf_ssp% ctfdump -S p
ctfdump: failed to dump labels: File does not contain any labels

- CTF Statistics ----------------------------------------------------------------

  total number of data objects        = 74

  total number of functions           = 161
  total number of function arguments  = 721
  maximum argument list length        = 17
  average argument list length        = 4.48

  total number of types               = 445
  total number of integers            = 15
  total number of floats              = 2
  total number of pointers            = 108
  total number of arrays              = 72
  total number of func types          = 3
  total number of structs             = 69
  total number of unions              = 5
  total number of enums               = 19
  total number of forward tags        = 0
  total number of typedefs            = 113
  total number of volatile types      = 0
  total number of const types         = 39
  total number of restrict types      = 0
  total number of unknowns (holes)    = 0

  total number of struct members      = 500
  maximum number of struct members    = 66
  total size of all structs           = 560060
  maximum size of a struct            = 262144
  average number of struct members    = 7.25
  average size of a struct            = 8116.81

  total number of union members       = 22
  maximum number of union members     = 13
  total size of all unions            = 5456
  maximum size of a union             = 13
  average number of union members     = 4.40
  average size of a union             = 1091.20

  total number of enum members        = 152
  maximum number of enum members      = 29
  average number of enum members      = 8.00

  total number of strings             = 1046
  bytes of string data                = 13791
  maximum string length               = 54
  average string length               = 13.18
Actions #3

Updated by Electric Monk 5 months ago

  • Status changed from In Progress to Closed
  • % Done changed from 0 to 100

git commit 41b57d181d0b4df0badc148a4769e9d0bf008aaa

commit  41b57d181d0b4df0badc148a4769e9d0bf008aaa
Author: Andy Fiddaman <omnios@citrus-it.co.uk>
Date:   2020-11-27T18:38:43.000Z

    13337 ctfconvert should skip ssp_ns.c when checking for debug data
    Reviewed by: Robert Mustacchi <rm@fingolfin.org>
    Reviewed by: Igor Kozhukhov <igor@dilos.org>
    Approved by: Gordon Ross <gordon.w.ross@gmail.com>

Actions

Also available in: Atom PDF