This is the mail archive of the gcc-bugs@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: Link error and -fsquangle


> When compiling a 'hello world' program with -fsquangle I get:
> 
> /usr/bin/ld:
> Unresolved:
> ostream::operator<<(ostream &(*)(ostream &))
> 
> That's with 1.1b on a DU 4 alpha. Or:
> 
> ld32: ERROR 33: Unresolved text symbol "ostream::operator<<(ostream
> &(*)(ostream &))" -- 1st referenced by /var/tmp/ccbH8Z2O.o.
> 
> on 1.1 prerelease on an IRIX 6.4 machine.

I have the same problem on Solaris 2.5.1 with 1.1b:

Undefined                       first referenced
 symbol                             in file
ostream::operator<<(ostream &(*)(ostream &))/tmp/ccJFCa7u.o

> When not using -fsquangle on code with expression templates, 'as' gives up
> because of resulting huge tokens with very little effort.

I have the same problem. Sun's assembler cannot handle lines
larger 1024 characters.

I was waiting for egcs-1.1 and its -fsquangle option to compile one
of our projects which compiles only with the -g flag. I don't know
why we end up with smaller assembly lines with the -g flag.
Alas! egcs-1.1 is too bugged up to be used in real-world situations.

To compile without -g, I sticked to egcs-1.0.3 and used GNU's
assembler.

By the way, how to force g++ to use GNU's as instead of Sun's as?
I installed GNU's as in /usr/local/binutils/bin and put it in the
path before Sun's /usr/ccs/bin/as. This doesn't work, as the path
/usr/ccs/bin/as is hardwired in g++.

--
Dimitri Papadopoulos


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