From c1718ecf4edf5d33ea12c6368165cd90a4229610 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Fri, 10 May 2019 13:05:04 +0200 Subject: sys/linux: fix alignment of cmsghdr_sock All cmsg's must be intptr aligned within the array. --- sys/linux/gen/386.go | 17 +++++++++++++---- sys/linux/gen/amd64.go | 19 +++++++++++++++---- sys/linux/gen/arm.go | 17 +++++++++++++---- sys/linux/gen/arm64.go | 19 +++++++++++++++---- sys/linux/gen/ppc64le.go | 19 +++++++++++++++---- sys/linux/socket.txt | 6 +++--- 6 files changed, 74 insertions(+), 23 deletions(-) (limited to 'sys/linux') diff --git a/sys/linux/gen/386.go b/sys/linux/gen/386.go index 6f54d62f5..49114dd6f 100644 --- a/sys/linux/gen/386.go +++ b/sys/linux/gen/386.go @@ -1889,9 +1889,9 @@ var structDescs_386 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "sctp_sndrcvinfo"}, FldName: "msg"}, }, AlignAttr: 4}}, {Key: StructKey{Name: "cmsghdr_sock"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_sock", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SO_MARK, int32]"}, FldName: "mark"}, - &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32]"}, FldName: "timestamping"}, - &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SCM_TXTIME, int64]"}, FldName: "txtime"}, + &StructType{Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SO_MARK, int32]"}, FldName: "mark"}, + &StructType{Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32]"}, FldName: "timestamping"}, + &StructType{Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_TXTIME, int64]"}, FldName: "txtime"}, }}}, {Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_CREDENTIALS, cmsg_un_cred]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_t[SOL_SOCKET, SCM_CREDENTIALS, cmsg_un_cred]", TypeSize: 24}, Fields: []Type{ &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SCM_CREDENTIALS, cmsg_un_cred]"}, FldName: "unaligned"}, @@ -1899,6 +1899,15 @@ var structDescs_386 = []*KeyedStruct{ {Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_RIGHTS, array[fd]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_t[SOL_SOCKET, SCM_RIGHTS, array[fd]]", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SCM_RIGHTS, array[fd]]"}, FldName: "unaligned"}, }, AlignAttr: 4}}, + {Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_TXTIME, int64]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_t[SOL_SOCKET, SCM_TXTIME, int64]", TypeSize: 20}, Fields: []Type{ + &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SCM_TXTIME, int64]"}, FldName: "unaligned"}, + }, AlignAttr: 4}}, + {Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SO_MARK, int32]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_t[SOL_SOCKET, SO_MARK, int32]", TypeSize: 16}, Fields: []Type{ + &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SO_MARK, int32]"}, FldName: "unaligned"}, + }, AlignAttr: 4}}, + {Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_t[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32]", TypeSize: 16}, Fields: []Type{ + &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32]"}, FldName: "unaligned"}, + }, AlignAttr: 4}}, {Key: StructKey{Name: "cmsghdr_un"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_un", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_RIGHTS, array[fd]]"}, FldName: "rights"}, &StructType{Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_CREDENTIALS, cmsg_un_cred]"}, FldName: "cred"}, @@ -50556,4 +50565,4 @@ var consts_386 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_386 = "0c2271c7e30379e511a214db9ba2a3217630c782" +const revision_386 = "139378d575bc4a79c91b9fa37dd2c11c1b8c6185" diff --git a/sys/linux/gen/amd64.go b/sys/linux/gen/amd64.go index 161145590..29a647164 100644 --- a/sys/linux/gen/amd64.go +++ b/sys/linux/gen/amd64.go @@ -1891,9 +1891,9 @@ var structDescs_amd64 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "sctp_sndrcvinfo"}, FldName: "msg"}, }, AlignAttr: 8}}, {Key: StructKey{Name: "cmsghdr_sock"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_sock", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SO_MARK, int32]"}, FldName: "mark"}, - &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32]"}, FldName: "timestamping"}, - &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SCM_TXTIME, int64]"}, FldName: "txtime"}, + &StructType{Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SO_MARK, int32]"}, FldName: "mark"}, + &StructType{Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32]"}, FldName: "timestamping"}, + &StructType{Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_TXTIME, int64]"}, FldName: "txtime"}, }}}, {Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_CREDENTIALS, cmsg_un_cred]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_t[SOL_SOCKET, SCM_CREDENTIALS, cmsg_un_cred]", TypeSize: 32}, Fields: []Type{ &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SCM_CREDENTIALS, cmsg_un_cred]"}, FldName: "unaligned"}, @@ -1902,6 +1902,17 @@ var structDescs_amd64 = []*KeyedStruct{ {Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_RIGHTS, array[fd]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_t[SOL_SOCKET, SCM_RIGHTS, array[fd]]", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SCM_RIGHTS, array[fd]]"}, FldName: "unaligned"}, }, AlignAttr: 8}}, + {Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_TXTIME, int64]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_t[SOL_SOCKET, SCM_TXTIME, int64]", TypeSize: 24}, Fields: []Type{ + &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SCM_TXTIME, int64]"}, FldName: "unaligned"}, + }, AlignAttr: 8}}, + {Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SO_MARK, int32]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_t[SOL_SOCKET, SO_MARK, int32]", TypeSize: 24}, Fields: []Type{ + &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SO_MARK, int32]"}, FldName: "unaligned"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, + }, AlignAttr: 8}}, + {Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_t[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32]", TypeSize: 24}, Fields: []Type{ + &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32]"}, FldName: "unaligned"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, + }, AlignAttr: 8}}, {Key: StructKey{Name: "cmsghdr_un"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_un", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_RIGHTS, array[fd]]"}, FldName: "rights"}, &StructType{Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_CREDENTIALS, cmsg_un_cred]"}, FldName: "cred"}, @@ -51076,4 +51087,4 @@ var consts_amd64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_amd64 = "d7e0ee6c2c0ab17be815876275b5902d85e2abf7" +const revision_amd64 = "1f971def4c2bb81dc8f64d20b10235b969a76da6" diff --git a/sys/linux/gen/arm.go b/sys/linux/gen/arm.go index 50ce0112c..9e101324b 100644 --- a/sys/linux/gen/arm.go +++ b/sys/linux/gen/arm.go @@ -1889,9 +1889,9 @@ var structDescs_arm = []*KeyedStruct{ &StructType{Key: StructKey{Name: "sctp_sndrcvinfo"}, FldName: "msg"}, }, AlignAttr: 4}}, {Key: StructKey{Name: "cmsghdr_sock"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_sock", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SO_MARK, int32]"}, FldName: "mark"}, - &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32]"}, FldName: "timestamping"}, - &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SCM_TXTIME, int64]"}, FldName: "txtime"}, + &StructType{Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SO_MARK, int32]"}, FldName: "mark"}, + &StructType{Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32]"}, FldName: "timestamping"}, + &StructType{Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_TXTIME, int64]"}, FldName: "txtime"}, }}}, {Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_CREDENTIALS, cmsg_un_cred]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_t[SOL_SOCKET, SCM_CREDENTIALS, cmsg_un_cred]", TypeSize: 24}, Fields: []Type{ &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SCM_CREDENTIALS, cmsg_un_cred]"}, FldName: "unaligned"}, @@ -1899,6 +1899,15 @@ var structDescs_arm = []*KeyedStruct{ {Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_RIGHTS, array[fd]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_t[SOL_SOCKET, SCM_RIGHTS, array[fd]]", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SCM_RIGHTS, array[fd]]"}, FldName: "unaligned"}, }, AlignAttr: 4}}, + {Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_TXTIME, int64]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_t[SOL_SOCKET, SCM_TXTIME, int64]", TypeSize: 20}, Fields: []Type{ + &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SCM_TXTIME, int64]"}, FldName: "unaligned"}, + }, AlignAttr: 4}}, + {Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SO_MARK, int32]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_t[SOL_SOCKET, SO_MARK, int32]", TypeSize: 16}, Fields: []Type{ + &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SO_MARK, int32]"}, FldName: "unaligned"}, + }, AlignAttr: 4}}, + {Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_t[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32]", TypeSize: 16}, Fields: []Type{ + &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32]"}, FldName: "unaligned"}, + }, AlignAttr: 4}}, {Key: StructKey{Name: "cmsghdr_un"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_un", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_RIGHTS, array[fd]]"}, FldName: "rights"}, &StructType{Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_CREDENTIALS, cmsg_un_cred]"}, FldName: "cred"}, @@ -50133,4 +50142,4 @@ var consts_arm = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm = "b87466cd02a7228c43dda382f1995b3633182b9a" +const revision_arm = "d8c3ddb2b189fc99303b2892a31adb0c191e827b" diff --git a/sys/linux/gen/arm64.go b/sys/linux/gen/arm64.go index b8a7a22fe..a70737d10 100644 --- a/sys/linux/gen/arm64.go +++ b/sys/linux/gen/arm64.go @@ -1891,9 +1891,9 @@ var structDescs_arm64 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "sctp_sndrcvinfo"}, FldName: "msg"}, }, AlignAttr: 8}}, {Key: StructKey{Name: "cmsghdr_sock"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_sock", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SO_MARK, int32]"}, FldName: "mark"}, - &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32]"}, FldName: "timestamping"}, - &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SCM_TXTIME, int64]"}, FldName: "txtime"}, + &StructType{Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SO_MARK, int32]"}, FldName: "mark"}, + &StructType{Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32]"}, FldName: "timestamping"}, + &StructType{Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_TXTIME, int64]"}, FldName: "txtime"}, }}}, {Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_CREDENTIALS, cmsg_un_cred]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_t[SOL_SOCKET, SCM_CREDENTIALS, cmsg_un_cred]", TypeSize: 32}, Fields: []Type{ &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SCM_CREDENTIALS, cmsg_un_cred]"}, FldName: "unaligned"}, @@ -1902,6 +1902,17 @@ var structDescs_arm64 = []*KeyedStruct{ {Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_RIGHTS, array[fd]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_t[SOL_SOCKET, SCM_RIGHTS, array[fd]]", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SCM_RIGHTS, array[fd]]"}, FldName: "unaligned"}, }, AlignAttr: 8}}, + {Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_TXTIME, int64]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_t[SOL_SOCKET, SCM_TXTIME, int64]", TypeSize: 24}, Fields: []Type{ + &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SCM_TXTIME, int64]"}, FldName: "unaligned"}, + }, AlignAttr: 8}}, + {Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SO_MARK, int32]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_t[SOL_SOCKET, SO_MARK, int32]", TypeSize: 24}, Fields: []Type{ + &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SO_MARK, int32]"}, FldName: "unaligned"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, + }, AlignAttr: 8}}, + {Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_t[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32]", TypeSize: 24}, Fields: []Type{ + &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32]"}, FldName: "unaligned"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, + }, AlignAttr: 8}}, {Key: StructKey{Name: "cmsghdr_un"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_un", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_RIGHTS, array[fd]]"}, FldName: "rights"}, &StructType{Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_CREDENTIALS, cmsg_un_cred]"}, FldName: "cred"}, @@ -50426,4 +50437,4 @@ var consts_arm64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm64 = "8ef1d4be499bd0884a4833c39f5a43dcd26fd526" +const revision_arm64 = "c7cf57250043be166a154bd0c5c0dc5c4f098a81" diff --git a/sys/linux/gen/ppc64le.go b/sys/linux/gen/ppc64le.go index 4f6a357e9..6b723d940 100644 --- a/sys/linux/gen/ppc64le.go +++ b/sys/linux/gen/ppc64le.go @@ -1890,9 +1890,9 @@ var structDescs_ppc64le = []*KeyedStruct{ &StructType{Key: StructKey{Name: "sctp_sndrcvinfo"}, FldName: "msg"}, }, AlignAttr: 8}}, {Key: StructKey{Name: "cmsghdr_sock"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_sock", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SO_MARK, int32]"}, FldName: "mark"}, - &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32]"}, FldName: "timestamping"}, - &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SCM_TXTIME, int64]"}, FldName: "txtime"}, + &StructType{Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SO_MARK, int32]"}, FldName: "mark"}, + &StructType{Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32]"}, FldName: "timestamping"}, + &StructType{Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_TXTIME, int64]"}, FldName: "txtime"}, }}}, {Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_CREDENTIALS, cmsg_un_cred]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_t[SOL_SOCKET, SCM_CREDENTIALS, cmsg_un_cred]", TypeSize: 32}, Fields: []Type{ &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SCM_CREDENTIALS, cmsg_un_cred]"}, FldName: "unaligned"}, @@ -1901,6 +1901,17 @@ var structDescs_ppc64le = []*KeyedStruct{ {Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_RIGHTS, array[fd]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_t[SOL_SOCKET, SCM_RIGHTS, array[fd]]", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SCM_RIGHTS, array[fd]]"}, FldName: "unaligned"}, }, AlignAttr: 8}}, + {Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_TXTIME, int64]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_t[SOL_SOCKET, SCM_TXTIME, int64]", TypeSize: 24}, Fields: []Type{ + &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SCM_TXTIME, int64]"}, FldName: "unaligned"}, + }, AlignAttr: 8}}, + {Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SO_MARK, int32]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_t[SOL_SOCKET, SO_MARK, int32]", TypeSize: 24}, Fields: []Type{ + &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SO_MARK, int32]"}, FldName: "unaligned"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, + }, AlignAttr: 8}}, + {Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_t[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32]", TypeSize: 24}, Fields: []Type{ + &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32]"}, FldName: "unaligned"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, + }, AlignAttr: 8}}, {Key: StructKey{Name: "cmsghdr_un"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_un", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_RIGHTS, array[fd]]"}, FldName: "rights"}, &StructType{Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_CREDENTIALS, cmsg_un_cred]"}, FldName: "cred"}, @@ -50393,4 +50404,4 @@ var consts_ppc64le = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_ppc64le = "56ba78b96d72e82cd36d54d3a600f481e9c2a47e" +const revision_ppc64le = "c0acab7b0e59b2caf8d541efa617259bcba77e8e" diff --git a/sys/linux/socket.txt b/sys/linux/socket.txt index 8c495d886..bd6f19679 100644 --- a/sys/linux/socket.txt +++ b/sys/linux/socket.txt @@ -190,9 +190,9 @@ type cmsghdr_unaligned[SOL, TYP, DATA] { # For __sock_cmsg_send cmsghdr_sock [ - mark cmsghdr_unaligned[SOL_SOCKET, SO_MARK, int32] - timestamping cmsghdr_unaligned[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32] - txtime cmsghdr_unaligned[SOL_SOCKET, SCM_TXTIME, int64] + mark cmsghdr_t[SOL_SOCKET, SO_MARK, int32] + timestamping cmsghdr_t[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32] + txtime cmsghdr_t[SOL_SOCKET, SCM_TXTIME, int64] ] [varlen] # Socket options -- cgit mrf-deployment