This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: Egcs 1.0 on HPPA still does not work with long offsets...
- To: law at cygnus dot com
- Subject: Re: Egcs 1.0 on HPPA still does not work with long offsets...
- From: Fons Rademakers <rdm at hpsalo dot cern dot ch>
- Date: Thu, 11 Dec 1997 21:00:09 +0100 (MET)
- Cc: egcs-bugs at cygnus dot com
- Location: Geneva, Switzerland
- Organization: CERN (European Laboratory for Particle Physics)
- Reply-To: egcs-bugs at cygnus dot com
Hi Jeff,
apologies for some deceptive bug reports. In my makefile I forgot
to change my PATH variable and I was using gcc2 for the compiles.
Now I fixed that and -mbig-switch is indeed accepted. However,
the problem persists albeit with a different error message:
Generating library: /user/rdm/rootg/lib/libHist.sl
/usr/ccs/bin/ld: Linkage pointer reach exceeded for long branch in switch table, file /user/rdm/rootg/src/H_H1.o
collect2: ld returned 1 exit status
*** /opt/egcs/bin/g++ -g -I$OPENGL/include -mbig-switch -shared -fPIC -o /user/rdm/rootg/lib/libHist.sl /user/rdm/rootg/src/H_*.o returned exit code 1
The .o file was compiled using:
/opt/egcs/bin/g++ -g -I$OPENGL/include -Wall -mbig-switch
How can we nail this one? Would it be of interest for you to have the
.o of the file causing the link problems? Or the source?
Cheers, Fons.
>
>
> > In the mean time, how am I supposed to use the -m options. Both for
> > -mlong-calls (described in man page)
> > -mbig-switch (not described)
> > I get the message:
> > cc1plus: Invalid option `big-switch'. Is it a link only option?
> Man pages are out of date. They rarely get updated; the texinfo is more accurate
> for compiler switches.
>
> -mbig-switch is a valid option for gcc & g++, so I'm not sure why it's giving
> you an error. Are you sure you got the "m" in front of "big-switch"?
>
> > The file in question that generates the problem does not contain a
> > big switch. However, the file is fairly big (10000 loc), generated
> > by a code generator (links on all known Unix platforms with g++
> > without problems, needs +Z with native HP compiler).
> OK. That helps.
>
> Are you compiling with optimization?
>
> The only ways I'm aware of that you can our into out of range branches are
> via huge switch statements, or in very rare cases with huge programs that you
> compile with -O.
>
> jeff
>
--
Org: CERN, European Laboratory for Particle Physics.
Mail: 1211 Geneve 23, Switzerland Phone: +41 22 7679248
E-Mail: Fons.Rademakers@cern.ch Fax: +41 22 7677910