xref: /aosp_15_r20/external/llvm/test/MC/ELF/discriminator.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc -triple i386-unknown-unknown %s -filetype=obj -o %t.o
2*9880d681SAndroid Build Coastguard Worker# RUN: llvm-readobj -r %t.o | FileCheck %s
3*9880d681SAndroid Build Coastguard Worker# RUN: llvm-dwarfdump -debug-dump=line %t.o | FileCheck %s -check-prefix=DWARF-DUMP
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Worker    .file 1 "foo.c"
6*9880d681SAndroid Build Coastguard Worker    .text
7*9880d681SAndroid Build Coastguard Worker    .globl foo
8*9880d681SAndroid Build Coastguard Worker    .type foo, @function
9*9880d681SAndroid Build Coastguard Worker    .align 4
10*9880d681SAndroid Build Coastguard Workerfoo:
11*9880d681SAndroid Build Coastguard Worker    .loc 1 2 discriminator 1
12*9880d681SAndroid Build Coastguard Worker    ret
13*9880d681SAndroid Build Coastguard Worker    .size foo, .-foo
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Worker        .section        .debug_info,"",@progbits
16*9880d681SAndroid Build Coastguard Worker.L.debug_info_begin0:
17*9880d681SAndroid Build Coastguard Worker        .long   34                      # Length of Unit
18*9880d681SAndroid Build Coastguard Worker        .short  4                       # DWARF version number
19*9880d681SAndroid Build Coastguard Worker        .long   .L.debug_abbrev_begin   # Offset Into Abbrev. Section
20*9880d681SAndroid Build Coastguard Worker        .byte   8                       # Address Size (in bytes)
21*9880d681SAndroid Build Coastguard Worker        .byte   1                       # Abbrev [1] 0xb:0x1b DW_TAG_compile_unit
22*9880d681SAndroid Build Coastguard Worker        .long   info_string0            # DW_AT_producer
23*9880d681SAndroid Build Coastguard Worker        .short  12                      # DW_AT_language
24*9880d681SAndroid Build Coastguard Worker        .long   info_string1            # DW_AT_name
25*9880d681SAndroid Build Coastguard Worker        .quad   0                       # DW_AT_low_pc
26*9880d681SAndroid Build Coastguard Worker        .long   0                       # DW_AT_stmt_list
27*9880d681SAndroid Build Coastguard Worker        .long   info_string2            # DW_AT_comp_dir
28*9880d681SAndroid Build Coastguard Worker                                        # DW_AT_APPLE_optimized
29*9880d681SAndroid Build Coastguard Worker        .section        .debug_abbrev,"",@progbits
30*9880d681SAndroid Build Coastguard Worker.L.debug_abbrev_begin:
31*9880d681SAndroid Build Coastguard Worker        .byte   1                       # Abbreviation Code
32*9880d681SAndroid Build Coastguard Worker        .byte   17                      # DW_TAG_compile_unit
33*9880d681SAndroid Build Coastguard Worker        .byte   0                       # DW_CHILDREN_no
34*9880d681SAndroid Build Coastguard Worker        .byte   37                      # DW_AT_producer
35*9880d681SAndroid Build Coastguard Worker        .byte   14                      # DW_FORM_strp
36*9880d681SAndroid Build Coastguard Worker        .byte   19                      # DW_AT_language
37*9880d681SAndroid Build Coastguard Worker        .byte   5                       # DW_FORM_data2
38*9880d681SAndroid Build Coastguard Worker        .byte   3                       # DW_AT_name
39*9880d681SAndroid Build Coastguard Worker        .byte   14                      # DW_FORM_strp
40*9880d681SAndroid Build Coastguard Worker        .byte   17                      # DW_AT_low_pc
41*9880d681SAndroid Build Coastguard Worker        .byte   1                       # DW_FORM_addr
42*9880d681SAndroid Build Coastguard Worker        .byte   16                      # DW_AT_stmt_list
43*9880d681SAndroid Build Coastguard Worker        .byte   23                      # DW_FORM_sec_offset
44*9880d681SAndroid Build Coastguard Worker        .byte   27                      # DW_AT_comp_dir
45*9880d681SAndroid Build Coastguard Worker        .byte   14                      # DW_FORM_strp
46*9880d681SAndroid Build Coastguard Worker        .ascii  "\341\177"              # DW_AT_APPLE_optimized
47*9880d681SAndroid Build Coastguard Worker        .byte   25                      # DW_FORM_flag_present
48*9880d681SAndroid Build Coastguard Worker        .byte   0                       # EOM(1)
49*9880d681SAndroid Build Coastguard Worker        .byte   0                       # EOM(2)
50*9880d681SAndroid Build Coastguard Worker        .byte   0                       # EOM(3)
51*9880d681SAndroid Build Coastguard Worker.L.debug_abbrev_end:
52*9880d681SAndroid Build Coastguard Worker
53*9880d681SAndroid Build Coastguard Worker
54*9880d681SAndroid Build Coastguard Worker# CHECK:      Relocations [
55*9880d681SAndroid Build Coastguard Worker# CHECK:        Section ({{[^ ]+}}) .rel.debug_line {
56*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     0x2D R_386_32 .text 0x0
57*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:   }
58*9880d681SAndroid Build Coastguard Worker
59*9880d681SAndroid Build Coastguard Worker# DWARF-DUMP: Address            Line   Column File   ISA Discriminator Flags
60*9880d681SAndroid Build Coastguard Worker# DWARF-DUMP: ------------------ ------ ------ ------ --- ------------- -------------
61*9880d681SAndroid Build Coastguard Worker# DWARF-DUMP: 0x0001021300000000     1      0      1   0             1  is_stmt
62