@@ -1395,6 +1395,43 @@ handle program property types even if they are not recognized.
13951395| GNU_PROPERTY_RISCV_UINT32_OR_AND_HI | 0xc0017fff
13961396|===
13971397
1398+ [[rv-prog-prop-type]]
1399+ .RISC-V-specific program property types
1400+ [cols="3,2,3"]
1401+ [width=80%]
1402+ |===
1403+ | Name | Value | Size | Meaning
1404+
1405+ | GNU_PROPERTY_RISCV_FEATURE_1_AND | 0xc0000000 | 4-bytes | RISC-V processor-specific features used in program.
1406+ |===
1407+
1408+ ==== GNU_PROPERTY_RISCV_FEATURE_1_AND
1409+
1410+ `GNU_PROPERTY_RISCV_FEATURE_1_AND` describe a set of features, each bit describe
1411+ a different features.
1412+
1413+ [%autowidth]
1414+ |===
1415+ | Bit | Bit Name
1416+ | 0 | GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_SIMPLE
1417+ | 1 | GNU_PROPERTY_RISCV_FEATURE_1_CFI_SS
1418+ |===
1419+
1420+ `GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_SIMPLE` This bit indicate that all executable
1421+ sections are built to be compatible with the landing pad mechanism provided by
1422+ the `Zicfilp` extension. An executable or shared library with this bit set is
1423+ required to generate PLTs with the landing pad (`lpad`) instruction, and all
1424+ label are set to `1`.
1425+
1426+ `GNU_PROPERTY_RISCV_FEATURE_1_CFI_SS`: This bit indicate that all executable
1427+ sections are built to be compatible with the shadow stack mechanism provided by
1428+ the `Zicfiss` extension. Loading an executable or shared library with this bit
1429+ set requires the execution environment to provide either the `Zicfiss` extension
1430+ or the `Zimop` extension. When the executable or shared library is compiled with
1431+ compressed instructions then loading an executable with this bit set requires
1432+ the execution environment to provide the `Zicfiss` extension or to provide both
1433+ the `Zcmop` and `Zimop` extensions.
1434+
13981435=== Mapping Symbol
13991436
14001437The section can have a mixture of code and data or code with different ISAs.
0 commit comments