From: Martin Str|mberg Message-Id: <200212221147.gBMBlro01553@brother.ludd.luth.se> Subject: Symify calling bfdsymify To: djgpp-workers AT delorie DOT com (DJGPP-WORKERS) Date: Sun, 22 Dec 2002 12:47:53 +0100 (MET) X-Mailer: ELM [version 2.5 PL2] MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Reply-To: djgpp-workers AT delorie DOT com Here's a patch to make symify call bfdsymify: Index: djgpp/src/debug/common/symify.c =================================================================== RCS file: /cvs/djgpp/djgpp/src/debug/common/symify.c,v retrieving revision 1.5 diff -p -u -r1.5 symify.c --- djgpp/src/debug/common/symify.c 21 Mar 2001 17:07:17 -0000 1.5 +++ djgpp/src/debug/common/symify.c 22 Dec 2002 11:46:13 -0000 @@ -4,6 +4,8 @@ #include #include #include +#include +#include #include #include #include @@ -20,6 +22,7 @@ int main(int argc, char **argv) int r, c; short *sc; char *buf = NULL; + char **sub_argv; size_t bufsize = 0; int i, lineno; unsigned v; @@ -34,6 +37,35 @@ int main(int argc, char **argv) fprintf(stderr, "This program adds debug information to DJGPP program call frame tracebacks\n"); return 1; } + + /* Try to run bfdsymify. */ + sub_argv = malloc(sizeof(char *)*(argc+1)); + if( sub_argv ) + { + sub_argv[0] = "bfdsymify"; + for(i = 1; i < argc; i++) + { + sub_argv[i] = argv[i]; + } + sub_argv[argc] = NULL; + r = spawnvp(P_WAIT, "bfdsymify", sub_argv); + if (! (r & 0xffffff00) ) + { +#if 0 + fprintf(stderr, "bfdsymify ok, spawnl returned 0x%x.\n", r); +#endif + free(sub_argv); + return r; + } +#if 0 + else + { + fprintf(stderr, "bfdsymify not found or error, spawnl returned 0x%x, errn o = %d.\n", r, errno); + } +#endif + free(sub_argv); + } + while (argv[1][0] == '-') { if ((strcmp(argv[1], "-o") == 0) && (argc > 3)) Right, MartinS