Skip to content

Commit 46fc7e4

Browse files
committed
Allow optional uniquifier for mapping symbol
1 parent 6cda892 commit 46fc7e4

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

riscv-elf.adoc

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1173,9 +1173,12 @@ A number of symbols, named mapping symbols, describe the boundaries.
11731173
[%autowidth]
11741174
|===
11751175
| Symbol Name | Meaning
1176-
| $d | Start of a sequence of data.
1177-
| $x | Start of a sequence of instructions.
1178-
| $x<ISA> | Start of a sequence of instructions with <ISA> extension.
1176+
| $d .2+| Start of a sequence of data.
1177+
| $d.<any>
1178+
| $x .2+| Start of a sequence of instructions.
1179+
| $x.<any>
1180+
| $x<ISA> .2+| Start of a sequence of instructions with <ISA> extension.
1181+
| $x<ISA>.<any>
11791182
|===
11801183

11811184
The mapping symbol should set the type to `STT_NOTYPE`, binding to `STB_LOCAL`,
@@ -1194,6 +1197,9 @@ from ELF attribute.
11941197
Format and rule of the optional ISA string are same as `Tag_RISCV_arch`, must
11951198
having explicit version, more detailed rule please refer to <<Attributes>>.
11961199

1200+
The mapping symbol can be followed by an optional uniquifier, which is prefixed
1201+
with a dot (`.`).
1202+
11971203
NOTE: The use case for mapping symbol for instruction(`$x`) with ISA information
11981204
is used with ifunc, e.g. libraries are built with `rv64gc`, but few functions
11991205
like memcpy provides two versions, one built with `rv64gc`, and one built with

0 commit comments

Comments
 (0)