ehdr.phentsize = ELF64PHDRSIZE /* Must be ELF64PHDRSIZE */
ehdr.shentsize = ELF64SHDRSIZE /* Must be ELF64SHDRSIZE */
- // we use EABI on both linux/arm and freebsd/arm.
// 32-bit architectures
case sys.ARM:
- // we use EABI on both linux/arm and freebsd/arm.
- if Headtype == obj.Hlinux || Headtype == obj.Hfreebsd {
+ // we use EABI on linux/arm, freebsd/arm, netbsd/arm.
+ if Headtype == obj.Hlinux || Headtype == obj.Hfreebsd || Headtype == obj.Hnetbsd {
// We set a value here that makes no indication of which
// float ABI the object uses, because this is information
// used by the dynamic linker to compare executables and
type timespec struct {
tv_sec int64
tv_nsec int32
+ _ [4]byte // EABI
}
func (ts *timespec) set_sec(x int32) {
type timeval struct {
tv_sec int64
tv_usec int32
+ _ [4]byte // EABI
}
func (tv *timeval) set_usec(x int32) {
}
type mcontextt struct {
- __gregs [17]uint32
- __fpu [4 + 8*32 + 4]byte // EABI
- // __fpu [4+4*33+4]byte // not EABI
+ __gregs [17]uint32
+ _ [4]byte // EABI
+ __fpu [272]byte // EABI
_mc_tlsbase uint32
+ _ [4]byte // EABI
}
type ucontextt struct {
uc_link *ucontextt
uc_sigmask sigset
uc_stack stackt
+ _ [4]byte // EABI
uc_mcontext mcontextt
__uc_pad [2]int32
}
fflags uint32
data int64
udata *byte
+ _ [4]byte // EABI
}
// created by cgo -cdefs and then converted to Go