## Show that when adding a symbol defined in a section with section index >=
## SHN_LORESERVE, the symbol's st_shndx value is set correctly, and the
## SHT_SYMTAB_SHNDX is properly updated.
## We don't bother to check the actual details of SHT_SYMTAB_SHNDX, because
## llvm-readobj wouldn't be able to produce the right section indexes if it were
## incorrect.

## newsym1 = is in a section with index < SHN_LORESERVE.
## newsym2 = is in a section with index == SHN_LORESERVE.
## newsym3 = is in a section with index == SHN_ABS.
## newsym4 = is in a section with index == SHN_COMMON.
## newsym5 = is in a section with index == SHN_XINDEX.
## newsym6 = is in a section with index > SHN_XINDEX.

# RUN: %python %p/../Inputs/ungzip.py %p/Inputs/many-sections.o.gz > %t
# RUN: llvm-objcopy %t %t2 --add-symbol=newsym1=s1:0 --add-symbol=newsym2=s65280:0 \
# RUN:                     --add-symbol=newsym3=s65521:0 --add-symbol=newsym4=s65522:0 \
# RUN:                     --add-symbol=newsym5=s65535:0 --add-symbol=newsym6=s65536:0
# RUN: llvm-readobj --symbols %t2 | FileCheck %s

# CHECK:         Name: newsym1
# CHECK-NEXT:    Value: 0x0
# CHECK-NEXT:    Size: 0
# CHECK-NEXT:    Binding: Global (0x1)
# CHECK-NEXT:    Type: None (0x0)
# CHECK-NEXT:    Other: 0
# CHECK-NEXT:    Section: s1 (0x1)
# CHECK-NEXT:  }
# CHECK-NEXT:  Symbol {
# CHECK-NEXT:    Name: newsym2
# CHECK-NEXT:    Value: 0x0
# CHECK-NEXT:    Size: 0
# CHECK-NEXT:    Binding: Global (0x1)
# CHECK-NEXT:    Type: None (0x0)
# CHECK-NEXT:    Other: 0
# CHECK-NEXT:    Section: s65280 (0xFF00)
# CHECK-NEXT:  }
# CHECK-NEXT:  Symbol {
# CHECK-NEXT:    Name: newsym3
# CHECK-NEXT:    Value: 0x0
# CHECK-NEXT:    Size: 0
# CHECK-NEXT:    Binding: Global (0x1)
# CHECK-NEXT:    Type: None (0x0)
# CHECK-NEXT:    Other: 0
# CHECK-NEXT:    Section: s65521 (0xFFF1)
# CHECK-NEXT:  }
# CHECK-NEXT:  Symbol {
# CHECK-NEXT:    Name: newsym4
# CHECK-NEXT:    Value: 0x0
# CHECK-NEXT:    Size: 0
# CHECK-NEXT:    Binding: Global (0x1)
# CHECK-NEXT:    Type: None (0x0)
# CHECK-NEXT:    Other: 0
# CHECK-NEXT:    Section: s65522 (0xFFF2)
# CHECK-NEXT:  }
# CHECK-NEXT:  Symbol {
# CHECK-NEXT:    Name: newsym5
# CHECK-NEXT:    Value: 0x0
# CHECK-NEXT:    Size: 0
# CHECK-NEXT:    Binding: Global (0x1)
# CHECK-NEXT:    Type: None (0x0)
# CHECK-NEXT:    Other: 0
# CHECK-NEXT:    Section: s65535 (0xFFFF)
# CHECK-NEXT:  }
# CHECK-NEXT:  Symbol {
# CHECK-NEXT:    Name: newsym6
# CHECK-NEXT:    Value: 0x0
# CHECK-NEXT:    Size: 0
# CHECK-NEXT:    Binding: Global (0x1)
# CHECK-NEXT:    Type: None (0x0)
# CHECK-NEXT:    Other: 0
# CHECK-NEXT:    Section: s65536 (0x10000)
# CHECK-NEXT:  }
