Browse Source

Ignore VDSO object

Do not try to load symbols from VDSO as it does not correspond to any
file on disk.
master
Thomas Preud'homme 8 years ago
parent
commit
f0aa8400b7
  1. 4
      pstack.c

4
pstack.c

@ -115,6 +115,7 @@
#define NEXT_FRAME_POINTER_ADDR(fp) (fp)
#define NEXT_PROGRAM_COUNTER_ADDR(fp) ((fp) + __SIZEOF_POINTER__)
#define DECLARE_REGS_STRUCT(regs) struct user_regs_struct regs
#define VDSO_NAME "linux-vdso.so.1"
#elif defined(__ARMEL__) /* armel */
#define ELF_MACHINE EM_ARM
#define PROGRAM_COUNTER(regs) (regs.ARM_pc)
@ -122,6 +123,7 @@
#define NEXT_FRAME_POINTER_ADDR(fp) ((fp) - __SIZEOF_POINTER__)
#define NEXT_PROGRAM_COUNTER_ADDR(fp) (fp)
#define DECLARE_REGS_STRUCT(regs) struct user_regs regs
#define VDSO_NAME ""
#elif defined(__ppc64__) || defined(__alpha__) || defined(__ia64__) || defined(s390x__)
#error Not (yet) supported architecture, patches welcomes :-)
#else
@ -481,6 +483,8 @@ static Symbols loadSyms(const char *fname)
if (*fname == '\0')
return (Symbols) 0;
if (!strcmp(VDSO_NAME, fname))
return (Symbols) 0;
syms = newSyms(fname);
if ((fd = open(fname, O_RDONLY)) < 0)
{

Loading…
Cancel
Save