# RUN: cp %p/Inputs/groups.o %t
# RUN: llvm-objcopy --strip-dwo %t
# RUN: llvm-readobj --elf-section-groups %t | FileCheck %s

// Source code of groups.o:
//
// template <class T>
// struct S {
//    static constexpr T X = T(1);
//    T getX() { return X; }
// };
// void f() {
//  S<int> A;
//  S<double> B;
//  int a = A.getX();
//  int b = B.getX();
// }
//
// clang -g -gsplit-dwarf -std=c++11 -c groups.cpp -o groups.o

// `llvm-objcopy --strip-dwo` strips out dwo sections, as a result, the index of 
// the symbol table, the indices of the symbols and the indices of the sections 
// which go after the removed ones will change. Consequently, the fields 
// Link, Info and the content of .group need to be updated. In the past 
// `llvm-objcopy --strip-dwo` used to produce invalid binaries with 
// broken .group section, this test verifies the correctness of 
// Link, Info and the content of this section.

CHECK:          Name: .group (179)
CHECK-NEXT:     Index: 17
CHECK-NEXT:     Link: 19
CHECK-NEXT:     Info: 14
CHECK:          .text._ZN1SIiE4getXEv (2)

CHECK:          Name: .group (179)
CHECK-NEXT:     Index: 18
CHECK-NEXT:     Link: 19
CHECK-NEXT:     Info: 13
CHECK:          .text._ZN1SIdE4getXEv (4)
CHECK-NEXT:     .rela.text._ZN1SIdE4getXEv (21)
