www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2001/06/15/15:08:01

Date: Fri, 15 Jun 2001 22:03:57 +0300
From: "Eli Zaretskii" <eliz AT is DOT elta DOT co DOT il>
Sender: halo1 AT zahav DOT net DOT il
To: "Chris Wilkinson" <chrisw AT wam DOT umd DOT edu>
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

> From: "Chris Wilkinson" <chrisw AT wam DOT umd DOT edu>
> 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'.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019