[400] in Pthreads mailing list archive

home help back first fref pref prev next nref lref last post

nop needed in delay slot for SPARC.

daemon@ATHENA.MIT.EDU (John Basrai)
Wed Aug 28 15:11:20 1996

Date: Wed, 28 Aug 96 11:47:27 PDT
From: John Basrai <jbasrai@Unify.Com>
To: pthreads@MIT.EDU


FYI: syscall.S needs a nop in a delay slot after a retl.  Probably
harmless but just thought I'd let you know.

syscall.S -> ./config/../machdep/syscall-sparc-sunos4.S

_machdep_sys_fork:;
    mov SYS_fork, %g1;
    ta 0;
    bcs 1b;
    nop;
    tst %o1
    bne,a __fork_parent
    mov  %g0, %o0
__fork_parent:;
    retl
    nop		<- nop needed here to avoid error "label in delay slot"

/* POSIX-compliant getpgrp() takes no arguments.  The SunOS syscall wants
   one, and gives the POSIXy result if that argument is zero.  */
	.globl _getpgrp
_getpgrp:				<-- here is the label.
	mov SYS_getpgrp, %g1		<-- this will get executed as
					    delay slot (harmless)

-- 
John Basrai
Unify Corporation
---------
The sad part is...
    I'm really a very good tailor -- Elim Garak "Deep Space Nine"

home help back first fref pref prev next nref lref last post