reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56
   57
   58
   59
   60
   61
   62
   63
   64
   65
   66
   67
   68
   69
   70
   71
   72
   73
   74
   75
   76
   77
   78
   79
   80
   81
   82
   83
   84
   85
   86
   87
   88
   89
   90
   91
   92
   93
   94
   95
   96
   97
   98
   99
  100
  101
  102
  103
  104
  105
  106
  107
  108
  109
  110
  111
  112
  113
  114
  115
  116
  117
  118
  119
  120
  121
  122
  123
  124
  125
  126
  127
  128
  129
  130
  131
  132
  133
  134
  135
  136
  137
  138
  139
  140
  141
  142
  143
  144
  145
  146
  147
  148
  149
  150
  151
  152
  153
  154
  155
  156
  157
  158
  159
  160
  161
  162
  163
  164
  165
  166
  167
  168
  169
  170
  171
  172
  173
  174
  175
  176
  177
  178
  179
  180
  181
  182
  183
  184
  185
  186
# This assembly file was generated from the following trivial C code:
# $ cat scattered.c 
# int bar = 42;
# $ clang -S -arch armv7 -g scattered.c
# $ clang -c -o 1.o scattered.s
#
# Then I edited the debug info bellow to change the DW_AT_location of the bar
# variable from '.long _bar' to '.long _bar + 16' in order to generate a
# scattered reloc (I do not think LLVM will generate scattered relocs in
# debug info by itself).

	.section	__TEXT,__text,regular,pure_instructions
	.ios_version_min 5, 0
	.syntax unified
	.file	1 "scattered.c"
	.section	__DATA,__data
	.globl	_bar                    @ @bar
	.p2align	2
_bar:
	.long	42                      @ 0x2a

	.section	__DWARF,__debug_str,regular,debug
Linfo_string:
	.asciz	"clang version 3.9.0 (trunk 259311)" @ string offset=0
	.asciz	"scattered.c"           @ string offset=35
	.asciz	"/tmp"                  @ string offset=47
	.asciz	"bar"                   @ string offset=52
	.asciz	"int"                   @ string offset=56
	.section	__DWARF,__debug_loc,regular,debug
Lsection_debug_loc:
	.section	__DWARF,__debug_abbrev,regular,debug
Lsection_abbrev:
	.byte	1                       @ Abbreviation Code
	.byte	17                      @ DW_TAG_compile_unit
	.byte	1                       @ DW_CHILDREN_yes
	.byte	37                      @ DW_AT_producer
	.byte	14                      @ DW_FORM_strp
	.byte	19                      @ DW_AT_language
	.byte	5                       @ DW_FORM_data2
	.byte	3                       @ DW_AT_name
	.byte	14                      @ DW_FORM_strp
	.byte	16                      @ DW_AT_stmt_list
	.byte	6                       @ DW_FORM_data4
	.byte	27                      @ DW_AT_comp_dir
	.byte	14                      @ DW_FORM_strp
	.byte	0                       @ EOM(1)
	.byte	0                       @ EOM(2)
	.byte	2                       @ Abbreviation Code
	.byte	52                      @ DW_TAG_variable
	.byte	0                       @ DW_CHILDREN_no
	.byte	3                       @ DW_AT_name
	.byte	14                      @ DW_FORM_strp
	.byte	73                      @ DW_AT_type
	.byte	19                      @ DW_FORM_ref4
	.byte	63                      @ DW_AT_external
	.byte	12                      @ DW_FORM_flag
	.byte	58                      @ DW_AT_decl_file
	.byte	11                      @ DW_FORM_data1
	.byte	59                      @ DW_AT_decl_line
	.byte	11                      @ DW_FORM_data1
	.byte	2                       @ DW_AT_location
	.byte	10                      @ DW_FORM_block1
	.byte	0                       @ EOM(1)
	.byte	0                       @ EOM(2)
	.byte	3                       @ Abbreviation Code
	.byte	36                      @ DW_TAG_base_type
	.byte	0                       @ DW_CHILDREN_no
	.byte	3                       @ DW_AT_name
	.byte	14                      @ DW_FORM_strp
	.byte	62                      @ DW_AT_encoding
	.byte	11                      @ DW_FORM_data1
	.byte	11                      @ DW_AT_byte_size
	.byte	11                      @ DW_FORM_data1
	.byte	0                       @ EOM(1)
	.byte	0                       @ EOM(2)
	.byte	0                       @ EOM(3)
	.section	__DWARF,__debug_info,regular,debug
Lsection_info:
Lcu_begin0:
	.long	52                      @ Length of Unit
	.short	2                       @ DWARF version number
Lset0 = Lsection_abbrev-Lsection_abbrev @ Offset Into Abbrev. Section
	.long	Lset0
	.byte	4                       @ Address Size (in bytes)
	.byte	1                       @ Abbrev [1] 0xb:0x2d DW_TAG_compile_unit
	.long	0                       @ DW_AT_producer
	.short	12                      @ DW_AT_language
	.long	35                      @ DW_AT_name
Lset1 = Lline_table_start0-Lsection_line @ DW_AT_stmt_list
	.long	Lset1
	.long	47                      @ DW_AT_comp_dir
	.byte	2                       @ Abbrev [2] 0x1e:0x12 DW_TAG_variable
	.long	52                      @ DW_AT_name
	.long	48                      @ DW_AT_type
	.byte	1                       @ DW_AT_external
	.byte	1                       @ DW_AT_decl_file
	.byte	1                       @ DW_AT_decl_line
	.byte	5                       @ DW_AT_location
	.byte	3
	.long	_bar + 16
	.byte	3                       @ Abbrev [3] 0x30:0x7 DW_TAG_base_type
	.long	56                      @ DW_AT_name
	.byte	5                       @ DW_AT_encoding
	.byte	4                       @ DW_AT_byte_size
	.byte	0                       @ End Of Children Mark
	.section	__DWARF,__debug_ranges,regular,debug
Ldebug_range:
	.section	__DWARF,__debug_macinfo,regular,debug
	.byte	0                       @ End Of Macro List Mark
	.section	__DWARF,__apple_names,regular,debug
Lnames_begin:
	.long	1212240712              @ Header Magic
	.short	1                       @ Header Version
	.short	0                       @ Header Hash Function
	.long	1                       @ Header Bucket Count
	.long	1                       @ Header Hash Count
	.long	12                      @ Header Data Length
	.long	0                       @ HeaderData Die Offset Base
	.long	1                       @ HeaderData Atom Count
	.short	1                       @ DW_ATOM_die_offset
	.short	6                       @ DW_FORM_data4
	.long	0                       @ Bucket 0
	.long	193487034               @ Hash in Bucket 0
	.long	LNames0-Lnames_begin    @ Offset in Bucket 0
LNames0:
	.long	52                      @ bar
	.long	1                       @ Num DIEs
	.long	30
	.long	0
	.section	__DWARF,__apple_objc,regular,debug
Lobjc_begin:
	.long	1212240712              @ Header Magic
	.short	1                       @ Header Version
	.short	0                       @ Header Hash Function
	.long	1                       @ Header Bucket Count
	.long	0                       @ Header Hash Count
	.long	12                      @ Header Data Length
	.long	0                       @ HeaderData Die Offset Base
	.long	1                       @ HeaderData Atom Count
	.short	1                       @ DW_ATOM_die_offset
	.short	6                       @ DW_FORM_data4
	.long	-1                      @ Bucket 0
	.section	__DWARF,__apple_namespac,regular,debug
Lnamespac_begin:
	.long	1212240712              @ Header Magic
	.short	1                       @ Header Version
	.short	0                       @ Header Hash Function
	.long	1                       @ Header Bucket Count
	.long	0                       @ Header Hash Count
	.long	12                      @ Header Data Length
	.long	0                       @ HeaderData Die Offset Base
	.long	1                       @ HeaderData Atom Count
	.short	1                       @ DW_ATOM_die_offset
	.short	6                       @ DW_FORM_data4
	.long	-1                      @ Bucket 0
	.section	__DWARF,__apple_types,regular,debug
Ltypes_begin:
	.long	1212240712              @ Header Magic
	.short	1                       @ Header Version
	.short	0                       @ Header Hash Function
	.long	1                       @ Header Bucket Count
	.long	1                       @ Header Hash Count
	.long	20                      @ Header Data Length
	.long	0                       @ HeaderData Die Offset Base
	.long	3                       @ HeaderData Atom Count
	.short	1                       @ DW_ATOM_die_offset
	.short	6                       @ DW_FORM_data4
	.short	3                       @ DW_ATOM_die_tag
	.short	5                       @ DW_FORM_data2
	.short	4                       @ DW_ATOM_type_flags
	.short	11                      @ DW_FORM_data1
	.long	0                       @ Bucket 0
	.long	193495088               @ Hash in Bucket 0
	.long	Ltypes0-Ltypes_begin    @ Offset in Bucket 0
Ltypes0:
	.long	56                      @ int
	.long	1                       @ Num DIEs
	.long	48
	.short	36
	.byte	0
	.long	0

.subsections_via_symbols
	.section	__DWARF,__debug_line,regular,debug
Lsection_line:
Lline_table_start0: