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
Could anyone help me here what is wrong with that assembler?
On Tue, Jun 13, 2017 at 09:38:44AM +0200, Ole Streicher wrote:
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:
Is IRAF the stuff from http://iraf.noao.edu/ and last released five
years ago?
zsvjmp_: [...]
j __sigsetjmp@PLT
Looks like it is, but why do you want this jump via the PLT, while all
other variants do not?
| ./unix/as.linux/zsvjmp.s: jmp __sigsetjmp # let sigsetjmp do the rest
| ./unix/as.linux64/zsvjmp_c:asm(" jmp __sigsetjmp # let sigsetjmp do the rest");
Could anyone help me here what is wrong with that assembler?
To make this work, you need to build with -fPIC.
From browsing the S390 mnemonic list, I tried to replace the "j" opcodewith a "jg", and then the compilation succeeds. However, this is a very
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 407 |
Nodes: | 16 (2 / 14) |
Uptime: | 13:48:23 |
Calls: | 8,554 |
Calls today: | 6 |
Files: | 13,219 |
Messages: | 5,925,563 |