Skip to content

Commit 4e49e56

Browse files
MatthieuSarterianlancetaylor
authored andcommitted
runtime: add getproccount implementation for AIX
Issue golang/go#19200 Change-Id: I43e7a89bc4e94b5b3a91a77484ba85653ede5d5a Reviewed-on: https://go-review.googlesource.com/37844 Reviewed-by: Ian Lance Taylor <iant@golang.org>
1 parent 35d577f commit 4e49e56

File tree

3 files changed

+37
-8
lines changed

3 files changed

+37
-8
lines changed

libgo/Makefile.am

+4
Original file line numberDiff line numberDiff line change
@@ -425,13 +425,17 @@ else
425425
if LIBGO_IS_NETBSD
426426
runtime_getncpu_file = runtime/getncpu-bsd.c
427427
else
428+
if LIBGO_IS_AIX
429+
runtime_getncpu_file = runtime/getncpu-aix.c
430+
else
428431
runtime_getncpu_file = runtime/getncpu-none.c
429432
endif
430433
endif
431434
endif
432435
endif
433436
endif
434437
endif
438+
endif
435439

436440
runtime_files = \
437441
runtime/aeshash.c \

libgo/Makefile.in

+18-8
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,10 @@ POST_UNINSTALL = :
6262
build_triplet = @build@
6363
host_triplet = @host@
6464
target_triplet = @target@
65-
@GOC_IS_LLGO_TRUE@am__append_1 = libgo-llgo.la libgobegin-llgo.a
66-
@GOC_IS_LLGO_FALSE@am__append_2 = libgo.la libgobegin.a
65+
@USING_SPLIT_STACK_TRUE@am__append_1 = -XCClinker $(SPLIT_STACK)
66+
@LIBGO_IS_AIX_TRUE@am__append_2 = -Wl,-bbigtoc
67+
@GOC_IS_LLGO_TRUE@am__append_3 = libgo-llgo.la libgobegin-llgo.a
68+
@GOC_IS_LLGO_FALSE@am__append_4 = libgo.la libgobegin.a
6769
subdir = .
6870
DIST_COMMON = README $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
6971
$(top_srcdir)/configure $(am__configure_deps) \
@@ -183,7 +185,8 @@ libgo_llgo_la_DEPENDENCIES = $(am__DEPENDENCIES_4)
183185
@LIBGO_IS_LINUX_FALSE@am__objects_2 = thread-sema.lo
184186
@LIBGO_IS_LINUX_TRUE@am__objects_2 = thread-linux.lo
185187
@LIBGO_IS_RTEMS_TRUE@am__objects_3 = rtems-task-variable-add.lo
186-
@LIBGO_IS_DARWIN_FALSE@@LIBGO_IS_FREEBSD_FALSE@@LIBGO_IS_IRIX_FALSE@@LIBGO_IS_LINUX_FALSE@@LIBGO_IS_NETBSD_FALSE@@LIBGO_IS_SOLARIS_FALSE@am__objects_4 = getncpu-none.lo
188+
@LIBGO_IS_AIX_FALSE@@LIBGO_IS_DARWIN_FALSE@@LIBGO_IS_FREEBSD_FALSE@@LIBGO_IS_IRIX_FALSE@@LIBGO_IS_LINUX_FALSE@@LIBGO_IS_NETBSD_FALSE@@LIBGO_IS_SOLARIS_FALSE@am__objects_4 = getncpu-none.lo
189+
@LIBGO_IS_AIX_TRUE@@LIBGO_IS_DARWIN_FALSE@@LIBGO_IS_FREEBSD_FALSE@@LIBGO_IS_IRIX_FALSE@@LIBGO_IS_LINUX_FALSE@@LIBGO_IS_NETBSD_FALSE@@LIBGO_IS_SOLARIS_FALSE@am__objects_4 = getncpu-aix.lo
187190
@LIBGO_IS_DARWIN_FALSE@@LIBGO_IS_FREEBSD_FALSE@@LIBGO_IS_IRIX_FALSE@@LIBGO_IS_LINUX_FALSE@@LIBGO_IS_NETBSD_TRUE@@LIBGO_IS_SOLARIS_FALSE@am__objects_4 = getncpu-bsd.lo
188191
@LIBGO_IS_DARWIN_FALSE@@LIBGO_IS_FREEBSD_TRUE@@LIBGO_IS_IRIX_FALSE@@LIBGO_IS_LINUX_FALSE@@LIBGO_IS_SOLARIS_FALSE@am__objects_4 = getncpu-bsd.lo
189192
@LIBGO_IS_DARWIN_FALSE@@LIBGO_IS_IRIX_FALSE@@LIBGO_IS_LINUX_FALSE@@LIBGO_IS_SOLARIS_TRUE@am__objects_4 = getncpu-solaris.lo
@@ -462,9 +465,7 @@ AM_CFLAGS = -fexceptions -fnon-call-exceptions -fplan9-extensions \
462465
-I $(srcdir)/../libgcc -I $(srcdir)/../libbacktrace \
463466
-I $(MULTIBUILDTOP)../../gcc/include
464467

465-
AM_LDFLAGS =
466-
@USING_SPLIT_STACK_TRUE@AM_LDFLAGS = -XCClinker $(SPLIT_STACK)
467-
@LIBGO_IS_AIX_TRUE@AM_LDFLAGS += -Wl,-bbigtoc
468+
AM_LDFLAGS = $(am__append_1) $(am__append_2)
468469

469470
# Multilib support.
470471
MAKEOVERRIDES =
@@ -768,7 +769,8 @@ toolexeclibgounicode_DATA = \
768769
@LIBGO_IS_RTEMS_TRUE@rtems_task_variable_add_file = runtime/rtems-task-variable-add.c
769770
@LIBGO_IS_LINUX_FALSE@runtime_thread_files = runtime/thread-sema.c
770771
@LIBGO_IS_LINUX_TRUE@runtime_thread_files = runtime/thread-linux.c
771-
@LIBGO_IS_DARWIN_FALSE@@LIBGO_IS_FREEBSD_FALSE@@LIBGO_IS_IRIX_FALSE@@LIBGO_IS_LINUX_FALSE@@LIBGO_IS_NETBSD_FALSE@@LIBGO_IS_SOLARIS_FALSE@runtime_getncpu_file = runtime/getncpu-none.c
772+
@LIBGO_IS_AIX_FALSE@@LIBGO_IS_DARWIN_FALSE@@LIBGO_IS_FREEBSD_FALSE@@LIBGO_IS_IRIX_FALSE@@LIBGO_IS_LINUX_FALSE@@LIBGO_IS_NETBSD_FALSE@@LIBGO_IS_SOLARIS_FALSE@runtime_getncpu_file = runtime/getncpu-none.c
773+
@LIBGO_IS_AIX_TRUE@@LIBGO_IS_DARWIN_FALSE@@LIBGO_IS_FREEBSD_FALSE@@LIBGO_IS_IRIX_FALSE@@LIBGO_IS_LINUX_FALSE@@LIBGO_IS_NETBSD_FALSE@@LIBGO_IS_SOLARIS_FALSE@runtime_getncpu_file = runtime/getncpu-aix.c
772774
@LIBGO_IS_DARWIN_FALSE@@LIBGO_IS_FREEBSD_FALSE@@LIBGO_IS_IRIX_FALSE@@LIBGO_IS_LINUX_FALSE@@LIBGO_IS_NETBSD_TRUE@@LIBGO_IS_SOLARIS_FALSE@runtime_getncpu_file = runtime/getncpu-bsd.c
773775
@LIBGO_IS_DARWIN_FALSE@@LIBGO_IS_FREEBSD_TRUE@@LIBGO_IS_IRIX_FALSE@@LIBGO_IS_LINUX_FALSE@@LIBGO_IS_SOLARIS_FALSE@runtime_getncpu_file = runtime/getncpu-bsd.c
774776
@LIBGO_IS_DARWIN_FALSE@@LIBGO_IS_IRIX_FALSE@@LIBGO_IS_LINUX_FALSE@@LIBGO_IS_SOLARIS_TRUE@runtime_getncpu_file = runtime/getncpu-solaris.c
@@ -1136,7 +1138,7 @@ CHECK_DEPS = $(toolexeclibgo_DATA) $(toolexeclibgoarchive_DATA) \
11361138
$(toolexeclibgorpc_DATA) $(toolexeclibgoruntime_DATA) \
11371139
$(toolexeclibgosync_DATA) $(toolexeclibgotesting_DATA) \
11381140
$(toolexeclibgotext_DATA) $(toolexeclibgotexttemplate_DATA) \
1139-
$(toolexeclibgounicode_DATA) $(am__append_1) $(am__append_2)
1141+
$(toolexeclibgounicode_DATA) $(am__append_3) $(am__append_4)
11401142

11411143
# Pass -ffp-contract=off, or 386-specific options, when building the
11421144
# math package. MATH_FLAG is defined in configure.ac.
@@ -1483,6 +1485,7 @@ distclean-compile:
14831485

14841486
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aeshash.Plo@am__quote@
14851487
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/env_posix.Plo@am__quote@
1488+
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getncpu-aix.Plo@am__quote@
14861489
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getncpu-bsd.Plo@am__quote@
14871490
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getncpu-irix.Plo@am__quote@
14881491
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getncpu-linux.Plo@am__quote@
@@ -1961,6 +1964,13 @@ getncpu-none.lo: runtime/getncpu-none.c
19611964
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
19621965
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o getncpu-none.lo `test -f 'runtime/getncpu-none.c' || echo '$(srcdir)/'`runtime/getncpu-none.c
19631966

1967+
getncpu-aix.lo: runtime/getncpu-aix.c
1968+
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT getncpu-aix.lo -MD -MP -MF $(DEPDIR)/getncpu-aix.Tpo -c -o getncpu-aix.lo `test -f 'runtime/getncpu-aix.c' || echo '$(srcdir)/'`runtime/getncpu-aix.c
1969+
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/getncpu-aix.Tpo $(DEPDIR)/getncpu-aix.Plo
1970+
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='runtime/getncpu-aix.c' object='getncpu-aix.lo' libtool=yes @AMDEPBACKSLASH@
1971+
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1972+
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o getncpu-aix.lo `test -f 'runtime/getncpu-aix.c' || echo '$(srcdir)/'`runtime/getncpu-aix.c
1973+
19641974
getncpu-bsd.lo: runtime/getncpu-bsd.c
19651975
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT getncpu-bsd.lo -MD -MP -MF $(DEPDIR)/getncpu-bsd.Tpo -c -o getncpu-bsd.lo `test -f 'runtime/getncpu-bsd.c' || echo '$(srcdir)/'`runtime/getncpu-bsd.c
19661976
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/getncpu-bsd.Tpo $(DEPDIR)/getncpu-bsd.Plo

libgo/runtime/getncpu-aix.c

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// Copyright 2012 The Go Authors. All rights reserved.
2+
// Use of this source code is governed by a BSD-style
3+
// license that can be found in the LICENSE file.
4+
5+
#include <sys/types.h>
6+
#include <sys/systemcfg.h>
7+
8+
#include "runtime.h"
9+
#include "defs.h"
10+
11+
int32_t
12+
getproccount(void)
13+
{
14+
return _system_configuration.ncpus;
15+
}

0 commit comments

Comments
 (0)