# RUN: rm -rf %t && mkdir -p %t && cd %t
# RUN: llvm-mc -triple=x86_64-pc-windows-msvc -filetype=obj -o a.obj %S/Inputs/a.s
# RUN: llvm-mc -triple=x86_64-pc-windows-msvc -filetype=obj -o b.obj %S/Inputs/b.s
# RUN: llvm-lib /out:xfghashmap.lib b.obj a.obj

## Replace a section in the library file with /<XFGHASHMAP>/ emulating
## a library from the Windows SDK for Windows 11.
# RUN: %python %s xfghashmap.lib b.obj/

## This should print the /<XFGHASHMAP>/ section as well as an .obj one.
# RUN: llvm-lib /list %t/xfghashmap.lib | FileCheck %s

# CHECK: /<XFGHASHMAP>/
# CHECK-NOT: b.obj
# CHECK: a.obj

import sys

if len(sys.argv) < 3:
  print("Use: python3 xfghashmap-list.test <LIBRARY_FILE> <TEMPLATE>")
  exit(1)

template = bytes(sys.argv[2], 'utf-8')
xfghashmap = b'/<XFGHASHMAP>/'

data = None
with open(sys.argv[1], "rb") as inp:
  data = inp.read()
with open(sys.argv[1], "wb") as outp:
  pos = data.find(template)
  outp.write(data[:pos])
  outp.write(xfghashmap)
  outp.write(data[pos + len(xfghashmap):])
