@@ -727,9 +727,9 @@ The PLT (Procedure Linkage Table) exists to allow function calls between
727727dynamically linked shared objects. Each dynamic object has its own
728728GOT (Global Offset Table) and PLT (Procedure Linkage Table).
729729
730- RISC-V has defined several PLT styles, which used for different situation,
731- the default PLT sytle should be used if the program is not met the condition for
732- using all other PLT sytle .
730+ RISC-V defines several PLT styles, which are used in different situations.
731+ The default PLT style should be used if the program does not meet the conditions
732+ for using all other PLT sytles .
733733
734734[[plt-style]]
735735.PLT styles
@@ -763,11 +763,11 @@ The first entry in the PLT occupies two 16 byte entries for the default PLT styl
763763 jr t3
764764----
765765
766- And occupies three 16 byte entries for the simple landing pad PLT style:
766+ And occupies three 16 byte entries for the unlabeled landing pad PLT style:
767767[,asm]
768768----
769- 1: lpad 0
770- auipc t2, %pcrel_hi(.got.plt)
769+ lpad 0
770+ 1: auipc t2, %pcrel_hi(.got.plt)
771771 sub t1, t1, t3 # shifted .got.plt offset + hdr size + 16
772772 l[w|d] t3, %pcrel_lo(1b)(t2) # _dl_runtime_resolve
773773 addi t1, t1, -(hdr size + 16) # shifted .got.plt offset
@@ -794,11 +794,11 @@ The code sequences of the PLT entry for the default PLT style:
794794 nop
795795----
796796
797- The code sequences of the PLT entry for the the simple landing pad PLT style:
797+ The code sequences of the PLT entry for the unlabeled landing pad PLT style:
798798[,asm]
799799----
800- 1: lpad 0
801- auipc t3, %pcrel_hi([email protected] )800+ lpad 0
801+ 1: auipc t3, %pcrel_hi([email protected] )802802 l[w|d] t3, %pcrel_lo(1b)(t3)
803803 jalr t1, t3
804804----
@@ -1492,9 +1492,10 @@ meaning of each column is given below:
14921492
14931493Name:: The name of the program property type, omitting the prefix of `GNU_PROPERTY_RISCV_`.
14941494
1495- Value:: The type value for the program property type.
1495+ Value:: The `pr_type` value for the program property type.
14961496
1497- Size:: The data type size hold within this program property type.
1497+ Size:: The size (`pr_datasz`) of data type held within this program property
1498+ type.
14981499
14991500Description:: Additional information about the program property type.
15001501
@@ -1511,7 +1512,6 @@ Description:: Additional information about the program property type.
15111512
15121513==== GNU_PROPERTY_RISCV_FEATURE_1_AND
15131514
1514-
15151515`GNU_PROPERTY_RISCV_FEATURE_1_AND` describes a set of features, where each bit
15161516represents a different feature. The linker should perform a bitwise AND
15171517operation when merging different objects.
@@ -1523,20 +1523,20 @@ operation when merging different objects.
15231523| 1 | GNU_PROPERTY_RISCV_FEATURE_1_CFI_SS
15241524|===
15251525
1526- `GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_UNLABELED` This bit indicate that all
1526+ `GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_UNLABELED`: This bit indicates that all
15271527executable sections are built to be compatible with the landing pad mechanism
1528- provided by the `Zicfilp` extension. An executable or shared library with this
1529- bit set is required to generate PLTs with the landing pad (`lpad`) instruction,
1530- and all label are set to `0`.
1528+ provided by the Zicfilp extension in the unlabeled scheme: Executables and
1529+ shared libraries with this bit set are required to generate PLTs in the
1530+ unlabeled landing pad PLT style, and all of the labels of lpad instructions are
1531+ set to 0, i.e. unlabeled.
15311532
1532- `GNU_PROPERTY_RISCV_FEATURE_1_CFI_SS`: This bit indicate that all executable
1533+ `GNU_PROPERTY_RISCV_FEATURE_1_CFI_SS`: This bit indicates that all executable
15331534sections are built to be compatible with the shadow stack mechanism provided by
15341535the `Zicfiss` extension. Loading an executable or shared library with this bit
15351536set requires the execution environment to provide either the `Zicfiss` extension
15361537or the `Zimop` extension. When the executable or shared library is compiled with
1537- compressed instructions then loading an executable with this bit set requires
1538- the execution environment to provide the `Zicfiss` extension or to provide both
1539- the `Zcmop` and `Zimop` extensions.
1538+ compressed instructions then loading it with this bit set requires the execution
1539+ environment to provide the `Zicfiss` extension or the `Zimop` extensions.
15401540
15411541=== Mapping Symbol
15421542
0 commit comments