omniosorg / omnios-extra

Packages for OmniOS extra
https://omnios.org
Other
27 stars 58 forks source link

smartmontools built with clang 17 fails ATA IDENTIFY #1418

Open citrus-it opened 4 months ago

citrus-it commented 4 months ago

First reported and analysed in https://illumos.topicbox.com/groups/omnios-discuss/T1c6b22c3aad517dd-M8d98fb22a1bc1ccf196d020f/extra-omnios-smartmontools-broken-build

A smartctl binary from clang 16 or clang 18 works, but one built with clang 17 does not.

Read Device Identity failed: empty IDENTIFY data

The minimal case to reproduce this is to specify sat,12 - in that case, a single ioctl is issued, is successful, but returns all zero data for the bad binary.

# ~/smartmontools/smartctl.good -r ioctl,4 -d sat,12 -i /dev/rdsk/c
1t0d0
smartctl 7.4 2023-08-01 r5530 [x86_64-pc-solaris2.11] (OmniOS r151049)
Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org

REPORT-IOCTL: Device=/dev/rdsk/c1t0d0 Command=IDENTIFY DEVICE
 Input:   FR=...., SC=0x01, LL=...., LM=...., LH=...., DEV=...., CMD=0xec IN
 [ata pass-through(12): a1 08 0e 00 01 00 00 00 00 ec 00 00 ]
  Incoming data, len=512 [only first 256 bytes shown]:
 00     40 00 86 61 00 00 10 00  00 00 00 00 3f 00 00 00
 10     00 00 00 00 48 42 56 59  2d 45 38 31 45 38 46 2d
...
REPORT-IOCTL: Device=/dev/rdsk/c1t0d0 Command=IDENTIFY DEVICE returned 0

===== [IDENTIFY DEVICE] DATA START (BASE-16) =====
000-015: 40 00 86 61 00 00 10 00 00 00 00 00 3f 00 00 00 |@..a........?...|
016-031: 00 00 00 00 48 42 56 59 2d 45 38 31 45 38 46 2d |....HBVY-E81E8F-|

versus

# ~/smartmontools/smartctl.bad -r ioctl,4 -d sat,12 -i /dev/rdsk/c1t0d0
smartctl 7.4 2023-08-01 r5530 [x86_64-pc-solaris2.11] (OmniOS r151049)
Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org

REPORT-IOCTL: Device=/dev/rdsk/c1t0d0 Command=IDENTIFY DEVICE
 Input:   FR=...., SC=0x01, LL=...., LM=...., LH=...., DEV=...., CMD=0xec IN
 [ata pass-through(12): a1 08 0e 00 01 00 00 00 00 ec 00 00 ]
  Incoming data, len=512 [only first 256 bytes shown]:
 00     00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
 10     00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
...
REPORT-IOCTL: Device=/dev/rdsk/c1t0d0 Command=IDENTIFY DEVICE returned 0

===== [IDENTIFY DEVICE] DATA START (BASE-16) =====
000-015: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
016-031: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|

Interestingly, without specifying sat,12, there is an INQUIRY command that succeeds, and then the first IDENTIFY one (from the SCSI code path) does, but the second from the ATA code path fails.

# ~/smartmontools/smartctl.bad -r ioctl,4 -i /dev/rdsk/c1t0d0
smartctl 7.4 2023-08-01 r5530 [x86_64-pc-solaris2.11] (OmniOS r151049)
Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org

 [inquiry: SCSI opcode=0x12, CDB length=6, data length=0x36, data dir=in]
 [inquiry: 12 00 00 00 24 00 ]
  Incoming data, len=36:
 00     00 00 03 02 1f 00 00 02  41 54 41 20 20 20 20 20
 10     42 48 59 56 45 20 53 41  54 41 20 44 49 53 4b 20
 20     30 30 31 20
...
 [ata pass-through(16): 85 08 0e 00 00 00 01 00 00 00 00 00 00 00 ec 00 ]
  Incoming data, len=512 [only first 256 bytes shown]:
 00     40 00 86 61 00 00 10 00  00 00 00 00 3f 00 00 00
 10     00 00 00 00 48 42 56 59  2d 45 38 31 45 38 46 2d
...
/dev/rdsk/c1t0d0 [SAT]: Device open changed type from 'scsi' to 'sat'

REPORT-IOCTL: Device=/dev/rdsk/c1t0d0 Command=IDENTIFY DEVICE
 Input:   FR=...., SC=0x01, LL=...., LM=...., LH=...., DEV=...., CMD=0xec IN
 [ata pass-through(16): 85 08 0e 00 00 00 01 00 00 00 00 00 00 00 ec 00 ]
  Incoming data, len=512 [only first 256 bytes shown]:
 00     00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
 10     00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00

Tracing the ioctl syscall shows that the underlying request for both is the same, but the kernel really is returning zeroed data for the second.

CPU     ID                    FUNCTION:NAME
  6  21250                     ioctl:return struct uscsi_cmd {
    int uscsi_flags = 0x1000d
    short uscsi_status = 0
    short uscsi_timeout = 0x3c
    caddr_t uscsi_cdb = 0xfffffc7fffdfb59a
    caddr_t uscsi_bufaddr = 0xfffffc7fffdfb5f0
    size_t uscsi_buflen = 0x24
    size_t uscsi_resid = 0
    uchar_t uscsi_cdblen = 0x6
    uchar_t uscsi_rqlen = 0x20
    uchar_t uscsi_rqstatus = 0
    uchar_t uscsi_rqresid = 0x20
    caddr_t uscsi_rqbuf = 0xfffffc7fffdfb5a0
    ulong_t uscsi_path_instance = 0
}
             0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f  0123456789abcdef
         0: 12 00 00 00 24 00 82 00 00 00 00 00 00 00 30 2f  ....$.........0/

             0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f  0123456789abcdef
         0: 00 00 03 02 1f 00 00 02 41 54 41 20 20 20 20 20  ........ATA
        10: 48 47 53 54 20 48 55 48 37 32 31 32 31 32 41 4c  HGST HUH721212AL
        20: 54 39 32 35 00 00 00 00 00 00 00 00 00 00 00 00  T925............
        30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

  6  21250                     ioctl:return struct uscsi_cmd {
    int uscsi_flags = 0x1000d
    short uscsi_status = 0
    short uscsi_timeout = 0x3c
    caddr_t uscsi_cdb = 0xfffffc7fffdfb3e0
    caddr_t uscsi_bufaddr = 0x5ae0b0
    size_t uscsi_buflen = 0x200
    size_t uscsi_resid = 0
    uchar_t uscsi_cdblen = 0x10
    uchar_t uscsi_rqlen = 0x20
    uchar_t uscsi_rqstatus = 0
    uchar_t uscsi_rqresid = 0x20
    caddr_t uscsi_rqbuf = 0xfffffc7fffdfb3c0
    ulong_t uscsi_path_instance = 0
}
             0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f  0123456789abcdef
         0: 85 08 0e 00 00 00 01 00 00 00 00 00 00 00 ec 00  ................

             0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f  0123456789abcdef
         0: 5a 04 ff 3f 37 c8 10 00 00 00 00 00 3f 00 00 00  Z..?7.......?...
        10: 00 00 00 00 50 35 41 48 54 42 44 32 20 20 20 20  ....P5AHTBD2
        20: 20 20 20 20 20 20 20 20 03 00 00 00 38 00 45 4c          ....8.EL
        30: 4e 47 39 54 35 32 47 48 54 53 48 20 48 55 32 37  NG9T52GHTSH HU27
        40: 32 31 32 31 4c 41 36 45 30 30 20 20 20 20 20 20  2121LA6E00

  6  21250                     ioctl:return struct uscsi_cmd {
    int uscsi_flags = 0x1000d
    short uscsi_status = 0
    short uscsi_timeout = 0x3c
    caddr_t uscsi_cdb = 0xfffffc7fffdf4290
    caddr_t uscsi_bufaddr = 0xfffffc7fffdfb417
    size_t uscsi_buflen = 0x200
    size_t uscsi_resid = 0
    uchar_t uscsi_cdblen = 0x10
    uchar_t uscsi_rqlen = 0x20
    uchar_t uscsi_rqstatus = 0
    uchar_t uscsi_rqresid = 0x20
    caddr_t uscsi_rqbuf = 0xfffffc7fffdf4270
    ulong_t uscsi_path_instance = 0
}
             0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f  0123456789abcdef
         0: 85 08 0e 00 00 00 01 00 00 00 00 00 00 00 ec 00  ................

             0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f  0123456789abcdef
         0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
        10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
        20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
        30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
        40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

However, notice that the buffer address for that last request is not aligned -

caddr_t uscsi_bufaddr = 0xfffffc7fffdfb417

Moving the stack variable that corresponds to this to a global scope appears to resolve the problem, so it does appear related to the alignment. Let's check the disassembly

This is the "good" binary:

_Z12ataPrintMainP10ata_deviceRK17ata_print_options+0x3ef:       leaq   0xfffffffffffffdc0(%rbp),%rbx
_Z12ataPrintMainP10ata_deviceRK17ata_print_options+0x454:       movq   %rbx,%rsi
_Z12ataPrintMainP10ata_deviceRK17ata_print_options+0x45a:       call   -0x703f <_Z17ata_read_identityP10ata_deviceP19ata_identify_devicebPh>

and the "bad" one

_Z12ataPrintMainP10ata_deviceRK17ata_print_options+0x3ef:       leaq   0xfffffffffffffdc7(%rbp),%rbx
_Z12ataPrintMainP10ata_deviceRK17ata_print_options+0x454:       movq   %rbx,%rsi
_Z12ataPrintMainP10ata_deviceRK17ata_print_options+0x45a:       call   -0x703f <_Z17ata_read_identityP10ata_deviceP19ata_identify_devicebPh>

Building with DWARF and using gdb to inspect the scope of this function confirms this - the drive variable at https://github.com/smartmontools/smartmontools/blob/5feaa21b8989dc32f3dc76d4d7d3b163cef30e41/smartmontools/ataprint.cpp#L3513 is not aligned on the stack:

Symbol drive is a variable at frame base reg $rbp offset 0+-570, length 512.

Full output:

(gdb) info scope ataPrintMain
Scope for ataPrintMain:
Symbol device is multi-location:
  Range 0x42e460-0x42e48e: a variable in $rdi
  Range 0x42e48e-0x42e932: a variable in $r12
  Range 0x42e932-0x42e958: a complex DWARF expression:
     0: DW_OP_entry_value
       2: DW_OP_reg5 [$rdi]

  Range 0x42e958-0x42e9a6: a variable in $r12
  Range 0x42e9a6-0x42f1c6: a complex DWARF expression:
     0: DW_OP_breg6 -28776 [$rbp]

  Range 0x42f1c6-0x42f1e5: a variable in $r12
  Range 0x42f1e5-0x42f6bc: a complex DWARF expression:
     0: DW_OP_breg6 -28776 [$rbp]

  Range 0x42f6bc-0x42f6d8: a variable in $r12
  Range 0x42f6d8-0x433754: a complex DWARF expression:
     0: DW_OP_breg6 -28776 [$rbp]

  Range 0x433754-0x433759: a complex DWARF expression:
     0: DW_OP_entry_value
       2: DW_OP_reg5 [$rdi]

  Range 0x433759-0x433cc2: a complex DWARF expression:
     0: DW_OP_breg6 -28776 [$rbp]

, length 8.
Symbol options is multi-location:
  Range 0x42e460-0x42e48e: a variable in $rsi
  Range 0x42e48e-0x42e56a: a variable in $r15
  Range 0x42e56a-0x42e56f: a complex DWARF expression:
     0: DW_OP_entry_value
       2: DW_OP_reg4 [$rsi]

  Range 0x42e56f-0x42e59b: a variable in $r15
  Range 0x42e59b-0x42e5a0: a complex DWARF expression:
     0: DW_OP_entry_value
       2: DW_OP_reg4 [$rsi]

  Range 0x42e5a0-0x42e6aa: a variable in $r15
  Range 0x42e6aa-0x42e6af: a complex DWARF expression:
     0: DW_OP_entry_value
       2: DW_OP_reg4 [$rsi]

  Range 0x42e6af-0x42e816: a variable in $r15
  Range 0x42e816-0x42e827: a complex DWARF expression:
     0: DW_OP_entry_value
       2: DW_OP_reg4 [$rsi]

  Range 0x42e827-0x42e904: a variable in $r15
  Range 0x42e904-0x42e906: a complex DWARF expression:
--Type <RET> for more, q to quit, c to continue without paging--c
     0: DW_OP_entry_value
       2: DW_OP_reg4 [$rsi]

  Range 0x42e906-0x42e926: a variable in $r15
  Range 0x42e926-0x42e958: a complex DWARF expression:
     0: DW_OP_entry_value
       2: DW_OP_reg4 [$rsi]

  Range 0x42e958-0x42e9b8: a variable in $r15
  Range 0x42e9b8-0x42f1c6: a complex DWARF expression:
     0: DW_OP_breg6 -28912 [$rbp]

  Range 0x42f1c6-0x42f1e5: a variable in $r15
  Range 0x42f1e5-0x42f6bc: a complex DWARF expression:
     0: DW_OP_breg6 -28912 [$rbp]

  Range 0x42f6bc-0x42f6d8: a variable in $r15
  Range 0x42f6d8-0x433754: a complex DWARF expression:
     0: DW_OP_breg6 -28912 [$rbp]

  Range 0x433754-0x433759: a complex DWARF expression:
     0: DW_OP_entry_value
       2: DW_OP_reg4 [$rsi]

  Range 0x433759-0x433cc2: a complex DWARF expression:
     0: DW_OP_breg6 -28912 [$rbp]

, length 8.
Symbol drive is a variable at frame base reg $rbp offset 0+-570, length 512.
Symbol raw_drive is a variable at frame base reg $rbp offset 0+-1088, length 512.
Symbol attribute_defs is a variable at frame base reg $rbp offset 0+-15424, length 14336.
Symbol firmwarebugs is a variable at frame base reg $rbp offset 0+-28724, length 4.
Symbol dbversion is a variable at frame base reg $rbp offset 0+-15456, length 32.
Symbol sizes is a variable at frame base reg $rbp offset 0+-28760, length 32.
Symbol smartval is a variable at frame base reg $rbp offset 0+-15968, length 512.
Symbol smartthres is a variable at frame base reg $rbp offset 0+-16480, length 512.
Symbol smartlogdir_buf is a variable at frame base reg $rbp offset 0+-16992, length 512.
Symbol gplogdir_buf is a variable at frame base reg $rbp offset 0+-17504, length 512.
Symbol powername is multi-location:
  Range 0x42e485-0x42e4e6: a complex DWARF expression:
     0: DW_OP_lit0

  Range 0x42e4e6-0x42e4f0: a variable in $rsi
  Range 0x42e4f0-0x42e501: a complex DWARF expression:
     0: DW_OP_lit0

  Range 0x42e501-0x42e50b: a variable in $rsi
  Range 0x42e50b-0x42e523: a complex DWARF expression:
     0: DW_OP_lit0

  Range 0x42e523-0x42e52d: a variable in $rsi
  Range 0x42e52d-0x42e574: a complex DWARF expression:
     0: DW_OP_lit0

  Range 0x42e574-0x42e576: a variable in $rsi
  Range 0x42e576-0x42e5a5: a complex DWARF expression:
     0: DW_OP_lit0

  Range 0x42e5a5-0x42e5ac: a variable in $rsi
  Range 0x42e5ac-0x42e5b1: a complex DWARF expression:
     0: DW_OP_lit0

  Range 0x42e5b1-0x42e5b8: a variable in $rsi
  Range 0x42e5b8-0x42e5bd: a complex DWARF expression:
     0: DW_OP_lit0

  Range 0x42e5bd-0x42e5c4: a variable in $rsi
  Range 0x42e5c4-0x42e5c9: a complex DWARF expression:
     0: DW_OP_lit0

  Range 0x42e5c9-0x42e5d0: a variable in $rsi
  Range 0x42e5d0-0x42e5da: a complex DWARF expression:
     0: DW_OP_lit0

  Range 0x42e5da-0x42e60f: a variable in $rsi
  Range 0x42e60f-0x42e68e: a complex DWARF expression:
     0: DW_OP_breg6 -28864 [$rbp]

  Range 0x42e68e-0x42e6a2: a variable in $rsi
  Range 0x42e6af-0x42e932: a complex DWARF expression:
     0: DW_OP_breg6 -28864 [$rbp]

  Range 0x42e958-0x42f1c6: a complex DWARF expression:
     0: DW_OP_breg6 -28864 [$rbp]

  Range 0x42f1c6-0x42f1e5: a complex DWARF expression:
     0: DW_OP_lit0

  Range 0x42f1e5-0x42f6bc: a complex DWARF expression:
     0: DW_OP_breg6 -28864 [$rbp]

  Range 0x42f6bc-0x42f6d8: a complex DWARF expression:
     0: DW_OP_lit0

  Range 0x42f6d8-0x43203c: a complex DWARF expression:
     0: DW_OP_breg6 -28864 [$rbp]

  Range 0x432dd7-0x432e3a: a complex DWARF expression:
     0: DW_OP_breg6 -28864 [$rbp]

  Range 0x4336f1-0x433754: a complex DWARF expression:
     0: DW_OP_breg6 -28864 [$rbp]

  Range 0x433759-0x4337dd: a complex DWARF expression:
     0: DW_OP_breg6 -28864 [$rbp]

  Range 0x433800-0x433812: a complex DWARF expression:
     0: DW_OP_breg6 -28864 [$rbp]

  Range 0x433817-0x43383b: a complex DWARF expression:
     0: DW_OP_breg6 -28864 [$rbp]

  Range 0x433840-0x43384d: a complex DWARF expression:
     0: DW_OP_breg6 -28864 [$rbp]

  Range 0x433852-0x433889: a complex DWARF expression:
     0: DW_OP_breg6 -28864 [$rbp]

  Range 0x433899-0x433914: a complex DWARF expression:
     0: DW_OP_breg6 -28864 [$rbp]

  Range 0x433919-0x433932: a complex DWARF expression:
     0: DW_OP_breg6 -28864 [$rbp]

  Range 0x433937-0x43398a: a complex DWARF expression:
     0: DW_OP_breg6 -28864 [$rbp]

  Range 0x4339be-0x433a03: a complex DWARF expression:
     0: DW_OP_breg6 -28864 [$rbp]

  Range 0x433a0d-0x433a8f: a complex DWARF expression:
     0: DW_OP_breg6 -28864 [$rbp]

  Range 0x433a9e-0x433b8d: a complex DWARF expression:
     0: DW_OP_breg6 -28864 [$rbp]

  Range 0x433b9c-0x433be5: a complex DWARF expression:
     0: DW_OP_breg6 -28864 [$rbp]

  Range 0x433be7-0x433bef: a complex DWARF expression:
     0: DW_OP_breg6 -28864 [$rbp]

  Range 0x433bf1-0x433c16: a complex DWARF expression:
     0: DW_OP_breg6 -28864 [$rbp]

  Range 0x433c18-0x433c1a: a complex DWARF expression:
     0: DW_OP_breg6 -28864 [$rbp]

  Range 0x433c1c-0x433c1e: a complex DWARF expression:
     0: DW_OP_breg6 -28864 [$rbp]

  Range 0x433c22-0x433c2c: a complex DWARF expression:
     0: DW_OP_breg6 -28864 [$rbp]

  Range 0x433c34-0x433c5e: a complex DWARF expression:
     0: DW_OP_breg6 -28864 [$rbp]

, length 8.
Symbol powerchg is multi-location:
  Range 0x42e485-0x42e5f4: a complex DWARF expression:
     0: DW_OP_lit0

  Range 0x42e68e-0x42e6af: a complex DWARF expression:
     0: DW_OP_lit0

  Range 0x42f1c6-0x42f1e5: a complex DWARF expression:
     0: DW_OP_lit0

  Range 0x42f6bc-0x42f6d8: a complex DWARF expression:
     0: DW_OP_lit0

, length 1.
Symbol need_smart_val is multi-location:
  Range 0x42e671-0x42e677: a complex DWARF expression:
     0: DW_OP_lit1

, length 1.
Symbol need_smart_enabled is multi-location:
  Range 0x42e677-0x42e68e: a complex DWARF expression:
     0: DW_OP_lit1

, length 1.
Symbol need_smart_support is optimized out.
Symbol need_smart_logdir is multi-location:
  Range 0x42e712-0x42e74f: a variable in $r11
  Range 0x42e753-0x42e7b7: a variable in $r11
, length 1.
Symbol need_gp_logdir is multi-location:
  Range 0x42e712-0x42e747: a variable in $r10
  Range 0x42e74b-0x42e822: a variable in $r10
  Range 0x42e827-0x42e849: a variable in $r10
  Range 0x42e849-0x42e923: a complex DWARF expression:
     0: DW_OP_breg6 -28928 [$rbp]

  Range 0x42e923-0x42e932: a variable in $r10
  Range 0x42e958-0x42f1c6: a complex DWARF expression:
     0: DW_OP_breg6 -28928 [$rbp]

  Range 0x42f1e5-0x42f6bc: a complex DWARF expression:
     0: DW_OP_breg6 -28928 [$rbp]

  Range 0x42f6d8-0x43203c: a complex DWARF expression:
     0: DW_OP_breg6 -28928 [$rbp]

  Range 0x432dd7-0x432e3a: a complex DWARF expression:
     0: DW_OP_breg6 -28928 [$rbp]

  Range 0x4336f1-0x433754: a complex DWARF expression:
     0: DW_OP_breg6 -28928 [$rbp]

  Range 0x433759-0x4337dd: a complex DWARF expression:
     0: DW_OP_breg6 -28928 [$rbp]

  Range 0x433800-0x433812: a complex DWARF expression:
     0: DW_OP_breg6 -28928 [$rbp]

  Range 0x433817-0x43383b: a complex DWARF expression:
     0: DW_OP_breg6 -28928 [$rbp]

  Range 0x433840-0x43384d: a complex DWARF expression:
     0: DW_OP_breg6 -28928 [$rbp]

  Range 0x433852-0x433889: a complex DWARF expression:
     0: DW_OP_breg6 -28928 [$rbp]

  Range 0x433899-0x433914: a complex DWARF expression:
     0: DW_OP_breg6 -28928 [$rbp]

  Range 0x433919-0x433932: a complex DWARF expression:
     0: DW_OP_breg6 -28928 [$rbp]

  Range 0x433937-0x43398a: a complex DWARF expression:
     0: DW_OP_breg6 -28928 [$rbp]

  Range 0x4339be-0x433a03: a complex DWARF expression:
     0: DW_OP_breg6 -28928 [$rbp]

  Range 0x433a0d-0x433a8f: a complex DWARF expression:
     0: DW_OP_breg6 -28928 [$rbp]

  Range 0x433a9e-0x433b8d: a complex DWARF expression:
     0: DW_OP_breg6 -28928 [$rbp]

  Range 0x433b9c-0x433be5: a complex DWARF expression:
     0: DW_OP_breg6 -28928 [$rbp]

  Range 0x433be7-0x433bef: a complex DWARF expression:
     0: DW_OP_breg6 -28928 [$rbp]

  Range 0x433bf1-0x433c16: a complex DWARF expression:
     0: DW_OP_breg6 -28928 [$rbp]

  Range 0x433c18-0x433c1a: a complex DWARF expression:
     0: DW_OP_breg6 -28928 [$rbp]

  Range 0x433c1c-0x433c1e: a complex DWARF expression:
     0: DW_OP_breg6 -28928 [$rbp]

  Range 0x433c22-0x433c2c: a complex DWARF expression:
     0: DW_OP_breg6 -28928 [$rbp]

  Range 0x433c34-0x433c5e: a complex DWARF expression:
     0: DW_OP_breg6 -28928 [$rbp]

, length 1.
Symbol i is multi-location:
  Range 0x42e712-0x42e73b: a complex DWARF expression:
     0: DW_OP_lit0

  Range 0x43201a-0x43203c: a complex DWARF expression:
     0: DW_OP_lit0

  Range 0x43203c-0x43205e: a complex DWARF expression:
     0: DW_OP_breg6 -28848 [$rbp]

  Range 0x43205e-0x432085: a variable in $rdx
  Range 0x432085-0x4326b7: a complex DWARF expression:
     0: DW_OP_breg6 -28848 [$rbp]

  Range 0x433bef-0x433bf1: a complex DWARF expression:
     0: DW_OP_breg6 -28848 [$rbp]

  Range 0x433c1a-0x433c1c: a complex DWARF expression:
     0: DW_OP_breg6 -28848 [$rbp]

  Range 0x433c1e-0x433c22: a complex DWARF expression:
     0: DW_OP_breg6 -28848 [$rbp]

  Range 0x433c63-0x433c6d: a complex DWARF expression:
     0: DW_OP_breg6 -28848 [$rbp]

, length 4.
Symbol need_sct_support is optimized out.
Symbol not_part_of_a_option is optimized out.
Symbol returnval is multi-location:
  Range 0x42e827-0x42e8e7: a complex DWARF expression:
     0: DW_OP_consts 0

  Range 0x42e8e7-0x42e906: a variable in $r13
  Range 0x42e906-0x42e923: a complex DWARF expression:
     0: DW_OP_consts 0

  Range 0x42e958-0x42e96e: a complex DWARF expression:
     0: DW_OP_consts 0

  Range 0x42e98a-0x42e99f: a variable in $r13
  Range 0x42e99f-0x42f1c6: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x42f1e5-0x42f6bc: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x42f6d8-0x430a4d: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x430a4d-0x430a58: a variable in $rsi
  Range 0x430a58-0x430c57: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x430c57-0x430c62: a variable in $rsi
  Range 0x430c62-0x43123b: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x43123b-0x431246: a variable in $rsi
  Range 0x431246-0x4312a5: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x4312a5-0x4312b0: a variable in $rsi
  Range 0x4312b0-0x431336: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x431336-0x431341: a variable in $rsi
  Range 0x431341-0x4313fa: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x4313fa-0x431405: a variable in $rsi
  Range 0x431405-0x431490: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x431490-0x43149b: a variable in $rsi
  Range 0x43149b-0x4314db: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x4314db-0x4314e3: a variable in $rsi
  Range 0x4314e3-0x431523: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x431523-0x43152b: a variable in $rsi
  Range 0x43152b-0x431577: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x431577-0x43157f: a variable in $rsi
  Range 0x43157f-0x4315bf: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x4315bf-0x4315c7: a variable in $rsi
  Range 0x4315c7-0x43162c: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x43162c-0x43163e: a variable in $rsi
  Range 0x43163e-0x431962: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x431962-0x431968: a variable in $rax
  Range 0x431968-0x431a2f: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x431a36-0x431a9b: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x431a9b-0x431aa6: a variable in $rsi
  Range 0x431aa6-0x431c5b: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x431c62-0x431e12: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x431e12-0x431e1a: a variable in $rsi
  Range 0x431e1a-0x431f13: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x431f13-0x431f24: a variable in $rsi
  Range 0x431f24-0x432689: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x432689-0x432691: a variable in $rsi
  Range 0x432691-0x43273c: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x43273c-0x432742: a variable in $rdx
  Range 0x432742-0x43276e: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x43276e-0x432776: a variable in $rsi
  Range 0x432776-0x432850: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x432850-0x43285b: a variable in $rbx
  Range 0x43285b-0x43288b: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x43288b-0x4328a1: a variable in $rbx
  Range 0x4328a1-0x432975: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x432975-0x43297b: a variable in $rdx
  Range 0x43297b-0x432a2f: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x432a2f-0x432a3a: a variable in $rbx
  Range 0x432a3a-0x432a79: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x432a79-0x432a9b: a variable in $rbx
  Range 0x432a9b-0x432afa: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x432afa-0x432b02: a variable in $rsi
  Range 0x432b02-0x432b55: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x432b55-0x432b5d: a variable in $rsi
  Range 0x432b5d-0x432c56: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x432c56-0x432c5e: a variable in $rsi
  Range 0x432c5e-0x432cb2: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x432cb2-0x432cba: a variable in $rsi
  Range 0x432cba-0x432cff: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x432cff-0x432d07: a variable in $rsi
  Range 0x432d07-0x432d9e: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x432d9e-0x432da6: a variable in $rsi
  Range 0x432da6-0x432dc5: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x432dc5-0x432dcd: a variable in $rsi
  Range 0x432dcd-0x432f38: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x432f38-0x432f40: a variable in $rsi
  Range 0x432f40-0x432f5f: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x432f5f-0x432f67: a variable in $rsi
  Range 0x432f67-0x43300b: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x43300b-0x433013: a variable in $rsi
  Range 0x433013-0x4330a1: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x4330a1-0x4330a9: a variable in $rsi
  Range 0x4330a9-0x4330eb: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x4330eb-0x4330f3: a variable in $rsi
  Range 0x4330f3-0x4331c4: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x4331c4-0x4331cc: a variable in $rsi
  Range 0x4331cc-0x433407: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x433407-0x43340f: a variable in $rsi
  Range 0x43340f-0x43343b: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x43343b-0x433443: a variable in $rsi
  Range 0x433443-0x43346f: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x43346f-0x43347a: a variable in $rsi
  Range 0x43347a-0x4334d9: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x4334d9-0x4334e1: a variable in $rsi
  Range 0x4334e1-0x43351d: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x43351d-0x433525: a variable in $rsi
  Range 0x433525-0x4335d4: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x4335d4-0x4335dc: a variable in $rsi
  Range 0x4335dc-0x433754: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x433759-0x433b92: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x433b97-0x433be5: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x433be7-0x433c2c: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x433c34-0x433c5e: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

  Range 0x433c63-0x433c72: a complex DWARF expression:
     0: DW_OP_breg6 -28764 [$rbp]

, length 4.
Symbol retid is multi-location:
  Range 0x42e8bf-0x42e8c5: a variable in $rax
  Range 0x42e8c5-0x42e923: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x42e958-0x42f1c6: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x42f1e5-0x42f6bc: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x42f6d8-0x4300ed: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x4301b5-0x4301bf: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x43025d-0x4302b3: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x4309e7-0x430a06: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x430a2f-0x430a84: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x433759-0x433777: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x43378f-0x4337a1: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x433800-0x433812: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x433817-0x43383b: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x433852-0x433889: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x433919-0x433932: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x433951-0x43398a: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x4339be-0x4339e2: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x433a76-0x433a8f: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x433a9e-0x433b00: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x433b14-0x433b54: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x433ba6-0x433be5: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x433bed-0x433bef: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x433bf9-0x433c16: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x433c24-0x433c2c: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x433c34-0x433c5e: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

, length 4.
Symbol dbentry is multi-location:
  Range 0x42eac6-0x42eb06: a complex DWARF expression:
     0: DW_OP_lit0

  Range 0x42eb06-0x42f1c6: a complex DWARF expression:
     0: DW_OP_breg6 -28880 [$rbp]

  Range 0x42f1e5-0x42f6bc: a complex DWARF expression:
     0: DW_OP_breg6 -28880 [$rbp]

  Range 0x42f6d8-0x433754: a complex DWARF expression:
     0: DW_OP_breg6 -28880 [$rbp]

  Range 0x433759-0x433a9e: a complex DWARF expression:
     0: DW_OP_breg6 -28880 [$rbp]

  Range 0x433a9e-0x433aa3: a complex DWARF expression:
     0: DW_OP_lit0

  Range 0x433aa3-0x433c24: a complex DWARF expression:
     0: DW_OP_breg6 -28880 [$rbp]

  Range 0x433c63-0x433c72: a complex DWARF expression:
     0: DW_OP_breg6 -28880 [$rbp]

, length 8.
Symbol rpm is multi-location:
  Range 0x42ebb2-0x42f1c6: a complex DWARF expression:
     0: DW_OP_breg6 -28848 [$rbp]

  Range 0x42f1e5-0x42f6bc: a complex DWARF expression:
     0: DW_OP_breg6 -28848 [$rbp]

  Range 0x42f6d8-0x43203a: a complex DWARF expression:
     0: DW_OP_breg6 -28848 [$rbp]

  Range 0x432dd7-0x432e3a: a complex DWARF expression:
     0: DW_OP_breg6 -28848 [$rbp]

  Range 0x4336f1-0x433754: a complex DWARF expression:
     0: DW_OP_breg6 -28848 [$rbp]

  Range 0x433759-0x4337dd: a complex DWARF expression:
     0: DW_OP_breg6 -28848 [$rbp]

  Range 0x433800-0x433812: a complex DWARF expression:
     0: DW_OP_breg6 -28848 [$rbp]

  Range 0x433817-0x43383b: a complex DWARF expression:
     0: DW_OP_breg6 -28848 [$rbp]

  Range 0x433840-0x43384d: a complex DWARF expression:
     0: DW_OP_breg6 -28848 [$rbp]

  Range 0x433852-0x433889: a complex DWARF expression:
     0: DW_OP_breg6 -28848 [$rbp]

  Range 0x433899-0x433914: a complex DWARF expression:
     0: DW_OP_breg6 -28848 [$rbp]

  Range 0x433919-0x433932: a complex DWARF expression:
     0: DW_OP_breg6 -28848 [$rbp]

  Range 0x433937-0x433956: a complex DWARF expression:
     0: DW_OP_breg6 -28848 [$rbp]

  Range 0x433985-0x43398a: a complex DWARF expression:
     0: DW_OP_breg6 -28848 [$rbp]

  Range 0x4339be-0x433a03: a complex DWARF expression:
     0: DW_OP_breg6 -28848 [$rbp]

  Range 0x433a0d-0x433a8f: a complex DWARF expression:
     0: DW_OP_breg6 -28848 [$rbp]

  Range 0x433aa3-0x433b8d: a complex DWARF expression:
     0: DW_OP_breg6 -28848 [$rbp]

  Range 0x433b9c-0x433bbb: a complex DWARF expression:
     0: DW_OP_breg6 -28848 [$rbp]

  Range 0x433bcf-0x433be5: a complex DWARF expression:
     0: DW_OP_breg6 -28848 [$rbp]

  Range 0x433be7-0x433bed: a complex DWARF expression:
     0: DW_OP_breg6 -28848 [$rbp]

  Range 0x433bf1-0x433c16: a complex DWARF expression:
     0: DW_OP_breg6 -28848 [$rbp]

  Range 0x433c18-0x433c1a: a complex DWARF expression:
     0: DW_OP_breg6 -28848 [$rbp]

  Range 0x433c1c-0x433c1e: a complex DWARF expression:
     0: DW_OP_breg6 -28848 [$rbp]

  Range 0x433c22-0x433c24: a complex DWARF expression:
     0: DW_OP_breg6 -28848 [$rbp]

, length 4.
Symbol smart_supported is multi-location:
  Range 0x43009c-0x4300ed: a complex DWARF expression:
     0: DW_OP_consts -1

  Range 0x4301b5-0x4301bf: a complex DWARF expression:
     0: DW_OP_consts -1

  Range 0x4301bf-0x43025d: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x43025d-0x43026c: a complex DWARF expression:
     0: DW_OP_consts -1

  Range 0x43026c-0x4302a2: a variable in $r14
  Range 0x4302b3-0x4309e7: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x4309e7-0x430b1e: a variable in $r14
  Range 0x430b1e-0x431ab0: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x431ab0-0x431ac1: a variable in $r14
  Range 0x431ac1-0x431ae6: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x431ae6-0x431af1: a variable in $r14
  Range 0x431af1-0x43203c: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x432dd7-0x432e3a: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x4336f1-0x433754: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x433777-0x43378f: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x4337a1-0x4337dd: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x433840-0x43384d: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x433899-0x433914: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x433937-0x433951: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x433a0d-0x433a76: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x433b54-0x433b59: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x433b83-0x433b8d: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x433b9c-0x433ba6: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x433be7-0x433bed: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x433bf1-0x433bf9: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x433c1c-0x433c1e: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

  Range 0x433c22-0x433c24: a complex DWARF expression:
     0: DW_OP_breg6 -28800 [$rbp]

, length 4.
Symbol smart_enabled is multi-location:
  Range 0x43009c-0x4300ed: a complex DWARF expression:
     0: DW_OP_consts -1

  Range 0x4301b5-0x4301bf: a complex DWARF expression:
     0: DW_OP_consts -1

  Range 0x4301bf-0x43025d: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x43025d-0x43027e: a complex DWARF expression:
     0: DW_OP_consts -1

  Range 0x43027e-0x430af7: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x430af7-0x430b30: a variable in $rbx
  Range 0x430b30-0x431257: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x431263-0x431ae6: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x431ae6-0x431aec: a variable in $rbx
  Range 0x431aec-0x431ea8: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x432dd7-0x432e3a: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x4336f1-0x433754: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x433777-0x43378f: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x4337a1-0x4337dd: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x433840-0x43384d: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x433899-0x433914: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x433937-0x433951: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x433a0d-0x433a76: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x433b54-0x433b59: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x433b83-0x433b8d: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x433b9c-0x433ba6: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x433be7-0x433beb: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x433bf1-0x433bf9: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x433c1c-0x433c1e: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

, length 4.
Symbol word128 is multi-location:
  Range 0x4305cc-0x4305d2: a variable in $rax
, length 2.
Symbol smart_val_ok is multi-location:
  Range 0x431441-0x4314b6: a complex DWARF expression:
     0: DW_OP_lit0

  Range 0x4317df-0x4317fe: a complex DWARF expression:
     0: DW_OP_lit1

  Range 0x431a4d-0x431ab0: a complex DWARF expression:
     0: DW_OP_lit1

  Range 0x431b0f-0x431b17: a complex DWARF expression:
     0: DW_OP_lit1

, length 1.
Symbol smart_thres_ok is multi-location:
  Range 0x431441-0x4314b6: a complex DWARF expression:
     0: DW_OP_lit0

  Range 0x4317df-0x4317fe: a complex DWARF expression:
     0: DW_OP_lit0

  Range 0x431a4d-0x431ab0: a complex DWARF expression:
     0: DW_OP_lit0

  Range 0x431b0f-0x431b17: a complex DWARF expression:
     0: DW_OP_lit0

  Range 0x433be7-0x433be9: a complex DWARF expression:
     0: DW_OP_lit0

, length 1.
Symbol needupdate is multi-location:
  Range 0x4314b6-0x4314e8: a complex DWARF expression:
     0: DW_OP_lit0

  Range 0x431538-0x43153c: a complex DWARF expression:
     0: DW_OP_lit0

  Range 0x43154e-0x431569: a variable in $rax
  Range 0x4315e6-0x4315fd: a variable in $rax
, length 1.
Symbol gp_log_supported is optimized out.
Symbol smartlogdir is multi-location:
  Range 0x431db5-0x431dbe: a complex DWARF expression:
     0: DW_OP_lit0

  Range 0x431eaf-0x432dd7: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x432e3a-0x43352a: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x433582-0x4336f1: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x4337dd-0x433800: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x433812-0x433817: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x43383b-0x433840: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x43384d-0x433852: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x433889-0x433899: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x433914-0x433919: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x433932-0x433937: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x43398a-0x4339be: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x433a03-0x433a0d: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x433a8f-0x433a9e: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x433b8d-0x433b9c: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x433be5-0x433be7: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x433bef-0x433bf1: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x433c16-0x433c18: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x433c1a-0x433c1c: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x433c1e-0x433c22: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

  Range 0x433c63-0x433c72: a complex DWARF expression:
     0: DW_OP_breg6 -28784 [$rbp]

, length 8.
Symbol gplogdir is multi-location:
  Range 0x431db5-0x431dbe: a complex DWARF expression:
     0: DW_OP_lit0

, length 8.
Symbol do_smart_error_log is multi-location:
  Range 0x4326bc-0x432793: a variable in $r15
  Range 0x43279f-0x43285b: a variable in $r15
  Range 0x432869-0x4328a1: a variable in $r15
  Range 0x432b1e-0x432b2f: a variable in $r15
  Range 0x433914-0x433919: a variable in $r15
  Range 0x433a08-0x433a0d: a variable in $r15
  Range 0x433b92-0x433b97: a variable in $r15
, length 1.
Symbol do_smart_selftest_log is multi-location:
  Range 0x4328a6-0x432903: a variable in $r12
  Range 0x43291c-0x432a9b: a variable in $r12
  Range 0x432b2f-0x432b76: a variable in $r12
  Range 0x4337e7-0x4337ec: a variable in $r12
  Range 0x433889-0x433899: a variable in $r12
  Range 0x433be5-0x433be7: a variable in $r12
, length 1.
Symbol word120 is optimized out.
Symbol word119 is optimized out.
Symbol locked is optimized out.
Symbol sct_write_cache_state_desc is optimized out.
Symbol sct_ok is optimized out.