Ich würde dem LLVM compiler für m68k sowieso nicht trauen. Ein simpler test:
long y;
void test(int b)
{
y = b;
}
erzeugt
.type test,@function
test: ; @test
; %bb.0:
move.l (4,%sp), (y,%pc)
rts
.bss
.globl y
.p2align 2
y:
.long 0 ; 0x0
PC-relative Addressierung für dest gibts nicht, auch nicht bei 68020+. Ganz abgesehen davon daß das bss-segment nicht notwendigerweise im 32k Bereich liegt.
Anderes Beispiel (wie oben aber mit 9000 Parametern vor b, sodaß b nicht mehr im 32k Bereich ist:
.type test,@function
test: ; @test
; %bb.0:
move.l (36012,%sp), (y,%pc)
rts
Würde mal behaupten, daß der port inoch ziemlich unreif ist.