This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: libf2c update


>>>>> "Toon" == Toon Moene <toon@moene.indiv.nluug.nl> writes:

 Toon> (gdb) run
 Toon> Starting program: /Users/toon/Unix/src/a.out
 Toon> Program generated(1): Memory access exception on address 0x0  
 Toon> (protection failure).
 Toon> Reading in symbols for ../../../../egcs/libf2c/libI77/rsfe.c...done.
 Toon> 0x310e in s_rsfe (a=0x800c) at ../../../../egcs/libf2c/libI77/rsfe.c:63
 Toon> ../../../../egcs/libf2c/libI77/rsfe.c:63: No such file or directory.

Looking at this with gdb under x86-linux, I'm confused what's going
on, especially as the compiled version actually ran...  However, I
think it's due to a problem merging dmg's changes.  I remember looking
at this twice and being convinced the relevant lines had been gone,
but that obviously doesn't make sense.  I'll try to figure out what
went wrong.

 Toon> The "No such file or directory" error is understandable, because a  
 Toon> relative path is unlikely to work in debugging info.

FWIW, `dir' in gdb.

I haven't checked in the following.  Does it fix the problem OK?

Note that there seems to be something wrong with the libf2c makefile
dependencies (which I haven't looked into), so libg2c.a doesn't get
rebuilt appropriately if you just update these files -- do a clean
first.  Also you can't now do a make of the library successfully other
than at the egcs top level.  I don't know how it's really meant to be,
but this makes it painful to work on libf2c.

1998-06-29  Dave Love  <d.love@dl.ac.uk>

	* libI77/wsfe.c (s_wsfe): Fix setting of f__curunit lost in
	previous change.
	* libI77/rsfe.c (s_rsfe): Likewise.

Index: rsfe.c
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/libf2c/libI77/rsfe.c,v
retrieving revision 1.2
diff -u -p -r1.2 rsfe.c
--- rsfe.c	1998/06/23 14:37:12	1.2
+++ rsfe.c	1998/06/29 22:10:43
@@ -60,6 +60,7 @@ integer s_rsfe(cilist *a) /* start */
 	f__cursor=f__recpos=0;
 	f__scale=0;
 	f__fmtbuf=a->cifmt;
+	f__curunit= &f__units[a->ciunit];
 	f__cf=f__curunit->ufd;
 	if(pars_f(f__fmtbuf)<0) err(a->cierr,100,"startio");
 	f__getn= x_getc;
Index: wsfe.c
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/libf2c/libI77/wsfe.c,v
retrieving revision 1.4
diff -u -p -r1.4 wsfe.c
--- wsfe.c	1998/06/23 14:37:15	1.4
+++ wsfe.c	1998/06/29 22:10:43
@@ -57,6 +57,7 @@ integer s_wsfe(cilist *a)	/*start*/
 	f__nonl = 0;
 	f__scale=0;
 	f__fmtbuf=a->cifmt;
+	f__curunit = &f__units[a->ciunit];
 	f__cf=f__curunit->ufd;
 	if(pars_f(f__fmtbuf)<0) err(a->cierr,100,"startio");
 	f__putn= x_putc;



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]