Skip to content

Commit 4414493

Browse files
committed
Do not using backward numeric labels reference
Fix #270.
1 parent 966a1ac commit 4414493

File tree

1 file changed

+21
-21
lines changed

1 file changed

+21
-21
lines changed

riscv-elf.adoc

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -84,17 +84,17 @@ an address in the medany code model.
8484

8585
[,asm]
8686
----
87-
# Load value from a symbol
88-
0: auipc a0, %pcrel_hi(symbol)
89-
lw a0, %pcrel_lo(0b)(a0)
87+
# Load value from a symbol
88+
.Ltmp0: auipc a0, %pcrel_hi(symbol)
89+
lw a0, %pcrel_lo(.Ltmp0)(a0)
9090
91-
# Store value to a symbol
92-
1: auipc a0, %pcrel_hi(symbol)
93-
sw a1, %pcrel_lo(1b)(a0)
91+
# Store value to a symbol
92+
.Ltmp1: auipc a0, %pcrel_hi(symbol)
93+
sw a1, %pcrel_lo(.Ltmp1)(a0)
9494
95-
# Calculate address
96-
2: auipc a0, %pcrel_hi(symbol)
97-
addi a0, a0, %pcrel_lo(2b)
95+
# Calculate address
96+
.Ltmp2: auipc a0, %pcrel_hi(symbol)
97+
addi a0, a0, %pcrel_lo(.Ltmp2)
9898
----
9999

100100
NOTE: Although the generated code is technically position independent, it's not
@@ -108,21 +108,21 @@ table (GOT) for non-local symbol addresses.
108108

109109
[,asm]
110110
----
111-
# Load value from a local symbol
112-
0: auipc a0, %pcrel_hi(symbol)
113-
lw a0, %pcrel_lo(0b)(a0)
111+
# Load value from a local symbol
112+
.Ltmp0: auipc a0, %pcrel_hi(symbol)
113+
lw a0, %pcrel_lo(.Ltmp0)(a0)
114114
115-
# Store value to a local symbol
116-
1: auipc a0, %pcrel_hi(symbol)
117-
sw a1, %pcrel_lo(1b)(a0)
115+
# Store value to a local symbol
116+
.Ltmp1: auipc a0, %pcrel_hi(symbol)
117+
sw a1, %pcrel_lo(.Ltmp1)(a0)
118118
119-
# Calculate address of a local symbol
120-
2: auipc a0, %pcrel_hi(symbol)
121-
addi a0, a0, %pcrel_lo(2b)
119+
# Calculate address of a local symbol
120+
.Ltmp2: auipc a0, %pcrel_hi(symbol)
121+
addi a0, a0, %pcrel_lo(.Ltmp2)
122122
123-
# Calculate address of non-local symbol
124-
3: auipc a0, %got_pcrel_hi(symbol)
125-
l[w|d] a0, a0, %pcrel_lo(3b)
123+
# Calculate address of non-local symbol
124+
.Ltmp3: auipc a0, %got_pcrel_hi(symbol)
125+
l[w|d] a0, a0, %pcrel_lo(.Ltmp3)
126126
----
127127

128128
== Dynamic Linking

0 commit comments

Comments
 (0)