mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-22 10:16:43 +00:00
Fix bug in symbol generation for resource COFF
Symbols in the resource COFF file should be for .rsrc$02, where the actual resource data is, not .rsrc$01, which contains the directory tree. Differential Revision: https://reviews.llvm.org/D34832 Patch by Joe Ranieri. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306853 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f330d3e627
commit
f16503af2b
@ -572,7 +572,7 @@ void WindowsResourceCOFFWriter::writeSymbolTable() {
|
||||
Symbol = reinterpret_cast<coff_symbol16 *>(BufferStart + CurrentOffset);
|
||||
strncpy(Symbol->Name.ShortName, RelocationName, (size_t)COFF::NameSize);
|
||||
Symbol->Value = DataOffsets[i];
|
||||
Symbol->SectionNumber = 1;
|
||||
Symbol->SectionNumber = 2;
|
||||
Symbol->Type = COFF::IMAGE_SYM_DTYPE_NULL;
|
||||
Symbol->StorageClass = COFF::IMAGE_SYM_CLASS_STATIC;
|
||||
Symbol->NumberOfAuxSymbols = 0;
|
||||
|
33
test/tools/llvm-cvtres/symbols.test
Normal file
33
test/tools/llvm-cvtres/symbols.test
Normal file
@ -0,0 +1,33 @@
|
||||
// Check COFF emission of cvtres
|
||||
// The input was generated with the following command, using the original Windows
|
||||
// rc.exe:
|
||||
// > rc /fo test_resource.res /nologo test_resource.rc
|
||||
// The object file we are comparing against was generated with this command using
|
||||
// the original Windows cvtres.exe.
|
||||
// > cvtres /machine:X86 /readonly /nologo /out:test_resource.obj.coff \
|
||||
// test_resource.res
|
||||
|
||||
RUN: llvm-cvtres /verbose /out:%t %p/Inputs/test_resource.res
|
||||
RUN: llvm-readobj -symbols %t | FileCheck %s
|
||||
|
||||
CHECK: Name: $R000000
|
||||
CHECK-NEXT: Value: 0
|
||||
CHECK-NEXT: Section: .rsrc$02
|
||||
CHECK: Name: $R000018
|
||||
CHECK-NEXT: Value: 24
|
||||
CHECK-NEXT: Section: .rsrc$02
|
||||
CHECK: Name: $R000340
|
||||
CHECK-NEXT: Value: 832
|
||||
CHECK-NEXT: Section: .rsrc$02
|
||||
CHECK: Name: $R000668
|
||||
CHECK-NEXT: Value: 1640
|
||||
CHECK-NEXT: Section: .rsrc$02
|
||||
CHECK: Name: $R000698
|
||||
CHECK-NEXT: Value: 1688
|
||||
CHECK-NEXT: Section: .rsrc$02
|
||||
CHECK: Name: $R000720
|
||||
CHECK-NEXT: Value: 1824
|
||||
CHECK-NEXT: Section: .rsrc$02
|
||||
CHECK: Name: $R000750
|
||||
CHECK-NEXT: Value: 1872
|
||||
CHECK-NEXT: Section: .rsrc$02
|
Loading…
x
Reference in New Issue
Block a user