This is the mail archive of the gcc-patches@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]
Other format: [Raw text]

Re: 3.4 PATCH: Fix minor IRIX 5 problems


Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> writes:
> * The fortran failures seem to be due to a bug in the native as:
> 
> /usr/bin/../lib/ld:
> assertion failed: word < (MAX_GOT_SIZE/4) at dynutil.c line 885
> collect2: ld returned 1 exit status
> 
>   This may be related to a similar bug in the IRIX 6 o32 as:
> 
> ld: FATAL   2  : Internal: at ../../ld/multigot.c lgot_local_got_offset() seg_ndx exceeds per_seg_lgot_table
> ld: INFO    152: Output file removed because of error.
> 
>   I've reported the latter to SGI, but have received no resolution yet.
>   For the mips-sgi-irix6o32 configuration, the problem vanishes with gas,
>   so it may be possible to work around the problem in g77, one it is
>   understood what the errors mean.

FWIW, this seems to be caused by having labels at the end of a section.
A reduced testcase is:

cat <<EOF >foo.s
        .data
foo:
        .text
        .globl  main
main:
        la      \$4,foo
        move    \$2,\$0
        jr      \$31
EOF
cc -32 foo.s

...which gives me the same multigot error.  We're generating these sorts
of labels for the call to s_stop().

Like you say, it works for gas, so I wasn't too keen on hacking around
the problem.

Richard


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