Displaying 4 results from an estimated 4 matches for "fk_pcrel_1".
2016 Feb 27
2
Fwd: X86 assembler cannot jump NEAR?
...d here's assembly which is then run through the compiler.
$ echo "jmp _label"|llvm-mc-mp-3.7 -assemble -triple=i386 -show-encoding |tee b.s
.text
jmp _label # encoding: [0xeb,A]
# fixup A - offset: 1, value: _label-1, kind: FK_PCRel_1
$ clang -c b.s
$ otool -tvj b.o
b.o:
(__TEXT,__text) section
0000000000000000 e900000000 jmp 0x5
As you can see, both produced near jumps. (I assume the difference between the offsets has to do with a difference in relocations between ELF and Mach-o.)
--
Stephen Checkoway
2016 Feb 27
0
Fwd: X86 assembler cannot jump NEAR?
...rough the compiler.
>
> $ echo "jmp _label"|llvm-mc-mp-3.7 -assemble -triple=i386 -show-encoding
|tee b.s
> .text
> jmp _label # encoding: [0xeb,A]
> # fixup A - offset: 1, value:
_label-1, kind: FK_PCRel_1
> $ clang -c b.s
> $ otool -tvj b.o
> b.o:
> (__TEXT,__text) section
> 0000000000000000 e900000000 jmp 0x5
>
> As you can see, both produced near jumps. (I assume the difference
between the offsets has to do with a difference in relocations between ELF
a...
2013 Dec 12
3
[LLVMdev] [RFC PATCH 1/2] x86: Fix ModR/M byte output in 16-bit addressing mode
This attempts to address http://llvm.org/bugs/show_bug.cgi?id=18220
It also fixes a test which was requiring the *wrong* output.
I'm relatively happy with this part, and it even solves most of the hard
part of feature request for .code16 in bug 8684 — which was actually why
I started prodding at this. But I could do with some help with the
16-bit signed relocation handling, which I've
2016 Feb 16
2
Who patches the fixups?
...mbly code, like
below:
$ echo "jmp 5000" | ./bin/llvm-mc -assemble -triple=i386 -show-encoding
-x86-asm-syntax=att -output-asm-variant=1
.text
jmp 5000 # encoding: [0xeb,A]
# fixup A - offset: 1, value:
5000-1, kind: FK_PCRel_1
Now there are fixups in the encoding, and this must be patches by LLVM
somewhere. My best guess is that the next phase after assembly compilation
will patch them, but not very sure where in LLVM compiler does this.
Any hints on how the compiler patch the fixups after assembler phase? (a
pointer t...