Fangrui Song | a373582 | 2018-09-06 20:26:54 +0000 | [diff] [blame] | 1 | RUN: llvm-dwp %p/../Inputs/merge/notypes/c.dwo %p/../Inputs/merge/notypes/ab.dwp -o - | \ |
| 2 | RUN: llvm-dwarfdump -v - | FileCheck --check-prefix=CHECK --check-prefix=NOTYP %s |
David Blaikie | 2391937 | 2016-02-06 01:15:26 +0000 | [diff] [blame] | 3 | |
| 4 | DWP from a DWO (c.dwo) and a DWP (ab.dwp, created from a.dwo and b.dwo) |
| 5 | Make sure the entries for A and B are updated correctly when read/processed from ab.dwp |
| 6 | a.cpp: |
| 7 | struct foo { }; |
| 8 | foo a; |
| 9 | |
| 10 | b.cpp: |
| 11 | struct bar { }; |
| 12 | void b(bar) { |
| 13 | } |
| 14 | |
| 15 | c.cpp: |
| 16 | typedef int baz; |
| 17 | baz c() { |
| 18 | } |
| 19 | |
| 20 | CHECK-LABEL: .debug_abbrev.dwo contents: |
| 21 | CHECK-LABEL: Abbrev table for offset: |
| 22 | CHECK: 0x0000[[CAOFF:.*]] |
| 23 | CHECK-LABEL: Abbrev table for offset: |
| 24 | CHECK: 0x0000[[AAOFF:.*]] |
| 25 | CHECK-LABEL: Abbrev table for offset: |
| 26 | CHECK: 0x0000[[BAOFF:.*]] |
| 27 | |
| 28 | CHECK: .debug_info.dwo contents: |
| 29 | CHECK: [[COFF:0x[0-9a-f]*]]: |
| 30 | CHECK-LABEL: Compile Unit: length = {{.*}} version = 0x0004 abbr_offset = |
| 31 | CHECK: 0x[[CAOFF]] addr_size = 0x08 (next unit at [[AOFF:.*]]) |
| 32 | CHECK: DW_AT_GNU_dwo_id {{.*}} ([[DWOC:.*]]) |
| 33 | CHECK: [[AOFF]]: |
| 34 | CHECK-LABEL: Compile Unit: length = {{.*}} version = 0x0004 abbr_offset = |
| 35 | CHECK: 0x[[AAOFF]] addr_size = 0x08 (next unit at [[BOFF:.*]]) |
| 36 | CHECK: DW_AT_GNU_dwo_id {{.*}} ([[DWOA:.*]]) |
| 37 | CHECK: [[BOFF]]: |
| 38 | CHECK-LABEL: Compile Unit: length = {{.*}} version = 0x0004 abbr_offset = |
| 39 | CHECK: 0x[[BAOFF]] addr_size = 0x08 (next unit at [[XOFF:.*]]) |
| 40 | CHECK: DW_AT_GNU_dwo_id {{.*}} ([[DWOB:.*]]) |
| 41 | |
| 42 | CHECK-LABEL: .debug_cu_index |
| 43 | CHECK: Index Signature INFO ABBREV LINE STR_OFFSETS |
| 44 | CHECK-DAG: [[DWOC]] {{\[}}[[COFF]], [[AOFF]]) [0x0000[[CAOFF]], 0x0000[[AAOFF]]) [0x00000000, 0x00000011) [0x00000000, 0x00000018) |
| 45 | CHECK-DAG: [[DWOA]] {{\[}}[[AOFF]], [[BOFF]]) [0x0000[[AAOFF]], 0x0000[[BAOFF]]) [0x00000011, 0x00000022) [0x00000018, 0x00000028) |
| 46 | CHECK-DAG: [[DWOB]] {{\[}}[[BOFF]], [[XOFF]]) [0x0000[[BAOFF]], 0x000000c3) [0x00000022, 0x00000033) [0x00000028, 0x0000003c) |