Home | History | Annotate | Download | only in X86
      1 RUN: llvm-dwp %p/../Inputs/merge/notypes/c.dwo %p/../Inputs/merge/notypes/ab.dwp -o %t
      2 RUN: llvm-dwarfdump %t | FileCheck --check-prefix=CHECK --check-prefix=NOTYP %s
      3 
      4 FIXME: For some reason, piping straight from llvm-dwp to llvm-dwarfdump doesn't behave well - looks like dwarfdump is reading/closes before dwp has finished.
      5 
      6 DWP from a DWO (c.dwo) and a DWP (ab.dwp, created from a.dwo and b.dwo)
      7 Make sure the entries for A and B are updated correctly when read/processed from ab.dwp
      8 a.cpp:
      9   struct foo { };
     10   foo a;
     11 
     12 b.cpp:
     13   struct bar { };
     14   void b(bar) {
     15   }
     16 
     17 c.cpp:
     18   typedef int baz;
     19   baz c() {
     20   }
     21 
     22 CHECK-LABEL: .debug_abbrev.dwo contents:
     23 CHECK-LABEL: Abbrev table for offset:
     24 CHECK: 0x0000[[CAOFF:.*]]
     25 CHECK-LABEL: Abbrev table for offset:
     26 CHECK: 0x0000[[AAOFF:.*]]
     27 CHECK-LABEL: Abbrev table for offset:
     28 CHECK: 0x0000[[BAOFF:.*]]
     29 
     30 CHECK: .debug_info.dwo contents:
     31 CHECK: [[COFF:0x[0-9a-f]*]]:
     32 CHECK-LABEL: Compile Unit: length = {{.*}} version = 0x0004 abbr_offset =
     33 CHECK:         0x[[CAOFF]] addr_size = 0x08 (next unit at [[AOFF:.*]])
     34 CHECK:   DW_AT_GNU_dwo_id {{.*}} ([[DWOC:.*]])
     35 CHECK: [[AOFF]]:
     36 CHECK-LABEL: Compile Unit: length = {{.*}} version = 0x0004 abbr_offset =
     37 CHECK:         0x[[AAOFF]] addr_size = 0x08 (next unit at [[BOFF:.*]])
     38 CHECK:   DW_AT_GNU_dwo_id {{.*}} ([[DWOA:.*]])
     39 CHECK: [[BOFF]]:
     40 CHECK-LABEL: Compile Unit: length = {{.*}} version = 0x0004 abbr_offset =
     41 CHECK:         0x[[BAOFF]] addr_size = 0x08 (next unit at [[XOFF:.*]])
     42 CHECK:   DW_AT_GNU_dwo_id {{.*}} ([[DWOB:.*]])
     43 
     44 CHECK-LABEL: .debug_cu_index
     45 CHECK:    Index  Signature INFO                      ABBREV                             LINE                     STR_OFFSETS
     46 CHECK-DAG:       [[DWOC]]  {{\[}}[[COFF]], [[AOFF]]) [0x0000[[CAOFF]], 0x0000[[AAOFF]]) [0x00000000, 0x00000011) [0x00000000, 0x00000018)
     47 CHECK-DAG:       [[DWOA]]  {{\[}}[[AOFF]], [[BOFF]]) [0x0000[[AAOFF]], 0x0000[[BAOFF]]) [0x00000011, 0x00000022) [0x00000018, 0x00000028)
     48 CHECK-DAG:       [[DWOB]]  {{\[}}[[BOFF]], [[XOFF]]) [0x0000[[BAOFF]], 0x000000c3)      [0x00000022, 0x00000033) [0x00000028, 0x0000003c)
     49