Incorrectly generated assembler on linux-alpha

Torsten Ekedahl teke@matematik.su.se
Tue Dec 1 22:54:00 GMT 1998


I am trying to compile a rather large library so I am not able to
pinpoint the exact problem but can provide further details upon
request:

$ c++ --version
egcs-2.91.57
$ uname -a
Linux hypatia.matematik.su.se 2.0.34 #2 Thu May 7 10:48:04 EDT 1998 alpha unknown
$ cat /proc/cpuinfo 
cpu                     : Alpha
cpu model               : EV56
cpu variation           : 0
cpu revision            : 0
cpu serial number       : Linux_is_Great!
system type             : EB164
system variation        : 0
system revision         : 0
system serial number    : MILO-0000
cycle frequency [Hz]    : 0
timer frequency [Hz]    : 1024.00
page size [bytes]       : 8192
phys. address bits      : 40
max. addr. space #      : 127
BogoMIPS                : 530.57
kernel unaligned acc    : 0 (pc=0,va=0)
user unaligned acc      : 124 (pc=15555832dd8,va=11ffff900)
platform string         : N/A


Compilation as follows

c++ -O  -I../include -I../include -I. -I./base -I./integer -I./digit
-I../gmp  -S ./numtheory/cl_nt_sqrtmodp.cc -o cl_nt_sqrtmodp.s
gcc -O   -c cl_nt_sqrtmodp.s -o cl_nt_sqrtmodp.o

leads to error messages of the type


cl_nt_sqrtmodp.s: Assembler messages:
cl_nt_sqrtmodp.s:38292: Error: Can't emit reloc {- *UND*-seg symbol
"$L68586"} @ file address 145628.
cl_nt_sqrtmodp.s:38292: Error: Value of 145628 too large for field of
2 bytes at 145628

the offending line 38292 is

        ldgp $29,$LSJ72261-$L68586($27)

This may have something to do with the fact that the .s file is *very*
large:

$ ls -l cl_nt_sqrtmodp.s 
-rw-r--r--   1 root     root      1068897 Dec  2 07:44 cl_nt_sqrtmodp.s




                        Torsten



More information about the Gcc-bugs mailing list