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: Egcs 1.0 on HPPA still does not work with long offsets...


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


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