I use IDA Pro 6.1 to disassembly ELF file, which is compiled on 32 bit Linux, gcc 4.6.3
I modified the code and try to make it reassemble, and I find a problem here(this is directly created by IDA Pro):
main proc near ...... mov dword ptr [esp+4], offset msgid ...... ...... foo proc near msgid = dword ptr -18d ...... mov [esp+1Ch+msgid], 1 section .rodata msgid db 'extra operand %s',0
So if I do some modify work and assembly it use nasm, it will produce this error:
error: label or instruction expected at start of line
targeting on this line:
msgid db 'extra operand %s',0
If I modify it like this:
main proc near ...... mov dword ptr [esp+4], offset msgid111 ...... ...... foo proc near msgid = dword ptr -18d ...... mov [esp+1Ch+msgid], 1 section .rodata msgid111 db 'extra operand %s',0
Then no error in this part.
So my questions are:
- Why IDA Pro will use variable name as the macro name?
- Is there any better way to bypass this error than modify the variable name?