From 9527bec2660bd847c050fda93a0f0c6dee0800bb Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Wed, 6 Jun 2018 12:45:53 -0700 Subject: [PATCH] cpu: fix gccgo build Current versions of gccgo report a redefinition error for both a declaration and definition, as of https://golang.org/cl/93083. Fix the last change to work with this. Change-Id: Iae6a664fcc9fe97d4e3b7845a05dab3a8ad56830 Reviewed-on: https://go-review.googlesource.com/116776 Run-TryBot: Ian Lance Taylor Reviewed-by: Brad Fitzpatrick TryBot-Result: Gobot Gobot --- cpu/cpu_gc_x86.go | 16 ++++++++++++++++ cpu/cpu_x86.go | 8 -------- 2 files changed, 16 insertions(+), 8 deletions(-) create mode 100644 cpu/cpu_gc_x86.go diff --git a/cpu/cpu_gc_x86.go b/cpu/cpu_gc_x86.go new file mode 100644 index 00000000..f7cb4697 --- /dev/null +++ b/cpu/cpu_gc_x86.go @@ -0,0 +1,16 @@ +// Copyright 2018 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. + +// +build 386 amd64 amd64p32 +// +build !gccgo + +package cpu + +// cpuid is implemented in cpu_x86.s for gc compiler +// and in cpu_gccgo.c for gccgo. +func cpuid(eaxArg, ecxArg uint32) (eax, ebx, ecx, edx uint32) + +// xgetbv with ecx = 0 is implemented in cpu_x86.s for gc compiler +// and in cpu_gccgo.c for gccgo. +func xgetbv() (eax, edx uint32) diff --git a/cpu/cpu_x86.go b/cpu/cpu_x86.go index ffc90d67..71e288b0 100644 --- a/cpu/cpu_x86.go +++ b/cpu/cpu_x86.go @@ -8,14 +8,6 @@ package cpu const cacheLineSize = 64 -// cpuid is implemented in cpu_x86.s for gc compiler -// and in cpu_gccgo.c for gccgo. -func cpuid(eaxArg, ecxArg uint32) (eax, ebx, ecx, edx uint32) - -// xgetbv with ecx = 0 is implemented in cpu_x86.s for gc compiler -// and in cpu_gccgo.c for gccgo. -func xgetbv() (eax, edx uint32) - func init() { maxID, _, _, _ := cpuid(0, 0)