Skip to content

Commit bf242f2

Browse files
committed
Apply mylai-mtk's comment
1 parent ecf913c commit bf242f2

File tree

1 file changed

+20
-20
lines changed

1 file changed

+20
-20
lines changed

riscv-elf.adoc

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -724,9 +724,9 @@ The PLT (Procedure Linkage Table) exists to allow function calls between
724724
dynamically linked shared objects. Each dynamic object has its own
725725
GOT (Global Offset Table) and PLT (Procedure Linkage Table).
726726

727-
RISC-V has defined several PLT styles, which used for different situation,
728-
the default PLT sytle should be used if the program is not met the condition for
729-
using all other PLT sytle.
727+
RISC-V defines several PLT styles, which are used in different situations.
728+
The default PLT style should be used if the program does not meet the conditions
729+
for using all other PLT sytles.
730730

731731
[[plt-style]]
732732
.PLT styles
@@ -760,11 +760,11 @@ The first entry in the PLT occupies two 16 byte entries for the default PLT styl
760760
jr t3
761761
----
762762

763-
And occupies three 16 byte entries for the simple landing pad PLT style:
763+
And occupies three 16 byte entries for the unlabeled landing pad PLT style:
764764
[,asm]
765765
----
766-
1: lpad 0
767-
auipc t2, %pcrel_hi(.got.plt)
766+
lpad 0
767+
1: auipc t2, %pcrel_hi(.got.plt)
768768
sub t1, t1, t3 # shifted .got.plt offset + hdr size + 16
769769
l[w|d] t3, %pcrel_lo(1b)(t2) # _dl_runtime_resolve
770770
addi t1, t1, -(hdr size + 16) # shifted .got.plt offset
@@ -791,11 +791,11 @@ The code sequences of the PLT entry for the default PLT style:
791791
nop
792792
----
793793

794-
The code sequences of the PLT entry for the the simple landing pad PLT style:
794+
The code sequences of the PLT entry for the unlabeled landing pad PLT style:
795795
[,asm]
796796
----
797-
1: lpad 0
798-
auipc t3, %pcrel_hi([email protected])
797+
lpad 0
798+
1: auipc t3, %pcrel_hi([email protected])
799799
l[w|d] t3, %pcrel_lo(1b)(t3)
800800
jalr t1, t3
801801
----
@@ -1489,9 +1489,10 @@ meaning of each column is given below:
14891489

14901490
Name:: The name of the program property type, omitting the prefix of `GNU_PROPERTY_RISCV_`.
14911491

1492-
Value:: The type value for the program property type.
1492+
Value:: The `pr_type` value for the program property type.
14931493

1494-
Size:: The data type size hold within this program property type.
1494+
Size:: The size (`pr_datasz`) of data type held within this program property
1495+
type.
14951496

14961497
Description:: Additional information about the program property type.
14971498

@@ -1508,7 +1509,6 @@ Description:: Additional information about the program property type.
15081509

15091510
==== GNU_PROPERTY_RISCV_FEATURE_1_AND
15101511

1511-
15121512
`GNU_PROPERTY_RISCV_FEATURE_1_AND` describes a set of features, where each bit
15131513
represents a different feature. The linker should perform a bitwise AND
15141514
operation when merging different objects.
@@ -1520,20 +1520,20 @@ operation when merging different objects.
15201520
| 1 | GNU_PROPERTY_RISCV_FEATURE_1_CFI_SS
15211521
|===
15221522

1523-
`GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_UNLABELED` This bit indicate that all
1523+
`GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_UNLABELED`: This bit indicates that all
15241524
executable sections are built to be compatible with the landing pad mechanism
1525-
provided by the `Zicfilp` extension. An executable or shared library with this
1526-
bit set is required to generate PLTs with the landing pad (`lpad`) instruction,
1527-
and all label are set to `0`.
1525+
provided by the Zicfilp extension in the unlabeled scheme: Executables and
1526+
shared libraries with this bit set are required to generate PLTs in the
1527+
unlabeled landing pad PLT style, and all of the labels of lpad instructions are
1528+
set to 0, i.e. unlabeled.
15281529

1529-
`GNU_PROPERTY_RISCV_FEATURE_1_CFI_SS`: This bit indicate that all executable
1530+
`GNU_PROPERTY_RISCV_FEATURE_1_CFI_SS`: This bit indicates that all executable
15301531
sections are built to be compatible with the shadow stack mechanism provided by
15311532
the `Zicfiss` extension. Loading an executable or shared library with this bit
15321533
set requires the execution environment to provide either the `Zicfiss` extension
15331534
or the `Zimop` extension. When the executable or shared library is compiled with
1534-
compressed instructions then loading an executable with this bit set requires
1535-
the execution environment to provide the `Zicfiss` extension or to provide both
1536-
the `Zcmop` and `Zimop` extensions.
1535+
compressed instructions then loading it with this bit set requires the execution
1536+
environment to provide the `Zicfiss` extension or the `Zimop` extensions.
15371537

15381538
=== Mapping Symbol
15391539

0 commit comments

Comments
 (0)