-fsquangle
Dimitri PAPADOPOULOS-ORFANOS
papadopo@shfj.cea.fr
Tue Nov 24 02:35:00 GMT 1998
I use egcs-1.1b with `-fsquangle' on Solaris 2.5.1 because:
* I want to use Sun's assembler, not GNU's
* I hope object files will be smaller in debug mode
I have built both g++ and libstdc++ with `-fsquangle'.
`-fsquangle' does work with simple examples.
However, I get link-time errors with more complex code:
g++ -ansi -O3 -fPIC -Wall \
-o /home/papadopo/aims-1.9/bin/SunOS/dynamic/fast/AimsBundleTracking \
/home/papadopo/aims-1.9/commandline/AimsBundleTracking/obj.fast/SunOS/tracking.o \
-L/home/papadopo/aims-1.9/lib/SunOS -laimsfast \
-L/appli/vidaio/vidaIO-1.3/lib/SunOS -lvidaIOfast \
-lm -lrpcsvc
ld: warning: file /appli/vidaio/vidaIO-1.3/lib/SunOS/libvidaIOfast.so: section .stabstr: malformed string table, initial or final byte
Undefined first referenced
symbol in file
AimsBorder::InitializeBorder(long, long, long, long)/home/papadopo/aims-1.9/lib/SunOS/libaimsfast.so
istream & operator>><double>(istream &, complex<double> &)/home/papadopo/aims-1.9/lib/SunOS/libaimsfast.so
ostream & operator<<<float>(ostream &, complex<float> const &)/home/papadopo/aims-1.9/lib/SunOS/libaimsfast.so
[...]
1) `libvidaIOfast.so' is a C library compiled and linked with egcs-1.0.2.
What does `.stabstr: malformed string table, initial or final byte' mean?
2) I realize that `-fsquangle' is still experimental.
I'd like to send source code to illustrate the problem, but simple
code such as
#include <iostream>
#include <complex>
main() {
complex<float> cx;
cout << cx << endl;
}
does compile and link. The same function
ostream & operator<<<float>(ostream &, complex<float> const &)
used in a `libvidaIOfast.so' dynamic library has problems.
How to give feedback on `-fsquangle'?
More information about the Gcc-bugs
mailing list