Re-commit: [mips] Correct section alignments and EntrySizes for .bss, .text, .data...
authorDaniel Sanders <daniel.sanders@imgtec.com>
Mon, 14 Jul 2014 15:05:51 +0000 (15:05 +0000)
committerDaniel Sanders <daniel.sanders@imgtec.com>
Mon, 14 Jul 2014 15:05:51 +0000 (15:05 +0000)
The lld tests will temporarily fail again but Simon Atanasyan will commit a fix for those shortly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212946 91177308-0d34-0410-b5e6-96231b3b80d8

12 files changed:
lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
test/MC/Mips/elf_reginfo.s
test/MC/Mips/mips32/abiflags.s
test/MC/Mips/mips32r2/abiflags.s
test/MC/Mips/mips64/abiflags.s
test/MC/Mips/mips64r2/abiflags.s
test/MC/Mips/mips_abi_flags_xx.s
test/MC/Mips/mips_abi_flags_xx_set.s
test/MC/Mips/msa/abiflags.s
test/MC/Mips/nooddspreg-cmdarg.s
test/MC/Mips/nooddspreg.s
test/MC/Mips/oddspreg.s

index fbe375b..45683e8 100644 (file)
@@ -323,13 +323,30 @@ void MipsTargetELFStreamer::finish() {
   MCAssembler &MCA = getStreamer().getAssembler();
   MCContext &Context = MCA.getContext();
   MCStreamer &OS = getStreamer();
+  const MCObjectFileInfo &OFI = *Context.getObjectFileInfo();
   Triple T(STI.getTargetTriple());
   uint64_t Features = STI.getFeatureBits();
 
+  // .bss, .text and .data are always at least 16-byte aligned.
+  MCSectionData &TextSectionData =
+      MCA.getOrCreateSectionData(*OFI.getTextSection());
+  MCSectionData &DataSectionData =
+      MCA.getOrCreateSectionData(*OFI.getDataSection());
+  MCSectionData &BSSSectionData =
+      MCA.getOrCreateSectionData(*OFI.getBSSSection());
+
+  TextSectionData.setAlignment(std::max(16u, TextSectionData.getAlignment()));
+  DataSectionData.setAlignment(std::max(16u, DataSectionData.getAlignment()));
+  BSSSectionData.setAlignment(std::max(16u, BSSSectionData.getAlignment()));
+
   if (T.isArch64Bit() && (Features & Mips::FeatureN64)) {
-    const MCSectionELF *Sec = Context.getELFSection(
-        ".MIPS.options", ELF::SHT_MIPS_OPTIONS,
-        ELF::SHF_ALLOC | ELF::SHF_MIPS_NOSTRIP, SectionKind::getMetadata());
+    // The EntrySize value of 1 seems strange since the records are neither
+    // 1-byte long nor fixed length but it matches the value GAS emits.
+    const MCSectionELF *Sec =
+        Context.getELFSection(".MIPS.options", ELF::SHT_MIPS_OPTIONS,
+                              ELF::SHF_ALLOC | ELF::SHF_MIPS_NOSTRIP,
+                              SectionKind::getMetadata(), 1, "");
+    MCA.getOrCreateSectionData(*Sec).setAlignment(8);
     OS.SwitchSection(Sec);
 
     OS.EmitIntValue(1, 1);  // kind
@@ -346,7 +363,8 @@ void MipsTargetELFStreamer::finish() {
   } else {
     const MCSectionELF *Sec =
         Context.getELFSection(".reginfo", ELF::SHT_MIPS_REGINFO, ELF::SHF_ALLOC,
-                              SectionKind::getMetadata());
+                              SectionKind::getMetadata(), 24, "");
+    MCA.getOrCreateSectionData(*Sec).setAlignment(4);
     OS.SwitchSection(Sec);
 
     OS.EmitIntValue(0, 4); // ri_gprmask
@@ -638,7 +656,7 @@ void MipsTargetELFStreamer::emitMipsAbiFlags() {
   MCStreamer &OS = getStreamer();
   const MCSectionELF *Sec =
       Context.getELFSection(".MIPS.abiflags", ELF::SHT_MIPS_ABIFLAGS,
-                            ELF::SHF_ALLOC, SectionKind::getMetadata());
+                            ELF::SHF_ALLOC, SectionKind::getMetadata(), 24, "");
   MCSectionData &ABIShndxSD = MCA.getOrCreateSectionData(*Sec);
   ABIShndxSD.setAlignment(8);
   OS.SwitchSection(Sec);
index 5e9ddf8..b88607a 100644 (file)
 # check for .MIPS.options
 # CHECK_64:      Sections [
 # CHECK_64:        Section {
-# CHECK_64:          Name: .MIPS.options
+# CHECK_64-LABEL:    Name: .MIPS.options
 # CHECK_64-NEXT:     Type: SHT_MIPS_OPTIONS
 # CHECK_64-NEXT:     Flags [ (0x8000002)
+# CHECK_64:          AddressAlignment: 8
+# CHECK_64:          EntrySize: 1
+# CHECK_64-LABEL:  }
 
 # check for .reginfo
 # CHECK_32:      Sections [
 # CHECK_32:        Section {
-# CHECK_32:          Name: .reginfo
+# CHECK_32-LABEL:    Name: .reginfo
 # CHECK_32-NEXT:     Type:  SHT_MIPS_REGINFO
 # CHECK_32-NEXT:     Flags [ (0x2)
+# CHECK_32:          AddressAlignment: 4
+# CHECK_32:          EntrySize: 24
+# CHECK_32-LABEL:  }
index 3f56864..dd772c0 100644 (file)
@@ -8,27 +8,26 @@
 # CHECK-ASM: .module fp=32
 
 # Checking if the Mips.abiflags were correctly emitted.
-# CHECK-OBJ:  Section {
-# CHECK-OBJ:    Index: 5
-# CHECK-OBJ:    Name: .MIPS.abiflags (12)
-# CHECK-OBJ:    Type: SHT_MIPS_ABIFLAGS (0x7000002A)
-# CHECK-OBJ:     Flags [ (0x2)
-# CHECK-OBJ:      SHF_ALLOC (0x2)
-# CHECK-OBJ:    ]
-# CHECK-OBJ:    Address: 0x0
-# CHECK-OBJ:    Offset: 0x50
-# CHECK-OBJ:    Size: 24
-# CHECK-OBJ:    Link: 0
-# CHECK-OBJ:    Info: 0
-# CHECK-OBJ:    AddressAlignment: 8
-# CHECK-OBJ:    EntrySize: 0
-# CHECK-OBJ:    Relocations [
-# CHECK-OBJ:    ]
-# CHECK-OBJ:    SectionData (
-# CHECK-OBJ:      0000: 00002001 01010001 00000000 00000000  |.. .............|
-# CHECK-OBJ:      0010: 00000001 00000000                    |........|
-# CHECK-OBJ:    )
-# CHECK-OBJ:  }
+# CHECK-OBJ:       Section {
+# CHECK-OBJ:         Index: 5
+# CHECK-OBJ-LABEL:   Name: .MIPS.abiflags (12)
+# CHECK-OBJ:         Type: SHT_MIPS_ABIFLAGS (0x7000002A)
+# CHECK-OBJ:          Flags [ (0x2)
+# CHECK-OBJ:           SHF_ALLOC (0x2)
+# CHECK-OBJ:         ]
+# CHECK-OBJ:         Address: 0x0
+# CHECK-OBJ:         Size: 24
+# CHECK-OBJ:         Link: 0
+# CHECK-OBJ:         Info: 0
+# CHECK-OBJ:         AddressAlignment: 8
+# CHECK-OBJ:         EntrySize: 24
+# CHECK-OBJ:         Relocations [
+# CHECK-OBJ:         ]
+# CHECK-OBJ:         SectionData (
+# CHECK-OBJ:           0000: 00002001 01010001 00000000 00000000  |.. .............|
+# CHECK-OBJ:           0010: 00000001 00000000                    |........|
+# CHECK-OBJ:         )
+# CHECK-OBJ-LABEL: }
 
         .module fp=32
 
index 228ba57..e3bb15b 100644 (file)
@@ -9,27 +9,26 @@
 # CHECK-ASM: .set fp=64
 
 # Checking if the Mips.abiflags were correctly emitted.
-# CHECK-OBJ:  Section {
-# CHECK-OBJ:    Index: 5
-# CHECK-OBJ:    Name: .MIPS.abiflags (12)
-# CHECK-OBJ:    Type: SHT_MIPS_ABIFLAGS (0x7000002A)
-# CHECK-OBJ:     Flags [ (0x2)
-# CHECK-OBJ:      SHF_ALLOC (0x2)
-# CHECK-OBJ:    ]
-# CHECK-OBJ:    Address: 0x0
-# CHECK-OBJ:    Offset: 0x50
-# CHECK-OBJ:    Size: 24
-# CHECK-OBJ:    Link: 0
-# CHECK-OBJ:    Info: 0
-# CHECK-OBJ:    AddressAlignment: 8
-# CHECK-OBJ:    EntrySize: 0
-# CHECK-OBJ:    Relocations [
-# CHECK-OBJ:    ]
-# CHECK-OBJ:    SectionData (
-# CHECK-OBJ:      0000: 00002002 01010001 00000000 00000000  |.. .............|
-# CHECK-OBJ:      0010: 00000001 00000000                    |........|
-# CHECK-OBJ:    )
-# CHECK-OBJ:  }
+# CHECK-OBJ:       Section {
+# CHECK-OBJ:         Index: 5
+# CHECK-OBJ-LABEL:   Name: .MIPS.abiflags (12)
+# CHECK-OBJ:         Type: SHT_MIPS_ABIFLAGS (0x7000002A)
+# CHECK-OBJ:          Flags [ (0x2)
+# CHECK-OBJ:           SHF_ALLOC (0x2)
+# CHECK-OBJ:         ]
+# CHECK-OBJ:         Address: 0x0
+# CHECK-OBJ:         Size: 24
+# CHECK-OBJ:         Link: 0
+# CHECK-OBJ:         Info: 0
+# CHECK-OBJ:         AddressAlignment: 8
+# CHECK-OBJ:         EntrySize: 24
+# CHECK-OBJ:         Relocations [
+# CHECK-OBJ:         ]
+# CHECK-OBJ:         SectionData (
+# CHECK-OBJ:           0000: 00002002 01010001 00000000 00000000  |.. .............|
+# CHECK-OBJ:           0010: 00000001 00000000                    |........|
+# CHECK-OBJ:         )
+# CHECK-OBJ-LABEL: }
 
         .module fp=32
         .set fp=64
index 0b4bad0..38b7a45 100644 (file)
@@ -8,27 +8,26 @@
 # CHECK-ASM: .module fp=64
 
 # Checking if the Mips.abiflags were correctly emitted.
-# CHECK-OBJ:  Section {
-# CHECK-OBJ:    Index: 5
-# CHECK-OBJ:    Name: .MIPS.abiflags (12)
-# CHECK-OBJ:    Type: SHT_MIPS_ABIFLAGS (0x7000002A)
-# CHECK-OBJ:     Flags [ (0x2)
-# CHECK-OBJ:      SHF_ALLOC (0x2)
-# CHECK-OBJ:    ]
-# CHECK-OBJ:    Address: 0x0
-# CHECK-OBJ:    Offset: 0x50
-# CHECK-OBJ:    Size: 24
-# CHECK-OBJ:    Link: 0
-# CHECK-OBJ:    Info: 0
-# CHECK-OBJ:    AddressAlignment: 8
-# CHECK-OBJ:    EntrySize: 0
-# CHECK-OBJ:    Relocations [
-# CHECK-OBJ:    ]
-# CHECK-OBJ:    SectionData (
-# CHECK-OBJ:      0000: 00004001 02020001 00000000 00000000  |..@.............|
-# CHECK-OBJ:      0010: 00000001 00000000                    |........|
-# CHECK-OBJ:    )
-# CHECK-OBJ:  }
+# CHECK-OBJ:       Section {
+# CHECK-OBJ:         Index: 5
+# CHECK-OBJ-LABEL:   Name: .MIPS.abiflags (12)
+# CHECK-OBJ:         Type: SHT_MIPS_ABIFLAGS (0x7000002A)
+# CHECK-OBJ:          Flags [ (0x2)
+# CHECK-OBJ:           SHF_ALLOC (0x2)
+# CHECK-OBJ:         ]
+# CHECK-OBJ:         Address: 0x0
+# CHECK-OBJ:         Size: 24
+# CHECK-OBJ:         Link: 0
+# CHECK-OBJ:         Info: 0
+# CHECK-OBJ:         AddressAlignment: 8
+# CHECK-OBJ:         EntrySize: 24
+# CHECK-OBJ:         Relocations [
+# CHECK-OBJ:         ]
+# CHECK-OBJ:         SectionData (
+# CHECK-OBJ:           0000: 00004001 02020001 00000000 00000000  |..@.............|
+# CHECK-OBJ:           0010: 00000001 00000000                    |........|
+# CHECK-OBJ:         )
+# CHECK-OBJ-LABEL: }
 
         .module fp=64
 
index 82afbbb..02a91ee 100644 (file)
@@ -8,27 +8,26 @@
 # CHECK-ASM: .module fp=64
 
 # Checking if the Mips.abiflags were correctly emitted.
-# CHECK-OBJ:  Section {
-# CHECK-OBJ:    Index: 5
-# CHECK-OBJ:    Name: .MIPS.abiflags (12)
-# CHECK-OBJ:    Type: SHT_MIPS_ABIFLAGS (0x7000002A)
-# CHECK-OBJ:     Flags [ (0x2)
-# CHECK-OBJ:      SHF_ALLOC (0x2)
-# CHECK-OBJ:    ]
-# CHECK-OBJ:    Address: 0x0
-# CHECK-OBJ:    Offset: 0x50
-# CHECK-OBJ:    Size: 24
-# CHECK-OBJ:    Link: 0
-# CHECK-OBJ:    Info: 0
-# CHECK-OBJ:    AddressAlignment: 8
-# CHECK-OBJ:    EntrySize: 0
-# CHECK-OBJ:    Relocations [
-# CHECK-OBJ:    ]
-# CHECK-OBJ:    SectionData (
-# CHECK-OBJ:      0000: 00004002 02020001 00000000 00000000  |..@.............|
-# CHECK-OBJ:      0010: 00000001 00000000                    |........|
-# CHECK-OBJ:    )
-# CHECK-OBJ:  }
+# CHECK-OBJ:       Section {
+# CHECK-OBJ:         Index: 5
+# CHECK-OBJ-LABEL:   Name: .MIPS.abiflags (12)
+# CHECK-OBJ:         Type: SHT_MIPS_ABIFLAGS (0x7000002A)
+# CHECK-OBJ:          Flags [ (0x2)
+# CHECK-OBJ:           SHF_ALLOC (0x2)
+# CHECK-OBJ:         ]
+# CHECK-OBJ:         Address: 0x0
+# CHECK-OBJ:         Size: 24
+# CHECK-OBJ:         Link: 0
+# CHECK-OBJ:         Info: 0
+# CHECK-OBJ:         AddressAlignment: 8
+# CHECK-OBJ:         EntrySize: 24
+# CHECK-OBJ:         Relocations [
+# CHECK-OBJ:         ]
+# CHECK-OBJ:         SectionData (
+# CHECK-OBJ:           0000: 00004002 02020001 00000000 00000000  |..@.............|
+# CHECK-OBJ:           0010: 00000001 00000000                    |........|
+# CHECK-OBJ:         )
+# CHECK-OBJ-LABEL: }
 
         .module fp=64
 
index b8416fc..9192d0c 100644 (file)
@@ -8,27 +8,26 @@
 # CHECK-ASM: .module fp=xx
 
 # Checking if the Mips.abiflags were correctly emitted.
-# CHECK-OBJ:  Section {
-# CHECK-OBJ:    Index: 5
-# CHECK-OBJ:    Name: .MIPS.abiflags (12)
-# CHECK-OBJ:    Type: SHT_MIPS_ABIFLAGS (0x7000002A)
-# CHECK-OBJ:     Flags [ (0x2)
-# CHECK-OBJ:      SHF_ALLOC (0x2)
-# CHECK-OBJ:    ]
-# CHECK-OBJ:    Address: 0x0
-# CHECK-OBJ:    Offset: 0x50
-# CHECK-OBJ:    Size: 24
-# CHECK-OBJ:    Link: 0
-# CHECK-OBJ:    Info: 0
-# CHECK-OBJ:    AddressAlignment: 8
-# CHECK-OBJ:    EntrySize: 0
-# CHECK-OBJ:    Relocations [
-# CHECK-OBJ:    ]
-# CHECK-OBJ:    SectionData (
-# CHECK-OBJ:      0000: 00002001 01010005 00000000 00000000  |.. .............|
-# CHECK-OBJ:      0010: 00000001 00000000                    |........|
-# CHECK-OBJ:    )
-# CHECK-OBJ:  }
+# CHECK-OBJ:       Section {
+# CHECK-OBJ:         Index: 5
+# CHECK-OBJ-LABEL:   Name: .MIPS.abiflags (12)
+# CHECK-OBJ:         Type: SHT_MIPS_ABIFLAGS (0x7000002A)
+# CHECK-OBJ:          Flags [ (0x2)
+# CHECK-OBJ:           SHF_ALLOC (0x2)
+# CHECK-OBJ:         ]
+# CHECK-OBJ:         Address: 0x0
+# CHECK-OBJ:         Size: 24
+# CHECK-OBJ:         Link: 0
+# CHECK-OBJ:         Info: 0
+# CHECK-OBJ:         AddressAlignment: 8
+# CHECK-OBJ:         EntrySize: 24
+# CHECK-OBJ:         Relocations [
+# CHECK-OBJ:         ]
+# CHECK-OBJ:         SectionData (
+# CHECK-OBJ:           0000: 00002001 01010005 00000000 00000000  |.. .............|
+# CHECK-OBJ:           0010: 00000001 00000000                    |........|
+# CHECK-OBJ:         )
+# CHECK-OBJ-LABEL: }
 
         .module fp=xx
 
index 0c2d9bb..a548972 100644 (file)
@@ -9,27 +9,26 @@
 # CHECK-ASM: .set    fp=64
 
 # Checking if the Mips.abiflags were correctly emitted.
-# CHECK-OBJ:  Section {
-# CHECK-OBJ:    Index: 5
-# CHECK-OBJ:    Name: .MIPS.abiflags (12)
-# CHECK-OBJ:    Type: SHT_MIPS_ABIFLAGS (0x7000002A)
-# CHECK-OBJ:     Flags [ (0x2)
-# CHECK-OBJ:      SHF_ALLOC (0x2)
-# CHECK-OBJ:    ]
-# CHECK-OBJ:    Address: 0x0
-# CHECK-OBJ:    Offset: 0x50
-# CHECK-OBJ:    Size: 24
-# CHECK-OBJ:    Link: 0
-# CHECK-OBJ:    Info: 0
-# CHECK-OBJ:    AddressAlignment: 8
-# CHECK-OBJ:    EntrySize: 0
-# CHECK-OBJ:    Relocations [
-# CHECK-OBJ:    ]
-# CHECK-OBJ:    SectionData (
-# CHECK-OBJ:      0000: 00002001 01010005 00000000 00000000  |.. .............|
-# CHECK-OBJ:      0010: 00000001 00000000                    |........|
-# CHECK-OBJ:    )
-# CHECK-OBJ:  }
+# CHECK-OBJ:       Section {
+# CHECK-OBJ:         Index: 5
+# CHECK-OBJ-LABEL:   Name: .MIPS.abiflags (12)
+# CHECK-OBJ:         Type: SHT_MIPS_ABIFLAGS (0x7000002A)
+# CHECK-OBJ:          Flags [ (0x2)
+# CHECK-OBJ:           SHF_ALLOC (0x2)
+# CHECK-OBJ:         ]
+# CHECK-OBJ:         Address: 0x0
+# CHECK-OBJ:         Size: 24
+# CHECK-OBJ:         Link: 0
+# CHECK-OBJ:         Info: 0
+# CHECK-OBJ:         AddressAlignment: 8
+# CHECK-OBJ:         EntrySize: 24
+# CHECK-OBJ:         Relocations [
+# CHECK-OBJ:         ]
+# CHECK-OBJ:         SectionData (
+# CHECK-OBJ:           0000: 00002001 01010005 00000000 00000000  |.. .............|
+# CHECK-OBJ:           0010: 00000001 00000000                    |........|
+# CHECK-OBJ:         )
+# CHECK-OBJ-LABEL: }
 
         .module fp=xx
         .set    fp=64
index 7856447..136c035 100644 (file)
@@ -9,27 +9,26 @@
 # CHECK-ASM: .set fp=64
 
 # Checking if the Mips.abiflags were correctly emitted.
-# CHECK-OBJ:  Section {
-# CHECK-OBJ:    Index: 5
-# CHECK-OBJ:    Name: .MIPS.abiflags (12)
-# CHECK-OBJ:    Type: SHT_MIPS_ABIFLAGS (0x7000002A)
-# CHECK-OBJ:     Flags [ (0x2)
-# CHECK-OBJ:      SHF_ALLOC (0x2)
-# CHECK-OBJ:    ]
-# CHECK-OBJ:    Address: 0x0
-# CHECK-OBJ:    Offset: 0x50
-# CHECK-OBJ:    Size: 24
-# CHECK-OBJ:    Link: 0
-# CHECK-OBJ:    Info: 0
-# CHECK-OBJ:    AddressAlignment: 8
-# CHECK-OBJ:    EntrySize: 0
-# CHECK-OBJ:    Relocations [
-# CHECK-OBJ:    ]
-# CHECK-OBJ:    SectionData (
-# CHECK-OBJ:      0000: 00002002 01030001 00000000 00000200  |.. .............|
-# CHECK-OBJ:      0010: 00000001 00000000                    |........|
-# CHECK-OBJ:    )
-# CHECK-OBJ:  }
+# CHECK-OBJ:       Section {
+# CHECK-OBJ:         Index: 5
+# CHECK-OBJ-LABEL:   Name: .MIPS.abiflags (12)
+# CHECK-OBJ:         Type: SHT_MIPS_ABIFLAGS (0x7000002A)
+# CHECK-OBJ:          Flags [ (0x2)
+# CHECK-OBJ:           SHF_ALLOC (0x2)
+# CHECK-OBJ:         ]
+# CHECK-OBJ:         Address: 0x0
+# CHECK-OBJ:         Size: 24
+# CHECK-OBJ:         Link: 0
+# CHECK-OBJ:         Info: 0
+# CHECK-OBJ:         AddressAlignment: 8
+# CHECK-OBJ:         EntrySize: 24
+# CHECK-OBJ:         Relocations [
+# CHECK-OBJ:         ]
+# CHECK-OBJ:         SectionData (
+# CHECK-OBJ:           0000: 00002002 01030001 00000000 00000200  |.. .............|
+# CHECK-OBJ:           0010: 00000001 00000000                    |........|
+# CHECK-OBJ:         )
+# CHECK-OBJ-LABEL: }
 
         .module fp=32
         .set fp=64
index 993c630..52b040e 100644 (file)
 # CHECK-ASM-NOT: .module nooddspreg
 
 # Checking if the Mips.abiflags were correctly emitted.
-# CHECK-OBJ:  Section {
-# CHECK-OBJ:    Index: 5
-# CHECK-OBJ:    Name: .MIPS.abiflags (12)
-# CHECK-OBJ:    Type: SHT_MIPS_ABIFLAGS (0x7000002A)
-# CHECK-OBJ:     Flags [ (0x2)
-# CHECK-OBJ:      SHF_ALLOC (0x2)
-# CHECK-OBJ:    ]
-# CHECK-OBJ:    Address: 0x0
-# CHECK-OBJ:    Offset: 0x50
-# CHECK-OBJ:    Size: 24
-# CHECK-OBJ:    Link: 0
-# CHECK-OBJ:    Info: 0
-# CHECK-OBJ:    AddressAlignment: 8
-# CHECK-OBJ:    EntrySize: 0
-# CHECK-OBJ:    Relocations [
-# CHECK-OBJ:    ]
-# CHECK-OBJ:    SectionData (
-# CHECK-OBJ:      0000: 00002001 01020007 00000000 00000000  |.. .............|
-# CHECK-OBJ:      0010: 00000000 00000000                    |........|
-# CHECK-OBJ:    )
-# CHECK-OBJ:  }
+# CHECK-OBJ:       Section {
+# CHECK-OBJ:         Index: 5
+# CHECK-OBJ-LABEL:   Name: .MIPS.abiflags (12)
+# CHECK-OBJ:         Type: SHT_MIPS_ABIFLAGS (0x7000002A)
+# CHECK-OBJ:          Flags [ (0x2)
+# CHECK-OBJ:           SHF_ALLOC (0x2)
+# CHECK-OBJ:         ]
+# CHECK-OBJ:         Address: 0x0
+# CHECK-OBJ:         Size: 24
+# CHECK-OBJ:         Link: 0
+# CHECK-OBJ:         Info: 0
+# CHECK-OBJ:         AddressAlignment: 8
+# CHECK-OBJ:         EntrySize: 24
+# CHECK-OBJ:         Relocations [
+# CHECK-OBJ:         ]
+# CHECK-OBJ:         SectionData (
+# CHECK-OBJ:           0000: 00002001 01020007 00000000 00000000  |.. .............|
+# CHECK-OBJ:           0010: 00000000 00000000                    |........|
+# CHECK-OBJ:         )
+# CHECK-OBJ-LABEL: }
 
 # INVALID: ERROR: -mno-odd-spreg requires the O32 ABI
 
index 10cd1ac..f268ef4 100644 (file)
 # CHECK-ASM: .module nooddspreg
 
 # Checking if the Mips.abiflags were correctly emitted.
-# CHECK-OBJ:  Section {
-# CHECK-OBJ:    Index: 5
-# CHECK-OBJ:    Name: .MIPS.abiflags (12)
-# CHECK-OBJ:    Type: SHT_MIPS_ABIFLAGS (0x7000002A)
-# CHECK-OBJ:     Flags [ (0x2)
-# CHECK-OBJ:      SHF_ALLOC (0x2)
-# CHECK-OBJ:    ]
-# CHECK-OBJ:    Address: 0x0
-# CHECK-OBJ:    Offset: 0x50
-# CHECK-OBJ:    Size: 24
-# CHECK-OBJ:    Link: 0
-# CHECK-OBJ:    Info: 0
-# CHECK-OBJ:    AddressAlignment: 8
-# CHECK-OBJ:    EntrySize: 0
-# CHECK-OBJ:    Relocations [
-# CHECK-OBJ:    ]
-# CHECK-OBJ:    SectionData (
-# CHECK-OBJ:      0000: 00002001 01020007 00000000 00000000  |.. .............|
-# CHECK-OBJ:      0010: 00000000 00000000                    |........|
-# CHECK-OBJ:    )
-# CHECK-OBJ:  }
+# CHECK-OBJ:       Section {
+# CHECK-OBJ:         Index: 5
+# CHECK-OBJ-LABEL:   Name: .MIPS.abiflags (12)
+# CHECK-OBJ:         Type: SHT_MIPS_ABIFLAGS (0x7000002A)
+# CHECK-OBJ:          Flags [ (0x2)
+# CHECK-OBJ:           SHF_ALLOC (0x2)
+# CHECK-OBJ:         ]
+# CHECK-OBJ:         Address: 0x0
+# CHECK-OBJ:         Size: 24
+# CHECK-OBJ:         Link: 0
+# CHECK-OBJ:         Info: 0
+# CHECK-OBJ:         AddressAlignment: 8
+# CHECK-OBJ:         EntrySize: 24
+# CHECK-OBJ:         Relocations [
+# CHECK-OBJ:         ]
+# CHECK-OBJ:         SectionData (
+# CHECK-OBJ:           0000: 00002001 01020007 00000000 00000000  |.. .............|
+# CHECK-OBJ:           0010: 00000000 00000000                    |........|
+# CHECK-OBJ:         )
+# CHECK-OBJ-LABEL: }
 
 # INVALID: '.module nooddspreg' requires the O32 ABI
 
index a7b0c4b..32ba9e0 100644 (file)
 # CHECK-ASM: .module oddspreg
 
 # Checking if the Mips.abiflags were correctly emitted.
-# CHECK-OBJ-ALL:  Section {
-# CHECK-OBJ-ALL:    Index: 5
-# CHECK-OBJ-ALL:    Name: .MIPS.abiflags ({{[0-9]+}})
-# CHECK-OBJ-ALL:    Type: SHT_MIPS_ABIFLAGS (0x7000002A)
-# CHECK-OBJ-ALL:     Flags [ (0x2)
-# CHECK-OBJ-ALL:      SHF_ALLOC (0x2)
-# CHECK-OBJ-ALL:    ]
-# CHECK-OBJ-ALL:    Address: 0x0
-# CHECK-OBJ-ALL:    Offset: 0x{{[0-9A-F]+}}
-# CHECK-OBJ-ALL:    Size: 24
-# CHECK-OBJ-ALL:    Link: 0
-# CHECK-OBJ-ALL:    Info: 0
-# CHECK-OBJ-ALL:    AddressAlignment: 8
-# CHECK-OBJ-ALL:    EntrySize: 0
-# CHECK-OBJ-ALL:    Relocations [
-# CHECK-OBJ-ALL:    ]
-# CHECK-OBJ-ALL:    SectionData (
-# CHECK-OBJ-O32:      0000: 00002001 01020006 00000000 00000000  |.. .............|
-# CHECK-OBJ-O32:      0010: 00000001 00000000                    |........|
-# CHECK-OBJ-N32:      0000: 00004001 02020001 00000000 00000000  |..@.............|
-# CHECK-OBJ-N32:      0010: 00000001 00000000                    |........|
-# CHECK-OBJ-N64:      0000: 00004001 02020001 00000000 00000000  |..@.............|
-# CHECK-OBJ-N64:      0010: 00000001 00000000                    |........|
-# CHECK-OBJ-ALL:    )
-# CHECK-OBJ-ALL:  }
+# CHECK-OBJ-ALL:       Section {
+# CHECK-OBJ-ALL:         Index: 5
+# CHECK-OBJ-ALL-LABEL:   Name: .MIPS.abiflags ({{[0-9]+}})
+# CHECK-OBJ-ALL:         Type: SHT_MIPS_ABIFLAGS (0x7000002A)
+# CHECK-OBJ-ALL:          Flags [ (0x2)
+# CHECK-OBJ-ALL:           SHF_ALLOC (0x2)
+# CHECK-OBJ-ALL:         ]
+# CHECK-OBJ-ALL:         Address: 0x0
+# CHECK-OBJ-ALL:         Size: 24
+# CHECK-OBJ-ALL:         Link: 0
+# CHECK-OBJ-ALL:         Info: 0
+# CHECK-OBJ-ALL:         AddressAlignment: 8
+# CHECK-OBJ-ALL:         EntrySize: 24
+# CHECK-OBJ-ALL:         Relocations [
+# CHECK-OBJ-ALL:         ]
+# CHECK-OBJ-ALL:         SectionData (
+# CHECK-OBJ-O32:           0000: 00002001 01020006 00000000 00000000  |.. .............|
+# CHECK-OBJ-O32:           0010: 00000001 00000000                    |........|
+# CHECK-OBJ-N32:           0000: 00004001 02020001 00000000 00000000  |..@.............|
+# CHECK-OBJ-N32:           0010: 00000001 00000000                    |........|
+# CHECK-OBJ-N64:           0000: 00004001 02020001 00000000 00000000  |..@.............|
+# CHECK-OBJ-N64:           0010: 00000001 00000000                    |........|
+# CHECK-OBJ-ALL:         )
+# CHECK-OBJ-ALL-LABEL: }
 
         .module oddspreg
         add.s $f3, $f1, $f5