diff options
author | Tony Reix <tony.reix@atos.net> | 2017-07-21 18:05:08 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2017-07-21 18:05:08 +0000 |
commit | b3530b946f208bb581d2bcba2b311331a70bb97f (patch) | |
tree | 88ddb70d8e7d40f7a99e8fab445d41cce28e90b5 /libbacktrace/fileline.c | |
parent | 60f80e6541b845a20827b8584d8c276f54ed7506 (diff) |
filetype.awk: Add AIX XCOFF type detection.
* filetype.awk: Add AIX XCOFF type detection.
* configure.ac: Recognize xcoff format.
* Makefile.am (FORMAT_FILES): Add xcoff.c.
* fileline.c: Include <unistd.h>.
(fileline_initialize): Add case for AIX procfs.
* xcoff.c: New file.
* configure, Makefile.in: Rebuild.
From-SVN: r250435
Diffstat (limited to 'libbacktrace/fileline.c')
-rw-r--r-- | libbacktrace/fileline.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/libbacktrace/fileline.c b/libbacktrace/fileline.c index 0fd350a30c9..303e4dce83a 100644 --- a/libbacktrace/fileline.c +++ b/libbacktrace/fileline.c @@ -37,6 +37,7 @@ POSSIBILITY OF SUCH DAMAGE. */ #include <errno.h> #include <fcntl.h> #include <stdlib.h> +#include <unistd.h> #include "backtrace.h" #include "internal.h" @@ -57,6 +58,7 @@ fileline_initialize (struct backtrace_state *state, int pass; int called_error_callback; int descriptor; + char buf[64]; if (!state->threaded) failed = state->fileline_initialization_failed; @@ -80,7 +82,7 @@ fileline_initialize (struct backtrace_state *state, descriptor = -1; called_error_callback = 0; - for (pass = 0; pass < 4; ++pass) + for (pass = 0; pass < 5; ++pass) { const char *filename; int does_not_exist; @@ -99,6 +101,10 @@ fileline_initialize (struct backtrace_state *state, case 3: filename = "/proc/curproc/file"; break; + case 4: + snprintf (buf, sizeof (buf), "/proc/%d/object/a.out", getpid ()); + filename = buf; + break; default: abort (); } |