NAME=leak Mach-O 32-bit duplicate relocation addresses
FILE=malloc://512
ARGS=-wn
CMDS=<<EOF
wx cefaedfe07000000030000000100000003000000a000000000000000 @ 0x0
wx 020000001800000000010000010000001001000008000000 @ 0x1c
wx 0b00000050000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000020010000030000000000000000000000 @ 0x34
wx 01000000380000005f5f44415441000000000000000000000010000000020000000000000002000003000000030000000000000000000000 @ 0x84
wx 01000000010000000000000000000000005f666f6f000000 @ 0x100
wx 800100000000000480010000000000048401000000000004 @ 0x120
oba 0
irj
EOF
EXPECT=<<EOF
[{"name":"foo","type":"UNKNOWN","ntype":0,"vaddr":4480,"paddr":384,"is_ifunc":false},{"name":"foo","type":"UNKNOWN","ntype":0,"vaddr":4484,"paddr":388,"is_ifunc":false}]
EOF
RUN

NAME=leak Mach-O 64-bit duplicate relocation addresses
FILE=malloc://512
ARGS=-wn
CMDS=<<EOF
wx cffaedfe07000001030000000100000003000000b00000000000000000000000 @ 0x0
wx 020000001800000000010000010000001001000008000000 @ 0x20
wx 0b00000050000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000020010000030000000000000000000000 @ 0x38
wx 19000000480000005f5f4441544100000000000000000000001000000000000000020000000000000000000000000000000200000000000003000000030000000000000000000000 @ 0x88
wx 01000000010000000000000000000000005f666f6f000000 @ 0x100
wx 800100000000000680010000000000068801000000000006 @ 0x120
oba 0
irj
EOF
EXPECT=<<EOF
[{"name":"foo","type":"UNKNOWN","ntype":0,"vaddr":4480,"paddr":384,"is_ifunc":false},{"name":"foo","type":"UNKNOWN","ntype":0,"vaddr":4488,"paddr":392,"is_ifunc":false}]
EOF
RUN
