1#define NPRIVATES 16 2 3GLOBL _tos(SB), $4 4GLOBL _privates(SB), $4 5GLOBL _nprivates(SB), $4 6 7TEXT _mainp(SB), 1, $(3*4+NPRIVATES*4) 8 9 MOVW $setSB(SB), R2 10 11 /* _tos = arg */ 12 MOVW R3, _tos(SB) 13 MOVW $8(SP), R1 14 MOVW R1, _privates(SB) 15 MOVW $NPRIVATES, R1 16 MOVW R1, _nprivates(SB) 17 18 /* _profmain(); */ 19 BL _envsetup(SB) 20 21 /* _tos->prof.pp = _tos->prof.next; */ 22 MOVW _tos+0(SB),R1 23 MOVW 4(R1),R2 24 MOVW R2,(R1) 25 26 /* main(argc, argv, environ); */ 27 MOVW inargc-4(FP), R3 28 MOVW $inargv+0(FP), R4 29 MOVW environ(SB), R5 30 MOVW R3, 4(R1) 31 MOVW R4, 8(R1) 32 MOVW R5, 12(R1) 33 BL main(SB) 34loop: 35 MOVW R3, 4(R1) 36 BL exit(SB) 37 MOVW $_profin(SB), R4 /* force loading of profile */ 38 BR loop 39 40TEXT _savearg(SB), 1, $0 41 RETURN 42 43TEXT _callpc(SB), 1, $0 44 MOVW argp+0(FP), R3 45 MOVW 4(R3), R3 46 RETURN 47