[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Sid linker/loader bug and cfal?



Hello,

Kenneth Block is giving me some help with the cfal packages.  Could the
fstat problem be a linker/loader bug, since the symbol seems to be
weakly defined in libc?

Attached is his last message...

Zeen,

-Adam P.

GPG fingerprint: D54D 1AEE B11C CE9B A02B  C5DD 526F 01E8 564E E4B6

          Welcome to the best software in the world today cafe!


--- Begin Message ---
Is this a linker/loader bug? If you look at libfor.so, fstat is defined, but
it is defined as a weak symbol.

cxal.zko.dec.com> nm -A /usr/lib/compaq/cfalrtl-1.0/libfor.so | grep fstat
/usr/lib/compaq/cfalrtl-1.0/libfor.so:00000000000648e0 T __fstat
/usr/lib/compaq/cfalrtl-1.0/libfor.so:00000000000648e0 W fstat

Here is the same information on the RedHat 6.2 system which we used to
produce the compiler.

cxal.zko.dec.com> nm /usr/lib/libc.a | grep fstat | egrep -v
"fstatfs|fstatvf"
fstat.o:
0000000000000000 T __fstat
0000000000000000 W fstat
fstat64.o:
0000000000000000 T fstat64


cxal.zko.dec.com> cat /usr/lib/libc.so
/* GNU ld script
   Use the shared library, but some functions are only in
   the static library, so try that secondarily.  */
GROUP ( /lib/libc.so.6.1 /usr/lib/libc_nonshared.a )

cxal.zko.dec.com> nm /lib/libc.so.6.1 | grep fstat | egrep -v
"fstatfs|fstatvf"

cxal.zko.dec.com> nm /usr/lib/libc_nonshared.a | grep fstat | egrep -v
"fstatfs|
fstatvf"
fstat.oS:
0000000000000000 T __fstat
0000000000000000 W fstat
fstat64.oS:
0000000000000000 T fstat64


-----Original Message-----
From: hazelsct [mailto:hazelsct]On Behalf Of Adam C Powell IV
Sent: Sunday, April 15, 2001 10:36 AM
To: block@zk3.dec.com
Subject: Re: Compaq Compiler on Debian


Kenneth Block wrote:

> Thanks for the reply. This is the first copy I have received.

Okay, so a Netscape crash must have eaten the last one.

> For the Fortran problem, I'm not sure what the deal is. fstat is in libc,
so
> I really can't say why it would be unresolved.

Aha!  This explains quite a bit.  Debian unstable (2.3) uses glibc 2.2.2,
stable (2.2) uses 2.1.3, so this symbol may have changed.

Have you tested cfal/cfalrtl on newer versions of other distributions with
glibc 2.2.2?

Just for fun:

% nm /usr/lib/libc.a | grep fstat
                 U __fstatfs
                 U __fstatvfs64
fstat.o:
0000000000000000 T __fstat
0000000000000000 W fstat
fstat64.o:
0000000000000000 T fstat64
fstatfs.o:
0000000000000000 T __fstatfs
0000000000000000 W __fstatfs64
0000000000000000 W fstatfs
0000000000000000 W fstatfs64
fstatfs64.o:
fstatvfs.o:
                 U __fstatfs
0000000000000000 T fstatvfs
fstatvfs64.o:
0000000000000000 T __fstatvfs64
                 U fstatvfs
0000000000000000 W fstatvfs64
                 U __fstatfs
                 U __fstatfs64

Thank you for the reply, I hope we can fix this soon.

Cheers,
--
          Adam Powell                    http://lyre.mit.edu/~powell/
          Thomas B. King Assistant Professor of Materials Engineering
          77 Massachusetts Ave. Rm. 4-117        Phone (617) 452-2086
          Cambridge, MA 02139 USA                  Fax (617) 253-5418




--- End Message ---

Reply to: