• Arnaldo Carvalho de Melo's avatar
    perf symbols: Save DSO loading errno to better report errors · 18425f13
    Arnaldo Carvalho de Melo authored
    Before, when some problem happened while trying to load the kernel
    symtab, 'perf top' would show:
    
          ┌─Warning:───────────────────────────┐
          │The vmlinux file can't be used.     │
          │Kernel samples will not be resolved.│
          │                                    │
          │                                    │
          │Press any key...                    │
          └────────────────────────────────────┘
    
    Now, it reports:
    
      # perf top --vmlinux /dev/null
    
          ┌─Warning:───────────────────────────────────────────┐
          │The /tmp/passwd file can't be used: Invalid ELF file│
          │Kernel samples will not be resolved.                │
          │                                                    │
          │                                                    │
          │Press any key...                                    │
          └────────────────────────────────────────────────────┘
    
    This is possible because we now register the reason for not being able
    to load the symtab in the dso->load_errno member, and provide a
    dso__strerror_load() routine to format this error into a strerror like
    string with a short reason for the error while loading.
    
    That can be just forwarding the dso__strerror_load() call to
    strerror_r(), or, for a separate errno range providing a custom message.
    Reported-by: default avatarIngo Molnar <mingo@kernel.org>
    Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Borislav Petkov <bp@suse.de>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Don Zickus <dzickus@redhat.com>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Stephane Eranian <eranian@google.com>
    Link: http://lkml.kernel.org/n/tip-u5rb5uq63xqhkfb8uv2lxd5u@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    18425f13
dso.h 9.08 KB