1 // RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s 2 3 f1: 4 .cfi_startproc 5 .cfi_lsda 0x3, bar 6 nop 7 .cfi_endproc 8 9 f2: 10 .cfi_startproc 11 .cfi_personality 0x00, foo 12 .cfi_lsda 0x3, bar 13 nop 14 .cfi_endproc 15 16 f3: 17 .cfi_startproc 18 .cfi_lsda 0x3, bar 19 nop 20 .cfi_endproc 21 22 f4: 23 .cfi_startproc 24 .cfi_personality 0x00, foo 25 .cfi_lsda 0x2, bar 26 nop 27 .cfi_endproc 28 29 f5: 30 .cfi_startproc 31 .cfi_personality 0x02, foo 32 nop 33 .cfi_endproc 34 35 f6: 36 .cfi_startproc 37 .cfi_personality 0x03, foo 38 nop 39 .cfi_endproc 40 41 f7: 42 .cfi_startproc 43 .cfi_personality 0x04, foo 44 nop 45 .cfi_endproc 46 47 f8: 48 .cfi_startproc 49 .cfi_personality 0x0a, foo 50 nop 51 .cfi_endproc 52 53 f9: 54 .cfi_startproc 55 .cfi_personality 0x0b, foo 56 nop 57 .cfi_endproc 58 59 f10: 60 .cfi_startproc 61 .cfi_personality 0x0c, foo 62 nop 63 .cfi_endproc 64 65 f11: 66 .cfi_startproc 67 .cfi_personality 0x08, foo 68 nop 69 .cfi_endproc 70 71 f12: 72 .cfi_startproc 73 .cfi_personality 0x10, foo 74 nop 75 .cfi_endproc 76 77 f13: 78 .cfi_startproc 79 .cfi_personality 0x12, foo 80 nop 81 .cfi_endproc 82 83 f14: 84 .cfi_startproc 85 .cfi_personality 0x13, foo 86 nop 87 .cfi_endproc 88 89 f15: 90 .cfi_startproc 91 .cfi_personality 0x14, foo 92 nop 93 .cfi_endproc 94 95 f16: 96 .cfi_startproc 97 .cfi_personality 0x1a, foo 98 nop 99 .cfi_endproc 100 101 f17: 102 .cfi_startproc 103 .cfi_personality 0x1b, foo 104 nop 105 .cfi_endproc 106 107 f18: 108 .cfi_startproc 109 .cfi_personality 0x1c, foo 110 nop 111 .cfi_endproc 112 113 f19: 114 .cfi_startproc 115 .cfi_personality 0x18, foo 116 nop 117 .cfi_endproc 118 119 f20: 120 .cfi_startproc 121 .cfi_personality 0x80, foo 122 nop 123 .cfi_endproc 124 125 f21: 126 .cfi_startproc 127 .cfi_personality 0x82, foo 128 nop 129 .cfi_endproc 130 131 f22: 132 .cfi_startproc 133 .cfi_personality 0x83, foo 134 nop 135 .cfi_endproc 136 137 f23: 138 .cfi_startproc 139 .cfi_personality 0x84, foo 140 nop 141 .cfi_endproc 142 143 f24: 144 .cfi_startproc 145 .cfi_personality 0x8a, foo 146 nop 147 .cfi_endproc 148 149 f25: 150 .cfi_startproc 151 .cfi_personality 0x8b, foo 152 nop 153 .cfi_endproc 154 155 f26: 156 .cfi_startproc 157 .cfi_personality 0x8c, foo 158 nop 159 .cfi_endproc 160 161 f27: 162 .cfi_startproc 163 .cfi_personality 0x88, foo 164 nop 165 .cfi_endproc 166 167 f28: 168 .cfi_startproc 169 .cfi_personality 0x90, foo 170 nop 171 .cfi_endproc 172 173 f29: 174 .cfi_startproc 175 .cfi_personality 0x92, foo 176 nop 177 .cfi_endproc 178 179 f30: 180 .cfi_startproc 181 .cfi_personality 0x93, foo 182 nop 183 .cfi_endproc 184 185 f31: 186 .cfi_startproc 187 .cfi_personality 0x94, foo 188 nop 189 .cfi_endproc 190 191 f32: 192 .cfi_startproc 193 .cfi_personality 0x9a, foo 194 nop 195 .cfi_endproc 196 197 f33: 198 .cfi_startproc 199 .cfi_personality 0x9b, foo 200 nop 201 .cfi_endproc 202 203 f34: 204 .cfi_startproc 205 .cfi_personality 0x9c, foo 206 nop 207 .cfi_endproc 208 209 f36: 210 .cfi_startproc 211 .cfi_personality 0x98, foo 212 nop 213 .cfi_endproc 214 215 f37: 216 .cfi_startproc simple 217 nop 218 .cfi_endproc 219 220 // CHECK: Section { 221 // CHECK: Index: 222 // CHECK: Name: .eh_frame 223 // CHECK-NEXT: Type: SHT_X86_64_UNWIND 224 // CHECK-NEXT: Flags [ 225 // CHECK-NEXT: SHF_ALLOC 226 // CHECK-NEXT: ] 227 // CHECK-NEXT: Address: 0x0 228 // CHECK-NEXT: Offset: 0x68 229 // CHECK-NEXT: Size: 1776 230 // CHECK-NEXT: Link: 0 231 // CHECK-NEXT: Info: 0 232 // CHECK-NEXT: AddressAlignment: 8 233 // CHECK-NEXT: EntrySize: 0 234 // CHECK-NEXT: Relocations [ 235 // CHECK-NEXT: ] 236 // CHECK-NEXT: SectionData ( 237 // CHECK-NEXT: 0000: 14000000 00000000 017A4C52 00017810 238 // CHECK-NEXT: 0010: 02031B0C 07089001 14000000 1C000000 239 // CHECK-NEXT: 0020: 00000000 01000000 04000000 00000000 240 // CHECK-NEXT: 0030: 20000000 00000000 017A504C 52000178 241 // CHECK-NEXT: 0040: 100B0000 00000000 00000003 1B0C0708 242 // CHECK-NEXT: 0050: 90010000 14000000 28000000 00000000 243 // CHECK-NEXT: 0060: 01000000 04000000 00000000 14000000 244 // CHECK-NEXT: 0070: 70000000 00000000 01000000 04000000 245 // CHECK-NEXT: 0080: 00000000 20000000 00000000 017A504C 246 // CHECK-NEXT: 0090: 52000178 100B0000 00000000 00000002 247 // CHECK-NEXT: 00A0: 1B0C0708 90010000 10000000 28000000 248 // CHECK-NEXT: 00B0: 00000000 01000000 02000000 18000000 249 // CHECK-NEXT: 00C0: 00000000 017A5052 00017810 04020000 250 // CHECK-NEXT: 00D0: 1B0C0708 90010000 10000000 20000000 251 // CHECK-NEXT: 00E0: 00000000 01000000 00000000 18000000 252 // CHECK-NEXT: 00F0: 00000000 017A5052 00017810 06030000 253 // CHECK-NEXT: 0100: 00001B0C 07089001 10000000 20000000 254 // CHECK-NEXT: 0110: 00000000 01000000 00000000 1C000000 255 // CHECK-NEXT: 0120: 00000000 017A5052 00017810 0A040000 256 // CHECK-NEXT: 0130: 00000000 00001B0C 07089001 10000000 257 // CHECK-NEXT: 0140: 24000000 00000000 01000000 00000000 258 // CHECK-NEXT: 0150: 18000000 00000000 017A5052 00017810 259 // CHECK-NEXT: 0160: 040A0000 1B0C0708 90010000 10000000 260 // CHECK-NEXT: 0170: 20000000 00000000 01000000 00000000 261 // CHECK-NEXT: 0180: 18000000 00000000 017A5052 00017810 262 // CHECK-NEXT: 0190: 060B0000 00001B0C 07089001 10000000 263 // CHECK-NEXT: 01A0: 20000000 00000000 01000000 00000000 264 // CHECK-NEXT: 01B0: 1C000000 00000000 017A5052 00017810 265 // CHECK-NEXT: 01C0: 0A0C0000 00000000 00001B0C 07089001 266 // CHECK-NEXT: 01D0: 10000000 24000000 00000000 01000000 267 // CHECK-NEXT: 01E0: 00000000 1C000000 00000000 017A5052 268 // CHECK-NEXT: 01F0: 00017810 0A080000 00000000 00001B0C 269 // CHECK-NEXT: 0200: 07089001 10000000 24000000 00000000 270 // CHECK-NEXT: 0210: 01000000 00000000 1C000000 00000000 271 // CHECK-NEXT: 0220: 017A5052 00017810 0A100000 00000000 272 // CHECK-NEXT: 0230: 00001B0C 07089001 10000000 24000000 273 // CHECK-NEXT: 0240: 00000000 01000000 00000000 18000000 274 // CHECK-NEXT: 0250: 00000000 017A5052 00017810 04120000 275 // CHECK-NEXT: 0260: 1B0C0708 90010000 10000000 20000000 276 // CHECK-NEXT: 0270: 00000000 01000000 00000000 18000000 277 // CHECK-NEXT: 0280: 00000000 017A5052 00017810 06130000 278 // CHECK-NEXT: 0290: 00001B0C 07089001 10000000 20000000 279 // CHECK-NEXT: 02A0: 00000000 01000000 00000000 1C000000 280 // CHECK-NEXT: 02B0: 00000000 017A5052 00017810 0A140000 281 // CHECK-NEXT: 02C0: 00000000 00001B0C 07089001 10000000 282 // CHECK-NEXT: 02D0: 24000000 00000000 01000000 00000000 283 // CHECK-NEXT: 02E0: 18000000 00000000 017A5052 00017810 284 // CHECK-NEXT: 02F0: 041A0000 1B0C0708 90010000 10000000 285 // CHECK-NEXT: 0300: 20000000 00000000 01000000 00000000 286 // CHECK-NEXT: 0310: 18000000 00000000 017A5052 00017810 287 // CHECK-NEXT: 0320: 061B0000 00001B0C 07089001 10000000 288 // CHECK-NEXT: 0330: 20000000 00000000 01000000 00000000 289 // CHECK-NEXT: 0340: 1C000000 00000000 017A5052 00017810 290 // CHECK-NEXT: 0350: 0A1C0000 00000000 00001B0C 07089001 291 // CHECK-NEXT: 0360: 10000000 24000000 00000000 01000000 292 // CHECK-NEXT: 0370: 00000000 1C000000 00000000 017A5052 293 // CHECK-NEXT: 0380: 00017810 0A180000 00000000 00001B0C 294 // CHECK-NEXT: 0390: 07089001 10000000 24000000 00000000 295 // CHECK-NEXT: 03A0: 01000000 00000000 1C000000 00000000 296 // CHECK-NEXT: 03B0: 017A5052 00017810 0A800000 00000000 297 // CHECK-NEXT: 03C0: 00001B0C 07089001 10000000 24000000 298 // CHECK-NEXT: 03D0: 00000000 01000000 00000000 18000000 299 // CHECK-NEXT: 03E0: 00000000 017A5052 00017810 04820000 300 // CHECK-NEXT: 03F0: 1B0C0708 90010000 10000000 20000000 301 // CHECK-NEXT: 0400: 00000000 01000000 00000000 18000000 302 // CHECK-NEXT: 0410: 00000000 017A5052 00017810 06830000 303 // CHECK-NEXT: 0420: 00001B0C 07089001 10000000 20000000 304 // CHECK-NEXT: 0430: 00000000 01000000 00000000 1C000000 305 // CHECK-NEXT: 0440: 00000000 017A5052 00017810 0A840000 306 // CHECK-NEXT: 0450: 00000000 00001B0C 07089001 10000000 307 // CHECK-NEXT: 0460: 24000000 00000000 01000000 00000000 308 // CHECK-NEXT: 0470: 18000000 00000000 017A5052 00017810 309 // CHECK-NEXT: 0480: 048A0000 1B0C0708 90010000 10000000 310 // CHECK-NEXT: 0490: 20000000 00000000 01000000 00000000 311 // CHECK-NEXT: 04A0: 18000000 00000000 017A5052 00017810 312 // CHECK-NEXT: 04B0: 068B0000 00001B0C 07089001 10000000 313 // CHECK-NEXT: 04C0: 20000000 00000000 01000000 00000000 314 // CHECK-NEXT: 04D0: 1C000000 00000000 017A5052 00017810 315 // CHECK-NEXT: 04E0: 0A8C0000 00000000 00001B0C 07089001 316 // CHECK-NEXT: 04F0: 10000000 24000000 00000000 01000000 317 // CHECK-NEXT: 0500: 00000000 1C000000 00000000 017A5052 318 // CHECK-NEXT: 0510: 00017810 0A880000 00000000 00001B0C 319 // CHECK-NEXT: 0520: 07089001 10000000 24000000 00000000 320 // CHECK-NEXT: 0530: 01000000 00000000 1C000000 00000000 321 // CHECK-NEXT: 0540: 017A5052 00017810 0A900000 00000000 322 // CHECK-NEXT: 0550: 00001B0C 07089001 10000000 24000000 323 // CHECK-NEXT: 0560: 00000000 01000000 00000000 18000000 324 // CHECK-NEXT: 0570: 00000000 017A5052 00017810 04920000 325 // CHECK-NEXT: 0580: 1B0C0708 90010000 10000000 20000000 326 // CHECK-NEXT: 0590: 00000000 01000000 00000000 18000000 327 // CHECK-NEXT: 05A0: 00000000 017A5052 00017810 06930000 328 // CHECK-NEXT: 05B0: 00001B0C 07089001 10000000 20000000 329 // CHECK-NEXT: 05C0: 00000000 01000000 00000000 1C000000 330 // CHECK-NEXT: 05D0: 00000000 017A5052 00017810 0A940000 331 // CHECK-NEXT: 05E0: 00000000 00001B0C 07089001 10000000 332 // CHECK-NEXT: 05F0: 24000000 00000000 01000000 00000000 333 // CHECK-NEXT: 0600: 18000000 00000000 017A5052 00017810 334 // CHECK-NEXT: 0610: 049A0000 1B0C0708 90010000 10000000 335 // CHECK-NEXT: 0620: 20000000 00000000 01000000 00000000 336 // CHECK-NEXT: 0630: 18000000 00000000 017A5052 00017810 337 // CHECK-NEXT: 0640: 069B0000 00001B0C 07089001 10000000 338 // CHECK-NEXT: 0650: 20000000 00000000 01000000 00000000 339 // CHECK-NEXT: 0660: 1C000000 00000000 017A5052 00017810 340 // CHECK-NEXT: 0670: 0A9C0000 00000000 00001B0C 07089001 341 // CHECK-NEXT: 0680: 10000000 24000000 00000000 01000000 342 // CHECK-NEXT: 0690: 00000000 1C000000 00000000 017A5052 343 // CHECK-NEXT: 06A0: 00017810 0A980000 00000000 00001B0C 344 // CHECK-NEXT: 06B0: 07089001 10000000 24000000 00000000 345 // CHECK-NEXT: 06C0: 01000000 00000000 10000000 00000000 346 // CHECK-NEXT: 06D0: 017A5200 01781001 1B000000 10000000 347 // CHECK-NEXT: 06E0: 18000000 00000000 01000000 00000000 348 // CHECK-NEXT: ) 349 // CHECK-NEXT: } 350 351 // CHECK: Section { 352 // CHECK: Index: 353 // CHECK: Name: .rela.eh_frame 354 // CHECK-NEXT: Type: SHT_RELA 355 // CHECK-NEXT: Flags [ 356 // CHECK-NEXT: ] 357 // CHECK-NEXT: Address: 0x0 358 // CHECK-NEXT: Offset: 359 // CHECK-NEXT: Size: 1752 360 // CHECK-NEXT: Link: 361 // CHECK-NEXT: Info: 362 // CHECK-NEXT: AddressAlignment: 8 363 // CHECK-NEXT: EntrySize: 24 364 // CHECK-NEXT: Relocations [ 365 // CHECK-NEXT: 0x20 R_X86_64_PC32 .text 0x0 366 // CHECK-NEXT: 0x29 R_X86_64_32 bar 0x0 367 // CHECK-NEXT: 0x43 R_X86_64_64 foo 0x0 368 // CHECK-NEXT: 0x5C R_X86_64_PC32 .text 0x1 369 // CHECK-NEXT: 0x65 R_X86_64_32 bar 0x0 370 // CHECK-NEXT: 0x74 R_X86_64_PC32 .text 0x2 371 // CHECK-NEXT: 0x7D R_X86_64_32 bar 0x0 372 // CHECK-NEXT: 0x97 R_X86_64_64 foo 0x0 373 // CHECK-NEXT: 0xB0 R_X86_64_PC32 .text 0x3 374 // CHECK-NEXT: 0xB9 R_X86_64_16 bar 0x0 375 // CHECK-NEXT: 0xCE R_X86_64_16 foo 0x0 376 // CHECK-NEXT: 0xE0 R_X86_64_PC32 .text 0x4 377 // CHECK-NEXT: 0xFE R_X86_64_32 foo 0x0 378 // CHECK-NEXT: 0x110 R_X86_64_PC32 .text 0x5 379 // CHECK-NEXT: 0x12E R_X86_64_64 foo 0x0 380 // CHECK-NEXT: 0x144 R_X86_64_PC32 .text 0x6 381 // CHECK-NEXT: 0x162 R_X86_64_16 foo 0x0 382 // CHECK-NEXT: 0x174 R_X86_64_PC32 .text 0x7 383 // CHECK-NEXT: 0x192 R_X86_64_32 foo 0x0 384 // CHECK-NEXT: 0x1A4 R_X86_64_PC32 .text 0x8 385 // CHECK-NEXT: 0x1C2 R_X86_64_64 foo 0x0 386 // CHECK-NEXT: 0x1D8 R_X86_64_PC32 .text 0x9 387 // CHECK-NEXT: 0x1F6 R_X86_64_64 foo 0x0 388 // CHECK-NEXT: 0x20C R_X86_64_PC32 .text 0xA 389 // CHECK-NEXT: 0x22A R_X86_64_PC64 foo 0x0 390 // CHECK-NEXT: 0x240 R_X86_64_PC32 .text 0xB 391 // CHECK-NEXT: 0x25E R_X86_64_PC16 foo 0x0 392 // CHECK-NEXT: 0x270 R_X86_64_PC32 .text 0xC 393 // CHECK-NEXT: 0x28E R_X86_64_PC32 foo 0x0 394 // CHECK-NEXT: 0x2A0 R_X86_64_PC32 .text 0xD 395 // CHECK-NEXT: 0x2BE R_X86_64_PC64 foo 0x0 396 // CHECK-NEXT: 0x2D4 R_X86_64_PC32 .text 0xE 397 // CHECK-NEXT: 0x2F2 R_X86_64_PC16 foo 0x0 398 // CHECK-NEXT: 0x304 R_X86_64_PC32 .text 0xF 399 // CHECK-NEXT: 0x322 R_X86_64_PC32 foo 0x0 400 // CHECK-NEXT: 0x334 R_X86_64_PC32 .text 0x10 401 // CHECK-NEXT: 0x352 R_X86_64_PC64 foo 0x0 402 // CHECK-NEXT: 0x368 R_X86_64_PC32 .text 0x11 403 // CHECK-NEXT: 0x386 R_X86_64_PC64 foo 0x0 404 // CHECK-NEXT: 0x39C R_X86_64_PC32 .text 0x12 405 // CHECK-NEXT: 0x3BA R_X86_64_64 foo 0x0 406 // CHECK-NEXT: 0x3D0 R_X86_64_PC32 .text 0x13 407 // CHECK-NEXT: 0x3EE R_X86_64_16 foo 0x0 408 // CHECK-NEXT: 0x400 R_X86_64_PC32 .text 0x14 409 // CHECK-NEXT: 0x41E R_X86_64_32 foo 0x0 410 // CHECK-NEXT: 0x430 R_X86_64_PC32 .text 0x15 411 // CHECK-NEXT: 0x44E R_X86_64_64 foo 0x0 412 // CHECK-NEXT: 0x464 R_X86_64_PC32 .text 0x16 413 // CHECK-NEXT: 0x482 R_X86_64_16 foo 0x0 414 // CHECK-NEXT: 0x494 R_X86_64_PC32 .text 0x17 415 // CHECK-NEXT: 0x4B2 R_X86_64_32 foo 0x0 416 // CHECK-NEXT: 0x4C4 R_X86_64_PC32 .text 0x18 417 // CHECK-NEXT: 0x4E2 R_X86_64_64 foo 0x0 418 // CHECK-NEXT: 0x4F8 R_X86_64_PC32 .text 0x19 419 // CHECK-NEXT: 0x516 R_X86_64_64 foo 0x0 420 // CHECK-NEXT: 0x52C R_X86_64_PC32 .text 0x1A 421 // CHECK-NEXT: 0x54A R_X86_64_PC64 foo 0x0 422 // CHECK-NEXT: 0x560 R_X86_64_PC32 .text 0x1B 423 // CHECK-NEXT: 0x57E R_X86_64_PC16 foo 0x0 424 // CHECK-NEXT: 0x590 R_X86_64_PC32 .text 0x1C 425 // CHECK-NEXT: 0x5AE R_X86_64_PC32 foo 0x0 426 // CHECK-NEXT: 0x5C0 R_X86_64_PC32 .text 0x1D 427 // CHECK-NEXT: 0x5DE R_X86_64_PC64 foo 0x0 428 // CHECK-NEXT: 0x5F4 R_X86_64_PC32 .text 0x1E 429 // CHECK-NEXT: 0x612 R_X86_64_PC16 foo 0x0 430 // CHECK-NEXT: 0x624 R_X86_64_PC32 .text 0x1F 431 // CHECK-NEXT: 0x642 R_X86_64_PC32 foo 0x0 432 // CHECK-NEXT: 0x654 R_X86_64_PC32 .text 0x20 433 // CHECK-NEXT: 0x672 R_X86_64_PC64 foo 0x0 434 // CHECK-NEXT: 0x688 R_X86_64_PC32 .text 0x21 435 // CHECK-NEXT: 0x6A6 R_X86_64_PC64 foo 0x0 436 // CHECK-NEXT: 0x6BC R_X86_64_PC32 .text 0x22 437 // CHECK-NEXT: 0x6E4 R_X86_64_PC32 .text 0x23 438 // CHECK-NEXT: ] 439 // CHECK: } 440