func StackInit(u models.Usercorn, args, env []string) error { auxv, err := SetupElfAuxv(u) if err != nil { return err } return posix.StackInit(u, args, env, auxv) }
func StackInit(u models.Usercorn, args, env []string) error { exe := u.Exe() addr, err := u.PushBytes([]byte(exe + "\x00")) if err != nil { return err } var tmp [8]byte auxv, err := u.PackAddr(tmp[:], addr) if err != nil { return err } err = posix.StackInit(u, args, env, auxv) if err != nil { return err } // offset to mach_header at exe[0:] in guest memory textOffset, _, _ := u.Loader().Header() offset := u.Base() + textOffset _, err = u.Push(offset) return err }
func CgcInit(u models.Usercorn, args, env []string) error { // TODO: does CGC even specify argv? // TODO: also, I seem to remember something about mapping in 16kb of random data return posix.StackInit(u, args, env, nil) }
func StackInit(u models.Usercorn, args, env []string) error { return posix.StackInit(u, args, env, nil) }