forked from OSchip/llvm-project
Emit DWARF3 call frame information when DWARF3+ debug info is requested
Currently, llvm always emits a DWARF CIE with a version of 1, even when emitting DWARF 3 or 4, which both support CIE version 3. This patch makes it emit the newer CIE version when we are emitting DWARF 3 or 4. This will not reduce compatibility, as we already emit other DWARF3/4 features, and is worth doing as the DWARF3 spec removed some ambiguities in the interpretation of call frame information. It also fixes a minor bug where the "return address" field of the CIE was encoded as a ULEB128, which is only valid when the CIE version is 3. There are no test changes for this, because (as far as I can tell) none of the platforms that we test have a return address register with a DWARF register number >127. llvm-svn: 211272
This commit is contained in:
parent
4f7ef8c6ef
commit
f7693f4c1f
|
@ -57,7 +57,6 @@ enum LLVMConstants : uint32_t {
|
|||
DW_TAG_user_base = 0x1000, // Recommended base for user tags.
|
||||
|
||||
DWARF_VERSION = 4, // Default dwarf version we output.
|
||||
DW_CIE_VERSION = 1, // Common frame information version.
|
||||
DW_PUBTYPES_VERSION = 2, // Section version number for .debug_pubtypes.
|
||||
DW_PUBNAMES_VERSION = 2, // Section version number for .debug_pubnames.
|
||||
DW_ARANGES_VERSION = 2 // Section version number for .debug_aranges.
|
||||
|
|
|
@ -209,6 +209,8 @@ DwarfDebug::DwarfDebug(AsmPrinter *A, Module *M)
|
|||
DwarfVersion = DwarfVersionNumber ? DwarfVersionNumber
|
||||
: MMI->getModule()->getDwarfVersion();
|
||||
|
||||
Asm->OutStreamer.getContext().setDwarfVersion(DwarfVersion);
|
||||
|
||||
{
|
||||
NamedRegionTimer T(DbgTimerName, DWARFGroupName, TimePassesIsEnabled);
|
||||
beginModule();
|
||||
|
|
|
@ -1270,7 +1270,10 @@ const MCSymbol &FrameEmitterImpl::EmitCIE(MCObjectStreamer &streamer,
|
|||
|
||||
// Version
|
||||
if (verboseAsm) streamer.AddComment("DW_CIE_VERSION");
|
||||
streamer.EmitIntValue(dwarf::DW_CIE_VERSION, 1);
|
||||
// For DWARF2, we use CIE version 1
|
||||
// For DWARF3+, we use CIE version 3
|
||||
uint8_t CIEVersion = context.getDwarfVersion() <= 2 ? 1 : 3;
|
||||
streamer.EmitIntValue(CIEVersion, 1);
|
||||
|
||||
// Augmentation String
|
||||
SmallString<8> Augmentation;
|
||||
|
@ -1298,7 +1301,14 @@ const MCSymbol &FrameEmitterImpl::EmitCIE(MCObjectStreamer &streamer,
|
|||
|
||||
// Return Address Register
|
||||
if (verboseAsm) streamer.AddComment("CIE Return Address Column");
|
||||
streamer.EmitULEB128IntValue(MRI->getDwarfRegNum(MRI->getRARegister(), true));
|
||||
if (CIEVersion == 1) {
|
||||
assert(MRI->getRARegister() <= 255 &&
|
||||
"DWARF 2 encodes return_address_register in one byte");
|
||||
streamer.EmitIntValue(MRI->getDwarfRegNum(MRI->getRARegister(), true), 1);
|
||||
} else {
|
||||
streamer.EmitULEB128IntValue(
|
||||
MRI->getDwarfRegNum(MRI->getRARegister(), true));
|
||||
}
|
||||
|
||||
// Augmentation Data Length (optional)
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ foo:
|
|||
// Output is:
|
||||
|
||||
// CHECK: Contents of section .eh_frame:
|
||||
// CHECK-NEXT: 0000 10000000 00000000 017a5200 017c1e01 .........zR..|..
|
||||
// CHECK-NEXT: 0000 10000000 00000000 037a5200 017c1e01 .........zR..|..
|
||||
// CHECK-NEXT: 0010 1b0c1f00 10000000 18000000 00000000 ................
|
||||
|
||||
|
||||
|
@ -30,7 +30,7 @@ foo:
|
|||
// -------------------
|
||||
// 10000000: length of first CIE = 0x10
|
||||
// 00000000: This is a CIE
|
||||
// 01: version = 0x1
|
||||
// 03: version = 0x3
|
||||
// 7a 52 00: augmentation string "zR" -- pointer format is specified
|
||||
// 01: code alignment factor 1
|
||||
// 7c: data alignment factor -4
|
||||
|
|
|
@ -16,7 +16,7 @@ clean:
|
|||
}
|
||||
|
||||
; CHECK: Contents of section .eh_frame:
|
||||
; CHECK: 0000 1c000000 00000000 017a504c 5200017c .........zPLR..|
|
||||
; CHECK: 0000 1c000000 00000000 037a504c 5200017c .........zPLR..|
|
||||
; CHECK: 0010 1e0b0000 00000000 00000000 1b0c1f00 ................
|
||||
|
||||
; Don't really care about the rest:
|
||||
|
@ -33,7 +33,7 @@ clean:
|
|||
; ----------
|
||||
; 1c000000: Length = 0x1c
|
||||
; 00000000: This is a CIE
|
||||
; 01: Version 1
|
||||
; 03: Version 3
|
||||
; 7a 50 4c 52 00: Augmentation string "zPLR" (personality routine, language-specific data, pointer format)
|
||||
; 01: Code alignment factor 1
|
||||
; 78: Data alignment factor: -8
|
||||
|
|
|
@ -23,7 +23,7 @@ check_largest_class:
|
|||
# Contents of the .eh_frame section:
|
||||
#
|
||||
# 00000000 0000001c 00000000 CIE
|
||||
# Version: 1
|
||||
# Version: 3
|
||||
# Augmentation: "zR"
|
||||
# Code alignment factor: 1
|
||||
# Data alignment factor: -8
|
||||
|
@ -48,7 +48,7 @@ check_largest_class:
|
|||
# DW_CFA_nop
|
||||
#
|
||||
# CHECK: Contents of section .eh_frame:
|
||||
# CHECK-NEXT: 0000 00000014 00000000 017a5200 01780e01 .........zR..x..
|
||||
# CHECK-NEXT: 0000 00000014 00000000 037a5200 01780e01 .........zR..x..
|
||||
# CHECK-NEXT: 0010 1b0c0fa0 01000000 0000001c 0000001c ................
|
||||
# CHECK-NEXT: 0020 00000000 00000012 00468d07 8e068f05 .........F......
|
||||
# CHECK-NEXT: 0030 440ec002 00000000 D.......
|
||||
|
|
|
@ -37,7 +37,7 @@ DW.ref.__gxx_personality_v0:
|
|||
# Contents of the .eh_frame section:
|
||||
#
|
||||
# 00000000 0000001c 00000000 CIE
|
||||
# Version: 1
|
||||
# Version: 3
|
||||
# Augmentation: "zPLR"
|
||||
# Code alignment factor: 1
|
||||
# Data alignment factor: -8
|
||||
|
@ -61,7 +61,7 @@ DW.ref.__gxx_personality_v0:
|
|||
# DW_CFA_nop
|
||||
#
|
||||
# CHECK: Contents of section .eh_frame:
|
||||
# CHECK-NEXT: 0000 0000001c 00000000 017a504c 52000178 .........zPLR..x
|
||||
# CHECK-NEXT: 0000 0000001c 00000000 037a504c 52000178 .........zPLR..x
|
||||
# CHECK-NEXT: 0010 0e079b00 0000001b 1b0c0fa0 01000000 ................
|
||||
# CHECK-NEXT: 0020 0000001c 00000024 00000000 00000012 .......$........
|
||||
# CHECK-NEXT: 0030 04000000 00468e06 8f05440e c0020000 .....F....D.....
|
||||
|
|
|
@ -28,7 +28,7 @@ f:
|
|||
// CHECK-NEXT: Relocations [
|
||||
// CHECK-NEXT: ]
|
||||
// CHECK-NEXT: SectionData (
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 017A5200 01781001
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 037A5200 01781001
|
||||
// CHECK-NEXT: 0010: 1B0C0708 90010000 1C000000 1C000000
|
||||
// CHECK-NEXT: 0020: 00000000 0A000000 00440E10 410E1444
|
||||
// CHECK-NEXT: 0030: 0E080000 00000000
|
||||
|
|
|
@ -26,7 +26,7 @@ f:
|
|||
// CHECK-NEXT: Relocations [
|
||||
// CHECK-NEXT: ]
|
||||
// CHECK-NEXT: SectionData (
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 017A5200 01781001
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 037A5200 01781001
|
||||
// CHECK-NEXT: 0010: 1B0C0708 90010000 14000000 1C000000
|
||||
// CHECK-NEXT: 0020: 00000000 01010000 00030001 0E080000
|
||||
// CHECK-NEXT: )
|
||||
|
|
|
@ -27,7 +27,7 @@ f:
|
|||
// CHECK-NEXT: Relocations [
|
||||
// CHECK-NEXT: ]
|
||||
// CHECK-NEXT: SectionData (
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 017A5200 01781001
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 037A5200 01781001
|
||||
// CHECK-NEXT: 0010: 1B0C0708 90010000 14000000 1C000000
|
||||
// CHECK-NEXT: 0020: 00000000 0A000000 00440E10 450E0800
|
||||
// CHECK-NEXT: )
|
||||
|
|
|
@ -23,7 +23,7 @@ f:
|
|||
// CHECK-NEXT: Relocations [
|
||||
// CHECK-NEXT: ]
|
||||
// CHECK-NEXT: SectionData (
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 017A5200 01781001
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 037A5200 01781001
|
||||
// CHECK-NEXT: 0010: 1B0C0708 90010000 14000000 1C000000
|
||||
// CHECK-NEXT: 0020: 00000000 02000000 00410D06 00000000
|
||||
// CHECK-NEXT: )
|
||||
|
|
|
@ -23,7 +23,7 @@ f:
|
|||
// CHECK-NEXT: Relocations [
|
||||
// CHECK-NEXT: ]
|
||||
// CHECK-NEXT: SectionData (
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 017A5200 01781001
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 037A5200 01781001
|
||||
// CHECK-NEXT: 0010: 1B0C0708 90010000 14000000 1C000000
|
||||
// CHECK-NEXT: 0020: 00000000 02000000 00410C07 08000000
|
||||
// CHECK-NEXT: )
|
||||
|
|
|
@ -24,7 +24,7 @@ f:
|
|||
// CHECK-NEXT: Relocations [
|
||||
// CHECK-NEXT: ]
|
||||
// CHECK-NEXT: SectionData (
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 017A5200 01781001
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 037A5200 01781001
|
||||
// CHECK-NEXT: 0010: 1B0C0708 90010000 14000000 1C000000
|
||||
// CHECK-NEXT: 0020: 00000000 02000000 00411507 7F000000
|
||||
// CHECK-NEXT: )
|
||||
|
|
|
@ -23,7 +23,7 @@ f:
|
|||
// CHECK-NEXT: Relocations [
|
||||
// CHECK-NEXT: ]
|
||||
// CHECK-NEXT: SectionData (
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 017A5200 01781001
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 037A5200 01781001
|
||||
// CHECK-NEXT: 0010: 1B0C0708 90010000 14000000 1C000000
|
||||
// CHECK-NEXT: 0020: 00000000 02000000 00418602 00000000
|
||||
// CHECK-NEXT: )
|
||||
|
|
|
@ -24,7 +24,7 @@ f:
|
|||
// CHECK-NEXT: Relocations [
|
||||
// CHECK-NEXT: ]
|
||||
// CHECK-NEXT: SectionData (
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 017A5200 01781001
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 037A5200 01781001
|
||||
// CHECK-NEXT: 0010: 1B0C0708 90010000 14000000 1C000000
|
||||
// CHECK-NEXT: 0020: 00000000 02000000 00410906 00000000
|
||||
// CHECK-NEXT: )
|
||||
|
|
|
@ -31,7 +31,7 @@ f:
|
|||
// CHECK-NEXT: Relocations [
|
||||
// CHECK-NEXT: ]
|
||||
// CHECK-NEXT: SectionData (
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 017A5200 01781001
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 037A5200 01781001
|
||||
// CHECK-NEXT: 0010: 1B0C0708 90010000 24000000 1C000000
|
||||
// CHECK-NEXT: 0020: 00000000 05000000 00410E08 410D0641
|
||||
// CHECK-NEXT: 0030: 11067F41 0E104186 02000000 00000000
|
||||
|
|
|
@ -23,7 +23,7 @@ f:
|
|||
// CHECK-NEXT: Relocations [
|
||||
// CHECK-NEXT: ]
|
||||
// CHECK-NEXT: SectionData (
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 017A5200 01781001
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 037A5200 01781001
|
||||
// CHECK-NEXT: 0010: 1B0C0708 90010000 14000000 1C000000
|
||||
// CHECK-NEXT: 0020: 00000000 01000000 00411106 7F000000
|
||||
// CHECK-NEXT: )
|
||||
|
|
|
@ -26,7 +26,7 @@ f:
|
|||
// CHECK-NEXT: Relocations [
|
||||
// CHECK-NEXT: ]
|
||||
// CHECK-NEXT: SectionData (
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 017A5200 01781001
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 037A5200 01781001
|
||||
// CHECK-NEXT: 0010: 1B0C0708 90010000 14000000 1C000000
|
||||
// CHECK-NEXT: 0020: 00000000 03000000 00410A41 0B000000
|
||||
// CHECK-NEXT: )
|
||||
|
|
|
@ -24,7 +24,7 @@ f:
|
|||
// CHECK-NEXT: Relocations [
|
||||
// CHECK-NEXT: ]
|
||||
// CHECK-NEXT: SectionData (
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 017A5200 01781001
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 037A5200 01781001
|
||||
// CHECK-NEXT: 0010: 1B0C0708 90010000 14000000 1C000000
|
||||
// CHECK-NEXT: 0020: 00000000 02000000 0041C600 00000000
|
||||
// CHECK-NEXT: )
|
||||
|
|
|
@ -24,7 +24,7 @@ f:
|
|||
// CHECK-NEXT: Relocations [
|
||||
// CHECK-NEXT: ]
|
||||
// CHECK-NEXT: SectionData (
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 017A5200 01781001
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 037A5200 01781001
|
||||
// CHECK-NEXT: 0010: 1B0C0708 90010000 14000000 1C000000
|
||||
// CHECK-NEXT: 0020: 00000000 02000000 00410806 00000000
|
||||
// CHECK-NEXT: )
|
||||
|
|
|
@ -26,7 +26,7 @@ f2:
|
|||
// ELF_64-NEXT: AddressAlignment: 8
|
||||
// ELF_64-NEXT: EntrySize: 0
|
||||
// ELF_64-NEXT: SectionData (
|
||||
// ELF_64-NEXT: 0000: 14000000 FFFFFFFF 01000178 100C0708
|
||||
// ELF_64-NEXT: 0000: 14000000 FFFFFFFF 03000178 100C0708
|
||||
// ELF_64-NEXT: 0010: 90010000 00000000 14000000 00000000
|
||||
// ELF_64-NEXT: 0020: 00000000 00000000 01000000 00000000
|
||||
// ELF_64-NEXT: 0030: 14000000 00000000 00000000 00000000
|
||||
|
@ -47,7 +47,7 @@ f2:
|
|||
// ELF_32-NEXT: AddressAlignment: 4
|
||||
// ELF_32-NEXT: EntrySize: 0
|
||||
// ELF_32-NEXT: SectionData (
|
||||
// ELF_32-NEXT: 0000: 10000000 FFFFFFFF 0100017C 080C0404
|
||||
// ELF_32-NEXT: 0000: 10000000 FFFFFFFF 0300017C 080C0404
|
||||
// ELF_32-NEXT: 0010: 88010000 0C000000 00000000 00000000
|
||||
// ELF_32-NEXT: 0020: 01000000 0C000000 00000000 01000000
|
||||
// ELF_32-NEXT: 0030: 01000000
|
||||
|
|
|
@ -23,10 +23,10 @@ g:
|
|||
// CHECK-NEXT: AddressAlignment: 8
|
||||
// CHECK-NEXT: EntrySize: 0
|
||||
// CHECK-NEXT: SectionData (
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 017A5253 00017810
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 037A5253 00017810
|
||||
// CHECK-NEXT: 0010: 011B0C07 08900100 10000000 1C000000
|
||||
// CHECK-NEXT: 0020: 00000000 00000000 00000000 14000000
|
||||
// CHECK-NEXT: 0030: 00000000 017A5200 01781001 1B0C0708
|
||||
// CHECK-NEXT: 0030: 00000000 037A5200 01781001 1B0C0708
|
||||
// CHECK-NEXT: 0040: 90010000 10000000 1C000000 00000000
|
||||
// CHECK-NEXT: 0050: 00000000 00000000
|
||||
// CHECK-NEXT: )
|
||||
|
|
|
@ -24,7 +24,7 @@ f:
|
|||
// CHECK-NEXT: Relocations [
|
||||
// CHECK-NEXT: ]
|
||||
// CHECK-NEXT: SectionData (
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 017A5200 01781001
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 037A5200 01781001
|
||||
// CHECK-NEXT: 0010: 1B0C0708 90010000 14000000 1C000000
|
||||
// CHECK-NEXT: 0020: 00000000 02000000 00410706 00000000
|
||||
// CHECK-NEXT: )
|
||||
|
|
|
@ -0,0 +1,47 @@
|
|||
; RUN: llc %s -o - -dwarf-version 2 -filetype=obj | llvm-dwarfdump - | FileCheck %s --check-prefix=DWARF2
|
||||
; RUN: llc %s -o - -dwarf-version 3 -filetype=obj | llvm-dwarfdump - | FileCheck %s --check-prefix=DWARF34
|
||||
; RUN: llc %s -o - -dwarf-version 4 -filetype=obj | llvm-dwarfdump - | FileCheck %s --check-prefix=DWARF34
|
||||
|
||||
target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-n32-S64"
|
||||
target triple = "armv8-arm-none-eabi"
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define i32 @foo() #0 {
|
||||
entry:
|
||||
%call = call i32 bitcast (i32 (...)* @bar to i32 ()*)(), !dbg !12
|
||||
%add = add nsw i32 %call, 1, !dbg !12
|
||||
ret i32 %add, !dbg !12
|
||||
}
|
||||
|
||||
declare i32 @bar(...) #1
|
||||
|
||||
attributes #0 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
|
||||
attributes #1 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
|
||||
|
||||
!llvm.dbg.cu = !{!0}
|
||||
!llvm.module.flags = !{!9, !10}
|
||||
!llvm.ident = !{!11}
|
||||
|
||||
!0 = metadata !{i32 786449, metadata !1, i32 12, metadata !"clang version 3.5.0 ", i1 false, metadata !"", i32 0, metadata !2, metadata !2, metadata !3, metadata !2, metadata !2, metadata !"", i32 1} ; [ DW_TAG_compile_unit ] [/tmp/test.c] [DW_LANG_C99]
|
||||
!1 = metadata !{metadata !"test.c", metadata !"/tmp"}
|
||||
!2 = metadata !{}
|
||||
!3 = metadata !{metadata !4}
|
||||
!4 = metadata !{i32 786478, metadata !1, metadata !5, metadata !"foo", metadata !"foo", metadata !"", i32 2, metadata !6, i1 false, i1 true, i32 0, i32 0, null, i32 256, i1 false, i32 ()* @foo, null, null, metadata !2, i32 2} ; [ DW_TAG_subprogram ] [line 2] [def] [foo]
|
||||
!5 = metadata !{i32 786473, metadata !1} ; [ DW_TAG_file_type ] [/tmp/test.c]
|
||||
!6 = metadata !{i32 786453, i32 0, null, metadata !"", i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !7, i32 0, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
|
||||
!7 = metadata !{metadata !8}
|
||||
!8 = metadata !{i32 786468, null, null, metadata !"int", i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ] [int] [line 0, size 32, align 32, offset 0, enc DW_ATE_signed]
|
||||
!9 = metadata !{i32 2, metadata !"Dwarf Version", i32 4}
|
||||
!10 = metadata !{i32 1, metadata !"Debug Info Version", i32 1}
|
||||
!11 = metadata !{metadata !"clang version 3.5.0 "}
|
||||
!12 = metadata !{i32 2, i32 0, metadata !4, null}
|
||||
|
||||
; DWARF2: .debug_frame contents:
|
||||
; DWARF2: 00000000 0000000c ffffffff CIE
|
||||
; DWARF2-NEXT: Version: 1
|
||||
; DWARF2-NEXT: Augmentation:
|
||||
|
||||
; DWARF34: .debug_frame contents:
|
||||
; DWARF34: 00000000 0000000c ffffffff CIE
|
||||
; DWARF34-NEXT: Version: 3
|
||||
; DWARF34-NEXT: Augmentation:
|
|
@ -26,7 +26,7 @@ f:
|
|||
// CHECK-NEXT: Relocations [
|
||||
// CHECK-NEXT: ]
|
||||
// CHECK-NEXT: SectionData (
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 017A5200 01781001
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 037A5200 01781001
|
||||
// CHECK-NEXT: 0010: 1B0C0708 90010000 14000000 1C000000
|
||||
// CHECK-NEXT: 0020: 00000000 02000000 00412D00 00000000
|
||||
// CHECK-NEXT: )
|
||||
|
|
|
@ -30,7 +30,7 @@ f:
|
|||
// CHECK-NEXT: Relocations [
|
||||
// CHECK-NEXT: ]
|
||||
// CHECK-NEXT: SectionData (
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 017A5200 01781001
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 037A5200 01781001
|
||||
// CHECK-NEXT: 0010: 1B0C0708 90010000 1C000000 1C000000
|
||||
// CHECK-NEXT: 0020: 00000000 04000000 00410E10 410A0E08
|
||||
// CHECK-NEXT: 0030: 410B0000 00000000
|
||||
|
|
|
@ -234,116 +234,116 @@ f37:
|
|||
// CHECK-NEXT: Relocations [
|
||||
// CHECK-NEXT: ]
|
||||
// CHECK-NEXT: SectionData (
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 017A4C52 00017810
|
||||
// CHECK-NEXT: 0000: 14000000 00000000 037A4C52 00017810
|
||||
// CHECK-NEXT: 0010: 02031B0C 07089001 14000000 1C000000
|
||||
// CHECK-NEXT: 0020: 00000000 01000000 04000000 00000000
|
||||
// CHECK-NEXT: 0030: 20000000 00000000 017A504C 52000178
|
||||
// CHECK-NEXT: 0030: 20000000 00000000 037A504C 52000178
|
||||
// CHECK-NEXT: 0040: 100B0000 00000000 00000003 1B0C0708
|
||||
// CHECK-NEXT: 0050: 90010000 14000000 28000000 00000000
|
||||
// CHECK-NEXT: 0060: 01000000 04000000 00000000 14000000
|
||||
// CHECK-NEXT: 0070: 70000000 00000000 01000000 04000000
|
||||
// CHECK-NEXT: 0080: 00000000 20000000 00000000 017A504C
|
||||
// CHECK-NEXT: 0080: 00000000 20000000 00000000 037A504C
|
||||
// CHECK-NEXT: 0090: 52000178 100B0000 00000000 00000002
|
||||
// CHECK-NEXT: 00A0: 1B0C0708 90010000 10000000 28000000
|
||||
// CHECK-NEXT: 00B0: 00000000 01000000 02000000 18000000
|
||||
// CHECK-NEXT: 00C0: 00000000 017A5052 00017810 04020000
|
||||
// CHECK-NEXT: 00C0: 00000000 037A5052 00017810 04020000
|
||||
// CHECK-NEXT: 00D0: 1B0C0708 90010000 10000000 20000000
|
||||
// CHECK-NEXT: 00E0: 00000000 01000000 00000000 18000000
|
||||
// CHECK-NEXT: 00F0: 00000000 017A5052 00017810 06030000
|
||||
// CHECK-NEXT: 00F0: 00000000 037A5052 00017810 06030000
|
||||
// CHECK-NEXT: 0100: 00001B0C 07089001 10000000 20000000
|
||||
// CHECK-NEXT: 0110: 00000000 01000000 00000000 1C000000
|
||||
// CHECK-NEXT: 0120: 00000000 017A5052 00017810 0A040000
|
||||
// CHECK-NEXT: 0120: 00000000 037A5052 00017810 0A040000
|
||||
// CHECK-NEXT: 0130: 00000000 00001B0C 07089001 10000000
|
||||
// CHECK-NEXT: 0140: 24000000 00000000 01000000 00000000
|
||||
// CHECK-NEXT: 0150: 18000000 00000000 017A5052 00017810
|
||||
// CHECK-NEXT: 0150: 18000000 00000000 037A5052 00017810
|
||||
// CHECK-NEXT: 0160: 040A0000 1B0C0708 90010000 10000000
|
||||
// CHECK-NEXT: 0170: 20000000 00000000 01000000 00000000
|
||||
// CHECK-NEXT: 0180: 18000000 00000000 017A5052 00017810
|
||||
// CHECK-NEXT: 0180: 18000000 00000000 037A5052 00017810
|
||||
// CHECK-NEXT: 0190: 060B0000 00001B0C 07089001 10000000
|
||||
// CHECK-NEXT: 01A0: 20000000 00000000 01000000 00000000
|
||||
// CHECK-NEXT: 01B0: 1C000000 00000000 017A5052 00017810
|
||||
// CHECK-NEXT: 01B0: 1C000000 00000000 037A5052 00017810
|
||||
// CHECK-NEXT: 01C0: 0A0C0000 00000000 00001B0C 07089001
|
||||
// CHECK-NEXT: 01D0: 10000000 24000000 00000000 01000000
|
||||
// CHECK-NEXT: 01E0: 00000000 1C000000 00000000 017A5052
|
||||
// CHECK-NEXT: 01E0: 00000000 1C000000 00000000 037A5052
|
||||
// CHECK-NEXT: 01F0: 00017810 0A080000 00000000 00001B0C
|
||||
// CHECK-NEXT: 0200: 07089001 10000000 24000000 00000000
|
||||
// CHECK-NEXT: 0210: 01000000 00000000 1C000000 00000000
|
||||
// CHECK-NEXT: 0220: 017A5052 00017810 0A100000 00000000
|
||||
// CHECK-NEXT: 0220: 037A5052 00017810 0A100000 00000000
|
||||
// CHECK-NEXT: 0230: 00001B0C 07089001 10000000 24000000
|
||||
// CHECK-NEXT: 0240: 00000000 01000000 00000000 18000000
|
||||
// CHECK-NEXT: 0250: 00000000 017A5052 00017810 04120000
|
||||
// CHECK-NEXT: 0250: 00000000 037A5052 00017810 04120000
|
||||
// CHECK-NEXT: 0260: 1B0C0708 90010000 10000000 20000000
|
||||
// CHECK-NEXT: 0270: 00000000 01000000 00000000 18000000
|
||||
// CHECK-NEXT: 0280: 00000000 017A5052 00017810 06130000
|
||||
// CHECK-NEXT: 0280: 00000000 037A5052 00017810 06130000
|
||||
// CHECK-NEXT: 0290: 00001B0C 07089001 10000000 20000000
|
||||
// CHECK-NEXT: 02A0: 00000000 01000000 00000000 1C000000
|
||||
// CHECK-NEXT: 02B0: 00000000 017A5052 00017810 0A140000
|
||||
// CHECK-NEXT: 02B0: 00000000 037A5052 00017810 0A140000
|
||||
// CHECK-NEXT: 02C0: 00000000 00001B0C 07089001 10000000
|
||||
// CHECK-NEXT: 02D0: 24000000 00000000 01000000 00000000
|
||||
// CHECK-NEXT: 02E0: 18000000 00000000 017A5052 00017810
|
||||
// CHECK-NEXT: 02E0: 18000000 00000000 037A5052 00017810
|
||||
// CHECK-NEXT: 02F0: 041A0000 1B0C0708 90010000 10000000
|
||||
// CHECK-NEXT: 0300: 20000000 00000000 01000000 00000000
|
||||
// CHECK-NEXT: 0310: 18000000 00000000 017A5052 00017810
|
||||
// CHECK-NEXT: 0310: 18000000 00000000 037A5052 00017810
|
||||
// CHECK-NEXT: 0320: 061B0000 00001B0C 07089001 10000000
|
||||
// CHECK-NEXT: 0330: 20000000 00000000 01000000 00000000
|
||||
// CHECK-NEXT: 0340: 1C000000 00000000 017A5052 00017810
|
||||
// CHECK-NEXT: 0340: 1C000000 00000000 037A5052 00017810
|
||||
// CHECK-NEXT: 0350: 0A1C0000 00000000 00001B0C 07089001
|
||||
// CHECK-NEXT: 0360: 10000000 24000000 00000000 01000000
|
||||
// CHECK-NEXT: 0370: 00000000 1C000000 00000000 017A5052
|
||||
// CHECK-NEXT: 0370: 00000000 1C000000 00000000 037A5052
|
||||
// CHECK-NEXT: 0380: 00017810 0A180000 00000000 00001B0C
|
||||
// CHECK-NEXT: 0390: 07089001 10000000 24000000 00000000
|
||||
// CHECK-NEXT: 03A0: 01000000 00000000 1C000000 00000000
|
||||
// CHECK-NEXT: 03B0: 017A5052 00017810 0A800000 00000000
|
||||
// CHECK-NEXT: 03B0: 037A5052 00017810 0A800000 00000000
|
||||
// CHECK-NEXT: 03C0: 00001B0C 07089001 10000000 24000000
|
||||
// CHECK-NEXT: 03D0: 00000000 01000000 00000000 18000000
|
||||
// CHECK-NEXT: 03E0: 00000000 017A5052 00017810 04820000
|
||||
// CHECK-NEXT: 03E0: 00000000 037A5052 00017810 04820000
|
||||
// CHECK-NEXT: 03F0: 1B0C0708 90010000 10000000 20000000
|
||||
// CHECK-NEXT: 0400: 00000000 01000000 00000000 18000000
|
||||
// CHECK-NEXT: 0410: 00000000 017A5052 00017810 06830000
|
||||
// CHECK-NEXT: 0410: 00000000 037A5052 00017810 06830000
|
||||
// CHECK-NEXT: 0420: 00001B0C 07089001 10000000 20000000
|
||||
// CHECK-NEXT: 0430: 00000000 01000000 00000000 1C000000
|
||||
// CHECK-NEXT: 0440: 00000000 017A5052 00017810 0A840000
|
||||
// CHECK-NEXT: 0440: 00000000 037A5052 00017810 0A840000
|
||||
// CHECK-NEXT: 0450: 00000000 00001B0C 07089001 10000000
|
||||
// CHECK-NEXT: 0460: 24000000 00000000 01000000 00000000
|
||||
// CHECK-NEXT: 0470: 18000000 00000000 017A5052 00017810
|
||||
// CHECK-NEXT: 0470: 18000000 00000000 037A5052 00017810
|
||||
// CHECK-NEXT: 0480: 048A0000 1B0C0708 90010000 10000000
|
||||
// CHECK-NEXT: 0490: 20000000 00000000 01000000 00000000
|
||||
// CHECK-NEXT: 04A0: 18000000 00000000 017A5052 00017810
|
||||
// CHECK-NEXT: 04A0: 18000000 00000000 037A5052 00017810
|
||||
// CHECK-NEXT: 04B0: 068B0000 00001B0C 07089001 10000000
|
||||
// CHECK-NEXT: 04C0: 20000000 00000000 01000000 00000000
|
||||
// CHECK-NEXT: 04D0: 1C000000 00000000 017A5052 00017810
|
||||
// CHECK-NEXT: 04D0: 1C000000 00000000 037A5052 00017810
|
||||
// CHECK-NEXT: 04E0: 0A8C0000 00000000 00001B0C 07089001
|
||||
// CHECK-NEXT: 04F0: 10000000 24000000 00000000 01000000
|
||||
// CHECK-NEXT: 0500: 00000000 1C000000 00000000 017A5052
|
||||
// CHECK-NEXT: 0500: 00000000 1C000000 00000000 037A5052
|
||||
// CHECK-NEXT: 0510: 00017810 0A880000 00000000 00001B0C
|
||||
// CHECK-NEXT: 0520: 07089001 10000000 24000000 00000000
|
||||
// CHECK-NEXT: 0530: 01000000 00000000 1C000000 00000000
|
||||
// CHECK-NEXT: 0540: 017A5052 00017810 0A900000 00000000
|
||||
// CHECK-NEXT: 0540: 037A5052 00017810 0A900000 00000000
|
||||
// CHECK-NEXT: 0550: 00001B0C 07089001 10000000 24000000
|
||||
// CHECK-NEXT: 0560: 00000000 01000000 00000000 18000000
|
||||
// CHECK-NEXT: 0570: 00000000 017A5052 00017810 04920000
|
||||
// CHECK-NEXT: 0570: 00000000 037A5052 00017810 04920000
|
||||
// CHECK-NEXT: 0580: 1B0C0708 90010000 10000000 20000000
|
||||
// CHECK-NEXT: 0590: 00000000 01000000 00000000 18000000
|
||||
// CHECK-NEXT: 05A0: 00000000 017A5052 00017810 06930000
|
||||
// CHECK-NEXT: 05A0: 00000000 037A5052 00017810 06930000
|
||||
// CHECK-NEXT: 05B0: 00001B0C 07089001 10000000 20000000
|
||||
// CHECK-NEXT: 05C0: 00000000 01000000 00000000 1C000000
|
||||
// CHECK-NEXT: 05D0: 00000000 017A5052 00017810 0A940000
|
||||
// CHECK-NEXT: 05D0: 00000000 037A5052 00017810 0A940000
|
||||
// CHECK-NEXT: 05E0: 00000000 00001B0C 07089001 10000000
|
||||
// CHECK-NEXT: 05F0: 24000000 00000000 01000000 00000000
|
||||
// CHECK-NEXT: 0600: 18000000 00000000 017A5052 00017810
|
||||
// CHECK-NEXT: 0600: 18000000 00000000 037A5052 00017810
|
||||
// CHECK-NEXT: 0610: 049A0000 1B0C0708 90010000 10000000
|
||||
// CHECK-NEXT: 0620: 20000000 00000000 01000000 00000000
|
||||
// CHECK-NEXT: 0630: 18000000 00000000 017A5052 00017810
|
||||
// CHECK-NEXT: 0630: 18000000 00000000 037A5052 00017810
|
||||
// CHECK-NEXT: 0640: 069B0000 00001B0C 07089001 10000000
|
||||
// CHECK-NEXT: 0650: 20000000 00000000 01000000 00000000
|
||||
// CHECK-NEXT: 0660: 1C000000 00000000 017A5052 00017810
|
||||
// CHECK-NEXT: 0660: 1C000000 00000000 037A5052 00017810
|
||||
// CHECK-NEXT: 0670: 0A9C0000 00000000 00001B0C 07089001
|
||||
// CHECK-NEXT: 0680: 10000000 24000000 00000000 01000000
|
||||
// CHECK-NEXT: 0690: 00000000 1C000000 00000000 017A5052
|
||||
// CHECK-NEXT: 0690: 00000000 1C000000 00000000 037A5052
|
||||
// CHECK-NEXT: 06A0: 00017810 0A980000 00000000 00001B0C
|
||||
// CHECK-NEXT: 06B0: 07089001 10000000 24000000 00000000
|
||||
// CHECK-NEXT: 06C0: 01000000 00000000 10000000 00000000
|
||||
// CHECK-NEXT: 06D0: 017A5200 01781001 1B000000 10000000
|
||||
// CHECK-NEXT: 06D0: 037A5200 01781001 1B000000 10000000
|
||||
// CHECK-NEXT: 06E0: 18000000 00000000 01000000 00000000
|
||||
// CHECK-NEXT: )
|
||||
// CHECK-NEXT: }
|
||||
|
|
|
@ -31,7 +31,7 @@ func:
|
|||
// MIPS32: 00000000
|
||||
|
||||
// Version
|
||||
// MIPS32: 01
|
||||
// MIPS32: 03
|
||||
|
||||
// Augmentation String
|
||||
// MIPS32: 7a5200
|
||||
|
@ -67,7 +67,7 @@ func:
|
|||
// MIPS32EL: 00000000
|
||||
|
||||
// Version
|
||||
// MIPS32EL: 01
|
||||
// MIPS32EL: 03
|
||||
|
||||
// Augmentation String
|
||||
// MIPS32EL: 7a5200
|
||||
|
@ -103,7 +103,7 @@ func:
|
|||
// MIPS64: 00000000
|
||||
|
||||
// Version
|
||||
// MIPS64: 01
|
||||
// MIPS64: 03
|
||||
|
||||
// Augmentation String
|
||||
// MIPS64: 7a5200
|
||||
|
@ -141,7 +141,7 @@ func:
|
|||
// MIPS64EL: 00000000
|
||||
|
||||
// Version
|
||||
// MIPS64EL: 01
|
||||
// MIPS64EL: 03
|
||||
|
||||
// Augmentation String
|
||||
// MIPS64EL: 7a5200
|
||||
|
|
|
@ -28,8 +28,8 @@ _proc:
|
|||
# STATIC-NEXT: Relocations [
|
||||
# STATIC-NEXT: ]
|
||||
# STATIC-NEXT: SectionData (
|
||||
# STATIC-BE-NEXT: 0000: 00000010 00000000 017A5200 04784101
|
||||
# STATIC-LE-NEXT: 0000: 10000000 00000000 017A5200 04784101
|
||||
# STATIC-BE-NEXT: 0000: 00000010 00000000 037A5200 04784101
|
||||
# STATIC-LE-NEXT: 0000: 10000000 00000000 037A5200 04784101
|
||||
# STATIC-BE-NEXT: 0010: 1B0C0100 00000010 00000018 00000000
|
||||
# STATIC-LE-NEXT: 0010: 1B0C0100 10000000 18000000 00000000
|
||||
# STATIC-BE-NEXT: 0020: 00000004 00000000
|
||||
|
@ -69,8 +69,8 @@ _proc:
|
|||
# PIC-NEXT: Relocations [
|
||||
# PIC-NEXT: ]
|
||||
# PIC-NEXT: SectionData (
|
||||
# PIC-BE-NEXT: 0000: 00000010 00000000 017A5200 04784101
|
||||
# PIC-LE-NEXT: 0000: 10000000 00000000 017A5200 04784101
|
||||
# PIC-BE-NEXT: 0000: 00000010 00000000 037A5200 04784101
|
||||
# PIC-LE-NEXT: 0000: 10000000 00000000 037A5200 04784101
|
||||
# PIC-BE-NEXT: 0010: 1B0C0100 00000010 00000018 00000000
|
||||
# PIC-LE-NEXT: 0010: 1B0C0100 10000000 18000000 00000000
|
||||
# PIC-BE-NEXT: 0020: 00000004 00000000
|
||||
|
|
Loading…
Reference in New Issue