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

Linker error "relocati,on truncated to fit"



Hi,

I am slowly re-starting the packaging of IRAF (still not officially
announced yet). When porting to s390x, I however run into a strange
error: IRAF needs a small piece of assembler code (kind-of longjump for
Fortan), which John Long gratefully ported to s390x two years ago:

zsvjmp_:
	stg     %r3,0(0,%r2)
	xc      0(8,%r3),0(%r3)
	xgr     %r3,%r3
	aghi    %r2,8
	j       __sigsetjmp@PLT

(Copyright John Long, MIT license).

However, when I try to link that (statically), I get the following error:

zsvjmp.s:16:(.text+0x16): relocation truncated to fit: R_390_PLT16DBL
against symbol `__sigsetjmp@@GLIBC_2.2' defined in .text section in
/lib/s390x-linux-gnu/libc.so.6
collect2: error: ld returned 1 exit status

As an uneducated guess, I removed the "@PLT", but then I get a complaint
about that this is missing.

Compiler (assembler) is gcc-6.3, with the current (sid) binutils. About
three years ago (when John wrote that code), this problem didn't happen.

Could anyone help me here what is wrong with that assembler?

Best regards

Ole


Reply to: