Rev 624 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 624 | Rev 692 | ||
---|---|---|---|
Line 2664... | Line 2664... | ||
2664 | mov eax,[esi+0Ch] |
2664 | mov eax,[esi+0Ch] |
2665 | mov [current_line],eax |
2665 | mov [current_line],eax |
2666 | mov eax,[esi+8] |
2666 | mov eax,[esi+8] |
2667 | test byte [eax+8],1 |
2667 | test byte [eax+8],1 |
2668 | jz undefined_symbol |
2668 | jz undefined_coff_public |
2669 | mov cx,[current_pass] |
2669 | mov cx,[current_pass] |
2670 | cmp cx,[eax+16] |
2670 | cmp cx,[eax+16] |
2671 | jne undefined_symbol |
2671 | jne undefined_coff_public |
2672 | mov cl,[eax+11] |
2672 | mov cl,[eax+11] |
2673 | or cl,cl |
2673 | or cl,cl |
2674 | jz public_constant |
2674 | jz public_constant |
2675 | test [format_flags],8 |
2675 | test [format_flags],8 |
2676 | jnz check_64bit_public_symbol |
2676 | jnz check_64bit_public_symbol |
2677 | cmp cl,2 |
2677 | cmp cl,2 |
2678 | je public_symbol_type_ok |
2678 | je public_symbol_type_ok |
2679 | jmp invalid_use_of_symbol |
2679 | jmp invalid_use_of_symbol |
2680 | check_64bit_public_symbol: |
2680 | undefined_coff_public: |
- | 2681 | mov eax,[eax+24] |
|
- | 2682 | mov [error_info],eax |
|
- | 2683 | jmp undefined_symbol |
|
- | 2684 | check_64bit_public_symbol: |
|
2681 | cmp cl,4 |
2685 | cmp cl,4 |
2682 | jne invalid_use_of_symbol |
2686 | jne invalid_use_of_symbol |
2683 | public_symbol_type_ok: |
2687 | public_symbol_type_ok: |
2684 | mov ecx,[eax+20] |
2688 | mov ecx,[eax+20] |
2685 | cmp byte [ecx],80h |
2689 | cmp byte [ecx],80h |
Line 3090... | Line 3094... | ||
3090 | cmp byte [esi],0C0h |
3094 | cmp byte [esi],0C0h |
3091 | jne invalid_argument |
3095 | jne invalid_argument |
3092 | mov ebx,[esi+8] |
3096 | mov ebx,[esi+8] |
3093 | test byte [ebx+8],1 |
3097 | test byte [ebx+8],1 |
3094 | jz undefined_symbol |
3098 | jz undefined_public |
3095 | mov ax,[current_pass] |
3099 | mov ax,[current_pass] |
3096 | cmp ax,[ebx+16] |
3100 | cmp ax,[ebx+16] |
3097 | jne undefined_symbol |
3101 | jne undefined_public |
3098 | mov dl,[ebx+11] |
3102 | mov dl,[ebx+11] |
3099 | or dl,dl |
3103 | or dl,dl |
3100 | jz public_absolute |
3104 | jz public_absolute |
3101 | mov eax,[ebx+20] |
3105 | mov eax,[ebx+20] |
3102 | cmp byte [eax],0 |
3106 | cmp byte [eax],0 |
3103 | jne invalid_use_of_symbol |
3107 | jne invalid_use_of_symbol |
Line 3107... | Line 3111... | ||
3107 | cmp dl,2 |
3111 | cmp dl,2 |
3108 | jne invalid_use_of_symbol |
3112 | jne invalid_use_of_symbol |
3109 | mov dx,[eax+0Eh] |
3113 | mov dx,[eax+0Eh] |
3110 | jmp section_for_public_ok |
3114 | jmp section_for_public_ok |
3111 | elf64_public: |
3115 | undefined_public: |
- | 3116 | mov eax,[ebx+24] |
|
- | 3117 | mov [error_info],eax |
|
- | 3118 | jmp undefined_symbol |
|
- | 3119 | elf64_public: |
|
3112 | cmp dl,4 |
3120 | cmp dl,4 |
3113 | jne invalid_use_of_symbol |
3121 | jne invalid_use_of_symbol |
3114 | mov dx,[eax+6] |
3122 | mov dx,[eax+6] |
3115 | jmp section_for_public_ok |
3123 | jmp section_for_public_ok |
3116 | public_absolute: |
3124 | public_absolute: |