sshd broken with UsePrivilegeSeparation=yes on sparc64

Michiel Boland michiel at boland.org
Sun Jul 15 20:50:04 UTC 2007


> Could you give us an assembly dump of the two differences?  phk thinks
> there might be an issue w/ the CMSG_DATA macro, and a quick glance
> makes me question it too...  It looks scare on platforms that require
> aligned accesses...

Ok I have attached the compiled .s files. Hopefully these will not be 
eaten along the way.

Oh and, instead of compiling with O0, the following trick also helps avoid 
the problem

--- monitor_fdpass.c.orig	2007-07-15 22:47:01.000000000 +0200
+++ monitor_fdpass.c	2007-07-15 22:47:05.000000000 +0200
@@ -130,6 +130,7 @@
  		    SCM_RIGHTS, cmsg->cmsg_type);
  #endif
  	fd = (*(int *)CMSG_DATA(cmsg));
+	debug3("%s: fd = %d", __func__, fd);
  #endif
  	return fd;
  #else
-------------- next part --------------
	.file	"monitor_fdpass.c"
	.section	".debug_abbrev"
.LLdebug_abbrev0:
	.section	".debug_info"
.LLdebug_info0:
	.section	".debug_line"
.LLdebug_line0:
	.section	".text"
.LLtext0:
	.section	".rodata"
	.align 8
	.type	__func__.5432, #object
	.size	__func__.5432, 15
__func__.5432:
	.asciz	"ssh_mm_send_fd"
	.align 8
.LLC0:
	.asciz	"%s: sendmsg(%d): %s"
	.align 8
.LLC1:
	.asciz	"%s: sendmsg: expected sent 1 got %ld"
	.section	".text"
	.align 4
.LLADDPC0:
	add	%o7, %l7, %l7
	jmp	%o7+8
	 nop
	.align 4
	.align 32
	.global ssh_mm_send_fd
	.type	ssh_mm_send_fd, #function
	.proc	020
ssh_mm_send_fd:
.LLFB13:
	.file 1 "/usr/src/secure/lib/libssh/../../../crypto/openssh/monitor_fdpass.c"
	.loc 1 45 0
	.register	%g2, #scratch
	.register	%g3, #scratch
	save	%sp, -336, %sp
.LLCFI0:
	sethi	%hi(_GLOBAL_OFFSET_TABLE_-8), %l7
	add	%l7, %lo(_GLOBAL_OFFSET_TABLE_-4), %l7
	call	.LLADDPC0
	 nop
	mov	%i0, %g1
	mov	%i1, %g2
	st	%g1, [%fp+2175]
	st	%g2, [%fp+2183]
	.loc 1 49 0
	stb	%g0, [%fp+1950]
	.loc 1 56 0
	add	%fp, 1967, %g1
	mov	%g1, %o0
	mov	0, %o1
	mov	48, %o2
	call	memset, 0
	 nop
	.loc 1 61 0
	add	%fp, 1918, %g1
	stx	%g1, [%fp+1999]
	.loc 1 62 0
	mov	20, %g1
	st	%g1, [%fp+2007]
	.loc 1 63 0
	ld	[%fp+2007], %g1
	cmp	%g1, 11
	bleu	%icc, .LL2
	 nop
	ldx	[%fp+1999], %g1
	stx	%g1, [%fp+1895]
	ba,pt	%xcc, .LL4
	 nop
.LL2:
	stx	%g0, [%fp+1895]
.LL4:
	ldx	[%fp+1895], %g1
	stx	%g1, [%fp+2023]
	.loc 1 64 0
	ldx	[%fp+2023], %g2
	mov	20, %g1
	st	%g1, [%g2]
	.loc 1 65 0
	ldx	[%fp+2023], %g2
	sethi	%hi(64512), %g1
	or	%g1, 1023, %g1
	st	%g1, [%g2+4]
	.loc 1 66 0
	ldx	[%fp+2023], %g2
	mov	1, %g1
	st	%g1, [%g2+8]
	.loc 1 67 0
	ldx	[%fp+2023], %g1
	add	%g1, 16, %g1
	mov	%g1, %g2
	ld	[%fp+2183], %g1
	st	%g1, [%g2]
	.loc 1 70 0
	add	%fp, 1950, %g1
	stx	%g1, [%fp+1951]
	.loc 1 71 0
	mov	1, %g1
	stx	%g1, [%fp+1959]
	.loc 1 72 0
	add	%fp, 1951, %g1
	stx	%g1, [%fp+1983]
	.loc 1 73 0
	mov	1, %g1
	st	%g1, [%fp+1991]
	.loc 1 75 0
	ld	[%fp+2175], %g1
	sra	%g1, 0, %g1
	add	%fp, 1967, %g2
	mov	%g1, %o0
	mov	%g2, %o1
	mov	0, %o2
	call	sendmsg, 0
	 nop
	mov	%o0, %g1
	stx	%g1, [%fp+2015]
	ldx	[%fp+2015], %g1
	cmp	%g1, -1
	bne	%xcc, .LL5
	 nop
	.loc 1 76 0
	call	__error, 0
	 nop
	mov	%o0, %g1
	ld	[%g1], %g1
	sra	%g1, 0, %g1
	mov	%g1, %o0
	call	strerror, 0
	 nop
	mov	%o0, %g3
	ld	[%fp+2183], %g1
	sra	%g1, 0, %g2
	sethi	%hi(.LLC0), %g1
	or	%g1, %lo(.LLC0), %g1
	ldx	[%l7+%g1], %g1
	mov	%g1, %o0
	sethi	%hi(__func__.5432), %g1
	or	%g1, %lo(__func__.5432), %g1
	ldx	[%l7+%g1], %g1
	mov	%g1, %o1
	mov	%g2, %o2
	mov	%g3, %o3
	call	ssh_fatal, 0
	 nop
.LL5:
	.loc 1 78 0
	ldx	[%fp+2015], %g1
	cmp	%g1, 1
	be	%xcc, .LL9
	 nop
	.loc 1 79 0
	sethi	%hi(.LLC1), %g1
	or	%g1, %lo(.LLC1), %g1
	ldx	[%l7+%g1], %g1
	mov	%g1, %o0
	sethi	%hi(__func__.5432), %g1
	or	%g1, %lo(__func__.5432), %g1
	ldx	[%l7+%g1], %g1
	mov	%g1, %o1
	ldx	[%fp+2015], %o2
	call	ssh_fatal, 0
	 nop
.LL9:
	.loc 1 85 0
	return	%i7+8
	 nop
.LLFE13:
	.size	ssh_mm_send_fd, .-ssh_mm_send_fd
	.section	".rodata"
	.align 8
	.type	__func__.5460, #object
	.size	__func__.5460, 18
__func__.5460:
	.asciz	"ssh_mm_receive_fd"
	.align 8
.LLC2:
	.asciz	"%s: recvmsg: %s"
	.align 8
.LLC3:
	.asciz	"%s: recvmsg: expected received 1 got %ld"
	.align 8
.LLC4:
	.asciz	"%s: no message header"
	.align 8
.LLC5:
	.asciz	"%s: expected type %d got %d"
	.section	".text"
	.align 4
	.align 32
	.global ssh_mm_receive_fd
	.type	ssh_mm_receive_fd, #function
	.proc	04
ssh_mm_receive_fd:
.LLFB14:
	.loc 1 89 0
	save	%sp, -336, %sp
.LLCFI1:
	sethi	%hi(_GLOBAL_OFFSET_TABLE_-8), %l7
	add	%l7, %lo(_GLOBAL_OFFSET_TABLE_-4), %l7
	call	.LLADDPC0
	 nop
	mov	%i0, %g1
	st	%g1, [%fp+2175]
	.loc 1 101 0
	add	%fp, 1959, %g1
	mov	%g1, %o0
	mov	0, %o1
	mov	48, %o2
	call	memset, 0
	 nop
	.loc 1 102 0
	add	%fp, 1942, %g1
	stx	%g1, [%fp+1943]
	.loc 1 103 0
	mov	1, %g1
	stx	%g1, [%fp+1951]
	.loc 1 104 0
	add	%fp, 1943, %g1
	stx	%g1, [%fp+1975]
	.loc 1 105 0
	mov	1, %g1
	st	%g1, [%fp+1983]
	.loc 1 110 0
	add	%fp, 1910, %g1
	stx	%g1, [%fp+1991]
	.loc 1 111 0
	mov	32, %g1
	st	%g1, [%fp+1999]
	.loc 1 114 0
	ld	[%fp+2175], %g1
	sra	%g1, 0, %g1
	add	%fp, 1959, %g2
	mov	%g1, %o0
	mov	%g2, %o1
	mov	0, %o2
	call	recvmsg, 0
	 nop
	mov	%o0, %g1
	stx	%g1, [%fp+2007]
	ldx	[%fp+2007], %g1
	cmp	%g1, -1
	bne	%xcc, .LL11
	 nop
	.loc 1 115 0
	call	__error, 0
	 nop
	mov	%o0, %g1
	ld	[%g1], %g1
	sra	%g1, 0, %g1
	mov	%g1, %o0
	call	strerror, 0
	 nop
	mov	%o0, %g2
	sethi	%hi(.LLC2), %g1
	or	%g1, %lo(.LLC2), %g1
	ldx	[%l7+%g1], %g1
	mov	%g1, %o0
	sethi	%hi(__func__.5460), %g1
	or	%g1, %lo(__func__.5460), %g1
	ldx	[%l7+%g1], %g1
	mov	%g1, %o1
	mov	%g2, %o2
	call	ssh_fatal, 0
	 nop
.LL11:
	.loc 1 116 0
	ldx	[%fp+2007], %g1
	cmp	%g1, 1
	be	%xcc, .LL13
	 nop
	.loc 1 117 0
	sethi	%hi(.LLC3), %g1
	or	%g1, %lo(.LLC3), %g1
	ldx	[%l7+%g1], %g1
	mov	%g1, %o0
	sethi	%hi(__func__.5460), %g1
	or	%g1, %lo(__func__.5460), %g1
	ldx	[%l7+%g1], %g1
	mov	%g1, %o1
	ldx	[%fp+2007], %o2
	call	ssh_fatal, 0
	 nop
.LL13:
	.loc 1 124 0
	ld	[%fp+1999], %g1
	cmp	%g1, 11
	bleu	%icc, .LL15
	 nop
	ldx	[%fp+1991], %g1
	stx	%g1, [%fp+1895]
	ba,pt	%xcc, .LL17
	 nop
.LL15:
	stx	%g0, [%fp+1895]
.LL17:
	ldx	[%fp+1895], %g1
	stx	%g1, [%fp+2023]
	.loc 1 125 0
	ldx	[%fp+2023], %g1
	brnz	%g1, .LL18
	 nop
	.loc 1 126 0
	sethi	%hi(.LLC4), %g1
	or	%g1, %lo(.LLC4), %g1
	ldx	[%l7+%g1], %g1
	mov	%g1, %o0
	sethi	%hi(__func__.5460), %g1
	or	%g1, %lo(__func__.5460), %g1
	ldx	[%l7+%g1], %g1
	mov	%g1, %o1
	call	ssh_fatal, 0
	 nop
.LL18:
	.loc 1 128 0
	ldx	[%fp+2023], %g1
	ld	[%g1+8], %g1
	cmp	%g1, 1
	be	%icc, .LL20
	 nop
	.loc 1 129 0
	ldx	[%fp+2023], %g1
	ld	[%g1+8], %g1
	sra	%g1, 0, %g2
	sethi	%hi(.LLC5), %g1
	or	%g1, %lo(.LLC5), %g1
	ldx	[%l7+%g1], %g1
	mov	%g1, %o0
	sethi	%hi(__func__.5460), %g1
	or	%g1, %lo(__func__.5460), %g1
	ldx	[%l7+%g1], %g1
	mov	%g1, %o1
	mov	1, %o2
	mov	%g2, %o3
	call	ssh_fatal, 0
	 nop
.LL20:
	.loc 1 132 0
	ldx	[%fp+2023], %g1
	add	%g1, 16, %g1
	ld	[%g1], %g1
	st	%g1, [%fp+2019]
	.loc 1 134 0
	ld	[%fp+2019], %g1
	sra	%g1, 0, %g1
	.loc 1 139 0
	mov	%g1, %i0
	return	%i7+8
	 nop
.LLFE14:
	.size	ssh_mm_receive_fd, .-ssh_mm_receive_fd
	.section	".debug_frame"
.LLframe0:
	.uaword	.LLECIE0-.LLSCIE0
.LLSCIE0:
	.uaword	0xffffffff
	.byte	0x1
	.asciz	""
	.uleb128 0x1
	.sleb128 -8
	.byte	0xf
	.byte	0xc
	.uleb128 0xe
	.uleb128 0x7ff
	.align 8
.LLECIE0:
.LLSFDE0:
	.uaword	.LLEFDE0-.LLASFDE0
.LLASFDE0:
	.uaword	.LLframe0
	.uaxword	.LLFB13
	.uaxword	.LLFE13-.LLFB13
	.byte	0x4
	.uaword	.LLCFI0-.LLFB13
	.byte	0xd
	.uleb128 0x1e
	.byte	0x2d
	.byte	0x9
	.uleb128 0xf
	.uleb128 0x1f
	.align 8
.LLEFDE0:
.LLSFDE2:
	.uaword	.LLEFDE2-.LLASFDE2
.LLASFDE2:
	.uaword	.LLframe0
	.uaxword	.LLFB14
	.uaxword	.LLFE14-.LLFB14
	.byte	0x4
	.uaword	.LLCFI1-.LLFB14
	.byte	0xd
	.uleb128 0x1e
	.byte	0x2d
	.byte	0x9
	.uleb128 0xf
	.uleb128 0x1f
	.align 8
.LLEFDE2:
	.section	".text"
.LLetext0:
	.section	".debug_loc"
.LLdebug_loc0:
.LLLST0:
	.uaxword	.LLFB13-.LLtext0
	.uaxword	.LLCFI0-.LLtext0
	.uahalf	0x3
	.byte	0x7e
	.sleb128 2047
	.uaxword	.LLCFI0-.LLtext0
	.uaxword	.LLFE13-.LLtext0
	.uahalf	0x3
	.byte	0x8e
	.sleb128 2047
	.uaxword	0x0
	.uaxword	0x0
.LLLST1:
	.uaxword	.LLFB14-.LLtext0
	.uaxword	.LLCFI1-.LLtext0
	.uahalf	0x3
	.byte	0x7e
	.sleb128 2047
	.uaxword	.LLCFI1-.LLtext0
	.uaxword	.LLFE14-.LLtext0
	.uahalf	0x3
	.byte	0x8e
	.sleb128 2047
	.uaxword	0x0
	.uaxword	0x0
	.file 2 "/usr/include/machine/_types.h"
	.file 3 "/usr/include/sys/_types.h"
	.file 4 "/usr/include/sys/types.h"
	.file 5 "/usr/include/sys/_iovec.h"
	.file 6 "/usr/include/sys/socket.h"
	.section	".debug_info"
	.uaword	0x499
	.uahalf	0x2
	.uaword	.LLdebug_abbrev0
	.byte	0x8
	.uleb128 0x1
	.asciz	"GNU C 4.2.0 20070514 [FreeBSD]"
	.byte	0x1
	.asciz	"/usr/src/secure/lib/libssh/../../../crypto/openssh/monitor_fdpass.c"
	.uaxword	.LLtext0
	.uaxword	.LLetext0
	.uaword	.LLdebug_line0
	.uleb128 0x2
	.byte	0x1
	.byte	0x6
	.asciz	"signed char"
	.uleb128 0x2
	.byte	0x1
	.byte	0x8
	.asciz	"unsigned char"
	.uleb128 0x2
	.byte	0x2
	.byte	0x5
	.asciz	"short int"
	.uleb128 0x2
	.byte	0x2
	.byte	0x7
	.asciz	"short unsigned int"
	.uleb128 0x2
	.byte	0x4
	.byte	0x5
	.asciz	"int"
	.uleb128 0x3
	.asciz	"__uint32_t"
	.byte	0x2
	.byte	0x32
	.uaword	0xe0
	.uleb128 0x2
	.byte	0x4
	.byte	0x7
	.asciz	"unsigned int"
	.uleb128 0x3
	.asciz	"__int64_t"
	.byte	0x2
	.byte	0x33
	.uaword	0x101
	.uleb128 0x2
	.byte	0x8
	.byte	0x5
	.asciz	"long int"
	.uleb128 0x3
	.asciz	"__uint64_t"
	.byte	0x2
	.byte	0x34
	.uaword	0x11f
	.uleb128 0x2
	.byte	0x8
	.byte	0x7
	.asciz	"long unsigned int"
	.uleb128 0x2
	.byte	0x8
	.byte	0x4
	.asciz	"double"
	.uleb128 0x2
	.byte	0x4
	.byte	0x4
	.asciz	"float"
	.uleb128 0x3
	.asciz	"__size_t"
	.byte	0x2
	.byte	0x4c
	.uaword	0x10d
	.uleb128 0x3
	.asciz	"__ssize_t"
	.byte	0x2
	.byte	0x4d
	.uaword	0xf0
	.uleb128 0x3
	.asciz	"__socklen_t"
	.byte	0x3
	.byte	0x3a
	.uaword	0xce
	.uleb128 0x4
	.byte	0x8
	.byte	0x7
	.uleb128 0x2
	.byte	0x1
	.byte	0x6
	.asciz	"char"
	.uleb128 0x5
	.byte	0x8
	.uleb128 0x3
	.asciz	"size_t"
	.byte	0x4
	.byte	0xe4
	.uaword	0x147
	.uleb128 0x3
	.asciz	"ssize_t"
	.byte	0x4
	.byte	0xe9
	.uaword	0x157
	.uleb128 0x6
	.asciz	"iovec"
	.byte	0x10
	.byte	0x5
	.byte	0x2b
	.uaword	0x1d9
	.uleb128 0x7
	.asciz	"iov_base"
	.byte	0x5
	.byte	0x2c
	.uaword	0x186
	.byte	0x2
	.byte	0x23
	.uleb128 0x0
	.uleb128 0x7
	.asciz	"iov_len"
	.byte	0x5
	.byte	0x2d
	.uaword	0x188
	.byte	0x2
	.byte	0x23
	.uleb128 0x8
	.byte	0x0
	.uleb128 0x3
	.asciz	"socklen_t"
	.byte	0x6
	.byte	0x49
	.uaword	0x168
	.uleb128 0x8
	.asciz	"msghdr"
	.byte	0x30
	.byte	0x6
	.uahalf	0x17f
	.uaword	0x295
	.uleb128 0x9
	.asciz	"msg_name"
	.byte	0x6
	.uahalf	0x180
	.uaword	0x186
	.byte	0x2
	.byte	0x23
	.uleb128 0x0
	.uleb128 0x9
	.asciz	"msg_namelen"
	.byte	0x6
	.uahalf	0x181
	.uaword	0x1d9
	.byte	0x2
	.byte	0x23
	.uleb128 0x8
	.uleb128 0x9
	.asciz	"msg_iov"
	.byte	0x6
	.uahalf	0x182
	.uaword	0x295
	.byte	0x2
	.byte	0x23
	.uleb128 0x10
	.uleb128 0x9
	.asciz	"msg_iovlen"
	.byte	0x6
	.uahalf	0x183
	.uaword	0xc7
	.byte	0x2
	.byte	0x23
	.uleb128 0x18
	.uleb128 0x9
	.asciz	"msg_control"
	.byte	0x6
	.uahalf	0x184
	.uaword	0x186
	.byte	0x2
	.byte	0x23
	.uleb128 0x20
	.uleb128 0x9
	.asciz	"msg_controllen"
	.byte	0x6
	.uahalf	0x185
	.uaword	0x1d9
	.byte	0x2
	.byte	0x23
	.uleb128 0x28
	.uleb128 0x9
	.asciz	"msg_flags"
	.byte	0x6
	.uahalf	0x186
	.uaword	0xc7
	.byte	0x2
	.byte	0x23
	.uleb128 0x2c
	.byte	0x0
	.uleb128 0xa
	.byte	0x8
	.uaword	0x1a5
	.uleb128 0x8
	.asciz	"cmsghdr"
	.byte	0xc
	.byte	0x6
	.uahalf	0x1a4
	.uaword	0x2ec
	.uleb128 0x9
	.asciz	"cmsg_len"
	.byte	0x6
	.uahalf	0x1a5
	.uaword	0x1d9
	.byte	0x2
	.byte	0x23
	.uleb128 0x0
	.uleb128 0x9
	.asciz	"cmsg_level"
	.byte	0x6
	.uahalf	0x1a6
	.uaword	0xc7
	.byte	0x2
	.byte	0x23
	.uleb128 0x4
	.uleb128 0x9
	.asciz	"cmsg_type"
	.byte	0x6
	.uahalf	0x1a7
	.uaword	0xc7
	.byte	0x2
	.byte	0x23
	.uleb128 0x8
	.byte	0x0
	.uleb128 0xb
	.byte	0x1
	.asciz	"ssh_mm_send_fd"
	.byte	0x1
	.byte	0x2d
	.byte	0x1
	.uaxword	.LLFB13
	.uaxword	.LLFE13
	.uaword	.LLLST0
	.uaword	0x3a1
	.uleb128 0xc
	.asciz	"sock"
	.byte	0x1
	.byte	0x2c
	.uaword	0xc7
	.byte	0x3
	.byte	0x91
	.sleb128 128
	.uleb128 0xc
	.asciz	"fd"
	.byte	0x1
	.byte	0x2c
	.uaword	0xc7
	.byte	0x3
	.byte	0x91
	.sleb128 136
	.uleb128 0xd
	.asciz	"msg"
	.byte	0x1
	.byte	0x2f
	.uaword	0x1ea
	.byte	0x3
	.byte	0x91
	.sleb128 -80
	.uleb128 0xd
	.asciz	"vec"
	.byte	0x1
	.byte	0x30
	.uaword	0x1a5
	.byte	0x3
	.byte	0x91
	.sleb128 -96
	.uleb128 0xd
	.asciz	"ch"
	.byte	0x1
	.byte	0x31
	.uaword	0x17e
	.byte	0x3
	.byte	0x91
	.sleb128 -97
	.uleb128 0xd
	.asciz	"n"
	.byte	0x1
	.byte	0x32
	.uaword	0x196
	.byte	0x2
	.byte	0x91
	.sleb128 -32
	.uleb128 0xd
	.asciz	"tmp"
	.byte	0x1
	.byte	0x34
	.uaword	0x3a1
	.byte	0x3
	.byte	0x91
	.sleb128 -129
	.uleb128 0xd
	.asciz	"cmsg"
	.byte	0x1
	.byte	0x35
	.uaword	0x3b1
	.byte	0x2
	.byte	0x91
	.sleb128 -24
	.uleb128 0xe
	.uaword	.LLASF0
	.uaword	0x497
	.byte	0x1
	.byte	0x9
	.byte	0x3
	.uaxword	__func__.5432
	.byte	0x0
	.uleb128 0xf
	.uaword	0x17e
	.uaword	0x3b1
	.uleb128 0x10
	.uaword	0x17b
	.byte	0x1f
	.byte	0x0
	.uleb128 0xa
	.byte	0x8
	.uaword	0x29b
	.uleb128 0x11
	.byte	0x1
	.asciz	"ssh_mm_receive_fd"
	.byte	0x1
	.byte	0x59
	.byte	0x1
	.uaword	0xc7
	.uaxword	.LLFB14
	.uaxword	.LLFE14
	.uaword	.LLLST1
	.uaword	0x472
	.uleb128 0xc
	.asciz	"sock"
	.byte	0x1
	.byte	0x58
	.uaword	0xc7
	.byte	0x3
	.byte	0x91
	.sleb128 128
	.uleb128 0xd
	.asciz	"msg"
	.byte	0x1
	.byte	0x5b
	.uaword	0x1ea
	.byte	0x3
	.byte	0x91
	.sleb128 -88
	.uleb128 0xd
	.asciz	"vec"
	.byte	0x1
	.byte	0x5c
	.uaword	0x1a5
	.byte	0x3
	.byte	0x91
	.sleb128 -104
	.uleb128 0xd
	.asciz	"n"
	.byte	0x1
	.byte	0x5d
	.uaword	0x196
	.byte	0x2
	.byte	0x91
	.sleb128 -40
	.uleb128 0xd
	.asciz	"ch"
	.byte	0x1
	.byte	0x5e
	.uaword	0x17e
	.byte	0x3
	.byte	0x91
	.sleb128 -105
	.uleb128 0xd
	.asciz	"fd"
	.byte	0x1
	.byte	0x5f
	.uaword	0xc7
	.byte	0x2
	.byte	0x91
	.sleb128 -28
	.uleb128 0xd
	.asciz	"tmp"
	.byte	0x1
	.byte	0x61
	.uaword	0x3a1
	.byte	0x3
	.byte	0x91
	.sleb128 -137
	.uleb128 0xd
	.asciz	"cmsg"
	.byte	0x1
	.byte	0x62
	.uaword	0x3b1
	.byte	0x2
	.byte	0x91
	.sleb128 -24
	.uleb128 0xe
	.uaword	.LLASF0
	.uaword	0x482
	.byte	0x1
	.byte	0x9
	.byte	0x3
	.uaxword	__func__.5460
	.byte	0x0
	.uleb128 0xf
	.uaword	0x17e
	.uaword	0x482
	.uleb128 0x10
	.uaword	0x17b
	.byte	0x11
	.byte	0x0
	.uleb128 0x12
	.uaword	0x472
	.uleb128 0xf
	.uaword	0x17e
	.uaword	0x497
	.uleb128 0x10
	.uaword	0x17b
	.byte	0xe
	.byte	0x0
	.uleb128 0x12
	.uaword	0x487
	.byte	0x0
	.section	".debug_abbrev"
	.uleb128 0x1
	.uleb128 0x11
	.byte	0x1
	.uleb128 0x25
	.uleb128 0x8
	.uleb128 0x13
	.uleb128 0xb
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x1
	.uleb128 0x10
	.uleb128 0x6
	.byte	0x0
	.byte	0x0
	.uleb128 0x2
	.uleb128 0x24
	.byte	0x0
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3e
	.uleb128 0xb
	.uleb128 0x3
	.uleb128 0x8
	.byte	0x0
	.byte	0x0
	.uleb128 0x3
	.uleb128 0x16
	.byte	0x0
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.uleb128 0x4
	.uleb128 0x24
	.byte	0x0
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3e
	.uleb128 0xb
	.byte	0x0
	.byte	0x0
	.uleb128 0x5
	.uleb128 0xf
	.byte	0x0
	.uleb128 0xb
	.uleb128 0xb
	.byte	0x0
	.byte	0x0
	.uleb128 0x6
	.uleb128 0x13
	.byte	0x1
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x1
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.uleb128 0x7
	.uleb128 0xd
	.byte	0x0
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x38
	.uleb128 0xa
	.byte	0x0
	.byte	0x0
	.uleb128 0x8
	.uleb128 0x13
	.byte	0x1
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0x5
	.uleb128 0x1
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.uleb128 0x9
	.uleb128 0xd
	.byte	0x0
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0x5
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x38
	.uleb128 0xa
	.byte	0x0
	.byte	0x0
	.uleb128 0xa
	.uleb128 0xf
	.byte	0x0
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.uleb128 0xb
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3f
	.uleb128 0xc
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x27
	.uleb128 0xc
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x1
	.uleb128 0x40
	.uleb128 0x6
	.uleb128 0x1
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.uleb128 0xc
	.uleb128 0x5
	.byte	0x0
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0xa
	.byte	0x0
	.byte	0x0
	.uleb128 0xd
	.uleb128 0x34
	.byte	0x0
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0xa
	.byte	0x0
	.byte	0x0
	.uleb128 0xe
	.uleb128 0x34
	.byte	0x0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x34
	.uleb128 0xc
	.uleb128 0x2
	.uleb128 0xa
	.byte	0x0
	.byte	0x0
	.uleb128 0xf
	.uleb128 0x1
	.byte	0x1
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x1
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.uleb128 0x10
	.uleb128 0x21
	.byte	0x0
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2f
	.uleb128 0xb
	.byte	0x0
	.byte	0x0
	.uleb128 0x11
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3f
	.uleb128 0xc
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x27
	.uleb128 0xc
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x1
	.uleb128 0x40
	.uleb128 0x6
	.uleb128 0x1
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.uleb128 0x12
	.uleb128 0x26
	.byte	0x0
	.uleb128 0x49
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.byte	0x0
	.section	".debug_pubnames"
	.uaword	0x37
	.uahalf	0x2
	.uaword	.LLdebug_info0
	.uaword	0x49d
	.uaword	0x2ec
	.asciz	"ssh_mm_send_fd"
	.uaword	0x3b7
	.asciz	"ssh_mm_receive_fd"
	.uaword	0x0
	.section	".debug_aranges"
	.uaword	0x2c
	.uahalf	0x2
	.uaword	.LLdebug_info0
	.byte	0x8
	.byte	0x0
	.uahalf	0x0
	.uahalf	0x0
	.uaxword	.LLtext0
	.uaxword	.LLetext0-.LLtext0
	.uaxword	0x0
	.uaxword	0x0
	.section	".debug_str"
.LLASF0:
	.asciz	"__func__"
	.ident	"GCC: (GNU) 4.2.0 20070514 [FreeBSD]"
-------------- next part --------------
	.file	"monitor_fdpass.c"
	.section	".debug_abbrev"
.LLdebug_abbrev0:
	.section	".debug_info"
.LLdebug_info0:
	.section	".debug_line"
.LLdebug_line0:
	.section	".text"
.LLtext0:
	.section	.rodata.str1.8,"aMS", at progbits,1
	.align 8
.LLC0:
	.asciz	"%s: recvmsg: %s"
	.align 8
.LLC1:
	.asciz	"%s: recvmsg: expected received 1 got %ld"
	.align 8
.LLC2:
	.asciz	"%s: no message header"
	.align 8
.LLC3:
	.asciz	"%s: expected type %d got %d"
	.section	".text"
	.align 4
.LLADDPC0:
	jmp	%o7+8
	 add	%o7, %l7, %l7
	.align 4
	.align 32
	.global ssh_mm_receive_fd
	.type	ssh_mm_receive_fd, #function
	.proc	04
ssh_mm_receive_fd:
.LLFB14:
	.file 1 "/usr/src/secure/lib/libssh/../../../crypto/openssh/monitor_fdpass.c"
	.loc 1 89 0
	.register	%g2, #scratch
.LLVL0:
	save	%sp, -304, %sp
.LLCFI0:
	sethi	%hi(_GLOBAL_OFFSET_TABLE_-4), %l7
	call	.LLADDPC0
	 add	%l7, %lo(_GLOBAL_OFFSET_TABLE_+4), %l7
	.loc 1 101 0
	stx	%g0, [%fp+1983]
	stx	%g0, [%fp+1991]
	stx	%g0, [%fp+2007]
	stx	%g0, [%fp+2023]
	.loc 1 102 0
	add	%fp, 1966, %g1
	stx	%g1, [%fp+1967]
	.loc 1 103 0
	mov	1, %g2
	stx	%g2, [%fp+1975]
	.loc 1 104 0
	add	%fp, 1967, %g1
	stx	%g1, [%fp+1999]
	.loc 1 105 0
	st	%g2, [%fp+2007]
	.loc 1 110 0
	add	%fp, 1934, %g1
	stx	%g1, [%fp+2015]
	.loc 1 111 0
	mov	32, %g1
	st	%g1, [%fp+2023]
	.loc 1 114 0
	mov	%i0, %o0
	add	%fp, 1983, %o1
	call	recvmsg, 0
	 mov	0, %o2
.LLVL1:
	cmp	%o0, -1
	bne,pt	%xcc, .LL2
	 mov	%o0, %o2
.LLVL2:
	.loc 1 115 0
	call	__error, 0
	 nop
.LLVL3:
	call	strerror, 0
	 ldsw	[%o0], %o0
	mov	%o0, %o2
	sethi	%hi(.LLC0), %g1
	or	%g1, %lo(.LLC0), %g1
	ldx	[%l7+%g1], %o0
	sethi	%hi(__func__.5434), %g1
	or	%g1, %lo(__func__.5434), %g1
	call	ssh_fatal, 0
	 ldx	[%l7+%g1], %o1
.LLVL4:
.LL2:
	.loc 1 116 0
	cmp	%o0, 1
	.loc 1 124 0
	.loc 1 116 0
	be,pt	%xcc, .LL4
	 lduw	[%fp+2023], %g1
	.loc 1 117 0
	sethi	%hi(.LLC1), %g1
	or	%g1, %lo(.LLC1), %g1
	ldx	[%l7+%g1], %o0
.LLVL5:
	sethi	%hi(__func__.5434), %g1
	or	%g1, %lo(__func__.5434), %g1
	call	ssh_fatal, 0
	 ldx	[%l7+%g1], %o1
.LLVL6:
.LL4:
	.loc 1 124 0
	cmp	%g1, 11
	bleu,pn	%icc, .LL6
	 ldx	[%fp+2015], %g1
	.loc 1 128 0
	.loc 1 125 0
	brnz,a,pt %g1, .LL8
	 lduw	[%g1+8], %o3
.LL6:
	.loc 1 126 0
	sethi	%hi(.LLC2), %g1
	or	%g1, %lo(.LLC2), %g1
	ldx	[%l7+%g1], %o0
.LLVL7:
	sethi	%hi(__func__.5434), %g1
	or	%g1, %lo(__func__.5434), %g1
	call	ssh_fatal, 0
	 ldx	[%l7+%g1], %o1
.LLVL8:
.LL8:
.LLVL9:
	.loc 1 128 0
	cmp	%o3, 1
	.loc 1 129 0
	.loc 1 128 0
	be,pt	%icc, .LL9
	 mov	1, %o2
	.loc 1 129 0
	sethi	%hi(.LLC3), %g1
.LLVL10:
	or	%g1, %lo(.LLC3), %g1
	ldx	[%l7+%g1], %o0
.LLVL11:
	sethi	%hi(__func__.5434), %g1
	or	%g1, %lo(__func__.5434), %g1
	ldx	[%l7+%g1], %o1
.LLVL12:
	call	ssh_fatal, 0
	 sra	%o3, 0, %o3
.LLVL13:
.LL9:
.LLVL14:
	.loc 1 139 0
	return	%i7+8
	 ldsw	[%g1+16], %o0
.LLFE14:
	.size	ssh_mm_receive_fd, .-ssh_mm_receive_fd
	.section	.rodata.str1.8
	.align 8
.LLC4:
	.asciz	"%s: sendmsg(%d): %s"
	.align 8
.LLC5:
	.asciz	"%s: sendmsg: expected sent 1 got %ld"
	.section	".text"
	.align 4
	.align 32
	.global ssh_mm_send_fd
	.type	ssh_mm_send_fd, #function
	.proc	020
ssh_mm_send_fd:
.LLFB13:
	.loc 1 45 0
.LLVL15:
	save	%sp, -304, %sp
.LLCFI1:
	sethi	%hi(_GLOBAL_OFFSET_TABLE_-4), %l7
	call	.LLADDPC0
	 add	%l7, %lo(_GLOBAL_OFFSET_TABLE_+4), %l7
	.loc 1 49 0
	stb	%g0, [%fp+1966]
.LLVL16:
	.loc 1 56 0
	stx	%g0, [%fp+1983]
	stx	%g0, [%fp+1991]
	stx	%g0, [%fp+2007]
	stx	%g0, [%fp+2023]
	.loc 1 61 0
	add	%fp, 1934, %g1
	stx	%g1, [%fp+2015]
	.loc 1 62 0
	mov	20, %g1
	st	%g1, [%fp+2023]
	.loc 1 64 0
	st	%g1, [%fp+1934]
	.loc 1 65 0
	sethi	%hi(64512), %g1
	or	%g1, 1023, %g1
	st	%g1, [%fp+1938]
	.loc 1 66 0
	mov	1, %g1
	st	%g1, [%fp+1942]
	.loc 1 67 0
	st	%i1, [%fp+1950]
	.loc 1 70 0
	add	%fp, 1966, %g1
	stx	%g1, [%fp+1967]
	.loc 1 71 0
	mov	1, %g2
	stx	%g2, [%fp+1975]
	.loc 1 72 0
	add	%fp, 1967, %g1
	stx	%g1, [%fp+1999]
	.loc 1 73 0
	st	%g2, [%fp+2007]
	.loc 1 75 0
	mov	%i0, %o0
	add	%fp, 1983, %o1
	call	sendmsg, 0
	 mov	0, %o2
.LLVL17:
	cmp	%o0, -1
	bne,pt	%xcc, .LL13
	 mov	%o0, %o2
.LLVL18:
	.loc 1 76 0
	call	__error, 0
	 nop
.LLVL19:
	call	strerror, 0
	 ldsw	[%o0], %o0
	mov	%o0, %o3
	sethi	%hi(.LLC4), %g1
	or	%g1, %lo(.LLC4), %g1
	ldx	[%l7+%g1], %o0
	sethi	%hi(__func__.5413), %g1
	or	%g1, %lo(__func__.5413), %g1
	ldx	[%l7+%g1], %o1
	call	ssh_fatal, 0
	 mov	%i1, %o2
.LLVL20:
.LL13:
	.loc 1 78 0
	cmp	%o0, 1
	.loc 1 79 0
	.loc 1 78 0
	be,pt	%xcc, .LL18
	 sethi	%hi(.LLC5), %g1
	.loc 1 79 0
	or	%g1, %lo(.LLC5), %g1
	ldx	[%l7+%g1], %o0
.LLVL21:
	sethi	%hi(__func__.5413), %g1
	or	%g1, %lo(__func__.5413), %g1
	call	ssh_fatal, 0
	 ldx	[%l7+%g1], %o1
.LLVL22:
.LLVL23:
.LL18:
	return	%i7+8
	 nop
.LLFE13:
	.size	ssh_mm_send_fd, .-ssh_mm_send_fd
	.section	".rodata"
	.align 8
	.type	__func__.5434, #object
	.size	__func__.5434, 18
__func__.5434:
	.asciz	"ssh_mm_receive_fd"
	.align 8
	.type	__func__.5413, #object
	.size	__func__.5413, 15
__func__.5413:
	.asciz	"ssh_mm_send_fd"
	.section	".debug_frame"
.LLframe0:
	.uaword	.LLECIE0-.LLSCIE0
.LLSCIE0:
	.uaword	0xffffffff
	.byte	0x1
	.asciz	""
	.uleb128 0x1
	.sleb128 -8
	.byte	0xf
	.byte	0xc
	.uleb128 0xe
	.uleb128 0x7ff
	.align 8
.LLECIE0:
.LLSFDE0:
	.uaword	.LLEFDE0-.LLASFDE0
.LLASFDE0:
	.uaword	.LLframe0
	.uaxword	.LLFB14
	.uaxword	.LLFE14-.LLFB14
	.byte	0x4
	.uaword	.LLCFI0-.LLFB14
	.byte	0xd
	.uleb128 0x1e
	.byte	0x2d
	.byte	0x9
	.uleb128 0xf
	.uleb128 0x1f
	.align 8
.LLEFDE0:
.LLSFDE2:
	.uaword	.LLEFDE2-.LLASFDE2
.LLASFDE2:
	.uaword	.LLframe0
	.uaxword	.LLFB13
	.uaxword	.LLFE13-.LLFB13
	.byte	0x4
	.uaword	.LLCFI1-.LLFB13
	.byte	0xd
	.uleb128 0x1e
	.byte	0x2d
	.byte	0x9
	.uleb128 0xf
	.uleb128 0x1f
	.align 8
.LLEFDE2:
	.section	".text"
.LLetext0:
	.section	".debug_loc"
.LLdebug_loc0:
.LLLST0:
	.uaxword	.LLFB14-.LLtext0
	.uaxword	.LLCFI0-.LLtext0
	.uahalf	0x3
	.byte	0x7e
	.sleb128 2047
	.uaxword	.LLCFI0-.LLtext0
	.uaxword	.LLFE14-.LLtext0
	.uahalf	0x3
	.byte	0x8e
	.sleb128 2047
	.uaxword	0x0
	.uaxword	0x0
.LLLST1:
	.uaxword	.LLVL0-.LLtext0
	.uaxword	.LLVL14-.LLtext0
	.uahalf	0x1
	.byte	0x68
	.uaxword	0x0
	.uaxword	0x0
.LLLST2:
	.uaxword	.LLVL1-.LLtext0
	.uaxword	.LLVL2-.LLtext0
	.uahalf	0x1
	.byte	0x5a
	.uaxword	.LLVL2-.LLtext0
	.uaxword	.LLVL3-.LLtext0
	.uahalf	0x1
	.byte	0x58
	.uaxword	.LLVL4-.LLtext0
	.uaxword	.LLVL5-.LLtext0
	.uahalf	0x1
	.byte	0x58
	.uaxword	.LLVL5-.LLtext0
	.uaxword	.LLVL6-.LLtext0
	.uahalf	0x1
	.byte	0x5a
	.uaxword	.LLVL6-.LLtext0
	.uaxword	.LLVL7-.LLtext0
	.uahalf	0x1
	.byte	0x58
	.uaxword	.LLVL7-.LLtext0
	.uaxword	.LLVL8-.LLtext0
	.uahalf	0x1
	.byte	0x5a
	.uaxword	.LLVL8-.LLtext0
	.uaxword	.LLVL11-.LLtext0
	.uahalf	0x1
	.byte	0x58
	.uaxword	.LLVL11-.LLtext0
	.uaxword	.LLVL12-.LLtext0
	.uahalf	0x1
	.byte	0x5a
	.uaxword	.LLVL13-.LLtext0
	.uaxword	.LLFE14-.LLtext0
	.uahalf	0x1
	.byte	0x58
	.uaxword	0x0
	.uaxword	0x0
.LLLST3:
	.uaxword	.LLVL9-.LLtext0
	.uaxword	.LLVL10-.LLtext0
	.uahalf	0x1
	.byte	0x51
	.uaxword	.LLVL13-.LLtext0
	.uaxword	.LLFE14-.LLtext0
	.uahalf	0x1
	.byte	0x51
	.uaxword	0x0
	.uaxword	0x0
.LLLST4:
	.uaxword	.LLFB13-.LLtext0
	.uaxword	.LLCFI1-.LLtext0
	.uahalf	0x3
	.byte	0x7e
	.sleb128 2047
	.uaxword	.LLCFI1-.LLtext0
	.uaxword	.LLFE13-.LLtext0
	.uahalf	0x3
	.byte	0x8e
	.sleb128 2047
	.uaxword	0x0
	.uaxword	0x0
.LLLST5:
	.uaxword	.LLVL17-.LLtext0
	.uaxword	.LLVL18-.LLtext0
	.uahalf	0x1
	.byte	0x5a
	.uaxword	.LLVL18-.LLtext0
	.uaxword	.LLVL19-.LLtext0
	.uahalf	0x1
	.byte	0x58
	.uaxword	.LLVL20-.LLtext0
	.uaxword	.LLVL21-.LLtext0
	.uahalf	0x1
	.byte	0x58
	.uaxword	.LLVL21-.LLtext0
	.uaxword	.LLVL22-.LLtext0
	.uahalf	0x1
	.byte	0x5a
	.uaxword	.LLVL23-.LLtext0
	.uaxword	.LLFE13-.LLtext0
	.uahalf	0x1
	.byte	0x58
	.uaxword	0x0
	.uaxword	0x0
	.file 2 "/usr/include/machine/_types.h"
	.file 3 "/usr/include/sys/_types.h"
	.file 4 "/usr/include/sys/types.h"
	.file 5 "/usr/include/sys/_iovec.h"
	.file 6 "/usr/include/sys/socket.h"
	.section	".debug_info"
	.uaword	0x346
	.uahalf	0x2
	.uaword	.LLdebug_abbrev0
	.byte	0x8
	.uleb128 0x1
	.uaword	.LLASF37
	.byte	0x1
	.uaword	.LLASF38
	.uaxword	.LLtext0
	.uaxword	.LLetext0
	.uaword	.LLdebug_line0
	.uleb128 0x2
	.byte	0x1
	.byte	0x6
	.uaword	.LLASF0
	.uleb128 0x2
	.byte	0x1
	.byte	0x8
	.uaword	.LLASF1
	.uleb128 0x2
	.byte	0x2
	.byte	0x5
	.uaword	.LLASF2
	.uleb128 0x2
	.byte	0x2
	.byte	0x7
	.uaword	.LLASF3
	.uleb128 0x3
	.byte	0x4
	.byte	0x5
	.asciz	"int"
	.uleb128 0x4
	.uaword	.LLASF5
	.byte	0x2
	.byte	0x32
	.uaword	0x57
	.uleb128 0x2
	.byte	0x4
	.byte	0x7
	.uaword	.LLASF4
	.uleb128 0x4
	.uaword	.LLASF6
	.byte	0x2
	.byte	0x33
	.uaword	0x69
	.uleb128 0x2
	.byte	0x8
	.byte	0x5
	.uaword	.LLASF7
	.uleb128 0x4
	.uaword	.LLASF8
	.byte	0x2
	.byte	0x34
	.uaword	0x7b
	.uleb128 0x2
	.byte	0x8
	.byte	0x7
	.uaword	.LLASF9
	.uleb128 0x2
	.byte	0x8
	.byte	0x4
	.uaword	.LLASF10
	.uleb128 0x2
	.byte	0x4
	.byte	0x4
	.uaword	.LLASF11
	.uleb128 0x4
	.uaword	.LLASF12
	.byte	0x2
	.byte	0x4c
	.uaword	0x70
	.uleb128 0x4
	.uaword	.LLASF13
	.byte	0x2
	.byte	0x4d
	.uaword	0x5e
	.uleb128 0x4
	.uaword	.LLASF14
	.byte	0x3
	.byte	0x3a
	.uaword	0x4c
	.uleb128 0x5
	.byte	0x8
	.byte	0x7
	.uleb128 0x2
	.byte	0x1
	.byte	0x6
	.uaword	.LLASF15
	.uleb128 0x6
	.byte	0x8
	.uleb128 0x4
	.uaword	.LLASF16
	.byte	0x4
	.byte	0xe4
	.uaword	0x90
	.uleb128 0x4
	.uaword	.LLASF17
	.byte	0x4
	.byte	0xe9
	.uaword	0x9b
	.uleb128 0x7
	.uaword	.LLASF21
	.byte	0x10
	.byte	0x5
	.byte	0x2b
	.uaword	0xfc
	.uleb128 0x8
	.uaword	.LLASF18
	.byte	0x5
	.byte	0x2c
	.uaword	0xbb
	.byte	0x2
	.byte	0x23
	.uleb128 0x0
	.uleb128 0x8
	.uaword	.LLASF19
	.byte	0x5
	.byte	0x2d
	.uaword	0xbd
	.byte	0x2
	.byte	0x23
	.uleb128 0x8
	.byte	0x0
	.uleb128 0x4
	.uaword	.LLASF20
	.byte	0x6
	.byte	0x49
	.uaword	0xa6
	.uleb128 0x9
	.uaword	.LLASF22
	.byte	0x30
	.byte	0x6
	.uahalf	0x17f
	.uaword	0x17e
	.uleb128 0xa
	.uaword	.LLASF23
	.byte	0x6
	.uahalf	0x180
	.uaword	0xbb
	.byte	0x2
	.byte	0x23
	.uleb128 0x0
	.uleb128 0xa
	.uaword	.LLASF24
	.byte	0x6
	.uahalf	0x181
	.uaword	0xfc
	.byte	0x2
	.byte	0x23
	.uleb128 0x8
	.uleb128 0xa
	.uaword	.LLASF25
	.byte	0x6
	.uahalf	0x182
	.uaword	0x17e
	.byte	0x2
	.byte	0x23
	.uleb128 0x10
	.uleb128 0xa
	.uaword	.LLASF26
	.byte	0x6
	.uahalf	0x183
	.uaword	0x45
	.byte	0x2
	.byte	0x23
	.uleb128 0x18
	.uleb128 0xa
	.uaword	.LLASF27
	.byte	0x6
	.uahalf	0x184
	.uaword	0xbb
	.byte	0x2
	.byte	0x23
	.uleb128 0x20
	.uleb128 0xa
	.uaword	.LLASF28
	.byte	0x6
	.uahalf	0x185
	.uaword	0xfc
	.byte	0x2
	.byte	0x23
	.uleb128 0x28
	.uleb128 0xa
	.uaword	.LLASF29
	.byte	0x6
	.uahalf	0x186
	.uaword	0x45
	.byte	0x2
	.byte	0x23
	.uleb128 0x2c
	.byte	0x0
	.uleb128 0xb
	.byte	0x8
	.uaword	0xd3
	.uleb128 0x9
	.uaword	.LLASF30
	.byte	0xc
	.byte	0x6
	.uahalf	0x1a4
	.uaword	0x1bf
	.uleb128 0xa
	.uaword	.LLASF31
	.byte	0x6
	.uahalf	0x1a5
	.uaword	0xfc
	.byte	0x2
	.byte	0x23
	.uleb128 0x0
	.uleb128 0xa
	.uaword	.LLASF32
	.byte	0x6
	.uahalf	0x1a6
	.uaword	0x45
	.byte	0x2
	.byte	0x23
	.uleb128 0x4
	.uleb128 0xa
	.uaword	.LLASF33
	.byte	0x6
	.uahalf	0x1a7
	.uaword	0x45
	.byte	0x2
	.byte	0x23
	.uleb128 0x8
	.byte	0x0
	.uleb128 0xc
	.byte	0x1
	.uaword	.LLASF39
	.byte	0x1
	.byte	0x59
	.byte	0x1
	.uaword	0x45
	.uaxword	.LLFB14
	.uaxword	.LLFE14
	.uaword	.LLLST0
	.uaword	0x268
	.uleb128 0xd
	.uaword	.LLASF36
	.byte	0x1
	.byte	0x58
	.uaword	0x45
	.uaword	.LLLST1
	.uleb128 0xe
	.asciz	"msg"
	.byte	0x1
	.byte	0x5b
	.uaword	0x107
	.byte	0x2
	.byte	0x91
	.sleb128 -64
	.uleb128 0xe
	.asciz	"vec"
	.byte	0x1
	.byte	0x5c
	.uaword	0xd3
	.byte	0x3
	.byte	0x91
	.sleb128 -80
	.uleb128 0xf
	.asciz	"n"
	.byte	0x1
	.byte	0x5d
	.uaword	0xc8
	.uaword	.LLLST2
	.uleb128 0xe
	.asciz	"ch"
	.byte	0x1
	.byte	0x5e
	.uaword	0xb4
	.byte	0x3
	.byte	0x91
	.sleb128 -81
	.uleb128 0x10
	.asciz	"fd"
	.byte	0x1
	.byte	0x5f
	.uaword	0x45
	.uleb128 0xe
	.asciz	"tmp"
	.byte	0x1
	.byte	0x61
	.uaword	0x268
	.byte	0x3
	.byte	0x91
	.sleb128 -113
	.uleb128 0x11
	.uaword	.LLASF34
	.byte	0x1
	.byte	0x62
	.uaword	0x278
	.uaword	.LLLST3
	.uleb128 0x12
	.uaword	.LLASF35
	.uaword	0x344
	.byte	0x1
	.byte	0x9
	.byte	0x3
	.uaxword	__func__.5434
	.byte	0x0
	.uleb128 0x13
	.uaword	0xb4
	.uaword	0x278
	.uleb128 0x14
	.uaword	0xb1
	.byte	0x1f
	.byte	0x0
	.uleb128 0xb
	.byte	0x8
	.uaword	0x184
	.uleb128 0x15
	.byte	0x1
	.uaword	.LLASF40
	.byte	0x1
	.byte	0x2d
	.byte	0x1
	.uaxword	.LLFB13
	.uaxword	.LLFE13
	.uaword	.LLLST4
	.uaword	0x31f
	.uleb128 0x16
	.uaword	.LLASF36
	.byte	0x1
	.byte	0x2c
	.uaword	0x45
	.byte	0x1
	.byte	0x68
	.uleb128 0x17
	.asciz	"fd"
	.byte	0x1
	.byte	0x2c
	.uaword	0x45
	.byte	0x1
	.byte	0x69
	.uleb128 0xe
	.asciz	"msg"
	.byte	0x1
	.byte	0x2f
	.uaword	0x107
	.byte	0x2
	.byte	0x91
	.sleb128 -64
	.uleb128 0xe
	.asciz	"vec"
	.byte	0x1
	.byte	0x30
	.uaword	0xd3
	.byte	0x3
	.byte	0x91
	.sleb128 -80
	.uleb128 0xe
	.asciz	"ch"
	.byte	0x1
	.byte	0x31
	.uaword	0xb4
	.byte	0x3
	.byte	0x8e
	.sleb128 1966
	.uleb128 0xf
	.asciz	"n"
	.byte	0x1
	.byte	0x32
	.uaword	0xc8
	.uaword	.LLLST5
	.uleb128 0xe
	.asciz	"tmp"
	.byte	0x1
	.byte	0x34
	.uaword	0x268
	.byte	0x3
	.byte	0x91
	.sleb128 -113
	.uleb128 0x18
	.uaword	.LLASF34
	.byte	0x1
	.byte	0x35
	.uaword	0x278
	.uleb128 0x12
	.uaword	.LLASF35
	.uaword	0x32f
	.byte	0x1
	.byte	0x9
	.byte	0x3
	.uaxword	__func__.5413
	.byte	0x0
	.uleb128 0x13
	.uaword	0xb4
	.uaword	0x32f
	.uleb128 0x14
	.uaword	0xb1
	.byte	0xe
	.byte	0x0
	.uleb128 0x19
	.uaword	0x31f
	.uleb128 0x13
	.uaword	0xb4
	.uaword	0x344
	.uleb128 0x14
	.uaword	0xb1
	.byte	0x11
	.byte	0x0
	.uleb128 0x19
	.uaword	0x334
	.byte	0x0
	.section	".debug_abbrev"
	.uleb128 0x1
	.uleb128 0x11
	.byte	0x1
	.uleb128 0x25
	.uleb128 0xe
	.uleb128 0x13
	.uleb128 0xb
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x1
	.uleb128 0x10
	.uleb128 0x6
	.byte	0x0
	.byte	0x0
	.uleb128 0x2
	.uleb128 0x24
	.byte	0x0
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3e
	.uleb128 0xb
	.uleb128 0x3
	.uleb128 0xe
	.byte	0x0
	.byte	0x0
	.uleb128 0x3
	.uleb128 0x24
	.byte	0x0
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3e
	.uleb128 0xb
	.uleb128 0x3
	.uleb128 0x8
	.byte	0x0
	.byte	0x0
	.uleb128 0x4
	.uleb128 0x16
	.byte	0x0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.uleb128 0x5
	.uleb128 0x24
	.byte	0x0
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3e
	.uleb128 0xb
	.byte	0x0
	.byte	0x0
	.uleb128 0x6
	.uleb128 0xf
	.byte	0x0
	.uleb128 0xb
	.uleb128 0xb
	.byte	0x0
	.byte	0x0
	.uleb128 0x7
	.uleb128 0x13
	.byte	0x1
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x1
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.uleb128 0x8
	.uleb128 0xd
	.byte	0x0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x38
	.uleb128 0xa
	.byte	0x0
	.byte	0x0
	.uleb128 0x9
	.uleb128 0x13
	.byte	0x1
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0x5
	.uleb128 0x1
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.uleb128 0xa
	.uleb128 0xd
	.byte	0x0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0x5
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x38
	.uleb128 0xa
	.byte	0x0
	.byte	0x0
	.uleb128 0xb
	.uleb128 0xf
	.byte	0x0
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.uleb128 0xc
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3f
	.uleb128 0xc
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x27
	.uleb128 0xc
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x1
	.uleb128 0x40
	.uleb128 0x6
	.uleb128 0x1
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.uleb128 0xd
	.uleb128 0x5
	.byte	0x0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0x6
	.byte	0x0
	.byte	0x0
	.uleb128 0xe
	.uleb128 0x34
	.byte	0x0
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0xa
	.byte	0x0
	.byte	0x0
	.uleb128 0xf
	.uleb128 0x34
	.byte	0x0
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0x6
	.byte	0x0
	.byte	0x0
	.uleb128 0x10
	.uleb128 0x34
	.byte	0x0
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.uleb128 0x11
	.uleb128 0x34
	.byte	0x0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0x6
	.byte	0x0
	.byte	0x0
	.uleb128 0x12
	.uleb128 0x34
	.byte	0x0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x34
	.uleb128 0xc
	.uleb128 0x2
	.uleb128 0xa
	.byte	0x0
	.byte	0x0
	.uleb128 0x13
	.uleb128 0x1
	.byte	0x1
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x1
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.uleb128 0x14
	.uleb128 0x21
	.byte	0x0
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2f
	.uleb128 0xb
	.byte	0x0
	.byte	0x0
	.uleb128 0x15
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3f
	.uleb128 0xc
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x27
	.uleb128 0xc
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x1
	.uleb128 0x40
	.uleb128 0x6
	.uleb128 0x1
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.uleb128 0x16
	.uleb128 0x5
	.byte	0x0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0xa
	.byte	0x0
	.byte	0x0
	.uleb128 0x17
	.uleb128 0x5
	.byte	0x0
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0xa
	.byte	0x0
	.byte	0x0
	.uleb128 0x18
	.uleb128 0x34
	.byte	0x0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.uleb128 0x19
	.uleb128 0x26
	.byte	0x0
	.uleb128 0x49
	.uleb128 0x13
	.byte	0x0
	.byte	0x0
	.byte	0x0
	.section	".debug_pubnames"
	.uaword	0x37
	.uahalf	0x2
	.uaword	.LLdebug_info0
	.uaword	0x34a
	.uaword	0x1bf
	.asciz	"ssh_mm_receive_fd"
	.uaword	0x27e
	.asciz	"ssh_mm_send_fd"
	.uaword	0x0
	.section	".debug_aranges"
	.uaword	0x2c
	.uahalf	0x2
	.uaword	.LLdebug_info0
	.byte	0x8
	.byte	0x0
	.uahalf	0x0
	.uahalf	0x0
	.uaxword	.LLtext0
	.uaxword	.LLetext0-.LLtext0
	.uaxword	0x0
	.uaxword	0x0
	.section	.debug_str,"MS", at progbits,1
.LLASF28:
	.asciz	"msg_controllen"
.LLASF30:
	.asciz	"cmsghdr"
.LLASF16:
	.asciz	"size_t"
.LLASF23:
	.asciz	"msg_name"
.LLASF39:
	.asciz	"ssh_mm_receive_fd"
.LLASF33:
	.asciz	"cmsg_type"
.LLASF19:
	.asciz	"iov_len"
.LLASF32:
	.asciz	"cmsg_level"
.LLASF29:
	.asciz	"msg_flags"
.LLASF40:
	.asciz	"ssh_mm_send_fd"
.LLASF17:
	.asciz	"ssize_t"
.LLASF35:
	.asciz	"__func__"
.LLASF11:
	.asciz	"float"
.LLASF22:
	.asciz	"msghdr"
.LLASF36:
	.asciz	"sock"
.LLASF1:
	.asciz	"unsigned char"
.LLASF31:
	.asciz	"cmsg_len"
.LLASF9:
	.asciz	"long unsigned int"
.LLASF3:
	.asciz	"short unsigned int"
.LLASF27:
	.asciz	"msg_control"
.LLASF6:
	.asciz	"__int64_t"
.LLASF10:
	.asciz	"double"
.LLASF21:
	.asciz	"iovec"
.LLASF5:
	.asciz	"__uint32_t"
.LLASF18:
	.asciz	"iov_base"
.LLASF4:
	.asciz	"unsigned int"
.LLASF15:
	.asciz	"char"
.LLASF25:
	.asciz	"msg_iov"
.LLASF13:
	.asciz	"__ssize_t"
.LLASF26:
	.asciz	"msg_iovlen"
.LLASF38:
	.asciz	"/usr/src/secure/lib/libssh/../../../crypto/openssh/monitor_fdpass.c"
.LLASF34:
	.asciz	"cmsg"
.LLASF24:
	.asciz	"msg_namelen"
.LLASF37:
	.asciz	"GNU C 4.2.0 20070514 [FreeBSD]"
.LLASF2:
	.asciz	"short int"
.LLASF8:
	.asciz	"__uint64_t"
.LLASF12:
	.asciz	"__size_t"
.LLASF7:
	.asciz	"long int"
.LLASF20:
	.asciz	"socklen_t"
.LLASF14:
	.asciz	"__socklen_t"
.LLASF0:
	.asciz	"signed char"
	.ident	"GCC: (GNU) 4.2.0 20070514 [FreeBSD]"


More information about the freebsd-current mailing list