sysutils/datadog-agent: Fix build on aarch64

Approved by:	portmgr (tier-2 blanket)
This commit is contained in:
Mikael Urankar 2020-12-23 17:24:48 +00:00
parent b684647937
commit a49b83983c
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=559005

View File

@ -0,0 +1,410 @@
https://github.com/shirou/gopsutil/commit/270f6afc220d6dcbc9e1d14e0f6f65fb4d29dfaf
From 270f6afc220d6dcbc9e1d14e0f6f65fb4d29dfaf Mon Sep 17 00:00:00 2001
From: Dmitri Goutnik <dg@syrec.org>
Date: Tue, 17 Dec 2019 02:51:35 -0500
Subject: [PATCH] Add support for freebsd/arm64
---
Gopkg.lock | 4 +-
cpu/cpu_freebsd_arm64.go | 9 ++
disk/disk_freebsd_arm64.go | 115 ++++++++++++++++++
host/host_freebsd_arm64.go | 39 ++++++
process/process_freebsd_arm64.go | 201 +++++++++++++++++++++++++++++++
6 files changed, 369 insertions(+), 2 deletions(-)
create mode 100644 cpu/cpu_freebsd_arm64.go
create mode 100644 disk/disk_freebsd_arm64.go
create mode 100644 host/host_freebsd_arm64.go
create mode 100644 process/process_freebsd_arm64.go
diff --git a/cpu/cpu_freebsd_arm64.go b/cpu/cpu_freebsd_arm64.go
new file mode 100644
index 00000000..57e14528
--- /dev/null
+++ vendor/github.com/DataDog/gopsutil/cpu/cpu_freebsd_arm64.go
@@ -0,0 +1,9 @@
+package cpu
+
+type cpuTimes struct {
+ User uint64
+ Nice uint64
+ Sys uint64
+ Intr uint64
+ Idle uint64
+}
diff --git a/disk/disk_freebsd_arm64.go b/disk/disk_freebsd_arm64.go
new file mode 100644
index 00000000..aff604c0
--- /dev/null
+++ vendor/github.com/DataDog/gopsutil/disk/disk_freebsd_arm64.go
@@ -0,0 +1,115 @@
+// +build freebsd
+// +build arm64
+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
+// cgo -godefs disk/types_freebsd.go
+
+package disk
+
+const (
+ sizeofPtr = 0x8
+ sizeofShort = 0x2
+ sizeofInt = 0x4
+ sizeofLong = 0x8
+ sizeofLongLong = 0x8
+ sizeofLongDouble = 0x8
+
+ DEVSTAT_NO_DATA = 0x00
+ DEVSTAT_READ = 0x01
+ DEVSTAT_WRITE = 0x02
+ DEVSTAT_FREE = 0x03
+
+ MNT_RDONLY = 0x00000001
+ MNT_SYNCHRONOUS = 0x00000002
+ MNT_NOEXEC = 0x00000004
+ MNT_NOSUID = 0x00000008
+ MNT_UNION = 0x00000020
+ MNT_ASYNC = 0x00000040
+ MNT_SUIDDIR = 0x00100000
+ MNT_SOFTDEP = 0x00200000
+ MNT_NOSYMFOLLOW = 0x00400000
+ MNT_GJOURNAL = 0x02000000
+ MNT_MULTILABEL = 0x04000000
+ MNT_ACLS = 0x08000000
+ MNT_NOATIME = 0x10000000
+ MNT_NOCLUSTERR = 0x40000000
+ MNT_NOCLUSTERW = 0x80000000
+ MNT_NFS4ACLS = 0x00000010
+
+ MNT_WAIT = 1
+ MNT_NOWAIT = 2
+ MNT_LAZY = 3
+ MNT_SUSPEND = 4
+)
+
+const (
+ sizeOfDevstat = 0x120
+)
+
+type (
+ _C_short int16
+ _C_int int32
+ _C_long int64
+ _C_long_long int64
+ _C_long_double int64
+)
+
+type Statfs struct {
+ Version uint32
+ Type uint32
+ Flags uint64
+ Bsize uint64
+ Iosize uint64
+ Blocks uint64
+ Bfree uint64
+ Bavail int64
+ Files uint64
+ Ffree int64
+ Syncwrites uint64
+ Asyncwrites uint64
+ Syncreads uint64
+ Asyncreads uint64
+ Spare [10]uint64
+ Namemax uint32
+ Owner uint32
+ Fsid Fsid
+ Charspare [80]uint8
+ Fstypename [16]int8
+ Mntfromname [1024]int8
+ Mntonname [1024]int8
+}
+type Fsid struct {
+ Val [2]int32
+}
+
+type Devstat struct {
+ Sequence0 uint32
+ Allocated int32
+ Start_count uint32
+ End_count uint32
+ Busy_from Bintime
+ Dev_links _Ctype_struct___0
+ Device_number uint32
+ Device_name [16]int8
+ Unit_number int32
+ Bytes [4]uint64
+ Operations [4]uint64
+ Duration [4]Bintime
+ Busy_time Bintime
+ Creation_time Bintime
+ Block_size uint32
+ Tag_types [3]uint64
+ Flags uint32
+ Device_type uint32
+ Priority uint32
+ Id *byte
+ Sequence1 uint32
+ Pad_cgo_0 [4]byte
+}
+type Bintime struct {
+ Sec int64
+ Frac uint64
+}
+
+type _Ctype_struct___0 struct {
+ Empty uint64
+}
diff --git a/host/host_freebsd_arm64.go b/host/host_freebsd_arm64.go
diff --git a/process/process_freebsd_arm64.go b/process/process_freebsd_arm64.go
new file mode 100644
index 00000000..99781d1a
--- /dev/null
+++ vendor/github.com/DataDog/gopsutil/process/process_freebsd_arm64.go
@@ -0,0 +1,201 @@
+// +build freebsd
+// +build arm64
+// Code generated by cmd/cgo -godefs; DO NOT EDIT.
+// cgo -godefs process/types_freebsd.go
+
+package process
+
+const (
+ CTLKern = 1
+ KernProc = 14
+ KernProcPID = 1
+ KernProcProc = 8
+ KernProcPathname = 12
+ KernProcArgs = 7
+)
+
+const (
+ sizeofPtr = 0x8
+ sizeofShort = 0x2
+ sizeofInt = 0x4
+ sizeofLong = 0x8
+ sizeofLongLong = 0x8
+)
+
+const (
+ sizeOfKinfoVmentry = 0x488
+ sizeOfKinfoProc = 0x440
+)
+
+const (
+ SIDL = 1
+ SRUN = 2
+ SSLEEP = 3
+ SSTOP = 4
+ SZOMB = 5
+ SWAIT = 6
+ SLOCK = 7
+)
+
+type (
+ _C_short int16
+ _C_int int32
+ _C_long int64
+ _C_long_long int64
+)
+
+type Timespec struct {
+ Sec int64
+ Nsec int64
+}
+
+type Timeval struct {
+ Sec int64
+ Usec int64
+}
+
+type Rusage struct {
+ Utime Timeval
+ Stime Timeval
+ Maxrss int64
+ Ixrss int64
+ Idrss int64
+ Isrss int64
+ Minflt int64
+ Majflt int64
+ Nswap int64
+ Inblock int64
+ Oublock int64
+ Msgsnd int64
+ Msgrcv int64
+ Nsignals int64
+ Nvcsw int64
+ Nivcsw int64
+}
+
+type Rlimit struct {
+ Cur int64
+ Max int64
+}
+
+type KinfoProc struct {
+ Structsize int32
+ Layout int32
+ Args *int64 /* pargs */
+ Paddr *int64 /* proc */
+ Addr *int64 /* user */
+ Tracep *int64 /* vnode */
+ Textvp *int64 /* vnode */
+ Fd *int64 /* filedesc */
+ Vmspace *int64 /* vmspace */
+ Wchan *byte
+ Pid int32
+ Ppid int32
+ Pgid int32
+ Tpgid int32
+ Sid int32
+ Tsid int32
+ Jobc int16
+ Spare_short1 int16
+ Tdev_freebsd11 uint32
+ Siglist [16]byte /* sigset */
+ Sigmask [16]byte /* sigset */
+ Sigignore [16]byte /* sigset */
+ Sigcatch [16]byte /* sigset */
+ Uid uint32
+ Ruid uint32
+ Svuid uint32
+ Rgid uint32
+ Svgid uint32
+ Ngroups int16
+ Spare_short2 int16
+ Groups [16]uint32
+ Size uint64
+ Rssize int64
+ Swrss int64
+ Tsize int64
+ Dsize int64
+ Ssize int64
+ Xstat uint16
+ Acflag uint16
+ Pctcpu uint32
+ Estcpu uint32
+ Slptime uint32
+ Swtime uint32
+ Cow uint32
+ Runtime uint64
+ Start Timeval
+ Childtime Timeval
+ Flag int64
+ Kiflag int64
+ Traceflag int32
+ Stat int8
+ Nice int8
+ Lock uint8
+ Rqindex uint8
+ Oncpu_old uint8
+ Lastcpu_old uint8
+ Tdname [17]uint8
+ Wmesg [9]uint8
+ Login [18]uint8
+ Lockname [9]uint8
+ Comm [20]int8
+ Emul [17]uint8
+ Loginclass [18]uint8
+ Moretdname [4]uint8
+ Sparestrings [46]uint8
+ Spareints [2]int32
+ Tdev uint64
+ Oncpu int32
+ Lastcpu int32
+ Tracer int32
+ Flag2 int32
+ Fibnum int32
+ Cr_flags uint32
+ Jid int32
+ Numthreads int32
+ Tid int32
+ Pri Priority
+ Rusage Rusage
+ Rusage_ch Rusage
+ Pcb *int64 /* pcb */
+ Kstack *byte
+ Udata *byte
+ Tdaddr *int64 /* thread */
+ Spareptrs [6]*byte
+ Sparelongs [12]int64
+ Sflag int64
+ Tdflags int64
+}
+
+type Priority struct {
+ Class uint8
+ Level uint8
+ Native uint8
+ User uint8
+}
+
+type KinfoVmentry struct {
+ Structsize int32
+ Type int32
+ Start uint64
+ End uint64
+ Offset uint64
+ Vn_fileid uint64
+ Vn_fsid_freebsd11 uint32
+ Flags int32
+ Resident int32
+ Private_resident int32
+ Protection int32
+ Ref_count int32
+ Shadow_count int32
+ Vn_type int32
+ Vn_size uint64
+ Vn_rdev_freebsd11 uint32
+ Vn_mode uint16
+ Status uint16
+ Vn_fsid uint64
+ Vn_rdev uint64
+ X_kve_ispare [8]int32
+ Path [1024]uint8
+}
--- /dev/null
+++ vendor/github.com/DataDog/gopsutil/host/host_freebsd_arm64.go
@@ -0,0 +1,44 @@
+// Created by cgo -godefs - DO NOT EDIT
+// cgo -godefs types_freebsd.go
+
+package host
+
+const (
+ sizeofPtr = 0x8
+ sizeofShort = 0x2
+ sizeofInt = 0x4
+ sizeofLong = 0x8
+ sizeofLongLong = 0x8
+ sizeOfUtmpx = 197 // TODO: why should 197, not 0x118
+)
+
+type (
+ _C_short int16
+ _C_int int32
+ _C_long int64
+ _C_long_long int64
+)
+
+type Utmp struct {
+ Line [8]int8
+ Name [16]int8
+ Host [16]int8
+ Time int32
+}
+
+type Utmpx struct {
+ Type int16
+ Tv Timeval
+ Id [8]int8
+ Pid int32
+ User [32]int8
+ Line [16]int8
+ Host [125]int8
+ // Host [128]int8
+ // X__ut_spare [64]int8
+}
+
+type Timeval struct {
+ Sec [4]byte
+ Usec [3]byte
+}