# 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 a.obj b.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: a.obj # CHECK: /<XFGHASHMAP>/ # CHECK-NOT: b.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):])