aboutsummaryrefslogtreecommitdiff
path: root/libgo/runtime/getncpu-linux.c
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2019-08-28 20:39:32 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2019-08-28 20:39:32 +0000
commit32b1d51f16fe56b34e979fcfba4bc74dbd3592a9 (patch)
treecd54b1786061eb18e64ce26e6392df3096b5ba35 /libgo/runtime/getncpu-linux.c
parentc980510a5ab79614fcbaf5f411b1273dc9a8c7ca (diff)
downloadgcc-32b1d51f16fe56b34e979fcfba4bc74dbd3592a9.zip
gcc-32b1d51f16fe56b34e979fcfba4bc74dbd3592a9.tar.gz
gcc-32b1d51f16fe56b34e979fcfba4bc74dbd3592a9.tar.bz2
runtime: move osinit to Go
This is a step toward updating libgo to 1.13. This adds the 1.13 version of the osinit function to Go code, and removes the corresponding code from the C runtime. This should simplify future updates. Some additional 1.13 code was brought in to simplify this change. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/191717 From-SVN: r275010
Diffstat (limited to 'libgo/runtime/getncpu-linux.c')
-rw-r--r--libgo/runtime/getncpu-linux.c36
1 files changed, 0 insertions, 36 deletions
diff --git a/libgo/runtime/getncpu-linux.c b/libgo/runtime/getncpu-linux.c
deleted file mode 100644
index de6606f..0000000
--- a/libgo/runtime/getncpu-linux.c
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2012 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.
-
-#include <features.h>
-#include <sched.h>
-
-// CPU_COUNT is only provided by glibc 2.6 or higher
-#ifndef CPU_COUNT
-#define CPU_COUNT(set) _CPU_COUNT((unsigned int *)(set), sizeof(*(set))/sizeof(unsigned int))
-static int _CPU_COUNT(unsigned int *set, size_t len) {
- int cnt;
-
- cnt = 0;
- while (len--)
- cnt += __builtin_popcount(*set++);
- return cnt;
-}
-#endif
-
-#include "runtime.h"
-#include "defs.h"
-
-int32
-getproccount(void)
-{
- cpu_set_t set;
- int32 r, cnt;
-
- cnt = 0;
- r = sched_getaffinity(0, sizeof(set), &set);
- if(r == 0)
- cnt += CPU_COUNT(&set);
-
- return cnt ? cnt : 1;
-}