Skip to content
Snippets Groups Projects
Commit 4b2cf014 authored by Jason Hiser's avatar Jason Hiser :tractor:
Browse files

testing for libmedsannot

parent 8596f6a7
No related branches found
No related tags found
No related merge requests found
#!/bin/bash
g++ test.cpp -I ../include -fmax-errors=2 -L../../lib -lMEDSannotation -g
./a.out ls.annot
./a.out ls.infoannot
./a.out ls.STARSxrefs
154f0 0 INSTR XREF IBT FROMDATA 1138
155e0 0 INSTR XREF IBT FROMDATA 10d8
15620 0 INSTR XREF IBT FROMDATA 10a8
15690 0 INSTR XREF IBT FROMDATA 1030
162c0 0 INSTR XREF IBT FROMDATA 5866
16330 0 INSTR XREF IBT FROMDATA 585f
1636c 0 INSTR XREF IBT FROMDATA ee0
162f1 1 INSTR XREF IBT FROMIB 376e RETURNTARGET
40d7 7 INSTR XREF TAKES_ADDRESS_OF DATA 16598
40f8 7 INSTR XREF TAKES_ADDRESS_OF DATA 21f2e0
40ff 7 INSTR XREF TAKES_ADDRESS_OF DATA 1a148
4134 5 INSTR XREF TAKES_ADDRESS_OF DATA 16598
413e 2 INSTR XREF IBT FROMIB 413c SWITCHTABLE
483c 2 INSTR XREF IBT FROMIB 413c SWITCHTABLE
484b 2 INSTR XREF IBT FROMIB 413c SWITCHTABLE
55ff 2 INSTR XREF IBT FROMIB 413c SWITCHTABLE
5699 2 INSTR XREF IBT FROMIB 413c SWITCHTABLE
413c 2 INSTR XREF FROMIB COMPLETE 60 SWITCHTABLE
413e 7 INSTR XREF TAKES_ADDRESS_OF DATA 22132d
0 1 DATAREF GLOBAL 1223 221311 PARENT byte_221311 VOID RW
0 10 DATAREF GLOBAL 1251 221366 PARENT SMP_dummy414 VOID RW
0 16 DATAREF GLOBAL 1252 221370 PARENT tp VOID RW AGGREGATE
0 8 DATAREF GLOBAL 1253 221370 CHILDOF 1252 OFFSET 0 tp + 0 FIELD DIRECT
0 8 DATAREF GLOBAL 1254 221370 CHILDOF 1252 OFFSET 8 tp + 8 FIELD DIRECT
0 8 DATAREF GLOBAL 1255 221380 PARENT ptr VOID RW
0 8 DATAREF GLOBAL 1256 221388 PARENT qword_221388 VOID RW
0 1 DATAREF GLOBAL 1257 221390 PARENT byte_221390 VOID RW
0 8 DATAREF GLOBAL 1282 221558 PARENT s VOID RW
3758 23 FUNC GLOBAL .init_proc FUNC_SAFE NOFP RET 376e
3758 0 FUNC FRAMERESTORE 0 0 2 1 0 0 2 0 0 3 0 0 4 0 8 5 0 1 6 0 0 7 0 0 8 0 0 9 0 0 10 0 0 11 0 0 12 0 16 13 0 0 14 0 0 15 0 0 ZZ
3758 0 FUNC MMSAFENESS SAFE
3758 4 INSTR BELONGTO 3758
3758 -1 INSTR LOCAL SafeFrameAlloc sub rsp, 8; _init
3758 8 MEMORYHOLE STACK esp + 8 ReturnAddress
3758 8 DATAREF STACK 1283 esp + 0 PARENT LocalFrame LOCALFRAME
3758 4 INSTR DEADREGS EFLAGS RAX ZZ sub rsp, 8; _init
375c 7 INSTR BELONGTO 3758
375c -2 INSTR LOCAL n RAX ZZ NumericDEFs mov rax, cs:__gmon_start___ptr
375c 7 INSTR DEADREGS EFLAGS RAX ZZ mov rax, cs:__gmon_start___ptr
3763 3 INSTR BELONGTO 3758
3763 -1 INSTR LOCAL NoMetaUpdate test rax, rax
3763 3 INSTR DEADREGS EFLAGS ZZ test rax, rax
3766 2 INSTR BELONGTO 3758
3766 -1 INSTR LOCAL NoMetaUpdate jz short loc_376A
3768 2 INSTR BELONGTO 3758
3768 -1 INSTR LOCAL NoMetaUpdate call rax ; __gmon_start__
3768 2 INSTR DEADREGS EFLAGS ZZ call rax ; __gmon_start__
376a 4 INSTR BELONGTO 3758
376a 4 INSTR DEADREGS EFLAGS ZZ add rsp, 8
376e 1 INSTR BELONGTO 3758
376e 8 DEALLOC STACK esp - 8 retn
376e 1 INSTR DEADREGS EFLAGS ZZ retn
376e -4 INSTR LOCAL SafeReturn retn
3770 12 FUNC GLOBAL sub_3770 FUNC_UNSAFE NOFP RET 377b
3770 0 FUNC FRAMERESTORE 0 0 0 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 6 0 0 7 0 0 8 0 0 9 0 0 10 0 0 11 0 0 12 0 0 13 0 0 14 0 0 15 0 0 ZZ
3770 0 FUNC MMSAFENESS UNSAFE
3770 6 INSTR BELONGTO 3770
3770 8 MEMORYHOLE STACK esp + 8 ReturnAddress
3770 8 DATAREF STACK 1284 esp + 0 PARENT LocalFrame LOCALFRAME
3770 8 DATAREF STACK 1285 esp + 0 CHILDOF 1284 OFFSET 0 OutArgsRegion OUTARGS
3776 6 INSTR BELONGTO 3770
3776 -1 INSTR LOCAL NoMetaUpdate jmp cs:qword_21FC48
59c0 650 FUNC GLOBAL sub_59C0 FUNC_UNSAFE NOFP RET FUNC_LEAF 5c49
59c0 0 FUNC FRAMERESTORE 0 0 2 1 0 1 2 0 2 3 -48 4 4 0 8 5 -40 8 6 0 4 7 0 4 8 0 4 9 0 4 10 0 0 11 0 16 12 -32 4 13 -24 1 14 -16 4 15 -8 16 ZZ
59c0 0 FUNC MMSAFENESS SAFE
59c0 3 INSTR BELONGTO 59c0
59c0 3 INSTR DEADREGS EFLAGS RAX R8 R9 R10 R11 ZZ mov r8, [rsi]
59c3 3 INSTR BELONGTO 59c0
59c3 3 INSTR DEADREGS EFLAGS RAX R9 R10 R11 ZZ mov r9, [rdi]
59c6 7 INSTR BELONGTO 59c0
59c6 7 INSTR DEADREGS EFLAGS RAX R10 R11 ZZ lea r11, jpt_5A81
59cd 2 INSTR BELONGTO 59c0
59cd -3 INSTR LOCAL NoWarn push r15
59cd 2 INSTR DEADREGS EFLAGS RAX R10 ZZ push r15
59cf 3 INSTR BELONGTO 59c0
59cf -2 INSTR LOCAL n R10 ZZ AlwaysNUM xor r10d, r10d
59cf 3 INSTR DEADREGS EFLAGS RAX R10 R15 ZZ xor r10d, r10d
59d2 2 INSTR BELONGTO 59c0
59d2 -3 INSTR LOCAL NoWarn push r14
59d2 2 INSTR DEADREGS EFLAGS RAX R15 ZZ push r14
59d4 5 INSTR BELONGTO 59c0
59d4 -1 INSTR LOCAL MetadataUnused mov eax, 1
59d4 5 INSTR DEADREGS EFLAGS RAX R14 R15 ZZ mov eax, 1
59d9 2 INSTR BELONGTO 59c0
59d9 -3 INSTR LOCAL NoWarn push r13
59d9 2 INSTR DEADREGS EFLAGS R14 R15 ZZ push r13
59db 2 INSTR BELONGTO 59c0
59db -3 INSTR LOCAL NoWarn push r12
59db 2 INSTR DEADREGS EFLAGS R13 R14 R15 ZZ push r12
59dd 3 INSTR BELONGTO 59c0
59dd -1 INSTR LOCAL MetadataUnused mov r12d, edx
59dd 3 INSTR DEADREGS EFLAGS R12 R13 R14 R15 ZZ mov r12d, edx
59e0 1 INSTR BELONGTO 59c0
5c28 5 INSTR BELONGTO 59c0
5c28 -1 INSTR LOCAL MetadataRedundant lea r14d, [r13+r14-37h]
5c28 5 INSTR DEADREGS EFLAGS RCX R15 ZZ lea r14d, [r13+r14-37h]
5c2d 5 INSTR BELONGTO 59c0
5c2d -1 INSTR LOCAL NoMetaUpdate jmp loc_5B28
5c2d 5 INSTR DEADREGS EFLAGS RCX R13 R15 ZZ jmp loc_5B28
5c38 4 INSTR BELONGTO 59c0
5c38 -2 INSTR LOCAL n R14 ZZ AlwaysNUM shl r14d, 4
5c38 4 INSTR DEADREGS EFLAGS RCX R15 ZZ shl r14d, 4
5c3c 4 INSTR BELONGTO 59c0
5c3c 4 INSTR DEADREGS EFLAGS RCX R15 ZZ add r8, 1
5c40 5 INSTR BELONGTO 59c0
5c40 -1 INSTR LOCAL MetadataRedundant lea r14d, [r13+r14-57h]
5c40 5 INSTR DEADREGS EFLAGS RCX R15 ZZ lea r14d, [r13+r14-57h]
5c45 5 INSTR BELONGTO 59c0
5c45 -1 INSTR LOCAL NoMetaUpdate jmp loc_5B28
5c45 5 INSTR DEADREGS EFLAGS RCX R13 R15 ZZ jmp loc_5B28
3758 23 FUNC RETURNTYPE RAX 2
3758 23 FUNC INARGS 6 ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0
3770 12 FUNC RETURNTYPE RAX 0
3770 12 FUNC PROBLEM sub_3770 JUMPUNRESOLVED
3780 6 FUNC RETURNTYPE RAX 0
3780 6 FUNC PROBLEM .__ctype_toupper_loc JUMPUNRESOLVED
3790 6 FUNC RETURNTYPE RAX 0
37b0 6 FUNC PROBLEM .sigprocmask JUMPUNRESOLVED
3e78 6 FUNC RETURNTYPE RAX 0
3e78 6 FUNC PROBLEM malloc JUMPUNRESOLVED
3e80 6 FUNC RETURNTYPE RAX 0
3e80 6 FUNC PROBLEM __cxa_finalize JUMPUNRESOLVED
3e90 6587 FUNC RETURNTYPE RAX 0
3e90 6587 FUNC INARGS 6 ARG0 0 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0
40eb 6 INSTR CODEPTR 1 mov r15d, 1
4124 5 INSTR CHECK OVERFLOW UNSIGNED 32 RAX ZZ add eax, 83h; switch 276 cases
4151 5 INSTR CODEPTR 1 mov byte ptr [rsp+88h+var_78], 1; jumptable 000000000000413C case 107
a9b8 5 INSTR CODEPTR 5 mov edx, 5; category
a9dd 1 15edf 5 INSTR CODEPTR 73 mov eax, 73h ; 's'
1604f 4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RAX+2 ZZ lea rcx, [rax+2]
16053 4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RAX+3 ZZ lea rdi, [rax+3]; size
16081 3 INSTR CHECK UNDERFLOW UNSIGNED 64 RDI ZZ sub rdi, rdx
16084 4 INSTR CHECK OVERFLOW UNSIGNED 64 RDX ZZ add rdx, 1; n
1608b 3 INSTR CHECK OVERFLOW UNSIGNED 64 RDI ZZ IDIOM 18 MEMORYSINK add rdi, r15
1608e 3 INSTR CHECK OVERFLOW UNSIGNED 64 RDI ZZ IDIOM 18 MEMORYSINK add rdi, r12; dest
1609b 5 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R12+R15 ZZ IDIOM 18 MEMORYSINK lea rdi, [r12+r15-1]; dest
1609b 5 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R12+R15+-1 ZZ IDIOM 18 MEMORYSINK lea rdi, [r12+r15-1]; dest
160a0 4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R13+1 ZZ IDIOM 18 MEMORYSINK lea rdx, [r13+1]; n
160fb 5 INSTR CODEPTR 1 mov edx, 1
16141 4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RAX+2 ZZ lea rcx, [rax+2]
16145 4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RAX+3 ZZ lea rsi, [rax+3]; size
161a0 123 FUNC RETURNTYPE RAX 1
161a0 123 FUNC INARGS 6 ARG0 4 ARG1 0 ARG2 1 ARG3 0 ARG4 0 ARG5 0
161f2 5 INSTR CODEPTR 1 mov edx, 1; whence
16220 64 FUNC RETURNTYPE RAX 0
16220 64 FUNC INARGS 6 ARG0 4 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0
1624b 5 INSTR CODEPTR 1 mov edx, 1
16260 87 FUNC RETURNTYPE RAX 0
16260 87 FUNC INARGS 6 ARG0 4 ARG1 1 ARG2 2 ARG3 0 ARG4 0 ARG5 0
162c0 101 FUNC RETURNTYPE RAX 2
162c0 101 FUNC INARGS 6 ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0
162c0 101 FUNC PROBLEM init CALLUNRESOLVED
1630d 4 INSTR CHECK OVERFLOW UNSIGNED 64 RBX ZZ add rbx, 1
16330 2 FUNC RETURNTYPE RAX 0
16330 2 FUNC INARGS 6 ARG0 0 ARG1 0 ARG2 0 ARG3 1 ARG4 0 ARG5 0
16340 41 FUNC RETURNTYPE RAX 16
16340 41 FUNC INARGS 6 ARG0 2 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0
1636c 9 FUNC RETURNTYPE RAX 0
1636c 9 FUNC INARGS 6 ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0
8000000 2 SUCCESS ANALYSISCOMPLETED
#include <iostream>
#include <fstream>
#include <MEDS_AnnotationParser.hpp>
#include <MEDS_SafeFuncAnnotation.hpp>
using namespace std;
int main(int argc, char *argv[] )
{
if(argc!=2)
{
cout << "Usage: " << argv[0] << " <infile> " << endl;
return 2;
}
ifstream fin(argv[1]);
if(!fin)
{
cout << "Usage: " << argv[0] << " <infile> " << endl;
return 2;
}
using namespace MEDS_Annotation;
MEDS_AnnotationParser meds_ap(fin);
cout << dec << meds_ap.getAnnotations().size() << " instruction annotations " << endl;
cout << dec << meds_ap.getFuncAnnotations().size() << " function annotations " << endl;
return 0;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment