Date: Fri, 15 Jun 2001 22:03:57 +0300 From: "Eli Zaretskii" Sender: halo1 AT zahav DOT net DOT il To: "Chris Wilkinson" Message-Id: <3069-Fri15Jun2001220355+0300-eliz@is.elta.co.il> X-Mailer: Emacs 20.6 (via feedmail 8.3.emacs20_6 I) and Blat ver 1.8.9 CC: djgpp AT delorie DOT com In-reply-to: <9gdipt$bjm$2@hecate.umd.edu> (chrisw@wam.umd.edu) Subject: Re: Link errors with Debug switch on References: <000801c0f518$4cddd300$5a3e0281 AT umd DOT edu> <9791-Fri15Jun2001104543+0300-eliz AT is DOT elta DOT co DOT il> <9gcu73$3s7$1 AT hecate DOT umd DOT edu> <9gd57o$717$2 AT hecate DOT umd DOT edu> <2945-Fri15Jun2001185559+0300-eliz AT is DOT elta DOT co DOT il> <9gdipt$bjm$2 AT hecate DOT umd DOT edu> Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > From: "Chris Wilkinson" > Newsgroups: comp.os.msdos.djgpp > Date: Fri, 15 Jun 2001 14:05:27 -0400 > > Notice that -save-temps results in a .i file being written to the current > working directory. There is nothing written to c:/djgpp/tmp. Yes, I forgot about that, sorry. But the output of "gcc -v" always shows where the files are. > As you suggest 'nm -A lsbfnew.o' gives: No lsbfnew.o is not what is of interest. Please do this for ipmpar.o, because dcdflib.o seems to be unable to find the function ipmpar defined in ipmpar.c. I want to see what symbols are in ipmpar.o when it is compiled with and without -g. > nm -A lsbfnew.o > lsbfnew.o:00000840 b .bss > lsbfnew.o:00000840 d .data > lsbfnew.o:00000000 t .text > lsbfnew.o:00000000 t ___gnu_compiled_c > lsbfnew.o: U _cdff > lsbfnew.o: U _fclose > lsbfnew.o: U _fopen > lsbfnew.o: U _fprintf > lsbfnew.o: U _fscanf > lsbfnew.o: U _least_square_solver > lsbfnew.o: U _log > lsbfnew.o:00000150 T _main > lsbfnew.o: U _printf > lsbfnew.o: U _scanf > lsbfnew.o:00000000 t gcc2_compiled. > > I do not know what this output means or whether the difference is > significant. Some explanation of this output is given in section 8.9 of the DJGPP FAQ list. In a nutshell, all the symbols markes with `T' are functions defined in this module, while symbold marked with `U' are symbols this module references (e.g., a function call) but does not define. For example, the above shows that lsbfnew.c defines a `main' function and calls `fopen', `fscanf', `log' and others. What I'm looking for is to see whether ipmpar.o lists the function ipmpar (symbol name "_ipmpar") with `T'.