OK. Cut-n-pasted what you wrote into tas.s and got farther

make[1]: Leaving directory `/home/gp/drawterm/posix-power'
gcc -pthread -o drawterm main.o cpu.o readcons.o secstore.o latin1.o
posix-factotum.o  kern/libkern.a exportfs/libexportfs.a
libauth/libauth.a libauthsrv/libauthsrv.a libsec/libsec.a libmp/libmp.a
libmemdraw/libmemdraw.a libmemlayer/libmemlayer.a libdraw/libdraw.a
gui-x11/libgui.a libc/libc.a  kern/libkern.a exportfs/libexportfs.a
libauth/libauth.a libauthsrv/libauthsrv.a libsec/libsec.a libmp/libmp.a
libmemdraw/libmemdraw.a libmemlayer/libmemlayer.a libdraw/libdraw.a
gui-x11/libgui.a libc/libc.a  kern/libkern.a exportfs/libexportfs.a
libauth/libauth.a libauthsrv/libauthsrv.a libsec/libsec.a libmp/libmp.a
libmemdraw/libmemdraw.a libmemlayer/libmemlayer.a libdraw/libdraw.a
gui-x11/libgui.a libc/libc.a  libmachdep.a -L/usr/X11R6/lib -lX11 -ggdb
kern/libkern.a(devcons.o): In function `consopen':
/home/gp/drawterm/kern/devcons.c:585: undefined reference to `tas'
libc/libc.a(lock.o): In function `canlock':
/home/gp/drawterm/libc/lock.c:7: undefined reference to `tas'
collect2: ld returned 1 exit status
make: *** [drawterm] Error 1

On Tue, 2006-01-17 at 16:40 -0500, Russ Cox wrote:
> Try removing tas.c from drawterm/posix-power and create tas.s
> instead:
> 
>       .globl  _tas
> _tas:
>       li      %r0, 0
>       mr      %r4, %r3
>       lis     %r5, 0xcafe
>       ori     %r5, %r5, 0xbabe
> 1:
>       lwarx   %r3, %r0, %r4
>       cmpwi   %r3, 0
>       bne     2f
>       stwcx.  %r5, %r0, %r4
>       bne-    1b
> 2:
>       sync
>       blr
> 
> Russ

Reply via email to