diff options
| author | Michael J. Spencer <bigcheesegs@gmail.com> | 2010-09-27 08:58:26 +0000 | 
|---|---|---|
| committer | Michael J. Spencer <bigcheesegs@gmail.com> | 2010-09-27 08:58:26 +0000 | 
| commit | d628377a2df58d317522f75167225f2d90248e89 (patch) | |
| tree | 1533a316e38c42259a6f445faee31d510e9f6479 /llvm/test/MC/COFF/symbol-fragment-offset.ll | |
| parent | b6a7f97c88ab42bd4cc2e2ac915382b643028091 (diff) | |
| download | bcm5719-llvm-d628377a2df58d317522f75167225f2d90248e89.tar.gz bcm5719-llvm-d628377a2df58d317522f75167225f2d90248e89.zip  | |
MC-COFF: Drop empty sections, and label symbols. Convert relocations
targeted at symbols into relocations relative to the containing section.
Patch by Nathan Jeffords!
llvm-svn: 114823
Diffstat (limited to 'llvm/test/MC/COFF/symbol-fragment-offset.ll')
| -rw-r--r-- | llvm/test/MC/COFF/symbol-fragment-offset.ll | 56 | 
1 files changed, 20 insertions, 36 deletions
diff --git a/llvm/test/MC/COFF/symbol-fragment-offset.ll b/llvm/test/MC/COFF/symbol-fragment-offset.ll index 4281903f254..f1f31a94cf2 100644 --- a/llvm/test/MC/COFF/symbol-fragment-offset.ll +++ b/llvm/test/MC/COFF/symbol-fragment-offset.ll @@ -23,8 +23,8 @@ declare i32 @puts(i8* nocapture) nounwind  ; CHECK:   MachineType              = IMAGE_FILE_MACHINE_I386 (0x14C)
  ; CHECK:   NumberOfSections         = 2
  ; CHECK:   TimeDateStamp            = {{[0-9]+}}
 -; CHECK:   PointerToSymbolTable     = 0xBB
 -; CHECK:   NumberOfSymbols          = 9
 +; CHECK:   PointerToSymbolTable     = 0x{{[0-9A-F]+}}
 +; CHECK:   NumberOfSymbols          = 8
  ; CHECK:   SizeOfOptionalHeader     = 0
  ; CHECK:   Characteristics          = 0x0
  ; CHECK:   Sections                 = [
 @@ -32,9 +32,9 @@ declare i32 @puts(i8* nocapture) nounwind  ; CHECK:       Name                     = .text
  ; CHECK:       VirtualSize              = 0
  ; CHECK:       VirtualAddress           = 0
 -; CHECK:       SizeOfRawData            = 33
 -; CHECK:       PointerToRawData         = 0x64
 -; CHECK:       PointerToRelocations     = 0x85
 +; CHECK:       SizeOfRawData            = {{[0-9]+}}
 +; CHECK:       PointerToRawData         = 0x{{[0-9A-F]+}}
 +; CHECK:       PointerToRelocations     = 0x{{[0-9A-F]+}}
  ; CHECK:       PointerToLineNumbers     = 0x0
  ; CHECK:       NumberOfRelocations      = 4
  ; CHECK:       NumberOfLineNumbers      = 0
 @@ -44,32 +44,28 @@ declare i32 @puts(i8* nocapture) nounwind  ; CHECK:         IMAGE_SCN_MEM_EXECUTE
  ; CHECK:         IMAGE_SCN_MEM_READ
  ; CHECK:       SectionData              =
 -; CHECK:         83 EC 04 C7 04 24 00 00 - 00 00 E8 00 00 00 00 C7 |.....$..........|
 -; CHECK:         04 24 00 00 00 00 E8 00 - 00 00 00 31 C0 83 C4 04 |.$.........1....|
 -; CHECK:         C3                                                |.|
 -
  ; CHECK:       Relocations              = [
  ; CHECK:         0 = {
 -; CHECK:           VirtualAddress           = 0x6
 -; CHECK:           SymbolTableIndex         = 5
 +; CHECK:           VirtualAddress           = 0x{{[0-9A-F]+}}
 +; CHECK:           SymbolTableIndex         = 2
  ; CHECK:           Type                     = IMAGE_REL_I386_DIR32 (6)
 -; CHECK:           SymbolName               = _main
 +; CHECK:           SymbolName               =
  ; CHECK:         }
  ; CHECK:         1 = {
 -; CHECK:           VirtualAddress           = 0xB
 -; CHECK:           SymbolTableIndex         = 6
 +; CHECK:           VirtualAddress           = 0x{{[0-9A-F]+}}
 +; CHECK:           SymbolTableIndex         = 5
  ; CHECK:           Type                     = IMAGE_REL_I386_REL32 (20)
 -; CHECK:           SymbolName               = L_.str
 +; CHECK:           SymbolName               = _main
  ; CHECK:         }
  ; CHECK:         2 = {
 -; CHECK:           VirtualAddress           = 0x12
 -; CHECK:           SymbolTableIndex         = 7
 +; CHECK:           VirtualAddress           = 0x{{[0-9A-F]+}}
 +; CHECK:           SymbolTableIndex         = 6
  ; CHECK:           Type                     = IMAGE_REL_I386_DIR32 (6)
  ; CHECK:           SymbolName               = _printf
  ; CHECK:         }
  ; CHECK:         3 = {
 -; CHECK:           VirtualAddress           = 0x17
 -; CHECK:           SymbolTableIndex         = 8
 +; CHECK:           VirtualAddress           = 0x{{[0-9A-F]+}}
 +; CHECK:           SymbolTableIndex         = 7
  ; CHECK:           Type                     = IMAGE_REL_I386_REL32 (20)
  ; CHECK:           SymbolName               = _str
  ; CHECK:         }
 @@ -79,8 +75,8 @@ declare i32 @puts(i8* nocapture) nounwind  ; CHECK:       Name                     = .data
  ; CHECK:       VirtualSize              = 0
  ; CHECK:       VirtualAddress           = 0
 -; CHECK:       SizeOfRawData            = 14
 -; CHECK:       PointerToRawData         = 0xAD
 +; CHECK:       SizeOfRawData            = {{[0-9]+}}
 +; CHECK:       PointerToRawData         = 0x{{[0-9A-F]+}}
  ; CHECK:       PointerToRelocations     = 0x0
  ; CHECK:       PointerToLineNumbers     = 0x0
  ; CHECK:       NumberOfRelocations      = 0
 @@ -133,19 +129,7 @@ declare i32 @puts(i8* nocapture) nounwind  ; CHECK:       NumberOfAuxSymbols       = 0
  ; CHECK:       AuxillaryData            =
 -; CHECK:     }
  ; CHECK:     3 = {
 -; CHECK:       Name                     = L_.str
 -; CHECK:       Value                    = 0
 -; CHECK:       SectionNumber            = 2
 -; CHECK:       SimpleType               = IMAGE_SYM_TYPE_NULL (0)
 -; CHECK:       ComplexType              = IMAGE_SYM_DTYPE_NULL (0)
 -; CHECK:       StorageClass             = IMAGE_SYM_CLASS_STATIC (3)
 -; CHECK:       NumberOfAuxSymbols       = 0
 -; CHECK:       AuxillaryData            =
 -
 -; CHECK:     }
 -; CHECK:     4 = {
  ; CHECK:       Name                     = _printf
  ; CHECK:       Value                    = 0
  ; CHECK:       SectionNumber            = 0
 @@ -156,18 +140,18 @@ declare i32 @puts(i8* nocapture) nounwind  ; CHECK:       AuxillaryData            =
  ; CHECK:     }
 -; CHECK:     5 = {
 +; CHECK:     4 = {
  ; CHECK:       Name                     = _str
  ; CHECK:       Value                    = 7
  ; CHECK:       SectionNumber            = 2
  ; CHECK:       SimpleType               = IMAGE_SYM_TYPE_NULL (0)
  ; CHECK:       ComplexType              = IMAGE_SYM_DTYPE_NULL (0)
 -; CHECK:       StorageClass             = IMAGE_SYM_CLASS_STATIC (3)
 +; CHECK:       StorageClass             = IMAGE_SYM_CLASS_LABEL (6)
  ; CHECK:       NumberOfAuxSymbols       = 0
  ; CHECK:       AuxillaryData            =
  ; CHECK:     }
 -; CHECK:     6 = {
 +; CHECK:     5 = {
  ; CHECK:       Name                     = _puts
  ; CHECK:       Value                    = 0
  ; CHECK:       SectionNumber            = 0
  | 

