bpf, docs: Update llvm_relocs.rst with typo fixes
Correct a few typographical errors and fix some mistakes in examples. Signed-off-by: Will Hawkins <hawkinsw@obs.cr> Acked-by: Yonghong Song <yhs@fb.com> Link: https://lore.kernel.org/r/20230428023015.1698072-2-hawkinsw@obs.cr Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
parent
fbc0b02530
commit
6953518629
|
@ -48,7 +48,7 @@ the code with ``llvm-objdump -dr test.o``::
|
||||||
14: 0f 10 00 00 00 00 00 00 r0 += r1
|
14: 0f 10 00 00 00 00 00 00 r0 += r1
|
||||||
15: 95 00 00 00 00 00 00 00 exit
|
15: 95 00 00 00 00 00 00 00 exit
|
||||||
|
|
||||||
There are four relations in the above for four ``LD_imm64`` instructions.
|
There are four relocations in the above for four ``LD_imm64`` instructions.
|
||||||
The following ``llvm-readelf -r test.o`` shows the binary values of the four
|
The following ``llvm-readelf -r test.o`` shows the binary values of the four
|
||||||
relocations::
|
relocations::
|
||||||
|
|
||||||
|
@ -79,14 +79,16 @@ The following is the symbol table with ``llvm-readelf -s test.o``::
|
||||||
The 6th entry is global variable ``g1`` with value 0.
|
The 6th entry is global variable ``g1`` with value 0.
|
||||||
|
|
||||||
Similarly, the second relocation is at ``.text`` offset ``0x18``, instruction 3,
|
Similarly, the second relocation is at ``.text`` offset ``0x18``, instruction 3,
|
||||||
for global variable ``g2`` which has a symbol value 4, the offset
|
has a type of ``R_BPF_64_64`` and refers to entry 7 in the symbol table.
|
||||||
from the start of ``.data`` section.
|
The second relocation resolves to global variable ``g2`` which has a symbol
|
||||||
|
value 4. The symbol value represents the offset from the start of ``.data``
|
||||||
|
section where the initial value of the global variable ``g2`` is stored.
|
||||||
|
|
||||||
The third and fourth relocations refers to static variables ``l1``
|
The third and fourth relocations refer to static variables ``l1``
|
||||||
and ``l2``. From ``.rel.text`` section above, it is not clear
|
and ``l2``. From the ``.rel.text`` section above, it is not clear
|
||||||
which symbols they really refers to as they both refers to
|
to which symbols they really refer as they both refer to
|
||||||
symbol table entry 4, symbol ``sec``, which has ``STT_SECTION`` type
|
symbol table entry 4, symbol ``sec``, which has ``STT_SECTION`` type
|
||||||
and represents a section. So for static variable or function,
|
and represents a section. So for a static variable or function,
|
||||||
the section offset is written to the original insn
|
the section offset is written to the original insn
|
||||||
buffer, which is called ``A`` (addend). Looking at
|
buffer, which is called ``A`` (addend). Looking at
|
||||||
above insn ``7`` and ``11``, they have section offset ``8`` and ``12``.
|
above insn ``7`` and ``11``, they have section offset ``8`` and ``12``.
|
||||||
|
|
Loading…
Reference in New Issue