2013-07-06 14:13:10 +02:00
|
|
|
// Test section manipulation via .linkonce directive.
|
|
|
|
//
|
|
|
|
// RUN: llvm-mc -triple i386-pc-win32 -filetype=obj %s | llvm-readobj -s -t | FileCheck %s
|
|
|
|
// RUN: llvm-mc -triple x86_64-pc-win32 -filetype=obj %s | llvm-readobj -s -t | FileCheck %s
|
|
|
|
|
|
|
|
.section s1
|
|
|
|
.linkonce
|
|
|
|
.long 1
|
|
|
|
|
|
|
|
.section s2
|
|
|
|
.linkonce one_only
|
|
|
|
.long 1
|
|
|
|
|
|
|
|
.section s3
|
|
|
|
.linkonce discard
|
|
|
|
.long 1
|
|
|
|
|
|
|
|
.section s4
|
|
|
|
.linkonce same_size
|
|
|
|
.long 1
|
|
|
|
|
|
|
|
.section s5
|
|
|
|
.linkonce same_contents
|
|
|
|
.long 1
|
|
|
|
|
|
|
|
.section s6
|
|
|
|
.long 1
|
|
|
|
|
|
|
|
.section s7
|
|
|
|
.linkonce largest
|
|
|
|
.long 1
|
|
|
|
|
|
|
|
.section s8
|
|
|
|
.linkonce newest
|
|
|
|
.long 1
|
|
|
|
|
|
|
|
.section .foo$bar
|
|
|
|
.linkonce discard
|
|
|
|
.long 1
|
|
|
|
|
|
|
|
|
|
|
|
// CHECK: Sections [
|
|
|
|
// CHECK: Section {
|
|
|
|
// CHECK: Name: s1
|
|
|
|
// CHECK: Characteristics [
|
|
|
|
// CHECK: IMAGE_SCN_LNK_COMDAT
|
|
|
|
// CHECK: ]
|
|
|
|
// CHECK: }
|
|
|
|
// CHECK: Section {
|
|
|
|
// CHECK: Name: s2
|
|
|
|
// CHECK: Characteristics [
|
|
|
|
// CHECK: IMAGE_SCN_LNK_COMDAT
|
|
|
|
// CHECK: ]
|
|
|
|
// CHECK: }
|
|
|
|
// CHECK: Section {
|
|
|
|
// CHECK: Name: s3
|
|
|
|
// CHECK: Characteristics [
|
|
|
|
// CHECK: IMAGE_SCN_LNK_COMDAT
|
|
|
|
// CHECK: ]
|
|
|
|
// CHECK: }
|
|
|
|
// CHECK: Section {
|
|
|
|
// CHECK: Name: s4
|
|
|
|
// CHECK: Characteristics [
|
|
|
|
// CHECK: IMAGE_SCN_LNK_COMDAT
|
|
|
|
// CHECK: ]
|
|
|
|
// CHECK: }
|
|
|
|
// CHECK: Section {
|
|
|
|
// CHECK: Name: s5
|
|
|
|
// CHECK: Characteristics [
|
|
|
|
// CHECK: IMAGE_SCN_LNK_COMDAT
|
|
|
|
// CHECK: ]
|
|
|
|
// CHECK: }
|
|
|
|
// CHECK: Section {
|
|
|
|
// CHECK: Name: s6
|
|
|
|
// CHECK: Characteristics [
|
|
|
|
// CHECK: ]
|
|
|
|
// CHECK: }
|
|
|
|
// CHECK: Section {
|
|
|
|
// CHECK: Name: s7
|
|
|
|
// CHECK: Characteristics [
|
|
|
|
// CHECK: IMAGE_SCN_LNK_COMDAT
|
|
|
|
// CHECK: ]
|
|
|
|
// CHECK: }
|
|
|
|
// CHECK: Section {
|
|
|
|
// CHECK: Name: s8
|
|
|
|
// CHECK: Characteristics [
|
|
|
|
// CHECK: IMAGE_SCN_LNK_COMDAT
|
|
|
|
// CHECK: ]
|
|
|
|
// CHECK: }
|
|
|
|
// CHECK: ]
|
|
|
|
// CHECK: Symbols [
|
|
|
|
// CHECK: Symbol {
|
|
|
|
// CHECK: Name: s1
|
2014-06-06 23:40:16 +02:00
|
|
|
// CHECK: Section: s1 (4)
|
2013-07-06 14:13:10 +02:00
|
|
|
// CHECK: AuxSectionDef {
|
2014-06-06 23:40:16 +02:00
|
|
|
// CHECK: Number: 4
|
2013-07-06 14:13:10 +02:00
|
|
|
// CHECK: Selection: Any (0x2)
|
|
|
|
// CHECK: }
|
|
|
|
// CHECK: }
|
|
|
|
// CHECK: Symbol {
|
|
|
|
// CHECK: Name: s2
|
2014-06-06 23:40:16 +02:00
|
|
|
// CHECK: Section: s2 (5)
|
2013-07-06 14:13:10 +02:00
|
|
|
// CHECK: AuxSectionDef {
|
2014-06-06 23:40:16 +02:00
|
|
|
// CHECK: Number: 5
|
2013-07-06 14:13:10 +02:00
|
|
|
// CHECK: Selection: NoDuplicates (0x1)
|
|
|
|
// CHECK: }
|
|
|
|
// CHECK: }
|
|
|
|
// CHECK: Symbol {
|
|
|
|
// CHECK: Name: s3
|
2014-06-06 23:40:16 +02:00
|
|
|
// CHECK: Section: s3 (6)
|
2013-07-06 14:13:10 +02:00
|
|
|
// CHECK: AuxSectionDef {
|
2014-06-06 23:40:16 +02:00
|
|
|
// CHECK: Number: 6
|
2013-07-06 14:13:10 +02:00
|
|
|
// CHECK: Selection: Any (0x2)
|
|
|
|
// CHECK: }
|
|
|
|
// CHECK: }
|
|
|
|
// CHECK: Symbol {
|
|
|
|
// CHECK: Name: s4
|
2014-06-06 23:40:16 +02:00
|
|
|
// CHECK: Section: s4 (7)
|
2013-07-06 14:13:10 +02:00
|
|
|
// CHECK: AuxSectionDef {
|
2014-06-06 23:40:16 +02:00
|
|
|
// CHECK: Number: 7
|
2013-07-06 14:13:10 +02:00
|
|
|
// CHECK: Selection: SameSize (0x3)
|
|
|
|
// CHECK: }
|
|
|
|
// CHECK: }
|
|
|
|
// CHECK: Symbol {
|
|
|
|
// CHECK: Name: s5
|
2014-06-06 23:40:16 +02:00
|
|
|
// CHECK: Section: s5 (8)
|
2013-07-06 14:13:10 +02:00
|
|
|
// CHECK: AuxSectionDef {
|
2014-06-06 23:40:16 +02:00
|
|
|
// CHECK: Number: 8
|
2013-07-06 14:13:10 +02:00
|
|
|
// CHECK: Selection: ExactMatch (0x4)
|
|
|
|
// CHECK: }
|
|
|
|
// CHECK: }
|
|
|
|
// CHECK: Symbol {
|
|
|
|
// CHECK: Name: s6
|
|
|
|
// CHECK: }
|
|
|
|
// CHECK: Symbol {
|
|
|
|
// CHECK: Name: s7
|
2014-06-06 23:40:16 +02:00
|
|
|
// CHECK: Section: s7 (10)
|
2013-07-06 14:13:10 +02:00
|
|
|
// CHECK: AuxSectionDef {
|
2014-06-06 23:40:16 +02:00
|
|
|
// CHECK: Number: 10
|
2013-07-06 14:13:10 +02:00
|
|
|
// CHECK: Selection: Largest (0x6)
|
|
|
|
// CHECK: }
|
|
|
|
// CHECK: }
|
|
|
|
// CHECK: Symbol {
|
|
|
|
// CHECK: Name: s8
|
2014-06-06 23:40:16 +02:00
|
|
|
// CHECK: Section: s8 (11)
|
2013-07-06 14:13:10 +02:00
|
|
|
// CHECK: AuxSectionDef {
|
2014-06-06 23:40:16 +02:00
|
|
|
// CHECK: Number: 11
|
2013-07-06 14:13:10 +02:00
|
|
|
// CHECK: Selection: Newest (0x7)
|
|
|
|
// CHECK: }
|
|
|
|
// CHECK: }
|