2009-08-18 20:20:33 -06:00
|
|
|
// mkerrors.sh
|
|
|
|
// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
|
|
|
|
|
2011-12-19 15:42:00 -07:00
|
|
|
// Created by cgo -godefs - DO NOT EDIT
|
|
|
|
// cgo -godefs -- _const.go
|
2009-08-18 20:20:33 -06:00
|
|
|
|
2015-05-14 19:01:52 -06:00
|
|
|
// +build arm,linux
|
|
|
|
|
2009-08-18 20:20:33 -06:00
|
|
|
package syscall
|
|
|
|
|
|
|
|
const (
|
2012-02-13 18:16:57 -07:00
|
|
|
AF_ALG = 0x26
|
2010-05-03 12:11:01 -06:00
|
|
|
AF_APPLETALK = 0x5
|
|
|
|
AF_ASH = 0x12
|
|
|
|
AF_ATMPVC = 0x8
|
|
|
|
AF_ATMSVC = 0x14
|
|
|
|
AF_AX25 = 0x3
|
|
|
|
AF_BLUETOOTH = 0x1f
|
|
|
|
AF_BRIDGE = 0x7
|
2012-02-13 18:16:57 -07:00
|
|
|
AF_CAIF = 0x25
|
2011-05-18 17:33:41 -06:00
|
|
|
AF_CAN = 0x1d
|
2010-05-03 12:11:01 -06:00
|
|
|
AF_DECnet = 0xc
|
|
|
|
AF_ECONET = 0x13
|
|
|
|
AF_FILE = 0x1
|
2011-05-18 17:33:41 -06:00
|
|
|
AF_IEEE802154 = 0x24
|
2010-05-03 12:11:01 -06:00
|
|
|
AF_INET = 0x2
|
|
|
|
AF_INET6 = 0xa
|
|
|
|
AF_IPX = 0x4
|
|
|
|
AF_IRDA = 0x17
|
2010-08-23 04:25:14 -06:00
|
|
|
AF_ISDN = 0x22
|
|
|
|
AF_IUCV = 0x20
|
2010-05-03 12:11:01 -06:00
|
|
|
AF_KEY = 0xf
|
2011-05-18 17:33:41 -06:00
|
|
|
AF_LLC = 0x1a
|
2010-05-03 12:11:01 -06:00
|
|
|
AF_LOCAL = 0x1
|
2012-02-13 18:16:57 -07:00
|
|
|
AF_MAX = 0x27
|
2010-05-03 12:11:01 -06:00
|
|
|
AF_NETBEUI = 0xd
|
|
|
|
AF_NETLINK = 0x10
|
|
|
|
AF_NETROM = 0x6
|
|
|
|
AF_PACKET = 0x11
|
2011-05-18 17:33:41 -06:00
|
|
|
AF_PHONET = 0x23
|
2010-05-03 12:11:01 -06:00
|
|
|
AF_PPPOX = 0x18
|
2011-05-18 17:33:41 -06:00
|
|
|
AF_RDS = 0x15
|
2010-05-03 12:11:01 -06:00
|
|
|
AF_ROSE = 0xb
|
|
|
|
AF_ROUTE = 0x10
|
2010-08-23 04:25:14 -06:00
|
|
|
AF_RXRPC = 0x21
|
2010-05-03 12:11:01 -06:00
|
|
|
AF_SECURITY = 0xe
|
|
|
|
AF_SNA = 0x16
|
2011-05-18 17:33:41 -06:00
|
|
|
AF_TIPC = 0x1e
|
2010-05-03 12:11:01 -06:00
|
|
|
AF_UNIX = 0x1
|
2011-12-19 15:42:00 -07:00
|
|
|
AF_UNSPEC = 0x0
|
2010-05-03 12:11:01 -06:00
|
|
|
AF_WANPIPE = 0x19
|
|
|
|
AF_X25 = 0x9
|
2011-05-26 15:04:58 -06:00
|
|
|
ARPHRD_ADAPT = 0x108
|
|
|
|
ARPHRD_APPLETLK = 0x8
|
|
|
|
ARPHRD_ARCNET = 0x7
|
|
|
|
ARPHRD_ASH = 0x30d
|
|
|
|
ARPHRD_ATM = 0x13
|
|
|
|
ARPHRD_AX25 = 0x3
|
|
|
|
ARPHRD_BIF = 0x307
|
|
|
|
ARPHRD_CHAOS = 0x5
|
|
|
|
ARPHRD_CISCO = 0x201
|
|
|
|
ARPHRD_CSLIP = 0x101
|
|
|
|
ARPHRD_CSLIP6 = 0x103
|
|
|
|
ARPHRD_DDCMP = 0x205
|
|
|
|
ARPHRD_DLCI = 0xf
|
|
|
|
ARPHRD_ECONET = 0x30e
|
|
|
|
ARPHRD_EETHER = 0x2
|
|
|
|
ARPHRD_ETHER = 0x1
|
|
|
|
ARPHRD_EUI64 = 0x1b
|
|
|
|
ARPHRD_FCAL = 0x311
|
|
|
|
ARPHRD_FCFABRIC = 0x313
|
|
|
|
ARPHRD_FCPL = 0x312
|
|
|
|
ARPHRD_FCPP = 0x310
|
|
|
|
ARPHRD_FDDI = 0x306
|
|
|
|
ARPHRD_FRAD = 0x302
|
|
|
|
ARPHRD_HDLC = 0x201
|
|
|
|
ARPHRD_HIPPI = 0x30c
|
|
|
|
ARPHRD_HWX25 = 0x110
|
|
|
|
ARPHRD_IEEE1394 = 0x18
|
|
|
|
ARPHRD_IEEE802 = 0x6
|
|
|
|
ARPHRD_IEEE80211 = 0x321
|
|
|
|
ARPHRD_IEEE80211_PRISM = 0x322
|
|
|
|
ARPHRD_IEEE80211_RADIOTAP = 0x323
|
|
|
|
ARPHRD_IEEE802154 = 0x324
|
|
|
|
ARPHRD_IEEE802154_PHY = 0x325
|
|
|
|
ARPHRD_IEEE802_TR = 0x320
|
|
|
|
ARPHRD_INFINIBAND = 0x20
|
|
|
|
ARPHRD_IPDDP = 0x309
|
|
|
|
ARPHRD_IPGRE = 0x30a
|
|
|
|
ARPHRD_IRDA = 0x30f
|
|
|
|
ARPHRD_LAPB = 0x204
|
|
|
|
ARPHRD_LOCALTLK = 0x305
|
|
|
|
ARPHRD_LOOPBACK = 0x304
|
|
|
|
ARPHRD_METRICOM = 0x17
|
2011-12-19 15:42:00 -07:00
|
|
|
ARPHRD_NETROM = 0x0
|
2011-05-26 15:04:58 -06:00
|
|
|
ARPHRD_NONE = 0xfffe
|
|
|
|
ARPHRD_PIMREG = 0x30b
|
|
|
|
ARPHRD_PPP = 0x200
|
|
|
|
ARPHRD_PRONET = 0x4
|
|
|
|
ARPHRD_RAWHDLC = 0x206
|
|
|
|
ARPHRD_ROSE = 0x10e
|
|
|
|
ARPHRD_RSRVD = 0x104
|
|
|
|
ARPHRD_SIT = 0x308
|
|
|
|
ARPHRD_SKIP = 0x303
|
|
|
|
ARPHRD_SLIP = 0x100
|
|
|
|
ARPHRD_SLIP6 = 0x102
|
|
|
|
ARPHRD_TUNNEL = 0x300
|
|
|
|
ARPHRD_TUNNEL6 = 0x301
|
|
|
|
ARPHRD_VOID = 0xffff
|
|
|
|
ARPHRD_X25 = 0x10f
|
2011-06-20 12:51:34 -06:00
|
|
|
BPF_A = 0x10
|
|
|
|
BPF_ABS = 0x20
|
2011-12-19 15:42:00 -07:00
|
|
|
BPF_ADD = 0x0
|
2011-06-20 12:51:34 -06:00
|
|
|
BPF_ALU = 0x4
|
|
|
|
BPF_AND = 0x50
|
|
|
|
BPF_B = 0x10
|
|
|
|
BPF_DIV = 0x30
|
|
|
|
BPF_H = 0x8
|
2011-12-19 15:42:00 -07:00
|
|
|
BPF_IMM = 0x0
|
2011-06-20 12:51:34 -06:00
|
|
|
BPF_IND = 0x40
|
2011-12-19 15:42:00 -07:00
|
|
|
BPF_JA = 0x0
|
2011-06-20 12:51:34 -06:00
|
|
|
BPF_JEQ = 0x10
|
|
|
|
BPF_JGE = 0x30
|
|
|
|
BPF_JGT = 0x20
|
|
|
|
BPF_JMP = 0x5
|
|
|
|
BPF_JSET = 0x40
|
2011-12-19 15:42:00 -07:00
|
|
|
BPF_K = 0x0
|
|
|
|
BPF_LD = 0x0
|
2011-06-20 12:51:34 -06:00
|
|
|
BPF_LDX = 0x1
|
|
|
|
BPF_LEN = 0x80
|
|
|
|
BPF_LSH = 0x60
|
|
|
|
BPF_MAJOR_VERSION = 0x1
|
|
|
|
BPF_MAXINSNS = 0x1000
|
|
|
|
BPF_MEM = 0x60
|
|
|
|
BPF_MEMWORDS = 0x10
|
|
|
|
BPF_MINOR_VERSION = 0x1
|
|
|
|
BPF_MISC = 0x7
|
|
|
|
BPF_MSH = 0xa0
|
|
|
|
BPF_MUL = 0x20
|
|
|
|
BPF_NEG = 0x80
|
|
|
|
BPF_OR = 0x40
|
|
|
|
BPF_RET = 0x6
|
|
|
|
BPF_RSH = 0x70
|
|
|
|
BPF_ST = 0x2
|
|
|
|
BPF_STX = 0x3
|
|
|
|
BPF_SUB = 0x10
|
2011-12-19 15:42:00 -07:00
|
|
|
BPF_TAX = 0x0
|
2011-06-20 12:51:34 -06:00
|
|
|
BPF_TXA = 0x80
|
2011-12-19 15:42:00 -07:00
|
|
|
BPF_W = 0x0
|
2011-06-20 12:51:34 -06:00
|
|
|
BPF_X = 0x8
|
2013-08-23 14:26:49 -06:00
|
|
|
CLONE_CHILD_CLEARTID = 0x200000
|
|
|
|
CLONE_CHILD_SETTID = 0x1000000
|
|
|
|
CLONE_DETACHED = 0x400000
|
|
|
|
CLONE_FILES = 0x400
|
|
|
|
CLONE_FS = 0x200
|
|
|
|
CLONE_IO = 0x80000000
|
|
|
|
CLONE_NEWIPC = 0x8000000
|
|
|
|
CLONE_NEWNET = 0x40000000
|
|
|
|
CLONE_NEWNS = 0x20000
|
|
|
|
CLONE_NEWPID = 0x20000000
|
|
|
|
CLONE_NEWUSER = 0x10000000
|
|
|
|
CLONE_NEWUTS = 0x4000000
|
|
|
|
CLONE_PARENT = 0x8000
|
|
|
|
CLONE_PARENT_SETTID = 0x100000
|
|
|
|
CLONE_PTRACE = 0x2000
|
|
|
|
CLONE_SETTLS = 0x80000
|
|
|
|
CLONE_SIGHAND = 0x800
|
|
|
|
CLONE_SYSVSEM = 0x40000
|
|
|
|
CLONE_THREAD = 0x10000
|
|
|
|
CLONE_UNTRACED = 0x800000
|
|
|
|
CLONE_VFORK = 0x4000
|
|
|
|
CLONE_VM = 0x100
|
2011-05-18 17:33:41 -06:00
|
|
|
DT_BLK = 0x6
|
|
|
|
DT_CHR = 0x2
|
|
|
|
DT_DIR = 0x4
|
|
|
|
DT_FIFO = 0x1
|
|
|
|
DT_LNK = 0xa
|
|
|
|
DT_REG = 0x8
|
|
|
|
DT_SOCK = 0xc
|
2011-12-19 15:42:00 -07:00
|
|
|
DT_UNKNOWN = 0x0
|
2011-05-18 17:33:41 -06:00
|
|
|
DT_WHT = 0xe
|
2010-05-03 12:11:01 -06:00
|
|
|
ELF_NGREG = 0x12
|
|
|
|
ELF_PRARGSZ = 0x50
|
|
|
|
EPOLLERR = 0x8
|
|
|
|
EPOLLET = -0x80000000
|
|
|
|
EPOLLHUP = 0x10
|
|
|
|
EPOLLIN = 0x1
|
|
|
|
EPOLLMSG = 0x400
|
2010-08-23 04:25:14 -06:00
|
|
|
EPOLLONESHOT = 0x40000000
|
2010-05-03 12:11:01 -06:00
|
|
|
EPOLLOUT = 0x4
|
|
|
|
EPOLLPRI = 0x2
|
|
|
|
EPOLLRDBAND = 0x80
|
2010-08-23 04:25:14 -06:00
|
|
|
EPOLLRDHUP = 0x2000
|
2010-05-03 12:11:01 -06:00
|
|
|
EPOLLRDNORM = 0x40
|
|
|
|
EPOLLWRBAND = 0x200
|
|
|
|
EPOLLWRNORM = 0x100
|
2010-08-23 04:25:14 -06:00
|
|
|
EPOLL_CLOEXEC = 0x80000
|
2010-05-03 12:11:01 -06:00
|
|
|
EPOLL_CTL_ADD = 0x1
|
|
|
|
EPOLL_CTL_DEL = 0x2
|
|
|
|
EPOLL_CTL_MOD = 0x3
|
2010-08-23 04:25:14 -06:00
|
|
|
EPOLL_NONBLOCK = 0x800
|
2011-06-20 12:51:34 -06:00
|
|
|
ETH_P_1588 = 0x88f7
|
|
|
|
ETH_P_8021Q = 0x8100
|
|
|
|
ETH_P_802_2 = 0x4
|
|
|
|
ETH_P_802_3 = 0x1
|
|
|
|
ETH_P_AARP = 0x80f3
|
|
|
|
ETH_P_ALL = 0x3
|
|
|
|
ETH_P_AOE = 0x88a2
|
|
|
|
ETH_P_ARCNET = 0x1a
|
|
|
|
ETH_P_ARP = 0x806
|
|
|
|
ETH_P_ATALK = 0x809b
|
|
|
|
ETH_P_ATMFATE = 0x8884
|
|
|
|
ETH_P_ATMMPOA = 0x884c
|
|
|
|
ETH_P_AX25 = 0x2
|
|
|
|
ETH_P_BPQ = 0x8ff
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
ETH_P_CAIF = 0xf7
|
2011-06-20 12:51:34 -06:00
|
|
|
ETH_P_CAN = 0xc
|
|
|
|
ETH_P_CONTROL = 0x16
|
|
|
|
ETH_P_CUST = 0x6006
|
|
|
|
ETH_P_DDCMP = 0x6
|
|
|
|
ETH_P_DEC = 0x6000
|
|
|
|
ETH_P_DIAG = 0x6005
|
|
|
|
ETH_P_DNA_DL = 0x6001
|
|
|
|
ETH_P_DNA_RC = 0x6002
|
|
|
|
ETH_P_DNA_RT = 0x6003
|
|
|
|
ETH_P_DSA = 0x1b
|
|
|
|
ETH_P_ECONET = 0x18
|
|
|
|
ETH_P_EDSA = 0xdada
|
|
|
|
ETH_P_FCOE = 0x8906
|
|
|
|
ETH_P_FIP = 0x8914
|
|
|
|
ETH_P_HDLC = 0x19
|
|
|
|
ETH_P_IEEE802154 = 0xf6
|
|
|
|
ETH_P_IEEEPUP = 0xa00
|
|
|
|
ETH_P_IEEEPUPAT = 0xa01
|
|
|
|
ETH_P_IP = 0x800
|
|
|
|
ETH_P_IPV6 = 0x86dd
|
|
|
|
ETH_P_IPX = 0x8137
|
|
|
|
ETH_P_IRDA = 0x17
|
|
|
|
ETH_P_LAT = 0x6004
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
ETH_P_LINK_CTL = 0x886c
|
2011-06-20 12:51:34 -06:00
|
|
|
ETH_P_LOCALTALK = 0x9
|
|
|
|
ETH_P_LOOP = 0x60
|
|
|
|
ETH_P_MOBITEX = 0x15
|
|
|
|
ETH_P_MPLS_MC = 0x8848
|
|
|
|
ETH_P_MPLS_UC = 0x8847
|
|
|
|
ETH_P_PAE = 0x888e
|
|
|
|
ETH_P_PAUSE = 0x8808
|
|
|
|
ETH_P_PHONET = 0xf5
|
|
|
|
ETH_P_PPPTALK = 0x10
|
|
|
|
ETH_P_PPP_DISC = 0x8863
|
|
|
|
ETH_P_PPP_MP = 0x8
|
|
|
|
ETH_P_PPP_SES = 0x8864
|
|
|
|
ETH_P_PUP = 0x200
|
|
|
|
ETH_P_PUPAT = 0x201
|
|
|
|
ETH_P_RARP = 0x8035
|
|
|
|
ETH_P_SCA = 0x6007
|
|
|
|
ETH_P_SLOW = 0x8809
|
|
|
|
ETH_P_SNAP = 0x5
|
|
|
|
ETH_P_TEB = 0x6558
|
|
|
|
ETH_P_TIPC = 0x88ca
|
|
|
|
ETH_P_TRAILER = 0x1c
|
|
|
|
ETH_P_TR_802_2 = 0x11
|
|
|
|
ETH_P_WAN_PPP = 0x7
|
|
|
|
ETH_P_WCCP = 0x883e
|
|
|
|
ETH_P_X25 = 0x805
|
2010-05-03 12:11:01 -06:00
|
|
|
FD_CLOEXEC = 0x1
|
|
|
|
FD_SETSIZE = 0x400
|
2011-12-19 15:42:00 -07:00
|
|
|
F_DUPFD = 0x0
|
2010-08-23 04:25:14 -06:00
|
|
|
F_DUPFD_CLOEXEC = 0x406
|
2010-05-03 12:11:01 -06:00
|
|
|
F_EXLCK = 0x4
|
|
|
|
F_GETFD = 0x1
|
|
|
|
F_GETFL = 0x3
|
|
|
|
F_GETLEASE = 0x401
|
|
|
|
F_GETLK = 0xc
|
|
|
|
F_GETLK64 = 0xc
|
|
|
|
F_GETOWN = 0x9
|
2011-05-18 17:33:41 -06:00
|
|
|
F_GETOWN_EX = 0x10
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
F_GETPIPE_SZ = 0x408
|
2010-05-03 12:11:01 -06:00
|
|
|
F_GETSIG = 0xb
|
|
|
|
F_LOCK = 0x1
|
|
|
|
F_NOTIFY = 0x402
|
2011-12-19 15:42:00 -07:00
|
|
|
F_OK = 0x0
|
|
|
|
F_RDLCK = 0x0
|
2010-05-03 12:11:01 -06:00
|
|
|
F_SETFD = 0x2
|
|
|
|
F_SETFL = 0x4
|
|
|
|
F_SETLEASE = 0x400
|
|
|
|
F_SETLK = 0xd
|
|
|
|
F_SETLK64 = 0xd
|
|
|
|
F_SETLKW = 0xe
|
|
|
|
F_SETLKW64 = 0xe
|
|
|
|
F_SETOWN = 0x8
|
2011-05-18 17:33:41 -06:00
|
|
|
F_SETOWN_EX = 0xf
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
F_SETPIPE_SZ = 0x407
|
2010-05-03 12:11:01 -06:00
|
|
|
F_SETSIG = 0xa
|
|
|
|
F_SHLCK = 0x8
|
|
|
|
F_TEST = 0x3
|
|
|
|
F_TLOCK = 0x2
|
2011-12-19 15:42:00 -07:00
|
|
|
F_ULOCK = 0x0
|
2010-05-03 12:11:01 -06:00
|
|
|
F_UNLCK = 0x2
|
|
|
|
F_WRLCK = 0x1
|
2013-05-23 01:22:05 -06:00
|
|
|
ICMPV6_FILTER = 0x1
|
2011-05-18 17:33:41 -06:00
|
|
|
IFA_F_DADFAILED = 0x8
|
|
|
|
IFA_F_DEPRECATED = 0x20
|
|
|
|
IFA_F_HOMEADDRESS = 0x10
|
|
|
|
IFA_F_NODAD = 0x2
|
|
|
|
IFA_F_OPTIMISTIC = 0x4
|
|
|
|
IFA_F_PERMANENT = 0x80
|
|
|
|
IFA_F_SECONDARY = 0x1
|
|
|
|
IFA_F_TEMPORARY = 0x1
|
|
|
|
IFA_F_TENTATIVE = 0x40
|
|
|
|
IFA_MAX = 0x7
|
|
|
|
IFF_ALLMULTI = 0x200
|
|
|
|
IFF_AUTOMEDIA = 0x4000
|
|
|
|
IFF_BROADCAST = 0x2
|
|
|
|
IFF_DEBUG = 0x4
|
|
|
|
IFF_DYNAMIC = 0x8000
|
|
|
|
IFF_LOOPBACK = 0x8
|
|
|
|
IFF_MASTER = 0x400
|
|
|
|
IFF_MULTICAST = 0x1000
|
|
|
|
IFF_NOARP = 0x80
|
|
|
|
IFF_NOTRAILERS = 0x20
|
|
|
|
IFF_NO_PI = 0x1000
|
|
|
|
IFF_ONE_QUEUE = 0x2000
|
|
|
|
IFF_POINTOPOINT = 0x10
|
|
|
|
IFF_PORTSEL = 0x2000
|
|
|
|
IFF_PROMISC = 0x100
|
|
|
|
IFF_RUNNING = 0x40
|
|
|
|
IFF_SLAVE = 0x800
|
|
|
|
IFF_TAP = 0x2
|
|
|
|
IFF_TUN = 0x1
|
|
|
|
IFF_TUN_EXCL = 0x8000
|
|
|
|
IFF_UP = 0x1
|
|
|
|
IFF_VNET_HDR = 0x4000
|
|
|
|
IFNAMSIZ = 0x10
|
2010-09-27 09:44:26 -06:00
|
|
|
IN_ACCESS = 0x1
|
|
|
|
IN_ALL_EVENTS = 0xfff
|
|
|
|
IN_ATTRIB = 0x4
|
|
|
|
IN_CLASSA_HOST = 0xffffff
|
|
|
|
IN_CLASSA_MAX = 0x80
|
|
|
|
IN_CLASSA_NET = 0xff000000
|
|
|
|
IN_CLASSA_NSHIFT = 0x18
|
|
|
|
IN_CLASSB_HOST = 0xffff
|
|
|
|
IN_CLASSB_MAX = 0x10000
|
|
|
|
IN_CLASSB_NET = 0xffff0000
|
|
|
|
IN_CLASSB_NSHIFT = 0x10
|
|
|
|
IN_CLASSC_HOST = 0xff
|
|
|
|
IN_CLASSC_NET = 0xffffff00
|
|
|
|
IN_CLASSC_NSHIFT = 0x8
|
|
|
|
IN_CLOEXEC = 0x80000
|
|
|
|
IN_CLOSE = 0x18
|
|
|
|
IN_CLOSE_NOWRITE = 0x10
|
|
|
|
IN_CLOSE_WRITE = 0x8
|
|
|
|
IN_CREATE = 0x100
|
|
|
|
IN_DELETE = 0x200
|
|
|
|
IN_DELETE_SELF = 0x400
|
|
|
|
IN_DONT_FOLLOW = 0x2000000
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
IN_EXCL_UNLINK = 0x4000000
|
2010-09-27 09:44:26 -06:00
|
|
|
IN_IGNORED = 0x8000
|
|
|
|
IN_ISDIR = 0x40000000
|
|
|
|
IN_LOOPBACKNET = 0x7f
|
|
|
|
IN_MASK_ADD = 0x20000000
|
|
|
|
IN_MODIFY = 0x2
|
|
|
|
IN_MOVE = 0xc0
|
|
|
|
IN_MOVED_FROM = 0x40
|
|
|
|
IN_MOVED_TO = 0x80
|
|
|
|
IN_MOVE_SELF = 0x800
|
|
|
|
IN_NONBLOCK = 0x800
|
|
|
|
IN_ONESHOT = 0x80000000
|
|
|
|
IN_ONLYDIR = 0x1000000
|
|
|
|
IN_OPEN = 0x20
|
|
|
|
IN_Q_OVERFLOW = 0x4000
|
|
|
|
IN_UNMOUNT = 0x2000
|
2010-05-03 12:11:01 -06:00
|
|
|
IPPROTO_AH = 0x33
|
|
|
|
IPPROTO_COMP = 0x6c
|
2010-08-23 04:25:14 -06:00
|
|
|
IPPROTO_DCCP = 0x21
|
2010-05-03 12:11:01 -06:00
|
|
|
IPPROTO_DSTOPTS = 0x3c
|
|
|
|
IPPROTO_EGP = 0x8
|
|
|
|
IPPROTO_ENCAP = 0x62
|
|
|
|
IPPROTO_ESP = 0x32
|
|
|
|
IPPROTO_FRAGMENT = 0x2c
|
|
|
|
IPPROTO_GRE = 0x2f
|
2011-12-19 15:42:00 -07:00
|
|
|
IPPROTO_HOPOPTS = 0x0
|
2010-05-03 12:11:01 -06:00
|
|
|
IPPROTO_ICMP = 0x1
|
|
|
|
IPPROTO_ICMPV6 = 0x3a
|
|
|
|
IPPROTO_IDP = 0x16
|
|
|
|
IPPROTO_IGMP = 0x2
|
2011-12-19 15:42:00 -07:00
|
|
|
IPPROTO_IP = 0x0
|
2010-05-03 12:11:01 -06:00
|
|
|
IPPROTO_IPIP = 0x4
|
|
|
|
IPPROTO_IPV6 = 0x29
|
|
|
|
IPPROTO_MTP = 0x5c
|
|
|
|
IPPROTO_NONE = 0x3b
|
|
|
|
IPPROTO_PIM = 0x67
|
|
|
|
IPPROTO_PUP = 0xc
|
|
|
|
IPPROTO_RAW = 0xff
|
|
|
|
IPPROTO_ROUTING = 0x2b
|
|
|
|
IPPROTO_RSVP = 0x2e
|
2010-08-23 04:25:14 -06:00
|
|
|
IPPROTO_SCTP = 0x84
|
2010-05-03 12:11:01 -06:00
|
|
|
IPPROTO_TCP = 0x6
|
|
|
|
IPPROTO_TP = 0x1d
|
|
|
|
IPPROTO_UDP = 0x11
|
2010-08-23 04:25:14 -06:00
|
|
|
IPPROTO_UDPLITE = 0x88
|
|
|
|
IPV6_2292DSTOPTS = 0x4
|
|
|
|
IPV6_2292HOPLIMIT = 0x8
|
|
|
|
IPV6_2292HOPOPTS = 0x3
|
|
|
|
IPV6_2292PKTINFO = 0x2
|
|
|
|
IPV6_2292PKTOPTIONS = 0x6
|
|
|
|
IPV6_2292RTHDR = 0x5
|
2010-05-03 12:11:01 -06:00
|
|
|
IPV6_ADDRFORM = 0x1
|
|
|
|
IPV6_ADD_MEMBERSHIP = 0x14
|
|
|
|
IPV6_AUTHHDR = 0xa
|
|
|
|
IPV6_CHECKSUM = 0x7
|
|
|
|
IPV6_DROP_MEMBERSHIP = 0x15
|
2010-08-23 04:25:14 -06:00
|
|
|
IPV6_DSTOPTS = 0x3b
|
|
|
|
IPV6_HOPLIMIT = 0x34
|
|
|
|
IPV6_HOPOPTS = 0x36
|
|
|
|
IPV6_IPSEC_POLICY = 0x22
|
|
|
|
IPV6_JOIN_ANYCAST = 0x1b
|
2010-05-03 12:11:01 -06:00
|
|
|
IPV6_JOIN_GROUP = 0x14
|
2010-08-23 04:25:14 -06:00
|
|
|
IPV6_LEAVE_ANYCAST = 0x1c
|
2010-05-03 12:11:01 -06:00
|
|
|
IPV6_LEAVE_GROUP = 0x15
|
|
|
|
IPV6_MTU = 0x18
|
|
|
|
IPV6_MTU_DISCOVER = 0x17
|
|
|
|
IPV6_MULTICAST_HOPS = 0x12
|
|
|
|
IPV6_MULTICAST_IF = 0x11
|
|
|
|
IPV6_MULTICAST_LOOP = 0x13
|
|
|
|
IPV6_NEXTHOP = 0x9
|
2010-08-23 04:25:14 -06:00
|
|
|
IPV6_PKTINFO = 0x32
|
2010-05-03 12:11:01 -06:00
|
|
|
IPV6_PMTUDISC_DO = 0x2
|
2011-12-19 15:42:00 -07:00
|
|
|
IPV6_PMTUDISC_DONT = 0x0
|
2010-08-23 04:25:14 -06:00
|
|
|
IPV6_PMTUDISC_PROBE = 0x3
|
2010-05-03 12:11:01 -06:00
|
|
|
IPV6_PMTUDISC_WANT = 0x1
|
2010-08-23 04:25:14 -06:00
|
|
|
IPV6_RECVDSTOPTS = 0x3a
|
2010-05-03 12:11:01 -06:00
|
|
|
IPV6_RECVERR = 0x19
|
2010-08-23 04:25:14 -06:00
|
|
|
IPV6_RECVHOPLIMIT = 0x33
|
|
|
|
IPV6_RECVHOPOPTS = 0x35
|
|
|
|
IPV6_RECVPKTINFO = 0x31
|
|
|
|
IPV6_RECVRTHDR = 0x38
|
|
|
|
IPV6_RECVTCLASS = 0x42
|
2010-05-03 12:11:01 -06:00
|
|
|
IPV6_ROUTER_ALERT = 0x16
|
2010-08-23 04:25:14 -06:00
|
|
|
IPV6_RTHDR = 0x39
|
|
|
|
IPV6_RTHDRDSTOPTS = 0x37
|
2011-12-19 15:42:00 -07:00
|
|
|
IPV6_RTHDR_LOOSE = 0x0
|
2010-05-03 12:11:01 -06:00
|
|
|
IPV6_RTHDR_STRICT = 0x1
|
2011-12-19 15:42:00 -07:00
|
|
|
IPV6_RTHDR_TYPE_0 = 0x0
|
2010-08-23 04:25:14 -06:00
|
|
|
IPV6_RXDSTOPTS = 0x3b
|
|
|
|
IPV6_RXHOPOPTS = 0x36
|
|
|
|
IPV6_TCLASS = 0x43
|
2010-05-03 12:11:01 -06:00
|
|
|
IPV6_UNICAST_HOPS = 0x10
|
2010-08-23 04:25:14 -06:00
|
|
|
IPV6_V6ONLY = 0x1a
|
|
|
|
IPV6_XFRM_POLICY = 0x23
|
2010-05-03 12:11:01 -06:00
|
|
|
IP_ADD_MEMBERSHIP = 0x23
|
2010-08-23 04:25:14 -06:00
|
|
|
IP_ADD_SOURCE_MEMBERSHIP = 0x27
|
|
|
|
IP_BLOCK_SOURCE = 0x26
|
2010-05-03 12:11:01 -06:00
|
|
|
IP_DEFAULT_MULTICAST_LOOP = 0x1
|
|
|
|
IP_DEFAULT_MULTICAST_TTL = 0x1
|
|
|
|
IP_DF = 0x4000
|
|
|
|
IP_DROP_MEMBERSHIP = 0x24
|
2010-08-23 04:25:14 -06:00
|
|
|
IP_DROP_SOURCE_MEMBERSHIP = 0x28
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
IP_FREEBIND = 0xf
|
2010-05-03 12:11:01 -06:00
|
|
|
IP_HDRINCL = 0x3
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
IP_IPSEC_POLICY = 0x10
|
2010-05-03 12:11:01 -06:00
|
|
|
IP_MAXPACKET = 0xffff
|
|
|
|
IP_MAX_MEMBERSHIPS = 0x14
|
|
|
|
IP_MF = 0x2000
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
IP_MINTTL = 0x15
|
2010-08-23 04:25:14 -06:00
|
|
|
IP_MSFILTER = 0x29
|
2010-05-03 12:11:01 -06:00
|
|
|
IP_MSS = 0x240
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
IP_MTU = 0xe
|
2010-05-03 12:11:01 -06:00
|
|
|
IP_MTU_DISCOVER = 0xa
|
|
|
|
IP_MULTICAST_IF = 0x20
|
|
|
|
IP_MULTICAST_LOOP = 0x22
|
|
|
|
IP_MULTICAST_TTL = 0x21
|
|
|
|
IP_OFFMASK = 0x1fff
|
|
|
|
IP_OPTIONS = 0x4
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
IP_ORIGDSTADDR = 0x14
|
|
|
|
IP_PASSSEC = 0x12
|
2010-05-03 12:11:01 -06:00
|
|
|
IP_PKTINFO = 0x8
|
|
|
|
IP_PKTOPTIONS = 0x9
|
|
|
|
IP_PMTUDISC = 0xa
|
|
|
|
IP_PMTUDISC_DO = 0x2
|
2011-12-19 15:42:00 -07:00
|
|
|
IP_PMTUDISC_DONT = 0x0
|
2010-08-23 04:25:14 -06:00
|
|
|
IP_PMTUDISC_PROBE = 0x3
|
2010-05-03 12:11:01 -06:00
|
|
|
IP_PMTUDISC_WANT = 0x1
|
|
|
|
IP_RECVERR = 0xb
|
|
|
|
IP_RECVOPTS = 0x6
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
IP_RECVORIGDSTADDR = 0x14
|
2010-05-03 12:11:01 -06:00
|
|
|
IP_RECVRETOPTS = 0x7
|
|
|
|
IP_RECVTOS = 0xd
|
|
|
|
IP_RECVTTL = 0xc
|
|
|
|
IP_RETOPTS = 0x7
|
|
|
|
IP_RF = 0x8000
|
|
|
|
IP_ROUTER_ALERT = 0x5
|
|
|
|
IP_TOS = 0x1
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
IP_TRANSPARENT = 0x13
|
2010-05-03 12:11:01 -06:00
|
|
|
IP_TTL = 0x2
|
2010-08-23 04:25:14 -06:00
|
|
|
IP_UNBLOCK_SOURCE = 0x25
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
IP_XFRM_POLICY = 0x11
|
2011-12-19 15:42:00 -07:00
|
|
|
LINUX_REBOOT_CMD_CAD_OFF = 0x0
|
2011-03-09 06:45:08 -07:00
|
|
|
LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef
|
|
|
|
LINUX_REBOOT_CMD_HALT = 0xcdef0123
|
|
|
|
LINUX_REBOOT_CMD_KEXEC = 0x45584543
|
|
|
|
LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc
|
|
|
|
LINUX_REBOOT_CMD_RESTART = 0x1234567
|
|
|
|
LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4
|
|
|
|
LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2
|
|
|
|
LINUX_REBOOT_MAGIC1 = 0xfee1dead
|
|
|
|
LINUX_REBOOT_MAGIC2 = 0x28121969
|
2011-12-19 15:42:00 -07:00
|
|
|
LOCK_EX = 0x2
|
|
|
|
LOCK_NB = 0x4
|
|
|
|
LOCK_SH = 0x1
|
|
|
|
LOCK_UN = 0x8
|
2011-05-18 17:33:41 -06:00
|
|
|
MADV_DOFORK = 0xb
|
|
|
|
MADV_DONTFORK = 0xa
|
|
|
|
MADV_DONTNEED = 0x4
|
2012-02-13 18:16:57 -07:00
|
|
|
MADV_HUGEPAGE = 0xe
|
2011-05-18 17:33:41 -06:00
|
|
|
MADV_HWPOISON = 0x64
|
|
|
|
MADV_MERGEABLE = 0xc
|
2012-02-13 18:16:57 -07:00
|
|
|
MADV_NOHUGEPAGE = 0xf
|
2011-12-19 15:42:00 -07:00
|
|
|
MADV_NORMAL = 0x0
|
2011-05-18 17:33:41 -06:00
|
|
|
MADV_RANDOM = 0x1
|
|
|
|
MADV_REMOVE = 0x9
|
|
|
|
MADV_SEQUENTIAL = 0x2
|
|
|
|
MADV_UNMERGEABLE = 0xd
|
|
|
|
MADV_WILLNEED = 0x3
|
|
|
|
MAP_ANON = 0x20
|
|
|
|
MAP_ANONYMOUS = 0x20
|
|
|
|
MAP_DENYWRITE = 0x800
|
|
|
|
MAP_EXECUTABLE = 0x1000
|
2011-12-19 15:42:00 -07:00
|
|
|
MAP_FILE = 0x0
|
2011-05-18 17:33:41 -06:00
|
|
|
MAP_FIXED = 0x10
|
|
|
|
MAP_GROWSDOWN = 0x100
|
|
|
|
MAP_LOCKED = 0x2000
|
|
|
|
MAP_NONBLOCK = 0x10000
|
|
|
|
MAP_NORESERVE = 0x4000
|
|
|
|
MAP_POPULATE = 0x8000
|
|
|
|
MAP_PRIVATE = 0x2
|
|
|
|
MAP_SHARED = 0x1
|
|
|
|
MAP_TYPE = 0xf
|
|
|
|
MCL_CURRENT = 0x1
|
|
|
|
MCL_FUTURE = 0x2
|
2011-03-09 06:58:47 -07:00
|
|
|
MNT_DETACH = 0x2
|
|
|
|
MNT_EXPIRE = 0x4
|
|
|
|
MNT_FORCE = 0x1
|
2011-05-18 17:33:41 -06:00
|
|
|
MSG_CMSG_CLOEXEC = 0x40000000
|
|
|
|
MSG_CONFIRM = 0x800
|
|
|
|
MSG_CTRUNC = 0x8
|
|
|
|
MSG_DONTROUTE = 0x4
|
|
|
|
MSG_DONTWAIT = 0x40
|
|
|
|
MSG_EOR = 0x80
|
|
|
|
MSG_ERRQUEUE = 0x2000
|
2013-02-27 16:51:51 -07:00
|
|
|
MSG_FASTOPEN = 0x20000000
|
2011-05-18 17:33:41 -06:00
|
|
|
MSG_FIN = 0x200
|
|
|
|
MSG_MORE = 0x8000
|
|
|
|
MSG_NOSIGNAL = 0x4000
|
|
|
|
MSG_OOB = 0x1
|
|
|
|
MSG_PEEK = 0x2
|
|
|
|
MSG_PROXY = 0x10
|
|
|
|
MSG_RST = 0x1000
|
|
|
|
MSG_SYN = 0x400
|
|
|
|
MSG_TRUNC = 0x20
|
|
|
|
MSG_TRYHARD = 0x4
|
|
|
|
MSG_WAITALL = 0x100
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
MSG_WAITFORONE = 0x10000
|
|
|
|
MS_ACTIVE = 0x40000000
|
2011-03-09 06:58:47 -07:00
|
|
|
MS_ASYNC = 0x1
|
|
|
|
MS_BIND = 0x1000
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
MS_DIRSYNC = 0x80
|
2011-03-09 06:58:47 -07:00
|
|
|
MS_INVALIDATE = 0x2
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
MS_I_VERSION = 0x800000
|
|
|
|
MS_KERNMOUNT = 0x400000
|
2011-03-09 06:58:47 -07:00
|
|
|
MS_MANDLOCK = 0x40
|
|
|
|
MS_MGC_MSK = 0xffff0000
|
|
|
|
MS_MGC_VAL = 0xc0ed0000
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
MS_MOVE = 0x2000
|
2011-03-09 06:58:47 -07:00
|
|
|
MS_NOATIME = 0x400
|
|
|
|
MS_NODEV = 0x4
|
|
|
|
MS_NODIRATIME = 0x800
|
|
|
|
MS_NOEXEC = 0x8
|
|
|
|
MS_NOSUID = 0x2
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
MS_NOUSER = -0x80000000
|
|
|
|
MS_POSIXACL = 0x10000
|
|
|
|
MS_PRIVATE = 0x40000
|
2011-03-09 06:58:47 -07:00
|
|
|
MS_RDONLY = 0x1
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
MS_REC = 0x4000
|
|
|
|
MS_RELATIME = 0x200000
|
2011-03-09 06:58:47 -07:00
|
|
|
MS_REMOUNT = 0x20
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
MS_RMT_MASK = 0x800051
|
|
|
|
MS_SHARED = 0x100000
|
|
|
|
MS_SILENT = 0x8000
|
|
|
|
MS_SLAVE = 0x80000
|
|
|
|
MS_STRICTATIME = 0x1000000
|
2011-03-09 06:58:47 -07:00
|
|
|
MS_SYNC = 0x4
|
|
|
|
MS_SYNCHRONOUS = 0x10
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
MS_UNBINDABLE = 0x20000
|
2010-05-03 12:11:01 -06:00
|
|
|
NAME_MAX = 0xff
|
2011-05-18 17:33:41 -06:00
|
|
|
NETLINK_ADD_MEMBERSHIP = 0x1
|
|
|
|
NETLINK_AUDIT = 0x9
|
|
|
|
NETLINK_BROADCAST_ERROR = 0x4
|
|
|
|
NETLINK_CONNECTOR = 0xb
|
|
|
|
NETLINK_DNRTMSG = 0xe
|
|
|
|
NETLINK_DROP_MEMBERSHIP = 0x2
|
|
|
|
NETLINK_ECRYPTFS = 0x13
|
|
|
|
NETLINK_FIB_LOOKUP = 0xa
|
|
|
|
NETLINK_FIREWALL = 0x3
|
|
|
|
NETLINK_GENERIC = 0x10
|
|
|
|
NETLINK_INET_DIAG = 0x4
|
|
|
|
NETLINK_IP6_FW = 0xd
|
|
|
|
NETLINK_ISCSI = 0x8
|
|
|
|
NETLINK_KOBJECT_UEVENT = 0xf
|
|
|
|
NETLINK_NETFILTER = 0xc
|
|
|
|
NETLINK_NFLOG = 0x5
|
|
|
|
NETLINK_NO_ENOBUFS = 0x5
|
|
|
|
NETLINK_PKTINFO = 0x3
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
NETLINK_RDMA = 0x14
|
2011-12-19 15:42:00 -07:00
|
|
|
NETLINK_ROUTE = 0x0
|
2011-05-18 17:33:41 -06:00
|
|
|
NETLINK_SCSITRANSPORT = 0x12
|
|
|
|
NETLINK_SELINUX = 0x7
|
|
|
|
NETLINK_UNUSED = 0x1
|
|
|
|
NETLINK_USERSOCK = 0x2
|
|
|
|
NETLINK_XFRM = 0x6
|
|
|
|
NLA_ALIGNTO = 0x4
|
|
|
|
NLA_F_NESTED = 0x8000
|
|
|
|
NLA_F_NET_BYTEORDER = 0x4000
|
|
|
|
NLA_HDRLEN = 0x4
|
|
|
|
NLMSG_ALIGNTO = 0x4
|
|
|
|
NLMSG_DONE = 0x3
|
|
|
|
NLMSG_ERROR = 0x2
|
|
|
|
NLMSG_HDRLEN = 0x10
|
|
|
|
NLMSG_MIN_TYPE = 0x10
|
|
|
|
NLMSG_NOOP = 0x1
|
|
|
|
NLMSG_OVERRUN = 0x4
|
|
|
|
NLM_F_ACK = 0x4
|
|
|
|
NLM_F_APPEND = 0x800
|
|
|
|
NLM_F_ATOMIC = 0x400
|
|
|
|
NLM_F_CREATE = 0x400
|
|
|
|
NLM_F_DUMP = 0x300
|
|
|
|
NLM_F_ECHO = 0x8
|
|
|
|
NLM_F_EXCL = 0x200
|
|
|
|
NLM_F_MATCH = 0x200
|
|
|
|
NLM_F_MULTI = 0x2
|
|
|
|
NLM_F_REPLACE = 0x100
|
|
|
|
NLM_F_REQUEST = 0x1
|
|
|
|
NLM_F_ROOT = 0x100
|
2010-05-03 12:11:01 -06:00
|
|
|
O_ACCMODE = 0x3
|
|
|
|
O_APPEND = 0x400
|
|
|
|
O_ASYNC = 0x2000
|
2010-08-23 04:25:14 -06:00
|
|
|
O_CLOEXEC = 0x80000
|
2010-05-03 12:11:01 -06:00
|
|
|
O_CREAT = 0x40
|
|
|
|
O_DIRECT = 0x10000
|
|
|
|
O_DIRECTORY = 0x4000
|
|
|
|
O_DSYNC = 0x1000
|
|
|
|
O_EXCL = 0x80
|
|
|
|
O_FSYNC = 0x1000
|
|
|
|
O_LARGEFILE = 0x20000
|
|
|
|
O_NDELAY = 0x800
|
2010-08-23 04:25:14 -06:00
|
|
|
O_NOATIME = 0x40000
|
2010-05-03 12:11:01 -06:00
|
|
|
O_NOCTTY = 0x100
|
|
|
|
O_NOFOLLOW = 0x8000
|
|
|
|
O_NONBLOCK = 0x800
|
2011-12-19 15:42:00 -07:00
|
|
|
O_RDONLY = 0x0
|
2010-05-03 12:11:01 -06:00
|
|
|
O_RDWR = 0x2
|
|
|
|
O_RSYNC = 0x1000
|
|
|
|
O_SYNC = 0x1000
|
|
|
|
O_TRUNC = 0x200
|
|
|
|
O_WRONLY = 0x1
|
2011-05-18 17:33:41 -06:00
|
|
|
PACKET_ADD_MEMBERSHIP = 0x1
|
|
|
|
PACKET_BROADCAST = 0x1
|
|
|
|
PACKET_DROP_MEMBERSHIP = 0x2
|
|
|
|
PACKET_FASTROUTE = 0x6
|
2011-12-19 15:42:00 -07:00
|
|
|
PACKET_HOST = 0x0
|
2011-05-18 17:33:41 -06:00
|
|
|
PACKET_LOOPBACK = 0x5
|
|
|
|
PACKET_MR_ALLMULTI = 0x2
|
2011-12-19 15:42:00 -07:00
|
|
|
PACKET_MR_MULTICAST = 0x0
|
2011-05-18 17:33:41 -06:00
|
|
|
PACKET_MR_PROMISC = 0x1
|
|
|
|
PACKET_MULTICAST = 0x2
|
|
|
|
PACKET_OTHERHOST = 0x3
|
|
|
|
PACKET_OUTGOING = 0x4
|
|
|
|
PACKET_RECV_OUTPUT = 0x3
|
|
|
|
PACKET_RX_RING = 0x5
|
|
|
|
PACKET_STATISTICS = 0x6
|
2013-06-10 12:47:04 -06:00
|
|
|
PRIO_PGRP = 0x1
|
|
|
|
PRIO_PROCESS = 0x0
|
|
|
|
PRIO_USER = 0x2
|
2011-05-18 17:33:41 -06:00
|
|
|
PROT_EXEC = 0x4
|
|
|
|
PROT_GROWSDOWN = 0x1000000
|
|
|
|
PROT_GROWSUP = 0x2000000
|
2011-12-19 15:42:00 -07:00
|
|
|
PROT_NONE = 0x0
|
2011-05-18 17:33:41 -06:00
|
|
|
PROT_READ = 0x1
|
|
|
|
PROT_WRITE = 0x2
|
2012-01-09 05:37:46 -07:00
|
|
|
PR_CAPBSET_DROP = 0x18
|
|
|
|
PR_CAPBSET_READ = 0x17
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
PR_CLEAR_SECCOMP_FILTER = 0x25
|
2012-01-09 05:37:46 -07:00
|
|
|
PR_ENDIAN_BIG = 0x0
|
|
|
|
PR_ENDIAN_LITTLE = 0x1
|
|
|
|
PR_ENDIAN_PPC_LITTLE = 0x2
|
|
|
|
PR_FPEMU_NOPRINT = 0x1
|
|
|
|
PR_FPEMU_SIGFPE = 0x2
|
|
|
|
PR_FP_EXC_ASYNC = 0x2
|
|
|
|
PR_FP_EXC_DISABLED = 0x0
|
|
|
|
PR_FP_EXC_DIV = 0x10000
|
|
|
|
PR_FP_EXC_INV = 0x100000
|
|
|
|
PR_FP_EXC_NONRECOV = 0x1
|
|
|
|
PR_FP_EXC_OVF = 0x20000
|
|
|
|
PR_FP_EXC_PRECISE = 0x3
|
|
|
|
PR_FP_EXC_RES = 0x80000
|
|
|
|
PR_FP_EXC_SW_ENABLE = 0x80
|
|
|
|
PR_FP_EXC_UND = 0x40000
|
|
|
|
PR_GET_DUMPABLE = 0x3
|
|
|
|
PR_GET_ENDIAN = 0x13
|
|
|
|
PR_GET_FPEMU = 0x9
|
|
|
|
PR_GET_FPEXC = 0xb
|
|
|
|
PR_GET_KEEPCAPS = 0x7
|
|
|
|
PR_GET_NAME = 0x10
|
|
|
|
PR_GET_PDEATHSIG = 0x2
|
|
|
|
PR_GET_SECCOMP = 0x15
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
PR_GET_SECCOMP_FILTER = 0x23
|
2012-01-09 05:37:46 -07:00
|
|
|
PR_GET_SECUREBITS = 0x1b
|
|
|
|
PR_GET_TIMERSLACK = 0x1e
|
|
|
|
PR_GET_TIMING = 0xd
|
|
|
|
PR_GET_TSC = 0x19
|
|
|
|
PR_GET_UNALIGN = 0x5
|
|
|
|
PR_MCE_KILL = 0x21
|
|
|
|
PR_MCE_KILL_CLEAR = 0x0
|
|
|
|
PR_MCE_KILL_DEFAULT = 0x2
|
|
|
|
PR_MCE_KILL_EARLY = 0x1
|
|
|
|
PR_MCE_KILL_GET = 0x22
|
|
|
|
PR_MCE_KILL_LATE = 0x0
|
|
|
|
PR_MCE_KILL_SET = 0x1
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
PR_SECCOMP_FILTER_EVENT = 0x1
|
|
|
|
PR_SECCOMP_FILTER_SYSCALL = 0x0
|
2012-01-09 05:37:46 -07:00
|
|
|
PR_SET_DUMPABLE = 0x4
|
|
|
|
PR_SET_ENDIAN = 0x14
|
|
|
|
PR_SET_FPEMU = 0xa
|
|
|
|
PR_SET_FPEXC = 0xc
|
|
|
|
PR_SET_KEEPCAPS = 0x8
|
|
|
|
PR_SET_NAME = 0xf
|
|
|
|
PR_SET_PDEATHSIG = 0x1
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
PR_SET_PTRACER = 0x59616d61
|
2012-01-09 05:37:46 -07:00
|
|
|
PR_SET_SECCOMP = 0x16
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
PR_SET_SECCOMP_FILTER = 0x24
|
2012-01-09 05:37:46 -07:00
|
|
|
PR_SET_SECUREBITS = 0x1c
|
|
|
|
PR_SET_TIMERSLACK = 0x1d
|
|
|
|
PR_SET_TIMING = 0xe
|
|
|
|
PR_SET_TSC = 0x1a
|
|
|
|
PR_SET_UNALIGN = 0x6
|
|
|
|
PR_TASK_PERF_EVENTS_DISABLE = 0x1f
|
|
|
|
PR_TASK_PERF_EVENTS_ENABLE = 0x20
|
|
|
|
PR_TIMING_STATISTICAL = 0x0
|
|
|
|
PR_TIMING_TIMESTAMP = 0x1
|
|
|
|
PR_TSC_ENABLE = 0x1
|
|
|
|
PR_TSC_SIGSEGV = 0x2
|
|
|
|
PR_UNALIGN_NOPRINT = 0x1
|
|
|
|
PR_UNALIGN_SIGBUS = 0x2
|
2010-05-03 12:11:01 -06:00
|
|
|
PTRACE_ATTACH = 0x10
|
|
|
|
PTRACE_CONT = 0x7
|
|
|
|
PTRACE_DETACH = 0x11
|
|
|
|
PTRACE_EVENT_CLONE = 0x3
|
|
|
|
PTRACE_EVENT_EXEC = 0x4
|
|
|
|
PTRACE_EVENT_EXIT = 0x6
|
|
|
|
PTRACE_EVENT_FORK = 0x1
|
|
|
|
PTRACE_EVENT_VFORK = 0x2
|
|
|
|
PTRACE_EVENT_VFORK_DONE = 0x5
|
2010-08-23 04:25:14 -06:00
|
|
|
PTRACE_GETCRUNCHREGS = 0x19
|
2010-05-03 12:11:01 -06:00
|
|
|
PTRACE_GETEVENTMSG = 0x4201
|
|
|
|
PTRACE_GETFPREGS = 0xe
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
PTRACE_GETHBPREGS = 0x1d
|
2010-05-03 12:11:01 -06:00
|
|
|
PTRACE_GETREGS = 0xc
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
PTRACE_GETREGSET = 0x4204
|
2010-05-03 12:11:01 -06:00
|
|
|
PTRACE_GETSIGINFO = 0x4202
|
2010-08-23 04:25:14 -06:00
|
|
|
PTRACE_GETVFPREGS = 0x1b
|
2010-05-03 12:11:01 -06:00
|
|
|
PTRACE_GETWMMXREGS = 0x12
|
|
|
|
PTRACE_GET_THREAD_AREA = 0x16
|
|
|
|
PTRACE_KILL = 0x8
|
|
|
|
PTRACE_OLDSETOPTIONS = 0x15
|
|
|
|
PTRACE_O_MASK = 0x7f
|
|
|
|
PTRACE_O_TRACECLONE = 0x8
|
|
|
|
PTRACE_O_TRACEEXEC = 0x10
|
|
|
|
PTRACE_O_TRACEEXIT = 0x40
|
|
|
|
PTRACE_O_TRACEFORK = 0x2
|
|
|
|
PTRACE_O_TRACESYSGOOD = 0x1
|
|
|
|
PTRACE_O_TRACEVFORK = 0x4
|
|
|
|
PTRACE_O_TRACEVFORKDONE = 0x20
|
|
|
|
PTRACE_PEEKDATA = 0x2
|
|
|
|
PTRACE_PEEKTEXT = 0x1
|
|
|
|
PTRACE_PEEKUSR = 0x3
|
|
|
|
PTRACE_POKEDATA = 0x5
|
|
|
|
PTRACE_POKETEXT = 0x4
|
|
|
|
PTRACE_POKEUSR = 0x6
|
2010-08-23 04:25:14 -06:00
|
|
|
PTRACE_SETCRUNCHREGS = 0x1a
|
2010-05-03 12:11:01 -06:00
|
|
|
PTRACE_SETFPREGS = 0xf
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
PTRACE_SETHBPREGS = 0x1e
|
2010-05-03 12:11:01 -06:00
|
|
|
PTRACE_SETOPTIONS = 0x4200
|
|
|
|
PTRACE_SETREGS = 0xd
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
PTRACE_SETREGSET = 0x4205
|
2010-05-03 12:11:01 -06:00
|
|
|
PTRACE_SETSIGINFO = 0x4203
|
2010-08-23 04:25:14 -06:00
|
|
|
PTRACE_SETVFPREGS = 0x1c
|
2010-05-03 12:11:01 -06:00
|
|
|
PTRACE_SETWMMXREGS = 0x13
|
2010-08-23 04:25:14 -06:00
|
|
|
PTRACE_SET_SYSCALL = 0x17
|
2010-05-03 12:11:01 -06:00
|
|
|
PTRACE_SINGLESTEP = 0x9
|
|
|
|
PTRACE_SYSCALL = 0x18
|
2011-12-19 15:42:00 -07:00
|
|
|
PTRACE_TRACEME = 0x0
|
2011-06-20 12:51:34 -06:00
|
|
|
PT_DATA_ADDR = 0x10004
|
|
|
|
PT_TEXT_ADDR = 0x10000
|
|
|
|
PT_TEXT_END_ADDR = 0x10008
|
2011-12-19 15:42:00 -07:00
|
|
|
RLIMIT_AS = 0x9
|
|
|
|
RLIMIT_CORE = 0x4
|
|
|
|
RLIMIT_CPU = 0x0
|
|
|
|
RLIMIT_DATA = 0x2
|
|
|
|
RLIMIT_FSIZE = 0x1
|
|
|
|
RLIMIT_NOFILE = 0x7
|
|
|
|
RLIMIT_STACK = 0x3
|
|
|
|
RLIM_INFINITY = -0x1
|
2011-05-18 17:33:41 -06:00
|
|
|
RTAX_ADVMSS = 0x8
|
|
|
|
RTAX_CWND = 0x7
|
|
|
|
RTAX_FEATURES = 0xc
|
|
|
|
RTAX_FEATURE_ALLFRAG = 0x8
|
|
|
|
RTAX_FEATURE_ECN = 0x1
|
|
|
|
RTAX_FEATURE_SACK = 0x2
|
|
|
|
RTAX_FEATURE_TIMESTAMP = 0x4
|
|
|
|
RTAX_HOPLIMIT = 0xa
|
|
|
|
RTAX_INITCWND = 0xb
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
RTAX_INITRWND = 0xe
|
2011-05-18 17:33:41 -06:00
|
|
|
RTAX_LOCK = 0x1
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
RTAX_MAX = 0xe
|
2011-05-18 17:33:41 -06:00
|
|
|
RTAX_MTU = 0x2
|
|
|
|
RTAX_REORDERING = 0x9
|
|
|
|
RTAX_RTO_MIN = 0xd
|
|
|
|
RTAX_RTT = 0x4
|
|
|
|
RTAX_RTTVAR = 0x5
|
|
|
|
RTAX_SSTHRESH = 0x6
|
2011-12-19 15:42:00 -07:00
|
|
|
RTAX_UNSPEC = 0x0
|
2011-05-18 17:33:41 -06:00
|
|
|
RTAX_WINDOW = 0x3
|
|
|
|
RTA_ALIGNTO = 0x4
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
RTA_MAX = 0x10
|
2011-09-08 11:59:34 -06:00
|
|
|
RTCF_DIRECTSRC = 0x4000000
|
|
|
|
RTCF_DOREDIRECT = 0x1000000
|
|
|
|
RTCF_LOG = 0x2000000
|
|
|
|
RTCF_MASQ = 0x400000
|
|
|
|
RTCF_NAT = 0x800000
|
|
|
|
RTCF_VALVE = 0x200000
|
|
|
|
RTF_ADDRCLASSMASK = 0xf8000000
|
|
|
|
RTF_ADDRCONF = 0x40000
|
|
|
|
RTF_ALLONLINK = 0x20000
|
|
|
|
RTF_BROADCAST = 0x10000000
|
|
|
|
RTF_CACHE = 0x1000000
|
|
|
|
RTF_DEFAULT = 0x10000
|
|
|
|
RTF_DYNAMIC = 0x10
|
|
|
|
RTF_FLOW = 0x2000000
|
|
|
|
RTF_GATEWAY = 0x2
|
|
|
|
RTF_HOST = 0x4
|
|
|
|
RTF_INTERFACE = 0x40000000
|
|
|
|
RTF_IRTT = 0x100
|
|
|
|
RTF_LINKRT = 0x100000
|
|
|
|
RTF_LOCAL = 0x80000000
|
|
|
|
RTF_MODIFIED = 0x20
|
|
|
|
RTF_MSS = 0x40
|
|
|
|
RTF_MTU = 0x40
|
|
|
|
RTF_MULTICAST = 0x20000000
|
|
|
|
RTF_NAT = 0x8000000
|
|
|
|
RTF_NOFORWARD = 0x1000
|
|
|
|
RTF_NONEXTHOP = 0x200000
|
|
|
|
RTF_NOPMTUDISC = 0x4000
|
|
|
|
RTF_POLICY = 0x4000000
|
|
|
|
RTF_REINSTATE = 0x8
|
|
|
|
RTF_REJECT = 0x200
|
|
|
|
RTF_STATIC = 0x400
|
|
|
|
RTF_THROW = 0x2000
|
|
|
|
RTF_UP = 0x1
|
|
|
|
RTF_WINDOW = 0x80
|
|
|
|
RTF_XRESOLVE = 0x800
|
2011-05-18 17:33:41 -06:00
|
|
|
RTM_BASE = 0x10
|
|
|
|
RTM_DELACTION = 0x31
|
|
|
|
RTM_DELADDR = 0x15
|
|
|
|
RTM_DELADDRLABEL = 0x49
|
|
|
|
RTM_DELLINK = 0x11
|
|
|
|
RTM_DELNEIGH = 0x1d
|
|
|
|
RTM_DELQDISC = 0x25
|
|
|
|
RTM_DELROUTE = 0x19
|
|
|
|
RTM_DELRULE = 0x21
|
|
|
|
RTM_DELTCLASS = 0x29
|
|
|
|
RTM_DELTFILTER = 0x2d
|
|
|
|
RTM_F_CLONED = 0x200
|
|
|
|
RTM_F_EQUALIZE = 0x400
|
|
|
|
RTM_F_NOTIFY = 0x100
|
|
|
|
RTM_F_PREFIX = 0x800
|
|
|
|
RTM_GETACTION = 0x32
|
|
|
|
RTM_GETADDR = 0x16
|
|
|
|
RTM_GETADDRLABEL = 0x4a
|
|
|
|
RTM_GETANYCAST = 0x3e
|
|
|
|
RTM_GETDCB = 0x4e
|
|
|
|
RTM_GETLINK = 0x12
|
|
|
|
RTM_GETMULTICAST = 0x3a
|
|
|
|
RTM_GETNEIGH = 0x1e
|
|
|
|
RTM_GETNEIGHTBL = 0x42
|
|
|
|
RTM_GETQDISC = 0x26
|
|
|
|
RTM_GETROUTE = 0x1a
|
|
|
|
RTM_GETRULE = 0x22
|
|
|
|
RTM_GETTCLASS = 0x2a
|
|
|
|
RTM_GETTFILTER = 0x2e
|
|
|
|
RTM_MAX = 0x4f
|
|
|
|
RTM_NEWACTION = 0x30
|
|
|
|
RTM_NEWADDR = 0x14
|
|
|
|
RTM_NEWADDRLABEL = 0x48
|
|
|
|
RTM_NEWLINK = 0x10
|
|
|
|
RTM_NEWNDUSEROPT = 0x44
|
|
|
|
RTM_NEWNEIGH = 0x1c
|
|
|
|
RTM_NEWNEIGHTBL = 0x40
|
|
|
|
RTM_NEWPREFIX = 0x34
|
|
|
|
RTM_NEWQDISC = 0x24
|
|
|
|
RTM_NEWROUTE = 0x18
|
|
|
|
RTM_NEWRULE = 0x20
|
|
|
|
RTM_NEWTCLASS = 0x28
|
|
|
|
RTM_NEWTFILTER = 0x2c
|
|
|
|
RTM_NR_FAMILIES = 0x10
|
|
|
|
RTM_NR_MSGTYPES = 0x40
|
|
|
|
RTM_SETDCB = 0x4f
|
|
|
|
RTM_SETLINK = 0x13
|
|
|
|
RTM_SETNEIGHTBL = 0x43
|
2011-05-26 15:04:58 -06:00
|
|
|
RTNH_ALIGNTO = 0x4
|
|
|
|
RTNH_F_DEAD = 0x1
|
|
|
|
RTNH_F_ONLINK = 0x4
|
|
|
|
RTNH_F_PERVASIVE = 0x2
|
|
|
|
RTN_MAX = 0xb
|
|
|
|
RTPROT_BIRD = 0xc
|
|
|
|
RTPROT_BOOT = 0x3
|
|
|
|
RTPROT_DHCP = 0x10
|
|
|
|
RTPROT_DNROUTED = 0xd
|
|
|
|
RTPROT_GATED = 0x8
|
|
|
|
RTPROT_KERNEL = 0x2
|
|
|
|
RTPROT_MRT = 0xa
|
|
|
|
RTPROT_NTK = 0xf
|
|
|
|
RTPROT_RA = 0x9
|
|
|
|
RTPROT_REDIRECT = 0x1
|
|
|
|
RTPROT_STATIC = 0x4
|
2011-12-19 15:42:00 -07:00
|
|
|
RTPROT_UNSPEC = 0x0
|
2011-05-26 15:04:58 -06:00
|
|
|
RTPROT_XORP = 0xe
|
|
|
|
RTPROT_ZEBRA = 0xb
|
2011-09-08 11:59:34 -06:00
|
|
|
RT_CLASS_DEFAULT = 0xfd
|
|
|
|
RT_CLASS_LOCAL = 0xff
|
|
|
|
RT_CLASS_MAIN = 0xfe
|
|
|
|
RT_CLASS_MAX = 0xff
|
2011-12-19 15:42:00 -07:00
|
|
|
RT_CLASS_UNSPEC = 0x0
|
|
|
|
RUSAGE_CHILDREN = -0x1
|
|
|
|
RUSAGE_SELF = 0x0
|
|
|
|
RUSAGE_THREAD = 0x1
|
2011-05-18 17:33:41 -06:00
|
|
|
SCM_CREDENTIALS = 0x2
|
|
|
|
SCM_RIGHTS = 0x1
|
|
|
|
SCM_TIMESTAMP = 0x1d
|
|
|
|
SCM_TIMESTAMPING = 0x25
|
|
|
|
SCM_TIMESTAMPNS = 0x23
|
2011-12-19 15:42:00 -07:00
|
|
|
SHUT_RD = 0x0
|
2010-05-03 12:11:01 -06:00
|
|
|
SHUT_RDWR = 0x2
|
|
|
|
SHUT_WR = 0x1
|
2011-05-18 17:33:41 -06:00
|
|
|
SIOCADDDLCI = 0x8980
|
|
|
|
SIOCADDMULTI = 0x8931
|
|
|
|
SIOCADDRT = 0x890b
|
|
|
|
SIOCATMARK = 0x8905
|
|
|
|
SIOCDARP = 0x8953
|
|
|
|
SIOCDELDLCI = 0x8981
|
|
|
|
SIOCDELMULTI = 0x8932
|
|
|
|
SIOCDELRT = 0x890c
|
|
|
|
SIOCDEVPRIVATE = 0x89f0
|
|
|
|
SIOCDIFADDR = 0x8936
|
|
|
|
SIOCDRARP = 0x8960
|
|
|
|
SIOCGARP = 0x8954
|
|
|
|
SIOCGIFADDR = 0x8915
|
|
|
|
SIOCGIFBR = 0x8940
|
|
|
|
SIOCGIFBRDADDR = 0x8919
|
|
|
|
SIOCGIFCONF = 0x8912
|
|
|
|
SIOCGIFCOUNT = 0x8938
|
|
|
|
SIOCGIFDSTADDR = 0x8917
|
|
|
|
SIOCGIFENCAP = 0x8925
|
|
|
|
SIOCGIFFLAGS = 0x8913
|
|
|
|
SIOCGIFHWADDR = 0x8927
|
|
|
|
SIOCGIFINDEX = 0x8933
|
|
|
|
SIOCGIFMAP = 0x8970
|
|
|
|
SIOCGIFMEM = 0x891f
|
|
|
|
SIOCGIFMETRIC = 0x891d
|
|
|
|
SIOCGIFMTU = 0x8921
|
|
|
|
SIOCGIFNAME = 0x8910
|
|
|
|
SIOCGIFNETMASK = 0x891b
|
|
|
|
SIOCGIFPFLAGS = 0x8935
|
|
|
|
SIOCGIFSLAVE = 0x8929
|
|
|
|
SIOCGIFTXQLEN = 0x8942
|
|
|
|
SIOCGPGRP = 0x8904
|
|
|
|
SIOCGRARP = 0x8961
|
|
|
|
SIOCGSTAMP = 0x8906
|
|
|
|
SIOCGSTAMPNS = 0x8907
|
|
|
|
SIOCPROTOPRIVATE = 0x89e0
|
|
|
|
SIOCRTMSG = 0x890d
|
|
|
|
SIOCSARP = 0x8955
|
|
|
|
SIOCSIFADDR = 0x8916
|
|
|
|
SIOCSIFBR = 0x8941
|
|
|
|
SIOCSIFBRDADDR = 0x891a
|
|
|
|
SIOCSIFDSTADDR = 0x8918
|
|
|
|
SIOCSIFENCAP = 0x8926
|
|
|
|
SIOCSIFFLAGS = 0x8914
|
|
|
|
SIOCSIFHWADDR = 0x8924
|
|
|
|
SIOCSIFHWBROADCAST = 0x8937
|
|
|
|
SIOCSIFLINK = 0x8911
|
|
|
|
SIOCSIFMAP = 0x8971
|
|
|
|
SIOCSIFMEM = 0x8920
|
|
|
|
SIOCSIFMETRIC = 0x891e
|
|
|
|
SIOCSIFMTU = 0x8922
|
|
|
|
SIOCSIFNAME = 0x8923
|
|
|
|
SIOCSIFNETMASK = 0x891c
|
|
|
|
SIOCSIFPFLAGS = 0x8934
|
|
|
|
SIOCSIFSLAVE = 0x8930
|
|
|
|
SIOCSIFTXQLEN = 0x8943
|
|
|
|
SIOCSPGRP = 0x8902
|
|
|
|
SIOCSRARP = 0x8962
|
2010-08-23 04:25:14 -06:00
|
|
|
SOCK_CLOEXEC = 0x80000
|
|
|
|
SOCK_DCCP = 0x6
|
2010-05-03 12:11:01 -06:00
|
|
|
SOCK_DGRAM = 0x2
|
2010-08-23 04:25:14 -06:00
|
|
|
SOCK_NONBLOCK = 0x800
|
2010-05-03 12:11:01 -06:00
|
|
|
SOCK_PACKET = 0xa
|
|
|
|
SOCK_RAW = 0x3
|
|
|
|
SOCK_RDM = 0x4
|
|
|
|
SOCK_SEQPACKET = 0x5
|
|
|
|
SOCK_STREAM = 0x1
|
|
|
|
SOL_AAL = 0x109
|
|
|
|
SOL_ATM = 0x108
|
|
|
|
SOL_DECNET = 0x105
|
|
|
|
SOL_ICMPV6 = 0x3a
|
2011-12-19 15:42:00 -07:00
|
|
|
SOL_IP = 0x0
|
2010-05-03 12:11:01 -06:00
|
|
|
SOL_IPV6 = 0x29
|
|
|
|
SOL_IRDA = 0x10a
|
|
|
|
SOL_PACKET = 0x107
|
|
|
|
SOL_RAW = 0xff
|
|
|
|
SOL_SOCKET = 0x1
|
|
|
|
SOL_TCP = 0x6
|
|
|
|
SOL_X25 = 0x106
|
|
|
|
SOMAXCONN = 0x80
|
|
|
|
SO_ACCEPTCONN = 0x1e
|
|
|
|
SO_ATTACH_FILTER = 0x1a
|
|
|
|
SO_BINDTODEVICE = 0x19
|
|
|
|
SO_BROADCAST = 0x6
|
|
|
|
SO_BSDCOMPAT = 0xe
|
|
|
|
SO_DEBUG = 0x1
|
|
|
|
SO_DETACH_FILTER = 0x1b
|
2011-05-18 17:33:41 -06:00
|
|
|
SO_DOMAIN = 0x27
|
2010-05-03 12:11:01 -06:00
|
|
|
SO_DONTROUTE = 0x5
|
|
|
|
SO_ERROR = 0x4
|
|
|
|
SO_KEEPALIVE = 0x9
|
|
|
|
SO_LINGER = 0xd
|
2010-08-23 04:25:14 -06:00
|
|
|
SO_MARK = 0x24
|
2010-05-03 12:11:01 -06:00
|
|
|
SO_NO_CHECK = 0xb
|
|
|
|
SO_OOBINLINE = 0xa
|
|
|
|
SO_PASSCRED = 0x10
|
2010-08-23 04:25:14 -06:00
|
|
|
SO_PASSSEC = 0x22
|
2010-05-03 12:11:01 -06:00
|
|
|
SO_PEERCRED = 0x11
|
|
|
|
SO_PEERNAME = 0x1c
|
|
|
|
SO_PEERSEC = 0x1f
|
|
|
|
SO_PRIORITY = 0xc
|
2011-05-18 17:33:41 -06:00
|
|
|
SO_PROTOCOL = 0x26
|
2010-05-03 12:11:01 -06:00
|
|
|
SO_RCVBUF = 0x8
|
2010-08-23 04:25:14 -06:00
|
|
|
SO_RCVBUFFORCE = 0x21
|
2010-05-03 12:11:01 -06:00
|
|
|
SO_RCVLOWAT = 0x12
|
|
|
|
SO_RCVTIMEO = 0x14
|
|
|
|
SO_REUSEADDR = 0x2
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
SO_RXQ_OVFL = 0x28
|
2010-05-03 12:11:01 -06:00
|
|
|
SO_SECURITY_AUTHENTICATION = 0x16
|
|
|
|
SO_SECURITY_ENCRYPTION_NETWORK = 0x18
|
|
|
|
SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17
|
|
|
|
SO_SNDBUF = 0x7
|
2010-08-23 04:25:14 -06:00
|
|
|
SO_SNDBUFFORCE = 0x20
|
2010-05-03 12:11:01 -06:00
|
|
|
SO_SNDLOWAT = 0x13
|
|
|
|
SO_SNDTIMEO = 0x15
|
|
|
|
SO_TIMESTAMP = 0x1d
|
2010-08-23 04:25:14 -06:00
|
|
|
SO_TIMESTAMPING = 0x25
|
|
|
|
SO_TIMESTAMPNS = 0x23
|
2010-05-03 12:11:01 -06:00
|
|
|
SO_TYPE = 0x3
|
|
|
|
S_BLKSIZE = 0x200
|
|
|
|
S_IEXEC = 0x40
|
|
|
|
S_IFBLK = 0x6000
|
|
|
|
S_IFCHR = 0x2000
|
|
|
|
S_IFDIR = 0x4000
|
|
|
|
S_IFIFO = 0x1000
|
|
|
|
S_IFLNK = 0xa000
|
|
|
|
S_IFMT = 0xf000
|
|
|
|
S_IFREG = 0x8000
|
|
|
|
S_IFSOCK = 0xc000
|
|
|
|
S_IREAD = 0x100
|
|
|
|
S_IRGRP = 0x20
|
|
|
|
S_IROTH = 0x4
|
|
|
|
S_IRUSR = 0x100
|
|
|
|
S_IRWXG = 0x38
|
|
|
|
S_IRWXO = 0x7
|
|
|
|
S_IRWXU = 0x1c0
|
|
|
|
S_ISGID = 0x400
|
|
|
|
S_ISUID = 0x800
|
|
|
|
S_ISVTX = 0x200
|
|
|
|
S_IWGRP = 0x10
|
|
|
|
S_IWOTH = 0x2
|
|
|
|
S_IWRITE = 0x80
|
|
|
|
S_IWUSR = 0x80
|
|
|
|
S_IXGRP = 0x8
|
|
|
|
S_IXOTH = 0x1
|
|
|
|
S_IXUSR = 0x40
|
2013-09-12 23:01:22 -06:00
|
|
|
TCIFLUSH = 0x0
|
|
|
|
TCIOFLUSH = 0x2
|
|
|
|
TCOFLUSH = 0x1
|
2010-08-23 04:25:14 -06:00
|
|
|
TCP_CONGESTION = 0xd
|
2010-05-03 12:11:01 -06:00
|
|
|
TCP_CORK = 0x3
|
|
|
|
TCP_DEFER_ACCEPT = 0x9
|
|
|
|
TCP_INFO = 0xb
|
|
|
|
TCP_KEEPCNT = 0x6
|
|
|
|
TCP_KEEPIDLE = 0x4
|
|
|
|
TCP_KEEPINTVL = 0x5
|
|
|
|
TCP_LINGER2 = 0x8
|
|
|
|
TCP_MAXSEG = 0x2
|
|
|
|
TCP_MAXWIN = 0xffff
|
|
|
|
TCP_MAX_WINSHIFT = 0xe
|
2010-08-23 04:25:14 -06:00
|
|
|
TCP_MD5SIG = 0xe
|
|
|
|
TCP_MD5SIG_MAXKEYLEN = 0x50
|
2010-05-03 12:11:01 -06:00
|
|
|
TCP_MSS = 0x200
|
|
|
|
TCP_NODELAY = 0x1
|
|
|
|
TCP_QUICKACK = 0xc
|
|
|
|
TCP_SYNCNT = 0x7
|
|
|
|
TCP_WINDOW_CLAMP = 0xa
|
2011-06-27 09:02:32 -06:00
|
|
|
TIOCCBRK = 0x5428
|
|
|
|
TIOCCONS = 0x541d
|
|
|
|
TIOCEXCL = 0x540c
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
TIOCGDEV = 0x80045432
|
2011-06-27 09:02:32 -06:00
|
|
|
TIOCGETD = 0x5424
|
|
|
|
TIOCGICOUNT = 0x545d
|
|
|
|
TIOCGLCKTRMIOS = 0x5456
|
|
|
|
TIOCGPGRP = 0x540f
|
|
|
|
TIOCGPTN = 0x80045430
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
TIOCGRS485 = 0x542e
|
2011-06-27 09:02:32 -06:00
|
|
|
TIOCGSERIAL = 0x541e
|
|
|
|
TIOCGSID = 0x5429
|
|
|
|
TIOCGSOFTCAR = 0x5419
|
|
|
|
TIOCGWINSZ = 0x5413
|
|
|
|
TIOCINQ = 0x541b
|
|
|
|
TIOCLINUX = 0x541c
|
|
|
|
TIOCMBIC = 0x5417
|
|
|
|
TIOCMBIS = 0x5416
|
|
|
|
TIOCMGET = 0x5415
|
|
|
|
TIOCMIWAIT = 0x545c
|
|
|
|
TIOCMSET = 0x5418
|
|
|
|
TIOCM_CAR = 0x40
|
|
|
|
TIOCM_CD = 0x40
|
|
|
|
TIOCM_CTS = 0x20
|
|
|
|
TIOCM_DSR = 0x100
|
|
|
|
TIOCM_DTR = 0x2
|
|
|
|
TIOCM_LE = 0x1
|
|
|
|
TIOCM_RI = 0x80
|
|
|
|
TIOCM_RNG = 0x80
|
|
|
|
TIOCM_RTS = 0x4
|
|
|
|
TIOCM_SR = 0x10
|
|
|
|
TIOCM_ST = 0x8
|
|
|
|
TIOCNOTTY = 0x5422
|
|
|
|
TIOCNXCL = 0x540d
|
|
|
|
TIOCOUTQ = 0x5411
|
|
|
|
TIOCPKT = 0x5420
|
2011-12-19 15:42:00 -07:00
|
|
|
TIOCPKT_DATA = 0x0
|
2011-06-27 09:02:32 -06:00
|
|
|
TIOCPKT_DOSTOP = 0x20
|
|
|
|
TIOCPKT_FLUSHREAD = 0x1
|
|
|
|
TIOCPKT_FLUSHWRITE = 0x2
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
TIOCPKT_IOCTL = 0x40
|
2011-06-27 09:02:32 -06:00
|
|
|
TIOCPKT_NOSTOP = 0x10
|
|
|
|
TIOCPKT_START = 0x8
|
|
|
|
TIOCPKT_STOP = 0x4
|
|
|
|
TIOCSBRK = 0x5427
|
|
|
|
TIOCSCTTY = 0x540e
|
|
|
|
TIOCSERCONFIG = 0x5453
|
|
|
|
TIOCSERGETLSR = 0x5459
|
|
|
|
TIOCSERGETMULTI = 0x545a
|
|
|
|
TIOCSERGSTRUCT = 0x5458
|
|
|
|
TIOCSERGWILD = 0x5454
|
|
|
|
TIOCSERSETMULTI = 0x545b
|
|
|
|
TIOCSERSWILD = 0x5455
|
|
|
|
TIOCSER_TEMT = 0x1
|
|
|
|
TIOCSETD = 0x5423
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
TIOCSIG = 0x40045436
|
2011-06-27 09:02:32 -06:00
|
|
|
TIOCSLCKTRMIOS = 0x5457
|
|
|
|
TIOCSPGRP = 0x5410
|
|
|
|
TIOCSPTLCK = 0x40045431
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
TIOCSRS485 = 0x542f
|
2011-06-27 09:02:32 -06:00
|
|
|
TIOCSSERIAL = 0x541f
|
|
|
|
TIOCSSOFTCAR = 0x541a
|
|
|
|
TIOCSTI = 0x5412
|
|
|
|
TIOCSWINSZ = 0x5414
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
TIOCVHANGUP = 0x5437
|
|
|
|
TUNATTACHFILTER = 0x400854d5
|
|
|
|
TUNDETACHFILTER = 0x400854d6
|
2011-05-18 17:33:41 -06:00
|
|
|
TUNGETFEATURES = 0x800454cf
|
|
|
|
TUNGETIFF = 0x800454d2
|
|
|
|
TUNGETSNDBUF = 0x800454d3
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
TUNGETVNETHDRSZ = 0x800454d7
|
2011-05-18 17:33:41 -06:00
|
|
|
TUNSETDEBUG = 0x400454c9
|
|
|
|
TUNSETGROUP = 0x400454ce
|
|
|
|
TUNSETIFF = 0x400454ca
|
|
|
|
TUNSETLINK = 0x400454cd
|
|
|
|
TUNSETNOCSUM = 0x400454c8
|
|
|
|
TUNSETOFFLOAD = 0x400454d0
|
|
|
|
TUNSETOWNER = 0x400454cc
|
|
|
|
TUNSETPERSIST = 0x400454cb
|
|
|
|
TUNSETSNDBUF = 0x400454d4
|
|
|
|
TUNSETTXFILTER = 0x400454d1
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
TUNSETVNETHDRSZ = 0x400454d8
|
2010-05-03 12:11:01 -06:00
|
|
|
WALL = 0x40000000
|
|
|
|
WCLONE = 0x80000000
|
2010-08-23 04:25:14 -06:00
|
|
|
WCONTINUED = 0x8
|
|
|
|
WEXITED = 0x4
|
2010-05-03 12:11:01 -06:00
|
|
|
WNOHANG = 0x1
|
2010-08-23 04:25:14 -06:00
|
|
|
WNOTHREAD = 0x20000000
|
|
|
|
WNOWAIT = 0x1000000
|
2010-05-03 12:11:01 -06:00
|
|
|
WORDSIZE = 0x20
|
2010-08-23 04:25:14 -06:00
|
|
|
WSTOPPED = 0x2
|
2010-05-03 12:11:01 -06:00
|
|
|
WUNTRACED = 0x2
|
2009-08-18 20:20:33 -06:00
|
|
|
)
|
|
|
|
|
2011-11-14 09:31:58 -07:00
|
|
|
// Errors
|
|
|
|
const (
|
|
|
|
E2BIG = Errno(0x7)
|
|
|
|
EACCES = Errno(0xd)
|
|
|
|
EADDRINUSE = Errno(0x62)
|
|
|
|
EADDRNOTAVAIL = Errno(0x63)
|
|
|
|
EADV = Errno(0x44)
|
|
|
|
EAFNOSUPPORT = Errno(0x61)
|
|
|
|
EAGAIN = Errno(0xb)
|
|
|
|
EALREADY = Errno(0x72)
|
|
|
|
EBADE = Errno(0x34)
|
|
|
|
EBADF = Errno(0x9)
|
|
|
|
EBADFD = Errno(0x4d)
|
|
|
|
EBADMSG = Errno(0x4a)
|
|
|
|
EBADR = Errno(0x35)
|
|
|
|
EBADRQC = Errno(0x38)
|
|
|
|
EBADSLT = Errno(0x39)
|
|
|
|
EBFONT = Errno(0x3b)
|
|
|
|
EBUSY = Errno(0x10)
|
|
|
|
ECANCELED = Errno(0x7d)
|
|
|
|
ECHILD = Errno(0xa)
|
|
|
|
ECHRNG = Errno(0x2c)
|
|
|
|
ECOMM = Errno(0x46)
|
|
|
|
ECONNABORTED = Errno(0x67)
|
|
|
|
ECONNREFUSED = Errno(0x6f)
|
|
|
|
ECONNRESET = Errno(0x68)
|
|
|
|
EDEADLK = Errno(0x23)
|
|
|
|
EDEADLOCK = Errno(0x23)
|
|
|
|
EDESTADDRREQ = Errno(0x59)
|
|
|
|
EDOM = Errno(0x21)
|
|
|
|
EDOTDOT = Errno(0x49)
|
|
|
|
EDQUOT = Errno(0x7a)
|
|
|
|
EEXIST = Errno(0x11)
|
|
|
|
EFAULT = Errno(0xe)
|
|
|
|
EFBIG = Errno(0x1b)
|
|
|
|
EHOSTDOWN = Errno(0x70)
|
|
|
|
EHOSTUNREACH = Errno(0x71)
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
EHWPOISON = Errno(0x85)
|
2011-11-14 09:31:58 -07:00
|
|
|
EIDRM = Errno(0x2b)
|
|
|
|
EILSEQ = Errno(0x54)
|
|
|
|
EINPROGRESS = Errno(0x73)
|
|
|
|
EINTR = Errno(0x4)
|
|
|
|
EINVAL = Errno(0x16)
|
|
|
|
EIO = Errno(0x5)
|
|
|
|
EISCONN = Errno(0x6a)
|
|
|
|
EISDIR = Errno(0x15)
|
|
|
|
EISNAM = Errno(0x78)
|
|
|
|
EKEYEXPIRED = Errno(0x7f)
|
|
|
|
EKEYREJECTED = Errno(0x81)
|
|
|
|
EKEYREVOKED = Errno(0x80)
|
2011-12-19 15:42:00 -07:00
|
|
|
EL2HLT = Errno(0x33)
|
|
|
|
EL2NSYNC = Errno(0x2d)
|
|
|
|
EL3HLT = Errno(0x2e)
|
|
|
|
EL3RST = Errno(0x2f)
|
2011-11-14 09:31:58 -07:00
|
|
|
ELIBACC = Errno(0x4f)
|
|
|
|
ELIBBAD = Errno(0x50)
|
|
|
|
ELIBEXEC = Errno(0x53)
|
|
|
|
ELIBMAX = Errno(0x52)
|
|
|
|
ELIBSCN = Errno(0x51)
|
|
|
|
ELNRNG = Errno(0x30)
|
|
|
|
ELOOP = Errno(0x28)
|
|
|
|
EMEDIUMTYPE = Errno(0x7c)
|
|
|
|
EMFILE = Errno(0x18)
|
|
|
|
EMLINK = Errno(0x1f)
|
|
|
|
EMSGSIZE = Errno(0x5a)
|
|
|
|
EMULTIHOP = Errno(0x48)
|
|
|
|
ENAMETOOLONG = Errno(0x24)
|
|
|
|
ENAVAIL = Errno(0x77)
|
|
|
|
ENETDOWN = Errno(0x64)
|
|
|
|
ENETRESET = Errno(0x66)
|
|
|
|
ENETUNREACH = Errno(0x65)
|
|
|
|
ENFILE = Errno(0x17)
|
|
|
|
ENOANO = Errno(0x37)
|
|
|
|
ENOBUFS = Errno(0x69)
|
|
|
|
ENOCSI = Errno(0x32)
|
|
|
|
ENODATA = Errno(0x3d)
|
|
|
|
ENODEV = Errno(0x13)
|
|
|
|
ENOENT = Errno(0x2)
|
|
|
|
ENOEXEC = Errno(0x8)
|
|
|
|
ENOKEY = Errno(0x7e)
|
|
|
|
ENOLCK = Errno(0x25)
|
|
|
|
ENOLINK = Errno(0x43)
|
|
|
|
ENOMEDIUM = Errno(0x7b)
|
|
|
|
ENOMEM = Errno(0xc)
|
|
|
|
ENOMSG = Errno(0x2a)
|
|
|
|
ENONET = Errno(0x40)
|
|
|
|
ENOPKG = Errno(0x41)
|
|
|
|
ENOPROTOOPT = Errno(0x5c)
|
|
|
|
ENOSPC = Errno(0x1c)
|
|
|
|
ENOSR = Errno(0x3f)
|
|
|
|
ENOSTR = Errno(0x3c)
|
|
|
|
ENOSYS = Errno(0x26)
|
|
|
|
ENOTBLK = Errno(0xf)
|
|
|
|
ENOTCONN = Errno(0x6b)
|
|
|
|
ENOTDIR = Errno(0x14)
|
|
|
|
ENOTEMPTY = Errno(0x27)
|
|
|
|
ENOTNAM = Errno(0x76)
|
|
|
|
ENOTRECOVERABLE = Errno(0x83)
|
|
|
|
ENOTSOCK = Errno(0x58)
|
|
|
|
ENOTSUP = Errno(0x5f)
|
|
|
|
ENOTTY = Errno(0x19)
|
|
|
|
ENOTUNIQ = Errno(0x4c)
|
|
|
|
ENXIO = Errno(0x6)
|
|
|
|
EOPNOTSUPP = Errno(0x5f)
|
|
|
|
EOVERFLOW = Errno(0x4b)
|
|
|
|
EOWNERDEAD = Errno(0x82)
|
|
|
|
EPERM = Errno(0x1)
|
|
|
|
EPFNOSUPPORT = Errno(0x60)
|
|
|
|
EPIPE = Errno(0x20)
|
|
|
|
EPROTO = Errno(0x47)
|
|
|
|
EPROTONOSUPPORT = Errno(0x5d)
|
|
|
|
EPROTOTYPE = Errno(0x5b)
|
|
|
|
ERANGE = Errno(0x22)
|
|
|
|
EREMCHG = Errno(0x4e)
|
|
|
|
EREMOTE = Errno(0x42)
|
|
|
|
EREMOTEIO = Errno(0x79)
|
|
|
|
ERESTART = Errno(0x55)
|
|
|
|
ERFKILL = Errno(0x84)
|
|
|
|
EROFS = Errno(0x1e)
|
|
|
|
ESHUTDOWN = Errno(0x6c)
|
|
|
|
ESOCKTNOSUPPORT = Errno(0x5e)
|
|
|
|
ESPIPE = Errno(0x1d)
|
|
|
|
ESRCH = Errno(0x3)
|
|
|
|
ESRMNT = Errno(0x45)
|
|
|
|
ESTALE = Errno(0x74)
|
|
|
|
ESTRPIPE = Errno(0x56)
|
|
|
|
ETIME = Errno(0x3e)
|
|
|
|
ETIMEDOUT = Errno(0x6e)
|
|
|
|
ETOOMANYREFS = Errno(0x6d)
|
|
|
|
ETXTBSY = Errno(0x1a)
|
|
|
|
EUCLEAN = Errno(0x75)
|
|
|
|
EUNATCH = Errno(0x31)
|
|
|
|
EUSERS = Errno(0x57)
|
|
|
|
EWOULDBLOCK = Errno(0xb)
|
|
|
|
EXDEV = Errno(0x12)
|
|
|
|
EXFULL = Errno(0x36)
|
|
|
|
)
|
2009-08-18 20:20:33 -06:00
|
|
|
|
2012-02-13 18:16:57 -07:00
|
|
|
// Signals
|
|
|
|
const (
|
|
|
|
SIGABRT = Signal(0x6)
|
|
|
|
SIGALRM = Signal(0xe)
|
|
|
|
SIGBUS = Signal(0x7)
|
|
|
|
SIGCHLD = Signal(0x11)
|
|
|
|
SIGCLD = Signal(0x11)
|
|
|
|
SIGCONT = Signal(0x12)
|
|
|
|
SIGFPE = Signal(0x8)
|
|
|
|
SIGHUP = Signal(0x1)
|
|
|
|
SIGILL = Signal(0x4)
|
|
|
|
SIGINT = Signal(0x2)
|
|
|
|
SIGIO = Signal(0x1d)
|
|
|
|
SIGIOT = Signal(0x6)
|
|
|
|
SIGKILL = Signal(0x9)
|
|
|
|
SIGPIPE = Signal(0xd)
|
|
|
|
SIGPOLL = Signal(0x1d)
|
|
|
|
SIGPROF = Signal(0x1b)
|
|
|
|
SIGPWR = Signal(0x1e)
|
|
|
|
SIGQUIT = Signal(0x3)
|
|
|
|
SIGSEGV = Signal(0xb)
|
|
|
|
SIGSTKFLT = Signal(0x10)
|
|
|
|
SIGSTOP = Signal(0x13)
|
|
|
|
SIGSYS = Signal(0x1f)
|
|
|
|
SIGTERM = Signal(0xf)
|
|
|
|
SIGTRAP = Signal(0x5)
|
|
|
|
SIGTSTP = Signal(0x14)
|
|
|
|
SIGTTIN = Signal(0x15)
|
|
|
|
SIGTTOU = Signal(0x16)
|
|
|
|
SIGUNUSED = Signal(0x1f)
|
|
|
|
SIGURG = Signal(0x17)
|
|
|
|
SIGUSR1 = Signal(0xa)
|
|
|
|
SIGUSR2 = Signal(0xc)
|
|
|
|
SIGVTALRM = Signal(0x1a)
|
|
|
|
SIGWINCH = Signal(0x1c)
|
|
|
|
SIGXCPU = Signal(0x18)
|
|
|
|
SIGXFSZ = Signal(0x19)
|
|
|
|
)
|
|
|
|
|
2009-08-18 20:20:33 -06:00
|
|
|
// Error table
|
2009-10-06 20:38:30 -06:00
|
|
|
var errors = [...]string{
|
2011-05-18 17:33:41 -06:00
|
|
|
1: "operation not permitted",
|
|
|
|
2: "no such file or directory",
|
|
|
|
3: "no such process",
|
|
|
|
4: "interrupted system call",
|
|
|
|
5: "input/output error",
|
|
|
|
6: "no such device or address",
|
2010-05-03 12:11:01 -06:00
|
|
|
7: "argument list too long",
|
2011-05-18 17:33:41 -06:00
|
|
|
8: "exec format error",
|
2010-03-02 14:46:51 -07:00
|
|
|
9: "bad file descriptor",
|
|
|
|
10: "no child processes",
|
2011-05-18 17:33:41 -06:00
|
|
|
11: "resource temporarily unavailable",
|
|
|
|
12: "cannot allocate memory",
|
|
|
|
13: "permission denied",
|
2010-05-03 12:11:01 -06:00
|
|
|
14: "bad address",
|
2011-05-18 17:33:41 -06:00
|
|
|
15: "block device required",
|
|
|
|
16: "device or resource busy",
|
|
|
|
17: "file exists",
|
|
|
|
18: "invalid cross-device link",
|
|
|
|
19: "no such device",
|
|
|
|
20: "not a directory",
|
|
|
|
21: "is a directory",
|
|
|
|
22: "invalid argument",
|
|
|
|
23: "too many open files in system",
|
|
|
|
24: "too many open files",
|
|
|
|
25: "inappropriate ioctl for device",
|
|
|
|
26: "text file busy",
|
2010-03-02 14:46:51 -07:00
|
|
|
27: "file too large",
|
2011-05-18 17:33:41 -06:00
|
|
|
28: "no space left on device",
|
|
|
|
29: "illegal seek",
|
|
|
|
30: "read-only file system",
|
|
|
|
31: "too many links",
|
|
|
|
32: "broken pipe",
|
|
|
|
33: "numerical argument out of domain",
|
|
|
|
34: "numerical result out of range",
|
|
|
|
35: "resource deadlock avoided",
|
|
|
|
36: "file name too long",
|
|
|
|
37: "no locks available",
|
|
|
|
38: "function not implemented",
|
|
|
|
39: "directory not empty",
|
|
|
|
40: "too many levels of symbolic links",
|
|
|
|
42: "no message of desired type",
|
2010-05-03 12:11:01 -06:00
|
|
|
43: "identifier removed",
|
2011-05-18 17:33:41 -06:00
|
|
|
44: "channel number out of range",
|
2010-05-03 12:11:01 -06:00
|
|
|
45: "level 2 not synchronized",
|
2010-03-02 14:46:51 -07:00
|
|
|
46: "level 3 halted",
|
2010-05-03 12:11:01 -06:00
|
|
|
47: "level 3 reset",
|
|
|
|
48: "link number out of range",
|
2011-05-18 17:33:41 -06:00
|
|
|
49: "protocol driver not attached",
|
2010-05-03 12:11:01 -06:00
|
|
|
50: "no CSI structure available",
|
2011-05-18 17:33:41 -06:00
|
|
|
51: "level 2 halted",
|
|
|
|
52: "invalid exchange",
|
|
|
|
53: "invalid request descriptor",
|
|
|
|
54: "exchange full",
|
|
|
|
55: "no anode",
|
|
|
|
56: "invalid request code",
|
|
|
|
57: "invalid slot",
|
|
|
|
59: "bad font file format",
|
|
|
|
60: "device not a stream",
|
2010-05-03 12:11:01 -06:00
|
|
|
61: "no data available",
|
2011-05-18 17:33:41 -06:00
|
|
|
62: "timer expired",
|
|
|
|
63: "out of streams resources",
|
2010-05-03 12:11:01 -06:00
|
|
|
64: "machine is not on the network",
|
2010-03-02 14:46:51 -07:00
|
|
|
65: "package not installed",
|
2011-05-18 17:33:41 -06:00
|
|
|
66: "object is remote",
|
|
|
|
67: "link has been severed",
|
|
|
|
68: "advertise error",
|
|
|
|
69: "srmount error",
|
|
|
|
70: "communication error on send",
|
2010-05-03 12:11:01 -06:00
|
|
|
71: "protocol error",
|
2011-05-18 17:33:41 -06:00
|
|
|
72: "multihop attempted",
|
|
|
|
73: "RFS specific error",
|
|
|
|
74: "bad message",
|
|
|
|
75: "value too large for defined data type",
|
|
|
|
76: "name not unique on network",
|
|
|
|
77: "file descriptor in bad state",
|
2010-05-03 12:11:01 -06:00
|
|
|
78: "remote address changed",
|
2011-05-18 17:33:41 -06:00
|
|
|
79: "can not access a needed shared library",
|
|
|
|
80: "accessing a corrupted shared library",
|
|
|
|
81: ".lib section in a.out corrupted",
|
|
|
|
82: "attempting to link in too many shared libraries",
|
|
|
|
83: "cannot exec a shared library directly",
|
|
|
|
84: "invalid or incomplete multibyte or wide character",
|
2010-05-03 12:11:01 -06:00
|
|
|
85: "interrupted system call should be restarted",
|
|
|
|
86: "streams pipe error",
|
2011-05-18 17:33:41 -06:00
|
|
|
87: "too many users",
|
|
|
|
88: "socket operation on non-socket",
|
|
|
|
89: "destination address required",
|
|
|
|
90: "message too long",
|
|
|
|
91: "protocol wrong type for socket",
|
|
|
|
92: "protocol not available",
|
|
|
|
93: "protocol not supported",
|
|
|
|
94: "socket type not supported",
|
|
|
|
95: "operation not supported",
|
|
|
|
96: "protocol family not supported",
|
|
|
|
97: "address family not supported by protocol",
|
|
|
|
98: "address already in use",
|
|
|
|
99: "cannot assign requested address",
|
|
|
|
100: "network is down",
|
|
|
|
101: "network is unreachable",
|
|
|
|
102: "network dropped connection on reset",
|
|
|
|
103: "software caused connection abort",
|
|
|
|
104: "connection reset by peer",
|
|
|
|
105: "no buffer space available",
|
|
|
|
106: "transport endpoint is already connected",
|
|
|
|
107: "transport endpoint is not connected",
|
|
|
|
108: "cannot send after transport endpoint shutdown",
|
2010-05-03 12:11:01 -06:00
|
|
|
109: "too many references: cannot splice",
|
2011-05-18 17:33:41 -06:00
|
|
|
110: "connection timed out",
|
|
|
|
111: "connection refused",
|
|
|
|
112: "host is down",
|
|
|
|
113: "no route to host",
|
|
|
|
114: "operation already in progress",
|
|
|
|
115: "operation now in progress",
|
|
|
|
116: "stale NFS file handle",
|
2010-05-03 12:11:01 -06:00
|
|
|
117: "structure needs cleaning",
|
2011-05-18 17:33:41 -06:00
|
|
|
118: "not a XENIX named type file",
|
|
|
|
119: "no XENIX semaphores available",
|
|
|
|
120: "is a named type file",
|
|
|
|
121: "remote I/O error",
|
|
|
|
122: "disk quota exceeded",
|
|
|
|
123: "no medium found",
|
|
|
|
124: "wrong medium type",
|
|
|
|
125: "operation canceled",
|
|
|
|
126: "required key not available",
|
|
|
|
127: "key has expired",
|
|
|
|
128: "key has been revoked",
|
|
|
|
129: "key was rejected by service",
|
|
|
|
130: "owner died",
|
|
|
|
131: "state not recoverable",
|
syscall: fix mkall.sh, mksyscall_linux.pl, and regen for Linux/ARM
CL 3075041 says ARM is not little-endian, but my test suggests otherwise.
My test program is:
package main
import ("fmt"; "syscall"; "os")
func main() {
err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960));
fmt.Fprintln(os.Stderr, err)
}
Without this CL, ./test > testfile will show: file too large; and strace shows:
fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large)
With this CL, ./test > testfile will show: <nil>; and strace shows:
fallocate(1, 01, 0, 40960) = 0
Quoting rsc:
"[It turns out that] ARM syscall ABI requires 64-bit arguments to use an
(even, odd) register pair, not an (odd, even) pair. Switching to "big-endian"
worked because it ended up using the high 32-bits (always zero in the tests
we had) as the padding word, because the 64-bit argument was the last one,
and because we fill in zeros for the rest of the system call arguments, up to
six. So it happened to work."
I updated mksyscall_linux.pl to accommodate the register pair ABI requirement,
and removed all hand-tweaked syscall routines in favor of the auto-generated
ones. These including: Ftruncate, Truncate, Pread and Pwrite.
Some recent Linux/ARM distributions do not bundle kernel asm headers,
so instead we always get latest asm/unistd.h from git.kernel.org (just like
what we do for FreeBSD).
R=ken, r, rsc, r, dave, iant
CC=golang-dev
https://golang.org/cl/5726051
2012-03-05 12:12:11 -07:00
|
|
|
132: "operation not possible due to RF-kill",
|
|
|
|
133: "unknown error 133",
|
2009-08-18 20:20:33 -06:00
|
|
|
}
|
2012-02-13 18:16:57 -07:00
|
|
|
|
|
|
|
// Signal table
|
|
|
|
var signals = [...]string{
|
|
|
|
1: "hangup",
|
|
|
|
2: "interrupt",
|
|
|
|
3: "quit",
|
|
|
|
4: "illegal instruction",
|
|
|
|
5: "trace/breakpoint trap",
|
|
|
|
6: "aborted",
|
|
|
|
7: "bus error",
|
|
|
|
8: "floating point exception",
|
|
|
|
9: "killed",
|
|
|
|
10: "user defined signal 1",
|
|
|
|
11: "segmentation fault",
|
|
|
|
12: "user defined signal 2",
|
|
|
|
13: "broken pipe",
|
|
|
|
14: "alarm clock",
|
|
|
|
15: "terminated",
|
|
|
|
16: "stack fault",
|
|
|
|
17: "child exited",
|
|
|
|
18: "continued",
|
|
|
|
19: "stopped (signal)",
|
|
|
|
20: "stopped",
|
|
|
|
21: "stopped (tty input)",
|
|
|
|
22: "stopped (tty output)",
|
|
|
|
23: "urgent I/O condition",
|
|
|
|
24: "CPU time limit exceeded",
|
|
|
|
25: "file size limit exceeded",
|
|
|
|
26: "virtual timer expired",
|
|
|
|
27: "profiling timer expired",
|
|
|
|
28: "window changed",
|
|
|
|
29: "I/O possible",
|
|
|
|
30: "power failure",
|
|
|
|
31: "bad system call",
|
|
|
|
}
|