1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00

[WebAssembly] Remove "name" section of object wasm object files

LLD is unaffected, no changes needed there. LLD continues to
write out a name section, using the symbol names.

Fixes: https://github.com/WebAssembly/tool-conventions/issues/37

Patch by Nicholas Wilson!

Differential Revision: https://reviews.llvm.org/D42425

llvm-svn: 323234
This commit is contained in:
Sam Clegg 2018-01-23 18:30:04 +00:00
parent cf5d6d6d71
commit c8e6514e3e
7 changed files with 0 additions and 91 deletions

View File

@ -291,8 +291,6 @@ private:
void writeCodeSection(const MCAssembler &Asm, const MCAsmLayout &Layout,
ArrayRef<WasmFunction> Functions);
void writeDataSection(ArrayRef<WasmDataSegment> Segments);
void writeNameSection(ArrayRef<WasmFunction> Functions,
ArrayRef<WasmImport> Imports);
void writeCodeRelocSection();
void writeDataRelocSection();
void writeLinkingMetaDataSection(
@ -851,36 +849,6 @@ void WasmObjectWriter::writeDataSection(ArrayRef<WasmDataSegment> Segments) {
endSection(Section);
}
void WasmObjectWriter::writeNameSection(ArrayRef<WasmFunction> Functions,
ArrayRef<WasmImport> Imports) {
uint32_t TotalFunctions = NumFunctionImports + Functions.size();
if (TotalFunctions == 0)
return;
SectionBookkeeping Section;
startSection(Section, wasm::WASM_SEC_CUSTOM, "name");
SectionBookkeeping SubSection;
startSection(SubSection, wasm::WASM_NAMES_FUNCTION);
encodeULEB128(TotalFunctions, getStream());
uint32_t Index = 0;
for (const WasmImport &Import : Imports) {
if (Import.Kind == wasm::WASM_EXTERNAL_FUNCTION) {
encodeULEB128(Index, getStream());
writeString(Import.FieldName);
++Index;
}
}
for (const WasmFunction &Func : Functions) {
encodeULEB128(Index, getStream());
writeString(Func.Sym->getName());
++Index;
}
endSection(SubSection);
endSection(Section);
}
void WasmObjectWriter::writeCodeRelocSection() {
// See: https://github.com/WebAssembly/tool-conventions/blob/master/Linking.md
// for descriptions of the reloc sections.
@ -1405,7 +1373,6 @@ void WasmObjectWriter::writeObject(MCAssembler &Asm,
writeElemSection(TableElems);
writeCodeSection(Asm, Layout, Functions);
writeDataSection(DataSegments);
writeNameSection(Functions, Imports);
writeCodeRelocSection();
writeDataRelocSection();
writeLinkingMetaDataSection(DataSegments, DataSize, SymbolFlags,

View File

@ -94,17 +94,6 @@ define linkonce_odr i32 @sharedFn() #1 comdat($sharedComdat) {
; CHECK-NEXT: Value: 0
; CHECK-NEXT: Content: '616263'
; CHECK-NEXT: - Type: CUSTOM
; CHECK-NEXT: Name: name
; CHECK-NEXT: FunctionNames:
; CHECK-NEXT: - Index: 0
; CHECK-NEXT: Name: funcImport
; CHECK-NEXT: - Index: 1
; CHECK-NEXT: Name: callImport
; CHECK-NEXT: - Index: 2
; CHECK-NEXT: Name: basicInlineFn
; CHECK-NEXT: - Index: 3
; CHECK-NEXT: Name: sharedFn
; CHECK-NEXT: - Type: CUSTOM
; CHECK-NEXT: Name: linking
; CHECK-NEXT: DataSize: 3
; CHECK-NEXT: SymbolInfo:

View File

@ -137,27 +137,6 @@ declare void @func3()
; CHECK-NEXT: Value: 0
; CHECK-NEXT: Content: '01040000'
; CHECK-NEXT: - Type: CUSTOM
; CHECK-NEXT: Name: name
; CHECK-NEXT: FunctionNames:
; CHECK-NEXT: - Index: 0
; CHECK-NEXT: Name: func3
; CHECK-NEXT: - Index: 1
; CHECK-NEXT: Name: __cxa_atexit
; CHECK-NEXT: - Index: 2
; CHECK-NEXT: Name: func2
; CHECK-NEXT: - Index: 3
; CHECK-NEXT: Name: func1
; CHECK-NEXT: - Index: 4
; CHECK-NEXT: Name: func0
; CHECK-NEXT: - Index: 5
; CHECK-NEXT: Name: .Lcall_dtors.42
; CHECK-NEXT: - Index: 6
; CHECK-NEXT: Name: .Lregister_call_dtors.42
; CHECK-NEXT: - Index: 7
; CHECK-NEXT: Name: .Lcall_dtors
; CHECK-NEXT: - Index: 8
; CHECK-NEXT: Name: .Lregister_call_dtors
; CHECK-NEXT: - Type: CUSTOM
; CHECK-NEXT: Name: linking
; CHECK-NEXT: DataSize: 4
; CHECK-NEXT: SymbolInfo:

View File

@ -41,10 +41,6 @@ entry:
; CHECK: }
; CHECK: Section {
; CHECK: Type: CUSTOM (0x0)
; CHECK: Name: name
; CHECK: }
; CHECK: Section {
; CHECK: Type: CUSTOM (0x0)
; CHECK: Name: reloc.CODE
; CHECK: }
; CHECK:]

View File

@ -12,8 +12,6 @@ entry:
ret void
}
; CHECK: - Type: CUSTOM
; CHECK: - Type: CUSTOM
; CHECK-NEXT: Name: linking
; CHECK-NEXT: DataSize: 0

View File

@ -191,21 +191,6 @@ entry:
; CHECK-NEXT: Content: '01000000'
; CHECK: - Type: CUSTOM
; CHECK-NEXT: Name: name
; CHECK-NEXT: FunctionNames:
; CHECK-NEXT: - Index: 0
; CHECK-NEXT: Name: foo_alias
; CHECK-NEXT: - Index: 1
; CHECK-NEXT: Name: foo
; CHECK-NEXT: - Index: 2
; CHECK-NEXT: Name: call_direct
; CHECK-NEXT: - Index: 3
; CHECK-NEXT: Name: call_alias
; CHECK-NEXT: - Index: 4
; CHECK-NEXT: Name: call_direct_ptr
; CHECK-NEXT: - Index: 5
; CHECK-NEXT: Name: call_alias_ptr
; CHECK-NEXT: - Type: CUSTOM
; CHECK-NEXT: Name: linking
; CHECK-NEXT: DataSize: 20
; CHECK-NEXT: SymbolInfo:

View File

@ -24,11 +24,6 @@ entry:
; CHECK: - Type: CUSTOM
; CHECK-NEXT: Name: name
; CHECK-NEXT: FunctionNames:
; CHECK-NEXT: - Index: 0
; CHECK-NEXT: Name: weak_function
; CHECK-NEXT: - Type: CUSTOM
; CHECK-NEXT: Name: linking
; CHECK-NEXT: DataSize: 0
; CHECK-NEXT: SymbolInfo: