X86 assembler cannot jump NEAR?

Is there any reason to prefer a NEAR jump to a SHORT jump if the assembler deemed it is okay to keep it as a SHORT one?

The only reason you may want to have it as a NEAR jump is because you need to alter the target of this jump to another address which may be out of a byte range.

Regards

Is there any reason to prefer a NEAR jump to a SHORT jump if the assembler deemed it is okay to keep it as a SHORT one?

The only reason you may want to have it as a NEAR jump is because you need to alter the target of this jump to another address which may be out of a byte range.

The problem is that llvm-mc always compiles “jmp” this as short jump, no matter where the target is. Hence my question. I dont know if there is any way to change this behavior. Looks like a bug to me so far.

Craig said there is a trick with object file, but I dont know how to do that. Also, why compiling to object file changes the result?

Thanks.