]> Cypherpunks.ru repositories - gostls13.git/blobdiff - src/runtime/proc.c
[dev.power64] all: merge default (dd5014ed9b01) into dev.power64
[gostls13.git] / src / runtime / proc.c
index 52f7ef3a5bfbca96f63904fab25e35e4e3d62207..31c62d43f5798499bcf3d55f622600dd58bc25c9 100644 (file)
@@ -2124,7 +2124,7 @@ runtime·newproc(int32 siz, FuncVal* fn, ...)
        byte *argp;
        void (*mfn)(void);
 
-       if(thechar == '5')
+       if(thechar == '5' || thechar == '9')
                argp = (byte*)(&fn+2);  // skip caller's saved LR
        else
                argp = (byte*)(&fn+1);
@@ -2184,7 +2184,7 @@ runtime·newproc1(FuncVal *fn, byte *argp, int32 narg, int32 nret, void *callerp
        sp -= 4*sizeof(uintreg); // extra space in case of reads slightly beyond frame
        sp -= siz;
        runtime·memmove(sp, argp, narg);
-       if(thechar == '5') {
+       if(thechar == '5' || thechar == '9') {
                // caller's LR
                sp -= sizeof(void*);
                *(void**)sp = nil;