// Copyright 2010 The Go Authors.  All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package runtime
#include "runtime.h"

func mal(n uint32) (ret *uint8) {
	ret = mal(n);
}

func GOMAXPROCS(n int32) (ret int32) {
	ret = gomaxprocsfunc(n);
}
