pstack.git
3 years agoREADME.md: improve markup master
Matteo Cypriani [Wed, 2 Nov 2016 00:16:55 +0000 (01:16 +0100)]
README.md: improve markup

3 years agoRename README to accomodate gogs
Thomas Preud'homme [Tue, 1 Nov 2016 21:22:56 +0000 (21:22 +0000)]
Rename README to accomodate gogs

6 years agoIgnore VDSO object
Thomas Preud'homme [Fri, 28 Feb 2014 15:27:21 +0000 (23:27 +0800)]
Ignore VDSO object

Do not try to load symbols from VDSO as it does not correspond to any
file on disk.

7 years agoMakefile cleaning
Thomas Preud'homme [Mon, 22 Oct 2012 09:22:05 +0000 (11:22 +0200)]
Makefile cleaning

Use $^ instead of explicitely listing .c files in recipe.

7 years agoHonour *FLAGS
Thomas Preud'homme [Mon, 22 Oct 2012 09:21:13 +0000 (11:21 +0200)]
Honour *FLAGS

Honour CPPFLAGS and LDFLAGS in addition to CFLAGS

8 years agoNew release: pstack 1.3.1
Thomas Preud'homme [Mon, 3 Oct 2011 20:36:56 +0000 (22:36 +0200)]
New release: pstack 1.3.1

8 years agoError out if no object file header
Thomas Preud'homme [Wed, 5 Oct 2011 19:51:22 +0000 (21:51 +0200)]
Error out if no object file header

Quit the program if object file header can't be read or is smaller than
expected.

8 years agoMake struct used by PTRACE_GETREGS arch-dependant
Thomas Preud'homme [Wed, 5 Oct 2011 15:25:41 +0000 (17:25 +0200)]
Make struct used by PTRACE_GETREGS arch-dependant

Structure used by ptrace in PTRACE_GETREGS mode is unfortunetely
arch-dependant. Although pt_regs seems portable, it's only designed to
represent the way registers are stored on the stack during system call.
The right struct to use is defined in sys/user.h and is
user_regs_struct on x86-{32,64} and user_regs on armel.

8 years agoCompile with -g -O2 by default
Thomas Preud'homme [Tue, 4 Oct 2011 15:23:24 +0000 (17:23 +0200)]
Compile with -g -O2 by default

Change default CFLAGS (CFLAGS not overriden and no CFLAGS in
environment) to add debugging symbol and optimize the generated code.

8 years agoDon't include .*ignore files in archives
Thomas Preud'homme [Mon, 3 Oct 2011 20:42:59 +0000 (22:42 +0200)]
Don't include .*ignore files in archives

* Remove .cvsignore
* Exclude .gitignore and .gitattribute itself from archives produced
  with git archive

8 years agoRewrite archive and cvstag make rules for git
Thomas Preud'homme [Mon, 3 Oct 2011 20:33:11 +0000 (22:33 +0200)]
Rewrite archive and cvstag make rules for git

* Rename cvstag to gittag
* Adapt archive and gittag make rules to git

8 years agoSupport DESTDIR and PREFIX variables in Makefile
Thomas Preud'homme [Mon, 3 Oct 2011 19:47:55 +0000 (21:47 +0200)]
Support DESTDIR and PREFIX variables in Makefile

* Add support for DESTDIR and PREFIX variables in Makefile.
  PREFIX defaults to /usr and DESTDIR is not defined by default.
* Redefine MANDIR and BINDIR in function of PREFIX and DESTDIR. Note
  that DESTDIR for overriden variables (variables defined via make
  VAR=value construct)

8 years agoRespect CFLAGS from the environment
Thomas Preud'homme [Mon, 3 Oct 2011 17:36:33 +0000 (19:36 +0200)]
Respect CFLAGS from the environment

8 years agoRemove distribution specific variables in Makefile
Thomas Preud'homme [Mon, 3 Oct 2011 17:34:46 +0000 (19:34 +0200)]
Remove distribution specific variables in Makefile

Remove everything related to RPM_OPT_FLAGS variable in Makefile.

8 years agoAdd -Wextra flags to CFLAGS and fix warnings
Thomas Preud'homme [Mon, 3 Oct 2011 17:32:16 +0000 (19:32 +0200)]
Add -Wextra flags to CFLAGS and fix warnings

8 years agoFix incorrect ptrace failure tests in crawl()
Thomas Preud'homme [Sun, 2 Oct 2011 21:50:22 +0000 (23:50 +0200)]
Fix incorrect ptrace failure tests in crawl()

8 years agoNew release: pstack 1.3 pstack-1.3
Thomas Preud'homme [Sun, 2 Oct 2011 18:41:54 +0000 (20:41 +0200)]
New release: pstack 1.3

8 years agoAdd .gitignore file
Thomas Preud'homme [Sun, 2 Oct 2011 18:42:32 +0000 (20:42 +0200)]
Add .gitignore file

Ignore pstack binary

8 years agoRemove distribution files
Thomas Preud'homme [Sun, 2 Oct 2011 18:39:17 +0000 (20:39 +0200)]
Remove distribution files

Remove pstack.spec and adapt Makefile to the change.

8 years agoDo not call perror in crawl() if no ptrace error
Thomas Preud'homme [Sun, 2 Oct 2011 18:22:02 +0000 (20:22 +0200)]
Do not call perror in crawl() if no ptrace error

* Set error_occured in crawl() whether an error occurs or not in one of
  the ptrace call of crawl().
* Call perror at end of crawl() only if error_occured is set.

8 years agoInclude <endian.h> as fallback for endianness
Thomas Preud'homme [Sun, 2 Oct 2011 17:53:16 +0000 (19:53 +0200)]
Include <endian.h> as fallback for endianness

Include <endian.h> if none of __ORDER_LITTLE_ENDIAN__ and
__ORDER_BIG_ENDIAN__ are predefined (too old version of gcc) in order to
determine endianness.

8 years agoAdd support for armel architecture
Thomas Preud'homme [Sun, 2 Oct 2011 17:40:21 +0000 (19:40 +0200)]
Add support for armel architecture

* Define architecture dependant macro for armel;
* Use struct pt_regs instead of struct user_regs_struct;

See http://wiki.debian.org/ArmEabiPort for more details on armel
architecture.

8 years agoSeparate arch dependant and arch independant code
Thomas Preud'homme [Sun, 2 Oct 2011 17:35:24 +0000 (19:35 +0200)]
Separate arch dependant and arch independant code

Extract explicit architecture dependant code into 2 sets of macros at
the beginning of the source file:
  - 1 set of macros for architecture dependant code;
  - 1 set of macros for architecture independant code.

9 years agoFix compilation on i386 arch.
Thomas Preud'homme [Sun, 11 Sep 2011 13:42:59 +0000 (15:42 +0200)]
Fix compilation on i386 arch.

Remove useless __ASSEMBLY definition as:
* it is useless
* it makes pstack fails to build

9 years agoPort pstack to amd64 architecture
Thomas Preud'homme [Mon, 11 Apr 2011 16:46:52 +0000 (18:46 +0200)]
Port pstack to amd64 architecture

This patch is an effort to port pstack to other architectures. So far
only amd64 is supported and there is probably still some issues in the
architecture independant code (endianness, integer range, per
architecture frame browsing, …).

9 years agoUse strerror on syscall failure
Thomas Preud'homme [Fri, 7 May 2010 11:33:50 +0000 (13:33 +0200)]
Use strerror on syscall failure

Add strerror string to personalized error string on system call failure.

9 years agoDon't segfault if no _DYNAMIC symbol is found
Thomas Preud'homme [Thu, 6 May 2010 20:52:16 +0000 (22:52 +0200)]
Don't segfault if no _DYNAMIC symbol is found

Test wether _DYNAMIC is found or not before using its value.

9 years agoFix incorrect error checking
Thomas Preud'homme [Thu, 6 May 2010 20:12:45 +0000 (22:12 +0200)]
Fix incorrect error checking

pstack uses errno to check errors in lots of case which is wrong. According
to the errno manpage, errno is only significative when the sytem call return
an error. This patch fixes all the errno check errors.

9 years agoDon't fail with shared object without name
Thomas Preud'homme [Thu, 6 May 2010 18:15:28 +0000 (20:15 +0200)]
Don't fail with shared object without name

pstack was failing with shared objects loaded by the dynamic linker which have
no name. This tiny patch makes pstack ignore those objects.

9 years agoRemove pstack unconditionally in clean target.
Thomas Preud'homme [Thu, 6 May 2010 15:52:11 +0000 (17:52 +0200)]
Remove pstack unconditionally in clean target.

Don't fail if pstack binary doesn't exist so that the clean target can be called
at any time.

9 years agoImprove error handling
Baruch Even [Fri, 7 May 2010 05:32:14 +0000 (07:32 +0200)]
Improve error handling

* Add a call to perror when open fails
* Uses strtol instead of atoi to handle conversion error
* Call a usage fonction when PID is incorrect
* Display target PID when failing to attach

9 years agoInitial commit (pstack v1.2)
Thomas Preud'homme [Thu, 18 Aug 2011 15:18:01 +0000 (17:18 +0200)]
Initial commit (pstack v1.2)