@@ -724,9 +724,9 @@ The PLT (Procedure Linkage Table) exists to allow function calls between
724724dynamically linked shared objects. Each dynamic object has its own
725725GOT (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
14901490Name:: 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
14961497Description:: 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
15131513represents a different feature. The linker should perform a bitwise AND
15141514operation 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
15241524executable 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
15301531sections are built to be compatible with the shadow stack mechanism provided by
15311532the `Zicfiss` extension. Loading an executable or shared library with this bit
15321533set requires the execution environment to provide either the `Zicfiss` extension
15331534or 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