[lld] r178693 - Update the lld testsuite for the llvm-readobj format change.

Rafael EspĂ­ndola rafael.espindola at gmail.com
Wed Apr 3 14:27:38 PDT 2013


Patch by Nico Rieck. Sorry I forgot to add that to the commit message.

On 3 April 2013 16:53, Rafael Espindola <rafael.espindola at gmail.com> wrote:
> Author: rafael
> Date: Wed Apr  3 15:53:45 2013
> New Revision: 178693
>
> URL: http://llvm.org/viewvc/llvm-project?rev=178693&view=rev
> Log:
> Update the lld testsuite for the llvm-readobj format change.
>
> Modified:
>     lld/trunk/test/elf/Hexagon/dynlib.test
>     lld/trunk/test/elf/common.test
>     lld/trunk/test/elf/dynamic.test
>     lld/trunk/test/elf/sections.objtxt
>
> Modified: lld/trunk/test/elf/Hexagon/dynlib.test
> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Hexagon/dynlib.test?rev=178693&r1=178692&r2=178693&view=diff
> ==============================================================================
> --- lld/trunk/test/elf/Hexagon/dynlib.test (original)
> +++ lld/trunk/test/elf/Hexagon/dynlib.test Wed Apr  3 15:53:45 2013
> @@ -1,11 +1,34 @@
>  RUN: lld -core -target hexagon %p/Inputs/use-shared.hexagon \
>  RUN: -output=%t1 -output-type=shared
> -RUN: llvm-readobj %t1 > %t2
> +RUN: llvm-readobj -dyn-symbols %t1 > %t2
>  RUN: FileCheck -check-prefix=DYNSYMS %s < %t2
>
> -DYNSYMS: Dynamic Symbols:
> -DYNSYMS: Name Type Section Address Size FileOffset Flags
> -DYNSYMS: fn2 FUNC .text {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} global
> -DYNSYMS: fn1 FUNC .text {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} global
> -DYNSYMS: fn3 FUNC .text {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} global
> -DYNSYMS: Total: 3
> +DYNSYMS:      DynamicSymbols [
> +DYNSYMS:        Symbol {
> +DYNSYMS:          Name: fn2
> +DYNSYMS-NEXT:     Value:
> +DYNSYMS-NEXT:     Size:
> +DYNSYMS-NEXT:     Binding: Global
> +DYNSYMS-NEXT:     Type: Function
> +DYNSYMS-NEXT:     Other:
> +DYNSYMS-NEXT:     Section: .text
> +DYNSYMS:       }
> +DYNSYMS:        Symbol {
> +DYNSYMS:          Name: fn1
> +DYNSYMS-NEXT:     Value:
> +DYNSYMS-NEXT:     Size:
> +DYNSYMS-NEXT:     Binding: Global
> +DYNSYMS-NEXT:     Type: Function
> +DYNSYMS-NEXT:     Other:
> +DYNSYMS-NEXT:     Section: .text
> +DYNSYMS:        }
> +DYNSYMS:        Symbol {
> +DYNSYMS:          Name: fn3
> +DYNSYMS-NEXT:     Value:
> +DYNSYMS-NEXT:     Size:
> +DYNSYMS-NEXT:     Binding: Global
> +DYNSYMS-NEXT:     Type: Function
> +DYNSYMS-NEXT:     Other:
> +DYNSYMS-NEXT:     Section: .text
> +DYNSYMS-NEXT:   }
> +DYNSYMS-NEXT: ]
>
> Modified: lld/trunk/test/elf/common.test
> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/common.test?rev=178693&r1=178692&r2=178693&view=diff
> ==============================================================================
> --- lld/trunk/test/elf/common.test (original)
> +++ lld/trunk/test/elf/common.test Wed Apr  3 15:53:45 2013
> @@ -1,5 +1,10 @@
>  RUN: lld -core -target x86_64-linux -output=%t %p/Inputs/relocs.x86-64 \
>  RUN:   -output-type=static
> -RUN: llvm-readobj %t | FileCheck %s
> +RUN: llvm-readobj -t %t | FileCheck %s
>
> -CHECK: i DATA
> +CHECK:        Symbol {
> +CHECK:          Name: i
> +CHECK-NEXT:     Value:
> +CHECK-NEXT:     Size:
> +CHECK-NEXT:     Binding:
> +CHECK-NEXT:     Type: Object
>
> Modified: lld/trunk/test/elf/dynamic.test
> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/dynamic.test?rev=178693&r1=178692&r2=178693&view=diff
> ==============================================================================
> --- lld/trunk/test/elf/dynamic.test (original)
> +++ lld/trunk/test/elf/dynamic.test Wed Apr  3 15:53:45 2013
> @@ -5,7 +5,7 @@ RUN: lld -core -target x86_64-linux %p/I
>  RUN:   %p/Inputs/shared.so-x86-64 -emit-yaml -output=%t2 -noinhibit-exec \
>  RUN:   -output-type=dynamic
>  RUN: llvm-objdump -p %t >> %t2
> -RUN: llvm-readobj %t >> %t2
> +RUN: llvm-readobj -s -dyn-symbols -dynamic-table %t >> %t2
>  RUN: FileCheck %s < %t2
>
>  CHECK: type: got
> @@ -26,28 +26,51 @@ CHECK: PHDR off 0x{{0+}}40
>  CHECK: INTERP
>  CHECK: flags r--
>
> -CHECK: Dynamic Symbols:
> -CHECK:   foo FUNC {{[0-9a-f]+}} 0 {{[0-9a-f]+}} undef,global
> -CHECK:   i FUNC {{[0-9a-f]+}} 0 {{[0-9a-f]+}} undef,global
> -CHECK:   Total: 2
> +CHECK:        Section {
> +CHECK:          Name: .hash
> +CHECK-NEXT:     Type: SHT_HASH
> +CHECK-NEXT:     Flags [
> +CHECK-NEXT:       SHF_ALLOC
> +CHECK-NEXT:     ]
> +CHECK-NEXT:     Address:
> +CHECK-NEXT:     Offset:
> +CHECK-NEXT:     Size: 32
> +CHECK-NEXT:     Link:
> +CHECK-NEXT:     Info:
> +CHECK-NEXT:     AddressAlignment: 8
> +CHECK-NEXT:     EntrySize:
> +CHECK-NEXT:   }
> +
> +CHECK:      DynamicSymbols [
> +CHECK:        Symbol {
> +CHECK:          Name: foo
> +CHECK-NEXT:     Value: 0
> +CHECK-NEXT:     Size:
> +CHECK-NEXT:     Binding: Global
> +CHECK-NEXT:     Type: Function
> +CHECK:        }
> +CHECK:        Symbol {
> +CHECK:          Name: i
> +CHECK-NEXT:     Value: 0
> +CHECK-NEXT:     Size:
> +CHECK-NEXT:     Binding: Global
> +CHECK-NEXT:     Type: Function
> +CHECK:        }
>
> -CHECK: Sections:
> -CHECK:   .hash {{[0-9a-f]+}} 20 8 required,rodata
> -
> -CHECK: Dynamic section contains 14 entries
> +CHECK: DynamicSection [ (14 entries)
>  CHECK:   Tag                Type                 Name/Value
> -CHECK:  0x0000000000000004 (HASH)
> -CHECK:  0x0000000000000005 (STRTAB)
> -CHECK:  0x0000000000000006 (SYMTAB)
> -CHECK:  0x000000000000000a (STRSZ)
> -CHECK:  0x000000000000000b (SYMENT) 24
> -CHECK:  0x0000000000000007 (RELA)
> -CHECK:  0x0000000000000008 (RELASZ) 24
> -CHECK:  0x0000000000000009 (RELAENT) 24
> -CHECK:  0x0000000000000002 (PLTRELSZ) 24
> -CHECK:  0x0000000000000003 (PLTGOT)
> -CHECK:  0x0000000000000014 (PLTREL) RELA
> -CHECK:  0x0000000000000017 (JMPREL)
> -CHECK:  0x0000000000000001 (NEEDED) Shared library: [shared.so-x86-64]
> -CHECK:  0x0000000000000000 (NULL)               0x0
> -CHECK:   Total: 14
> +CHECK:   0x0000000000000004 HASH
> +CHECK:   0x0000000000000005 STRTAB
> +CHECK:   0x0000000000000006 SYMTAB
> +CHECK:   0x000000000000000A STRSZ
> +CHECK:   0x000000000000000B SYMENT 24
> +CHECK:   0x0000000000000007 RELA
> +CHECK:   0x0000000000000008 RELASZ 24
> +CHECK:   0x0000000000000009 RELAENT 24
> +CHECK:   0x0000000000000002 PLTRELSZ 24
> +CHECK:   0x0000000000000003 PLTGOT
> +CHECK:   0x0000000000000014 PLTREL RELA
> +CHECK:   0x0000000000000017 JMPREL
> +CHECK:   0x0000000000000001 NEEDED SharedLibrary (shared.so-x86-64)
> +CHECK:   0x0000000000000000 NULL               0x0
> +CHECK: ]
>
> Modified: lld/trunk/test/elf/sections.objtxt
> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/sections.objtxt?rev=178693&r1=178692&r2=178693&view=diff
> ==============================================================================
> --- lld/trunk/test/elf/sections.objtxt (original)
> +++ lld/trunk/test/elf/sections.objtxt Wed Apr  3 15:53:45 2013
> @@ -1,7 +1,6 @@
>  RUN: lld-core -reader ELF -writer ELF -o %t1 %p/Inputs/section-test.i386
>  RUN: llvm-objdump -section-headers %t1 |  FileCheck -check-prefix=OBJDUMP %s
> -RUN: llvm-readobj  %t1 |  FileCheck -check-prefix=READOBJ %s
> -RUN: elf-dump  --dump-section %t1 |  FileCheck -check-prefix=ED %s
> +RUN: llvm-readobj -h -s -t %t1 |  FileCheck -check-prefix=READOBJ %s
>
>  OBJDUMP:  0               00000000 0000000000000000
>  OBJDUMP:  1 .text         0000000a 0000000000000074 TEXT DATA
> @@ -13,23 +12,128 @@ OBJDUMP:  6 .shstrtab     {{[0-9a-f]+}}
>  OBJDUMP:  7 .symtab       {{[0-9a-f]+}} 0000000000000000
>  OBJDUMP:  8 .strtab       {{[0-9a-f]+}} 0000000000000000
>
> -READOBJ: File Format : ELF32-i386
> -READOBJ: Arch        : i386
> -READOBJ: Address Size: 32 bits
> -READOBJ: Symbols
> -READOBJ: baz FUNC .text   74 a   e8 global
> -READOBJ: y   DATA .special 1004 4 2008 global
> +READOBJ: Format: ELF32-i386
> +READOBJ: Arch: i386
> +READOBJ: AddressSize: 32bit
> +READOBJ: ElfHeader {
> +READOBJ:   Ident {
> +READOBJ:     DataEncoding: LittleEndian (0x1)
> +READOBJ:   }
> +READOBJ:   Machine: EM_386
> +READOBJ: }
>
> -ED: 'e_indent[EI_DATA]', 0x01
> -ED: 'e_machine', 0x0003
> -ED: Section 1
> -ED: 'sh_addralign', 0x00000004
> -ED: Section 2
> -ED: 'sh_addralign', 0x00000004
> -ED: Section 6
> -ED: 'sh_link', 0x00000000
> -ED: 'sh_addralign', 0x00000001
> -ED: Section 7
> -ED: 'sh_link', 0x00000008
> -ED: 'sh_addralign', 0x00000004
> -ED: 'sh_entsize', 0x00000010
> +READOBJ: Sections [
> +READOBJ:   Section {
> +READOBJ:     Index: 0
> +READOBJ:     Name: (0)
> +READOBJ:     Type: SHT_NULL
> +READOBJ:     Flags [ (0x0)
> +READOBJ:     ]
> +READOBJ:     Address: 0x0
> +READOBJ:     Size: 0
> +READOBJ:   }
> +READOBJ:   Section {
> +READOBJ:     Index: 1
> +READOBJ:     Name: .text
> +READOBJ:     Type: SHT_PROGBITS
> +READOBJ:     Flags [ (0x6)
> +READOBJ:       SHF_ALLOC
> +READOBJ:       SHF_EXECINSTR
> +READOBJ:     ]
> +READOBJ:     Address: 0x74
> +READOBJ:     Size: 10
> +READOBJ:     AddressAlignment: 4
> +READOBJ:   }
> +READOBJ:   Section {
> +READOBJ:     Index: 2
> +READOBJ:     Name: .data
> +READOBJ:     Type: SHT_PROGBITS
> +READOBJ:     Flags [ (0x3)
> +READOBJ:       SHF_ALLOC
> +READOBJ:       SHF_WRITE
> +READOBJ:     ]
> +READOBJ:     Address: 0x1000
> +READOBJ:     Size: 4
> +READOBJ:     AddressAlignment: 4
> +READOBJ:   }
> +READOBJ:   Section {
> +READOBJ:     Index: 3
> +READOBJ:     Name: .special
> +READOBJ:     Type: SHT_PROGBITS
> +READOBJ:     Flags [ (0x3)
> +READOBJ:       SHF_ALLOC
> +READOBJ:       SHF_WRITE
> +READOBJ:     ]
> +READOBJ:     Address: 0x1004
> +READOBJ:     Size: 4
> +READOBJ:   }
> +READOBJ:   Section {
> +READOBJ:     Index: 4
> +READOBJ:     Name: .anotherspecial
> +READOBJ:     Type: SHT_PROGBITS
> +READOBJ:     Flags [ (0x3)
> +READOBJ:       SHF_ALLOC
> +READOBJ:       SHF_WRITE
> +READOBJ:     ]
> +READOBJ:     Address: 0x1008
> +READOBJ:     Size: 4
> +READOBJ:   }
> +READOBJ:   Section {
> +READOBJ:     Index: 5
> +READOBJ:     Name: .bss
> +READOBJ:     Type: SHT_NOBITS
> +READOBJ:     Flags [ (0x3)
> +READOBJ:       SHF_ALLOC
> +READOBJ:       SHF_WRITE
> +READOBJ:     ]
> +READOBJ:     Address: 0x100C
> +READOBJ:     Size: 4
> +READOBJ:   }
> +READOBJ:   Section {
> +READOBJ:     Index: 6
> +READOBJ:     Name: .shstrtab
> +READOBJ:     Type: SHT_STRTAB
> +READOBJ:     Flags [ (0x0)
> +READOBJ:     ]
> +READOBJ:     Address: 0x0
> +READOBJ:     Link: 0
> +READOBJ:     AddressAlignment: 1
> +READOBJ:   }
> +READOBJ:   Section {
> +READOBJ:     Index: 7
> +READOBJ:     Name: .symtab
> +READOBJ:     Type: SHT_SYMTAB
> +READOBJ:     Flags [ (0x0)
> +READOBJ:     ]
> +READOBJ:     Address: 0x0
> +READOBJ:     Link: 8
> +READOBJ:     AddressAlignment: 4
> +READOBJ:     EntrySize: 16
> +READOBJ:   }
> +READOBJ:   Section {
> +READOBJ:     Index: 8
> +READOBJ:     Name: .strtab
> +READOBJ:     Type: SHT_STRTAB
> +READOBJ:     Flags [ (0x0)
> +READOBJ:     ]
> +READOBJ:     Address: 0x0
> +READOBJ:   }
> +READOBJ: ]
> +
> +READOBJ: Symbols [
> +READOBJ:   Symbol {
> +READOBJ:     Name: baz
> +READOBJ:     Value: 0x74
> +READOBJ:     Size: 10
> +READOBJ:     Binding: Global
> +READOBJ:     Type: Function
> +READOBJ:     Section: .text
> +READOBJ:   }
> +READOBJ:   Symbol {
> +READOBJ:     Name: y
> +READOBJ:     Value: 0x1004
> +READOBJ:     Size: 4
> +READOBJ:     Binding: Global
> +READOBJ:     Type: Object
> +READOBJ:     Section: .special
> +READOBJ:   }
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits



More information about the llvm-commits mailing list