elsen@esat.kuleuven.ac.be (02/19/90)
I have an applications which 'Makes' it without any problems in the VAX Ultrix environment (UWS 2.1) but fails on my DECstation 3100 (same UWS) with : ----------------final output from Make (everything else runs fine)-------------- cc -O -DBSD4_2 -o cifp ciftype.o cifpars.o transform.o showcells.o cifsym.o allo c.o color.o powerpack.o plotpack.o ambigcomp.o plotio.o cifp.o call.o -lm ld: /lib/libc.a(_exit.o): jump relocation out-of-range, bad object file produced, ca n't jump from 0x412d28 to 0x1000334c (abort) *** Error code 1 -------------------------------------------------------------------------------- So , what the h... does 'jump relocation....' mean ? -- Marc Elsen (System Manager/Software Engineer) Katholieke Universiteit Leuven Dep. E.S.A.T. Kard. Mercierlaan 94 3030 HEVERLEE Belgium tel. 32(0)16220931(ext. 1080) EMAIL : elsen@esat.kuleuven.ac.be ...!kulcs!kulesat!elsen (UUCP) elsen%kulesat.uucp@blekul60 (BITNET) psi%02062166012::elsen (PSI MAIL)
chris@mimsy.umd.edu (Chris Torek) (03/08/90)
In article <2468.25dfeb50@esat.kuleuven.ac.be> elsen@esat.kuleuven.ac.be asks what >/lib/libc.a(_exit.o): jump relocation out-of-range, bad object >file produced, can't jump from 0x412d28 to 0x1000334c (abort) >*** Error code 1 means. The MIPS compiler/linker puts code at addresses 0x00400000 upward, and puts data at 0x10000000 upward. If you accidentally try to invoke data as code, the compiler generates `jump' (actually jalr, Jump And Link Register) instructions from code locations (_exit, 0x412d28) to data locations (abort, 0x1000334c), but this is too far away (more than 2^26) for the jalr instruction's address field, so that the linker complains. This is better than on the VAX, where the linker makes the subroutine call go to the data location, and then the program explodes at runtime. What you have done is name a global variable `abort'. The C library _exit() routine calls abort() under some (unknown) circumstances. When it wants to call abort(), it will instead try to call your abort variable. Who knows what will happen then. . . . -- In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 7163) Domain: chris@cs.umd.edu Path: uunet!mimsy!chris