[fpc-devel] Questions regarding m68k-atari target

Thorsten Otto admin at tho-otto.de
Tue Jan 25 11:50:11 CET 2022


On Dienstag, 25. Januar 2022 11:27:11 CET Marcus Sackrow via fpc-devel wrote:
> hmm what do you mean? I wrote it, of course.

But is that a script that is stored somewhere, or is it just a setting inside 
your Jenkins installation?

>newer ld support that but they can't be compiled for m68k anymore

Yes, a.out support (which is used on Atari) has been dropped in 2.31. But i've 
added it back in, and cross-binutils of 2.34 can be found at http://tho-otto.de/crossmint.php#binutils 

That does not mean that the section based linking will work. I'll have to 
check whether that can somehow be supported.

>If I remember right, it is possible to freely mix assembler and linker on 
>Atari, so you can use gas and vlink for example.

Yes, but when i use gas, i think fpc won't generate the required section 
directives?

ie. when using -Avasm:

	.file "system.pp"
# Begin asmlist al_pure_assembler

.section .text.n_system_$$_get_caller_addr$pointer$pointer$$pointer,"awx"
	.balignw 4,0x4e71
.globl	SYSTEM_$$_GET_CALLER_ADDR$POINTER$POINTER$$POINTER
SYSTEM_$$_GET_CALLER_ADDR$POINTER$POINTER$$POINTER:
	link.w	%a6,#-4
#  CPU 68000
	move.l	%a0,%d0
	tst.l	%d0
	beq	.Lj1800_1
	move.l	%d0,%a0
	move.l	4(%a0),%d0
.Lj1800_1:
#  CPU 68000
	unlk	%a6
	rts


Without it:

	.file "system.pp"
# Begin asmlist al_pure_assembler

.text
	.balignw 4,0x4e71
.globl	SYSTEM_$$_GET_CALLER_ADDR$POINTER$POINTER$$POINTER
SYSTEM_$$_GET_CALLER_ADDR$POINTER$POINTER$$POINTER:
	link.w	%a6,#-4
#  CPU 68000
	move.l	%a0,%d0
	tst.l	%d0
	beq	.Lj1800_1
	move.l	%d0,%a0
	move.l	4(%a0),%d0
.Lj1800_1:
#  CPU 68000
	unlk	%a6
	rts
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20220125/1a3f2260/attachment.htm>


More information about the fpc-devel mailing list