Port-vax archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Problems compiling Tcl 8.5.6 on 5.0_RC2



Hi,

I've run into a few problems trying to compile Tcl 8.5.6 (www.tcl.tk) on
5.0_RC2 on a VAX 4000/500A. The default configuration sets the
optimisation level to -O but with that I get errors of the form:

/usr/local/src/tcl8.5.6/unix/../generic/tclExecute.c:7589: warning:
value computed is not used
{standard input}: Assembler messages:
{standard input}:12317: Fatal error: PIC reference to tclByteCodeType is
indirect.

The line number is unfortunately not much help, 12317 is the end of the
file.

If I try again with no optimisation, the PIC errors go away but I get
this one instead:

/usr/local/src/tcl8.5.6/unix/../generic/tclClock.c: In function
'ConvertUTCToLocalUsingC':
/usr/local/src/tcl8.5.6/unix/../generic/tclClock.c:1048: internal
compiler error: in vax_expand_addsub_di_operands, at
config/vax/vax.c:2002

So then I tried using -O for the files that didn't produce PIC errors
and no optimisation for the ones that did. That got me a bit further but
the linker then generated lots of warnings like:

ld: tclExecute.o: warning: R_VAX_32 relocation to 0x90804 from .text
section
ld: tclExecute.o: warning: R_VAX_32 relocation to 0x907ca from .text
section
ld: tclExecute.o: warning: R_VAX_32 relocation to 0x9077a from .text
section  

and like this:

ld: tclCompExpr.o: warning: GOT addend of 176 to `tclInstructionTable'
does not match previous GOT addend of 32
ld: tclCompExpr.o: warning: GOT addend of 56 to `tclInstructionTable'
does not match previous GOT addend of 32
ld: tclCompExpr.o: warning: GOT addend of 56 to `tclInstructionTable'
does not match previous GOT addend of 32

I don't know whether the linker warnings are as a result of mixing
optimised and non optimised code or not. Not surprisingly, the resulting
executable doesn't run.

I have successfully compiled the same source on NetBSD 4.0.1 and 5.0_RC2
on sparc, plus several Linux boxes, so I'm guessing that the compiler
errors are VAX specific. 

George


Home | Main Index | Thread Index | Old Index