Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
go
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
go
Commits
f02cf199
Commit
f02cf199
authored
Nov 26, 2012
by
Mikio Hara
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
runtime: regenerate defs-files for freebsd
R=minux.ma, jsing CC=golang-dev
https://golang.org/cl/6855080
parent
62f54e12
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
477 additions
and
489 deletions
+477
-489
src/pkg/runtime/defs_freebsd.go
src/pkg/runtime/defs_freebsd.go
+0
-1
src/pkg/runtime/defs_freebsd_386.h
src/pkg/runtime/defs_freebsd_386.h
+157
-161
src/pkg/runtime/defs_freebsd_amd64.h
src/pkg/runtime/defs_freebsd_amd64.h
+168
-172
src/pkg/runtime/defs_freebsd_arm.h
src/pkg/runtime/defs_freebsd_arm.h
+130
-151
src/pkg/runtime/signal_freebsd_arm.c
src/pkg/runtime/signal_freebsd_arm.c
+19
-1
src/pkg/runtime/thread_freebsd.c
src/pkg/runtime/thread_freebsd.c
+3
-3
No files found.
src/pkg/runtime/defs_freebsd.go
View file @
f02cf199
...
@@ -107,7 +107,6 @@ type Rtprio C.struct_rtprio
...
@@ -107,7 +107,6 @@ type Rtprio C.struct_rtprio
type
ThrParam
C
.
struct_thr_param
type
ThrParam
C
.
struct_thr_param
type
Sigaltstack
C
.
struct_sigaltstack
type
Sigaltstack
C
.
struct_sigaltstack
type
Sigset
C
.
struct___sigset
type
Sigset
C
.
struct___sigset
type
Sigval
C
.
union_sigval
type
StackT
C
.
stack_t
type
StackT
C
.
stack_t
type
Siginfo
C
.
siginfo_t
type
Siginfo
C
.
siginfo_t
...
...
src/pkg/runtime/defs_freebsd_386.h
View file @
f02cf199
// godefs -f -m32 defs.c
// Created by cgo -cdefs - DO NOT EDIT
// cgo -cdefs defs_freebsd.go
// MACHINE GENERATED - DO NOT EDIT.
// Constants
enum
{
enum
{
PROT_NONE
=
0
,
PROT_NONE
=
0x0
,
PROT_READ
=
0x1
,
PROT_READ
=
0x1
,
PROT_WRITE
=
0x2
,
PROT_WRITE
=
0x2
,
PROT_EXEC
=
0x4
,
PROT_EXEC
=
0x4
,
MAP_ANON
=
0x1000
,
MAP_PRIVATE
=
0x2
,
MAP_ANON
=
0x1000
,
MAP_FIXED
=
0x10
,
MAP_PRIVATE
=
0x2
,
MADV_FREE
=
0x5
,
MAP_FIXED
=
0x10
,
SA_SIGINFO
=
0x40
,
SA_RESTART
=
0x2
,
MADV_FREE
=
0x5
,
SA_ONSTACK
=
0x1
,
UMTX_OP_WAIT
=
0x2
,
SA_SIGINFO
=
0x40
,
UMTX_OP_WAKE
=
0x3
,
SA_RESTART
=
0x2
,
EINTR
=
0x4
,
SA_ONSTACK
=
0x1
,
SIGHUP
=
0x1
,
SIGINT
=
0x2
,
UMTX_OP_WAIT
=
0x2
,
SIGQUIT
=
0x3
,
UMTX_OP_WAKE
=
0x3
,
SIGILL
=
0x4
,
SIGTRAP
=
0x5
,
EINTR
=
0x4
,
SIGABRT
=
0x6
,
SIGEMT
=
0x7
,
SIGHUP
=
0x1
,
SIGFPE
=
0x8
,
SIGINT
=
0x2
,
SIGKILL
=
0x9
,
SIGQUIT
=
0x3
,
SIGBUS
=
0xa
,
SIGILL
=
0x4
,
SIGSEGV
=
0xb
,
SIGTRAP
=
0x5
,
SIGSYS
=
0xc
,
SIGABRT
=
0x6
,
SIGPIPE
=
0xd
,
SIGEMT
=
0x7
,
SIGALRM
=
0xe
,
SIGFPE
=
0x8
,
SIGTERM
=
0xf
,
SIGKILL
=
0x9
,
SIGURG
=
0x10
,
SIGBUS
=
0xa
,
SIGSTOP
=
0x11
,
SIGSEGV
=
0xb
,
SIGTSTP
=
0x12
,
SIGSYS
=
0xc
,
SIGCONT
=
0x13
,
SIGPIPE
=
0xd
,
SIGCHLD
=
0x14
,
SIGALRM
=
0xe
,
SIGTTIN
=
0x15
,
SIGTERM
=
0xf
,
SIGTTOU
=
0x16
,
SIGURG
=
0x10
,
SIGIO
=
0x17
,
SIGSTOP
=
0x11
,
SIGXCPU
=
0x18
,
SIGTSTP
=
0x12
,
SIGXFSZ
=
0x19
,
SIGCONT
=
0x13
,
SIGVTALRM
=
0x1a
,
SIGCHLD
=
0x14
,
SIGPROF
=
0x1b
,
SIGTTIN
=
0x15
,
SIGWINCH
=
0x1c
,
SIGTTOU
=
0x16
,
SIGINFO
=
0x1d
,
SIGIO
=
0x17
,
SIGUSR1
=
0x1e
,
SIGXCPU
=
0x18
,
SIGUSR2
=
0x1f
,
SIGXFSZ
=
0x19
,
FPE_INTDIV
=
0x2
,
SIGVTALRM
=
0x1a
,
FPE_INTOVF
=
0x1
,
SIGPROF
=
0x1b
,
FPE_FLTDIV
=
0x3
,
SIGWINCH
=
0x1c
,
FPE_FLTOVF
=
0x4
,
SIGINFO
=
0x1d
,
FPE_FLTUND
=
0x5
,
SIGUSR1
=
0x1e
,
FPE_FLTRES
=
0x6
,
SIGUSR2
=
0x1f
,
FPE_FLTINV
=
0x7
,
FPE_FLTSUB
=
0x8
,
FPE_INTDIV
=
0x2
,
BUS_ADRALN
=
0x1
,
FPE_INTOVF
=
0x1
,
BUS_ADRERR
=
0x2
,
FPE_FLTDIV
=
0x3
,
BUS_OBJERR
=
0x3
,
FPE_FLTOVF
=
0x4
,
SEGV_MAPERR
=
0x1
,
FPE_FLTUND
=
0x5
,
SEGV_ACCERR
=
0x2
,
FPE_FLTRES
=
0x6
,
ITIMER_REAL
=
0
,
FPE_FLTINV
=
0x7
,
ITIMER_VIRTUAL
=
0x1
,
FPE_FLTSUB
=
0x8
,
ITIMER_PROF
=
0x2
,
BUS_ADRALN
=
0x1
,
BUS_ADRERR
=
0x2
,
BUS_OBJERR
=
0x3
,
SEGV_MAPERR
=
0x1
,
SEGV_ACCERR
=
0x2
,
ITIMER_REAL
=
0x0
,
ITIMER_VIRTUAL
=
0x1
,
ITIMER_PROF
=
0x2
,
};
};
// Types
typedef
struct
Rtprio
Rtprio
;
typedef
struct
ThrParam
ThrParam
;
typedef
struct
Sigaltstack
Sigaltstack
;
typedef
struct
Sigset
Sigset
;
typedef
struct
StackT
StackT
;
typedef
struct
Siginfo
Siginfo
;
typedef
struct
Mcontext
Mcontext
;
typedef
struct
Ucontext
Ucontext
;
typedef
struct
Timespec
Timespec
;
typedef
struct
Timeval
Timeval
;
typedef
struct
Itimerval
Itimerval
;
#pragma pack on
#pragma pack on
typedef
struct
Rtprio
Rtprio
;
struct
Rtprio
{
struct
Rtprio
{
uint16
type
;
uint16
type
;
uint16
prio
;
uint16
prio
;
};
};
typedef
struct
ThrParam
ThrParam
;
struct
ThrParam
{
struct
ThrParam
{
void
*
start_func
;
void
*
start_func
;
void
*
arg
;
byte
*
arg
;
int8
*
stack_base
;
int8
*
stack_base
;
uint32
stack_size
;
uint32
stack_size
;
int8
*
tls_base
;
int8
*
tls_base
;
uint32
tls_size
;
uint32
tls_size
;
int32
*
child_tid
;
int32
*
child_tid
;
int32
*
parent_tid
;
int32
*
parent_tid
;
int32
flags
;
int32
flags
;
Rtprio
*
rtp
;
Rtprio
*
rtp
;
void
*
spare
[
3
];
void
*
spare
[
3
];
};
};
typedef
struct
Sigaltstack
Sigaltstack
;
struct
Sigaltstack
{
struct
Sigaltstack
{
int8
*
ss_sp
;
int8
*
ss_sp
;
uint32
ss_size
;
uint32
ss_size
;
int32
ss_flags
;
int32
ss_flags
;
};
};
typedef
struct
Sigset
Sigset
;
struct
Sigset
{
struct
Sigset
{
uint32
__bits
[
4
];
uint32
__bits
[
4
];
};
typedef
union
Sigval
Sigval
;
union
Sigval
{
int32
sival_int
;
void
*
sival_ptr
;
int32
sigval_int
;
void
*
sigval_ptr
;
};
};
typedef
struct
StackT
StackT
;
struct
StackT
{
struct
StackT
{
int8
*
ss_sp
;
int8
*
ss_sp
;
uint32
ss_size
;
uint32
ss_size
;
int32
ss_flags
;
int32
ss_flags
;
};
};
typedef
struct
Siginfo
Siginfo
;
struct
Siginfo
{
struct
Siginfo
{
int32
si_signo
;
int32
si_signo
;
int32
si_errno
;
int32
si_errno
;
int32
si_code
;
int32
si_code
;
int32
si_pid
;
int32
si_pid
;
uint32
si_uid
;
uint32
si_uid
;
int32
si_status
;
int32
si_status
;
void
*
si_addr
;
byte
*
si_addr
;
Sigval
si_value
;
byte
si_value
[
4
]
;
byte
_reason
[
32
];
byte
_reason
[
32
];
};
};
typedef
struct
Mcontext
Mcontext
;
struct
Mcontext
{
struct
Mcontext
{
int32
mc_onstack
;
int32
mc_onstack
;
int32
mc_gs
;
int32
mc_gs
;
int32
mc_fs
;
int32
mc_fs
;
int32
mc_es
;
int32
mc_es
;
int32
mc_ds
;
int32
mc_ds
;
int32
mc_edi
;
int32
mc_edi
;
int32
mc_esi
;
int32
mc_esi
;
int32
mc_ebp
;
int32
mc_ebp
;
int32
mc_isp
;
int32
mc_isp
;
int32
mc_ebx
;
int32
mc_ebx
;
int32
mc_edx
;
int32
mc_edx
;
int32
mc_ecx
;
int32
mc_ecx
;
int32
mc_eax
;
int32
mc_eax
;
int32
mc_trapno
;
int32
mc_trapno
;
int32
mc_err
;
int32
mc_err
;
int32
mc_eip
;
int32
mc_eip
;
int32
mc_cs
;
int32
mc_cs
;
int32
mc_eflags
;
int32
mc_eflags
;
int32
mc_esp
;
int32
mc_esp
;
int32
mc_ss
;
int32
mc_ss
;
int32
mc_len
;
int32
mc_len
;
int32
mc_fpformat
;
int32
mc_fpformat
;
int32
mc_ownedfp
;
int32
mc_ownedfp
;
int32
mc_spare1
[
1
];
int32
mc_spare1
[
1
];
int32
mc_fpstate
[
128
];
int32
mc_fpstate
[
128
];
int32
mc_fsbase
;
int32
mc_fsbase
;
int32
mc_gsbase
;
int32
mc_gsbase
;
int32
mc_spare2
[
6
];
int32
mc_spare2
[
6
];
};
};
typedef
struct
Ucontext
Ucontext
;
struct
Ucontext
{
struct
Ucontext
{
Sigset
uc_sigmask
;
Sigset
uc_sigmask
;
Mcontext
uc_mcontext
;
Mcontext
uc_mcontext
;
Ucontext
*
uc_link
;
Ucontext
*
uc_link
;
StackT
uc_stack
;
StackT
uc_stack
;
int32
uc_flags
;
int32
uc_flags
;
int32
__spare__
[
4
];
int32
__spare__
[
4
];
byte
pad_godefs
_0
[
12
];
byte
Pad_cgo
_0
[
12
];
};
};
typedef
struct
Timespec
Timespec
;
struct
Timespec
{
struct
Timespec
{
int32
tv_sec
;
int32
tv_sec
;
int32
tv_nsec
;
int32
tv_nsec
;
};
};
typedef
struct
Timeval
Timeval
;
struct
Timeval
{
struct
Timeval
{
int32
tv_sec
;
int32
tv_sec
;
int32
tv_usec
;
int32
tv_usec
;
};
};
typedef
struct
Itimerval
Itimerval
;
struct
Itimerval
{
struct
Itimerval
{
Timeval
it_interval
;
Timeval
it_interval
;
Timeval
it_value
;
Timeval
it_value
;
};
};
#pragma pack off
#pragma pack off
src/pkg/runtime/defs_freebsd_amd64.h
View file @
f02cf199
// godefs -f -m64 defs.c
// Created by cgo -cdefs - DO NOT EDIT
// cgo -cdefs defs_freebsd.go
// MACHINE GENERATED - DO NOT EDIT.
// Constants
enum
{
enum
{
PROT_NONE
=
0
,
PROT_NONE
=
0x0
,
PROT_READ
=
0x1
,
PROT_READ
=
0x1
,
PROT_WRITE
=
0x2
,
PROT_WRITE
=
0x2
,
PROT_EXEC
=
0x4
,
PROT_EXEC
=
0x4
,
MAP_ANON
=
0x1000
,
MAP_PRIVATE
=
0x2
,
MAP_ANON
=
0x1000
,
MAP_FIXED
=
0x10
,
MAP_PRIVATE
=
0x2
,
MADV_FREE
=
0x5
,
MAP_FIXED
=
0x10
,
SA_SIGINFO
=
0x40
,
SA_RESTART
=
0x2
,
MADV_FREE
=
0x5
,
SA_ONSTACK
=
0x1
,
UMTX_OP_WAIT
=
0x2
,
SA_SIGINFO
=
0x40
,
UMTX_OP_WAKE
=
0x3
,
SA_RESTART
=
0x2
,
EINTR
=
0x4
,
SA_ONSTACK
=
0x1
,
SIGHUP
=
0x1
,
SIGINT
=
0x2
,
UMTX_OP_WAIT
=
0x2
,
SIGQUIT
=
0x3
,
UMTX_OP_WAKE
=
0x3
,
SIGILL
=
0x4
,
SIGTRAP
=
0x5
,
EINTR
=
0x4
,
SIGABRT
=
0x6
,
SIGEMT
=
0x7
,
SIGHUP
=
0x1
,
SIGFPE
=
0x8
,
SIGINT
=
0x2
,
SIGKILL
=
0x9
,
SIGQUIT
=
0x3
,
SIGBUS
=
0xa
,
SIGILL
=
0x4
,
SIGSEGV
=
0xb
,
SIGTRAP
=
0x5
,
SIGSYS
=
0xc
,
SIGABRT
=
0x6
,
SIGPIPE
=
0xd
,
SIGEMT
=
0x7
,
SIGALRM
=
0xe
,
SIGFPE
=
0x8
,
SIGTERM
=
0xf
,
SIGKILL
=
0x9
,
SIGURG
=
0x10
,
SIGBUS
=
0xa
,
SIGSTOP
=
0x11
,
SIGSEGV
=
0xb
,
SIGTSTP
=
0x12
,
SIGSYS
=
0xc
,
SIGCONT
=
0x13
,
SIGPIPE
=
0xd
,
SIGCHLD
=
0x14
,
SIGALRM
=
0xe
,
SIGTTIN
=
0x15
,
SIGTERM
=
0xf
,
SIGTTOU
=
0x16
,
SIGURG
=
0x10
,
SIGIO
=
0x17
,
SIGSTOP
=
0x11
,
SIGXCPU
=
0x18
,
SIGTSTP
=
0x12
,
SIGXFSZ
=
0x19
,
SIGCONT
=
0x13
,
SIGVTALRM
=
0x1a
,
SIGCHLD
=
0x14
,
SIGPROF
=
0x1b
,
SIGTTIN
=
0x15
,
SIGWINCH
=
0x1c
,
SIGTTOU
=
0x16
,
SIGINFO
=
0x1d
,
SIGIO
=
0x17
,
SIGUSR1
=
0x1e
,
SIGXCPU
=
0x18
,
SIGUSR2
=
0x1f
,
SIGXFSZ
=
0x19
,
FPE_INTDIV
=
0x2
,
SIGVTALRM
=
0x1a
,
FPE_INTOVF
=
0x1
,
SIGPROF
=
0x1b
,
FPE_FLTDIV
=
0x3
,
SIGWINCH
=
0x1c
,
FPE_FLTOVF
=
0x4
,
SIGINFO
=
0x1d
,
FPE_FLTUND
=
0x5
,
SIGUSR1
=
0x1e
,
FPE_FLTRES
=
0x6
,
SIGUSR2
=
0x1f
,
FPE_FLTINV
=
0x7
,
FPE_FLTSUB
=
0x8
,
FPE_INTDIV
=
0x2
,
BUS_ADRALN
=
0x1
,
FPE_INTOVF
=
0x1
,
BUS_ADRERR
=
0x2
,
FPE_FLTDIV
=
0x3
,
BUS_OBJERR
=
0x3
,
FPE_FLTOVF
=
0x4
,
SEGV_MAPERR
=
0x1
,
FPE_FLTUND
=
0x5
,
SEGV_ACCERR
=
0x2
,
FPE_FLTRES
=
0x6
,
ITIMER_REAL
=
0
,
FPE_FLTINV
=
0x7
,
ITIMER_VIRTUAL
=
0x1
,
FPE_FLTSUB
=
0x8
,
ITIMER_PROF
=
0x2
,
BUS_ADRALN
=
0x1
,
BUS_ADRERR
=
0x2
,
BUS_OBJERR
=
0x3
,
SEGV_MAPERR
=
0x1
,
SEGV_ACCERR
=
0x2
,
ITIMER_REAL
=
0x0
,
ITIMER_VIRTUAL
=
0x1
,
ITIMER_PROF
=
0x2
,
};
};
// Types
typedef
struct
Rtprio
Rtprio
;
typedef
struct
ThrParam
ThrParam
;
typedef
struct
Sigaltstack
Sigaltstack
;
typedef
struct
Sigset
Sigset
;
typedef
struct
StackT
StackT
;
typedef
struct
Siginfo
Siginfo
;
typedef
struct
Mcontext
Mcontext
;
typedef
struct
Ucontext
Ucontext
;
typedef
struct
Timespec
Timespec
;
typedef
struct
Timeval
Timeval
;
typedef
struct
Itimerval
Itimerval
;
#pragma pack on
#pragma pack on
typedef
struct
Rtprio
Rtprio
;
struct
Rtprio
{
struct
Rtprio
{
uint16
type
;
uint16
type
;
uint16
prio
;
uint16
prio
;
};
};
typedef
struct
ThrParam
ThrParam
;
struct
ThrParam
{
struct
ThrParam
{
void
*
start_func
;
void
*
start_func
;
void
*
arg
;
byte
*
arg
;
int8
*
stack_base
;
int8
*
stack_base
;
uint64
stack_size
;
uint64
stack_size
;
int8
*
tls_base
;
int8
*
tls_base
;
uint64
tls_size
;
uint64
tls_size
;
int64
*
child_tid
;
int64
*
child_tid
;
int64
*
parent_tid
;
int64
*
parent_tid
;
int32
flags
;
int32
flags
;
byte
pad_godefs
_0
[
4
];
byte
Pad_cgo
_0
[
4
];
Rtprio
*
rtp
;
Rtprio
*
rtp
;
void
*
spare
[
3
];
void
*
spare
[
3
];
};
};
typedef
struct
Sigaltstack
Sigaltstack
;
struct
Sigaltstack
{
struct
Sigaltstack
{
int8
*
ss_sp
;
int8
*
ss_sp
;
uint64
ss_size
;
uint64
ss_size
;
int32
ss_flags
;
int32
ss_flags
;
byte
pad_godefs
_0
[
4
];
byte
Pad_cgo
_0
[
4
];
};
};
typedef
struct
Sigset
Sigset
;
struct
Sigset
{
struct
Sigset
{
uint32
__bits
[
4
];
uint32
__bits
[
4
];
};
typedef
union
Sigval
Sigval
;
union
Sigval
{
int32
sival_int
;
void
*
sival_ptr
;
int32
sigval_int
;
void
*
sigval_ptr
;
};
};
typedef
struct
StackT
StackT
;
struct
StackT
{
struct
StackT
{
int8
*
ss_sp
;
int8
*
ss_sp
;
uint64
ss_size
;
uint64
ss_size
;
int32
ss_flags
;
int32
ss_flags
;
byte
pad_godefs
_0
[
4
];
byte
Pad_cgo
_0
[
4
];
};
};
typedef
struct
Siginfo
Siginfo
;
struct
Siginfo
{
struct
Siginfo
{
int32
si_signo
;
int32
si_signo
;
int32
si_errno
;
int32
si_errno
;
int32
si_code
;
int32
si_code
;
int32
si_pid
;
int32
si_pid
;
uint32
si_uid
;
uint32
si_uid
;
int32
si_status
;
int32
si_status
;
void
*
si_addr
;
byte
*
si_addr
;
Sigval
si_value
;
byte
si_value
[
8
]
;
byte
_reason
[
40
];
byte
_reason
[
40
];
};
};
typedef
struct
Mcontext
Mcontext
;
struct
Mcontext
{
struct
Mcontext
{
int64
mc_onstack
;
int64
mc_onstack
;
int64
mc_rdi
;
int64
mc_rdi
;
int64
mc_rsi
;
int64
mc_rsi
;
int64
mc_rdx
;
int64
mc_rdx
;
int64
mc_rcx
;
int64
mc_rcx
;
int64
mc_r8
;
int64
mc_r8
;
int64
mc_r9
;
int64
mc_r9
;
int64
mc_rax
;
int64
mc_rax
;
int64
mc_rbx
;
int64
mc_rbx
;
int64
mc_rbp
;
int64
mc_rbp
;
int64
mc_r10
;
int64
mc_r10
;
int64
mc_r11
;
int64
mc_r11
;
int64
mc_r12
;
int64
mc_r12
;
int64
mc_r13
;
int64
mc_r13
;
int64
mc_r14
;
int64
mc_r14
;
int64
mc_r15
;
int64
mc_r15
;
uint32
mc_trapno
;
uint32
mc_trapno
;
uint16
mc_fs
;
uint16
mc_fs
;
uint16
mc_gs
;
uint16
mc_gs
;
int64
mc_addr
;
int64
mc_addr
;
uint32
mc_flags
;
uint32
mc_flags
;
uint16
mc_es
;
uint16
mc_es
;
uint16
mc_ds
;
uint16
mc_ds
;
int64
mc_err
;
int64
mc_err
;
int64
mc_rip
;
int64
mc_rip
;
int64
mc_cs
;
int64
mc_cs
;
int64
mc_rflags
;
int64
mc_rflags
;
int64
mc_rsp
;
int64
mc_rsp
;
int64
mc_ss
;
int64
mc_ss
;
int64
mc_len
;
int64
mc_len
;
int64
mc_fpformat
;
int64
mc_fpformat
;
int64
mc_ownedfp
;
int64
mc_ownedfp
;
int64
mc_fpstate
[
64
];
int64
mc_fpstate
[
64
];
int64
mc_fsbase
;
int64
mc_fsbase
;
int64
mc_gsbase
;
int64
mc_gsbase
;
int64
mc_spare
[
6
];
int64
mc_spare
[
6
];
};
};
typedef
struct
Ucontext
Ucontext
;
struct
Ucontext
{
struct
Ucontext
{
Sigset
uc_sigmask
;
Sigset
uc_sigmask
;
Mcontext
uc_mcontext
;
Mcontext
uc_mcontext
;
Ucontext
*
uc_link
;
Ucontext
*
uc_link
;
StackT
uc_stack
;
StackT
uc_stack
;
int32
uc_flags
;
int32
uc_flags
;
int32
__spare__
[
4
];
int32
__spare__
[
4
];
byte
pad_godefs
_0
[
12
];
byte
Pad_cgo
_0
[
12
];
};
};
typedef
struct
Timespec
Timespec
;
struct
Timespec
{
struct
Timespec
{
int64
tv_sec
;
int64
tv_sec
;
int64
tv_nsec
;
int64
tv_nsec
;
};
};
typedef
struct
Timeval
Timeval
;
struct
Timeval
{
struct
Timeval
{
int64
tv_sec
;
int64
tv_sec
;
int64
tv_usec
;
int64
tv_usec
;
};
};
typedef
struct
Itimerval
Itimerval
;
struct
Itimerval
{
struct
Itimerval
{
Timeval
it_interval
;
Timeval
it_interval
;
Timeval
it_value
;
Timeval
it_value
;
};
};
#pragma pack off
#pragma pack off
src/pkg/runtime/defs_freebsd_arm.h
View file @
f02cf199
// godefs -f -m32 defs.c
// Created by cgo -cdefs - DO NOT EDIT
// cgo -cdefs defs_freebsd.go
// MACHINE GENERATED - DO NOT EDIT.
// Constants
enum
{
enum
{
PROT_NONE
=
0
,
PROT_NONE
=
0x0
,
PROT_READ
=
0x1
,
PROT_READ
=
0x1
,
PROT_WRITE
=
0x2
,
PROT_WRITE
=
0x2
,
PROT_EXEC
=
0x4
,
PROT_EXEC
=
0x4
,
MAP_ANON
=
0x1000
,
MAP_PRIVATE
=
0x2
,
MAP_ANON
=
0x1000
,
MAP_FIXED
=
0x10
,
MAP_PRIVATE
=
0x2
,
MADV_FREE
=
0x5
,
MAP_FIXED
=
0x10
,
SA_SIGINFO
=
0x40
,
SA_RESTART
=
0x2
,
MADV_FREE
=
0x5
,
SA_ONSTACK
=
0x1
,
UMTX_OP_WAIT
=
0x2
,
SA_SIGINFO
=
0x40
,
UMTX_OP_WAKE
=
0x3
,
SA_RESTART
=
0x2
,
EINTR
=
0x4
,
SA_ONSTACK
=
0x1
,
SIGHUP
=
0x1
,
SIGINT
=
0x2
,
UMTX_OP_WAIT
=
0x2
,
SIGQUIT
=
0x3
,
UMTX_OP_WAKE
=
0x3
,
SIGILL
=
0x4
,
SIGTRAP
=
0x5
,
EINTR
=
0x4
,
SIGABRT
=
0x6
,
SIGEMT
=
0x7
,
SIGHUP
=
0x1
,
SIGFPE
=
0x8
,
SIGINT
=
0x2
,
SIGKILL
=
0x9
,
SIGQUIT
=
0x3
,
SIGBUS
=
0xa
,
SIGILL
=
0x4
,
SIGSEGV
=
0xb
,
SIGTRAP
=
0x5
,
SIGSYS
=
0xc
,
SIGABRT
=
0x6
,
SIGPIPE
=
0xd
,
SIGEMT
=
0x7
,
SIGALRM
=
0xe
,
SIGFPE
=
0x8
,
SIGTERM
=
0xf
,
SIGKILL
=
0x9
,
SIGURG
=
0x10
,
SIGBUS
=
0xa
,
SIGSTOP
=
0x11
,
SIGSEGV
=
0xb
,
SIGTSTP
=
0x12
,
SIGSYS
=
0xc
,
SIGCONT
=
0x13
,
SIGPIPE
=
0xd
,
SIGCHLD
=
0x14
,
SIGALRM
=
0xe
,
SIGTTIN
=
0x15
,
SIGTERM
=
0xf
,
SIGTTOU
=
0x16
,
SIGURG
=
0x10
,
SIGIO
=
0x17
,
SIGSTOP
=
0x11
,
SIGXCPU
=
0x18
,
SIGTSTP
=
0x12
,
SIGXFSZ
=
0x19
,
SIGCONT
=
0x13
,
SIGVTALRM
=
0x1a
,
SIGCHLD
=
0x14
,
SIGPROF
=
0x1b
,
SIGTTIN
=
0x15
,
SIGWINCH
=
0x1c
,
SIGTTOU
=
0x16
,
SIGINFO
=
0x1d
,
SIGIO
=
0x17
,
SIGUSR1
=
0x1e
,
SIGXCPU
=
0x18
,
SIGUSR2
=
0x1f
,
SIGXFSZ
=
0x19
,
FPE_INTDIV
=
0x2
,
SIGVTALRM
=
0x1a
,
FPE_INTOVF
=
0x1
,
SIGPROF
=
0x1b
,
FPE_FLTDIV
=
0x3
,
SIGWINCH
=
0x1c
,
FPE_FLTOVF
=
0x4
,
SIGINFO
=
0x1d
,
FPE_FLTUND
=
0x5
,
SIGUSR1
=
0x1e
,
FPE_FLTRES
=
0x6
,
SIGUSR2
=
0x1f
,
FPE_FLTINV
=
0x7
,
FPE_FLTSUB
=
0x8
,
FPE_INTDIV
=
0x2
,
BUS_ADRALN
=
0x1
,
FPE_INTOVF
=
0x1
,
BUS_ADRERR
=
0x2
,
FPE_FLTDIV
=
0x3
,
BUS_OBJERR
=
0x3
,
FPE_FLTOVF
=
0x4
,
SEGV_MAPERR
=
0x1
,
FPE_FLTUND
=
0x5
,
SEGV_ACCERR
=
0x2
,
FPE_FLTRES
=
0x6
,
ITIMER_REAL
=
0
,
FPE_FLTINV
=
0x7
,
ITIMER_VIRTUAL
=
0x1
,
FPE_FLTSUB
=
0x8
,
ITIMER_PROF
=
0x2
,
BUS_ADRALN
=
0x1
,
BUS_ADRERR
=
0x2
,
BUS_OBJERR
=
0x3
,
SEGV_MAPERR
=
0x1
,
SEGV_ACCERR
=
0x2
,
ITIMER_REAL
=
0x0
,
ITIMER_VIRTUAL
=
0x1
,
ITIMER_PROF
=
0x2
,
};
};
// Types
typedef
struct
Rtprio
Rtprio
;
typedef
struct
ThrParam
ThrParam
;
typedef
struct
Sigaltstack
Sigaltstack
;
typedef
struct
Sigset
Sigset
;
typedef
struct
StackT
StackT
;
typedef
struct
Siginfo
Siginfo
;
typedef
struct
Mcontext
Mcontext
;
typedef
struct
Ucontext
Ucontext
;
typedef
struct
Timespec
Timespec
;
typedef
struct
Timeval
Timeval
;
typedef
struct
Itimerval
Itimerval
;
#pragma pack on
#pragma pack on
typedef
struct
Rtprio
Rtprio
;
struct
Rtprio
{
struct
Rtprio
{
uint16
type
;
uint16
type
;
uint16
prio
;
uint16
prio
;
};
};
typedef
struct
ThrParam
ThrParam
;
struct
ThrParam
{
struct
ThrParam
{
void
*
start_func
;
void
*
start_func
;
void
*
arg
;
byte
*
arg
;
int8
*
stack_base
;
uint8
*
stack_base
;
uint32
stack_size
;
uint32
stack_size
;
int8
*
tls_base
;
uint8
*
tls_base
;
uint32
tls_size
;
uint32
tls_size
;
int32
*
child_tid
;
int32
*
child_tid
;
int32
*
parent_tid
;
int32
*
parent_tid
;
int32
flags
;
int32
flags
;
Rtprio
*
rtp
;
Rtprio
*
rtp
;
void
*
spare
[
3
];
void
*
spare
[
3
];
};
};
typedef
struct
Sigaltstack
Sigaltstack
;
struct
Sigaltstack
{
struct
Sigaltstack
{
int8
*
ss_sp
;
uint8
*
ss_sp
;
uint32
ss_size
;
uint32
ss_size
;
int32
ss_flags
;
int32
ss_flags
;
};
};
typedef
struct
Sigset
Sigset
;
struct
Sigset
{
struct
Sigset
{
uint32
__bits
[
4
];
uint32
__bits
[
4
];
};
typedef
union
Sigval
Sigval
;
union
Sigval
{
int32
sival_int
;
void
*
sival_ptr
;
int32
sigval_int
;
void
*
sigval_ptr
;
};
};
typedef
struct
StackT
StackT
;
struct
StackT
{
struct
StackT
{
int8
*
ss_sp
;
uint8
*
ss_sp
;
uint32
ss_size
;
uint32
ss_size
;
int32
ss_flags
;
int32
ss_flags
;
};
};
typedef
struct
Siginfo
Siginfo
;
struct
Siginfo
{
struct
Siginfo
{
int32
si_signo
;
int32
si_signo
;
int32
si_errno
;
int32
si_errno
;
int32
si_code
;
int32
si_code
;
int32
si_pid
;
int32
si_pid
;
uint32
si_uid
;
uint32
si_uid
;
int32
si_status
;
int32
si_status
;
void
*
si_addr
;
byte
*
si_addr
;
Sigval
si_value
;
byte
si_value
[
4
]
;
byte
_reason
[
32
];
byte
_reason
[
32
];
};
};
typedef
struct
Mcontext
Mcontext
;
struct
Mcontext
{
struct
Mcontext
{
uint32
r0
;
uint32
__gregs
[
17
];
uint32
r1
;
byte
__fpu
[
140
];
uint32
r2
;
uint32
r3
;
uint32
r4
;
uint32
r5
;
uint32
r6
;
uint32
r7
;
uint32
r8
;
uint32
r9
;
uint32
r10
;
uint32
r11
;
uint32
r12
;
uint32
r13
;
uint32
r14
;
uint32
r15
;
uint32
cpsr
;
uint32
_pad
[
1
+
33
+
1
];
// union __fpu
};
};
typedef
struct
Ucontext
Ucontext
;
struct
Ucontext
{
struct
Ucontext
{
Sigset
uc_sigmask
;
Sigset
uc_sigmask
;
Mcontext
uc_mcontext
;
Mcontext
uc_mcontext
;
Ucontext
*
uc_link
;
Ucontext
*
uc_link
;
StackT
uc_stack
;
StackT
uc_stack
;
int32
uc_flags
;
int32
uc_flags
;
int32
__spare__
[
4
];
int32
__spare__
[
4
];
byte
pad_godefs_0
[
12
];
};
};
typedef
struct
Timespec
Timespec
;
struct
Timespec
{
struct
Timespec
{
int64
tv_sec
;
// FreeBSD/ARM uses int64 for time_t
int64
tv_sec
;
int32
tv_nsec
;
int32
tv_nsec
;
};
};
typedef
struct
Timeval
Timeval
;
struct
Timeval
{
struct
Timeval
{
int64
tv_sec
;
// FreeBSD/ARM uses int64 for time_t
int64
tv_sec
;
int32
tv_usec
;
int32
tv_usec
;
};
};
typedef
struct
Itimerval
Itimerval
;
struct
Itimerval
{
struct
Itimerval
{
Timeval
it_interval
;
Timeval
it_interval
;
Timeval
it_value
;
Timeval
it_value
;
};
};
#pragma pack off
#pragma pack off
src/pkg/runtime/signal_freebsd_arm.c
View file @
f02cf199
...
@@ -7,6 +7,24 @@
...
@@ -7,6 +7,24 @@
#include "signals_GOOS.h"
#include "signals_GOOS.h"
#include "os_GOOS.h"
#include "os_GOOS.h"
#define r0 __gregs[0]
#define r1 __gregs[1]
#define r2 __gregs[2]
#define r3 __gregs[3]
#define r4 __gregs[4]
#define r5 __gregs[5]
#define r6 __gregs[6]
#define r7 __gregs[7]
#define r8 __gregs[8]
#define r9 __gregs[9]
#define r10 __gregs[10]
#define r11 __gregs[11]
#define r12 __gregs[12]
#define r13 __gregs[13]
#define r14 __gregs[14]
#define r15 __gregs[15]
#define cpsr __gregs[16]
void
void
runtime
·
dumpregs
(
Mcontext
*
r
)
runtime
·
dumpregs
(
Mcontext
*
r
)
{
{
...
@@ -118,7 +136,7 @@ runtime·signalstack(byte *p, int32 n)
...
@@ -118,7 +136,7 @@ runtime·signalstack(byte *p, int32 n)
{
{
Sigaltstack
st
;
Sigaltstack
st
;
st
.
ss_sp
=
(
int8
*
)
p
;
st
.
ss_sp
=
(
u
int8
*
)
p
;
st
.
ss_size
=
n
;
st
.
ss_size
=
n
;
st
.
ss_flags
=
0
;
st
.
ss_flags
=
0
;
runtime
·
sigaltstack
(
&
st
,
nil
);
runtime
·
sigaltstack
(
&
st
,
nil
);
...
...
src/pkg/runtime/thread_freebsd.c
View file @
f02cf199
...
@@ -94,12 +94,12 @@ runtime·newosproc(M *m, G *g, void *stk, void (*fn)(void))
...
@@ -94,12 +94,12 @@ runtime·newosproc(M *m, G *g, void *stk, void (*fn)(void))
runtime
·
memclr
((
byte
*
)
&
param
,
sizeof
param
);
runtime
·
memclr
((
byte
*
)
&
param
,
sizeof
param
);
param
.
start_func
=
runtime
·
thr_start
;
param
.
start_func
=
runtime
·
thr_start
;
param
.
arg
=
m
;
param
.
arg
=
(
byte
*
)
m
;
param
.
stack_base
=
(
int8
*
)
g
->
stackbase
;
param
.
stack_base
=
(
void
*
)
g
->
stackbase
;
param
.
stack_size
=
(
byte
*
)
stk
-
(
byte
*
)
g
->
stackbase
;
param
.
stack_size
=
(
byte
*
)
stk
-
(
byte
*
)
g
->
stackbase
;
param
.
child_tid
=
(
intptr
*
)
&
m
->
procid
;
param
.
child_tid
=
(
intptr
*
)
&
m
->
procid
;
param
.
parent_tid
=
nil
;
param
.
parent_tid
=
nil
;
param
.
tls_base
=
(
int8
*
)
&
m
->
tls
[
0
];
param
.
tls_base
=
(
void
*
)
&
m
->
tls
[
0
];
param
.
tls_size
=
sizeof
m
->
tls
;
param
.
tls_size
=
sizeof
m
->
tls
;
m
->
tls
[
0
]
=
m
->
id
;
// so 386 asm can find it
m
->
tls
[
0
]
=
m
->
id
;
// so 386 asm can find it
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment