format ELF include 'proc32.inc' section '.text' executable ;extrn 'malloc' as malloc:dword extrn 'strncmp' as strncmp:dword extrn 'debug_out_str' as debug_out_str ;extrn 'free' as free:dword ;extrn 'realloc' as realloc:dword ;extrn 'mf_init' as mf_init:dword public _msys_cofflib_load ;public _msys_cofflib_link public _msys_cofflib_getproc proc _msys_cofflib_load stdcall, name:dword mov eax, 68 mov ebx, 19 mov ecx, [name] int 0x40 ret endp ;align 4 ;proc _msys_cofflib_link stdcall, exp:dword, imp:dword ; stdcall debug_out_str, szFuncLink ; mov esi, [imp] ; test esi, esi ; jz .done ;.next: ; lodsd ; test eax, eax ; jz .done ; stdcall _msys_cofflib_getproc, [exp], eax ; mov [esi-4], eax ; jmp .next ;.done: ; ret ;endp align 4 proc _msys_cofflib_getproc stdcall, exp:dword, sz_name:dword stdcall debug_out_str, szFuncGetProc mov edx, [exp] .next: test edx, edx jz .end stdcall strncmp, [edx], [sz_name], 16 test eax, eax jz .ok add edx,8 jmp .next .ok: mov eax, [edx+4] .end: ret endp section '.data' szFuncGetProc db 'somebody did call GetProc',0x0d, 0x0a,0 szFuncLink db 'somebody did call Link',0x0d, 0x0a,0