Skip to content

Commit 5433094

Browse files
Add missing relocation types to the --compress-relocs path
1 parent 2e30df7 commit 5433094

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

lld/wasm/InputChunks.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,8 +225,14 @@ static unsigned writeCompressedReloc(uint8_t *buf, const WasmRelocation &rel,
225225
return encodeULEB128(value, buf);
226226
case R_WASM_TABLE_INDEX_SLEB:
227227
case R_WASM_TABLE_INDEX_SLEB64:
228+
case R_WASM_TABLE_INDEX_REL_SLEB64:
228229
case R_WASM_MEMORY_ADDR_SLEB:
229230
case R_WASM_MEMORY_ADDR_SLEB64:
231+
case R_WASM_MEMORY_ADDR_REL_SLEB:
232+
case R_WASM_MEMORY_ADDR_REL_SLEB64:
233+
case R_WASM_MEMORY_ADDR_TLS_SLEB:
234+
case R_WASM_MEMORY_ADDR_TLS_SLEB64:
235+
case R_WASM_TABLE_INDEX_REL_SLEB:
230236
return encodeSLEB128(static_cast<int64_t>(value), buf);
231237
default:
232238
llvm_unreachable("unexpected relocation type");
@@ -242,11 +248,17 @@ static unsigned getRelocWidthPadded(const WasmRelocation &rel) {
242248
case R_WASM_MEMORY_ADDR_LEB:
243249
case R_WASM_TABLE_NUMBER_LEB:
244250
case R_WASM_TABLE_INDEX_SLEB:
251+
case R_WASM_TABLE_INDEX_REL_SLEB:
245252
case R_WASM_MEMORY_ADDR_SLEB:
253+
case R_WASM_MEMORY_ADDR_REL_SLEB:
254+
case R_WASM_MEMORY_ADDR_TLS_SLEB:
246255
return 5;
247256
case R_WASM_TABLE_INDEX_SLEB64:
257+
case R_WASM_TABLE_INDEX_REL_SLEB64:
248258
case R_WASM_MEMORY_ADDR_LEB64:
249259
case R_WASM_MEMORY_ADDR_SLEB64:
260+
case R_WASM_MEMORY_ADDR_REL_SLEB64:
261+
case R_WASM_MEMORY_ADDR_TLS_SLEB64:
250262
return 10;
251263
default:
252264
llvm_unreachable("unexpected relocation type");

0 commit comments

Comments
 (0)