gcc/libgo/runtime/go-nanotime.c
Ian Lance Taylor 35d9424444 runtime: copy runtime package time code from Go 1.7
Fix handling of function values for -fgo-c-header to generate FuncVal*,
    not simply FuncVal.
    
    While we're here change runtime.nanotime to use clock_gettime with
    CLOCK_MONOTONIC, rather than gettimeofday.  This is what the gc library
    does.  It provides nanosecond precision and a monotonic clock.
    
    Reviewed-on: https://go-review.googlesource.com/31232

From-SVN: r241197
2016-10-15 00:29:06 +00:00

22 lines
471 B
C

// Copyright 2009 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.
// Return current time in nanoseconds.
#include <sys/time.h>
#include "runtime.h"
int64 runtime_nanotime (void)
__attribute__ ((no_split_stack));
int64
runtime_nanotime (void)
{
struct timespec ts;
clock_gettime (CLOCK_MONOTONIC, &ts);
return (int64) ts.tv_sec * 1000000000 + (int64) ts.tv_nsec;
}