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