1Check that extracting long filenames works correctly even when there is no 2null terminator after the filename. Depending on whether the OS provides a 3readable page containing a null byte after the file mapping, this would crash 4before r331746 (on Windows it crashed consistently). 5 6The input file was created like: 7 8$ touch 012345678901234567890123456789012345678901234567890123456789012-{1..124}.o \ 9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.o 10$ llvm-ar cru file.a 012345678901234567890123456789012345678901234567890123456789012-{1..124}.o \ 11 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.o 12 13RUN: llvm-ar t %p/Inputs/archive-long-filenames-no-null-terminator.a | FileCheck %s 14 15CHECK: 012345678901234567890123456789012345678901234567890123456789012-1.o 16CHECK: 012345678901234567890123456789012345678901234567890123456789012-2.o 17CHECK: 012345678901234567890123456789012345678901234567890123456789012-3.o 18CHECK: 012345678901234567890123456789012345678901234567890123456789012-4.o 19CHECK: 012345678901234567890123456789012345678901234567890123456789012-5.o 20CHECK: 012345678901234567890123456789012345678901234567890123456789012-6.o 21CHECK: 012345678901234567890123456789012345678901234567890123456789012-7.o 22CHECK: 012345678901234567890123456789012345678901234567890123456789012-8.o 23CHECK: 012345678901234567890123456789012345678901234567890123456789012-9.o 24CHECK: 012345678901234567890123456789012345678901234567890123456789012-10.o 25CHECK: 012345678901234567890123456789012345678901234567890123456789012-11.o 26CHECK: 012345678901234567890123456789012345678901234567890123456789012-12.o 27CHECK: 012345678901234567890123456789012345678901234567890123456789012-13.o 28CHECK: 012345678901234567890123456789012345678901234567890123456789012-14.o 29CHECK: 012345678901234567890123456789012345678901234567890123456789012-15.o 30CHECK: 012345678901234567890123456789012345678901234567890123456789012-16.o 31CHECK: 012345678901234567890123456789012345678901234567890123456789012-17.o 32CHECK: 012345678901234567890123456789012345678901234567890123456789012-18.o 33CHECK: 012345678901234567890123456789012345678901234567890123456789012-19.o 34CHECK: 012345678901234567890123456789012345678901234567890123456789012-20.o 35CHECK: 012345678901234567890123456789012345678901234567890123456789012-21.o 36CHECK: 012345678901234567890123456789012345678901234567890123456789012-22.o 37CHECK: 012345678901234567890123456789012345678901234567890123456789012-23.o 38CHECK: 012345678901234567890123456789012345678901234567890123456789012-24.o 39CHECK: 012345678901234567890123456789012345678901234567890123456789012-25.o 40CHECK: 012345678901234567890123456789012345678901234567890123456789012-26.o 41CHECK: 012345678901234567890123456789012345678901234567890123456789012-27.o 42CHECK: 012345678901234567890123456789012345678901234567890123456789012-28.o 43CHECK: 012345678901234567890123456789012345678901234567890123456789012-29.o 44CHECK: 012345678901234567890123456789012345678901234567890123456789012-30.o 45CHECK: 012345678901234567890123456789012345678901234567890123456789012-31.o 46CHECK: 012345678901234567890123456789012345678901234567890123456789012-32.o 47CHECK: 012345678901234567890123456789012345678901234567890123456789012-33.o 48CHECK: 012345678901234567890123456789012345678901234567890123456789012-34.o 49CHECK: 012345678901234567890123456789012345678901234567890123456789012-35.o 50CHECK: 012345678901234567890123456789012345678901234567890123456789012-36.o 51CHECK: 012345678901234567890123456789012345678901234567890123456789012-37.o 52CHECK: 012345678901234567890123456789012345678901234567890123456789012-38.o 53CHECK: 012345678901234567890123456789012345678901234567890123456789012-39.o 54CHECK: 012345678901234567890123456789012345678901234567890123456789012-40.o 55CHECK: 012345678901234567890123456789012345678901234567890123456789012-41.o 56CHECK: 012345678901234567890123456789012345678901234567890123456789012-42.o 57CHECK: 012345678901234567890123456789012345678901234567890123456789012-43.o 58CHECK: 012345678901234567890123456789012345678901234567890123456789012-44.o 59CHECK: 012345678901234567890123456789012345678901234567890123456789012-45.o 60CHECK: 012345678901234567890123456789012345678901234567890123456789012-46.o 61CHECK: 012345678901234567890123456789012345678901234567890123456789012-47.o 62CHECK: 012345678901234567890123456789012345678901234567890123456789012-48.o 63CHECK: 012345678901234567890123456789012345678901234567890123456789012-49.o 64CHECK: 012345678901234567890123456789012345678901234567890123456789012-50.o 65CHECK: 012345678901234567890123456789012345678901234567890123456789012-51.o 66CHECK: 012345678901234567890123456789012345678901234567890123456789012-52.o 67CHECK: 012345678901234567890123456789012345678901234567890123456789012-53.o 68CHECK: 012345678901234567890123456789012345678901234567890123456789012-54.o 69CHECK: 012345678901234567890123456789012345678901234567890123456789012-55.o 70CHECK: 012345678901234567890123456789012345678901234567890123456789012-56.o 71CHECK: 012345678901234567890123456789012345678901234567890123456789012-57.o 72CHECK: 012345678901234567890123456789012345678901234567890123456789012-58.o 73CHECK: 012345678901234567890123456789012345678901234567890123456789012-59.o 74CHECK: 012345678901234567890123456789012345678901234567890123456789012-60.o 75CHECK: 012345678901234567890123456789012345678901234567890123456789012-61.o 76CHECK: 012345678901234567890123456789012345678901234567890123456789012-62.o 77CHECK: 012345678901234567890123456789012345678901234567890123456789012-63.o 78CHECK: 012345678901234567890123456789012345678901234567890123456789012-64.o 79CHECK: 012345678901234567890123456789012345678901234567890123456789012-65.o 80CHECK: 012345678901234567890123456789012345678901234567890123456789012-66.o 81CHECK: 012345678901234567890123456789012345678901234567890123456789012-67.o 82CHECK: 012345678901234567890123456789012345678901234567890123456789012-68.o 83CHECK: 012345678901234567890123456789012345678901234567890123456789012-69.o 84CHECK: 012345678901234567890123456789012345678901234567890123456789012-70.o 85CHECK: 012345678901234567890123456789012345678901234567890123456789012-71.o 86CHECK: 012345678901234567890123456789012345678901234567890123456789012-72.o 87CHECK: 012345678901234567890123456789012345678901234567890123456789012-73.o 88CHECK: 012345678901234567890123456789012345678901234567890123456789012-74.o 89CHECK: 012345678901234567890123456789012345678901234567890123456789012-75.o 90CHECK: 012345678901234567890123456789012345678901234567890123456789012-76.o 91CHECK: 012345678901234567890123456789012345678901234567890123456789012-77.o 92CHECK: 012345678901234567890123456789012345678901234567890123456789012-78.o 93CHECK: 012345678901234567890123456789012345678901234567890123456789012-79.o 94CHECK: 012345678901234567890123456789012345678901234567890123456789012-80.o 95CHECK: 012345678901234567890123456789012345678901234567890123456789012-81.o 96CHECK: 012345678901234567890123456789012345678901234567890123456789012-82.o 97CHECK: 012345678901234567890123456789012345678901234567890123456789012-83.o 98CHECK: 012345678901234567890123456789012345678901234567890123456789012-84.o 99CHECK: 012345678901234567890123456789012345678901234567890123456789012-85.o 100CHECK: 012345678901234567890123456789012345678901234567890123456789012-86.o 101CHECK: 012345678901234567890123456789012345678901234567890123456789012-87.o 102CHECK: 012345678901234567890123456789012345678901234567890123456789012-88.o 103CHECK: 012345678901234567890123456789012345678901234567890123456789012-89.o 104CHECK: 012345678901234567890123456789012345678901234567890123456789012-90.o 105CHECK: 012345678901234567890123456789012345678901234567890123456789012-91.o 106CHECK: 012345678901234567890123456789012345678901234567890123456789012-92.o 107CHECK: 012345678901234567890123456789012345678901234567890123456789012-93.o 108CHECK: 012345678901234567890123456789012345678901234567890123456789012-94.o 109CHECK: 012345678901234567890123456789012345678901234567890123456789012-95.o 110CHECK: 012345678901234567890123456789012345678901234567890123456789012-96.o 111CHECK: 012345678901234567890123456789012345678901234567890123456789012-97.o 112CHECK: 012345678901234567890123456789012345678901234567890123456789012-98.o 113CHECK: 012345678901234567890123456789012345678901234567890123456789012-99.o 114CHECK: 012345678901234567890123456789012345678901234567890123456789012-100.o 115CHECK: 012345678901234567890123456789012345678901234567890123456789012-101.o 116CHECK: 012345678901234567890123456789012345678901234567890123456789012-102.o 117CHECK: 012345678901234567890123456789012345678901234567890123456789012-103.o 118CHECK: 012345678901234567890123456789012345678901234567890123456789012-104.o 119CHECK: 012345678901234567890123456789012345678901234567890123456789012-105.o 120CHECK: 012345678901234567890123456789012345678901234567890123456789012-106.o 121CHECK: 012345678901234567890123456789012345678901234567890123456789012-107.o 122CHECK: 012345678901234567890123456789012345678901234567890123456789012-108.o 123CHECK: 012345678901234567890123456789012345678901234567890123456789012-109.o 124CHECK: 012345678901234567890123456789012345678901234567890123456789012-110.o 125CHECK: 012345678901234567890123456789012345678901234567890123456789012-111.o 126CHECK: 012345678901234567890123456789012345678901234567890123456789012-112.o 127CHECK: 012345678901234567890123456789012345678901234567890123456789012-113.o 128CHECK: 012345678901234567890123456789012345678901234567890123456789012-114.o 129CHECK: 012345678901234567890123456789012345678901234567890123456789012-115.o 130CHECK: 012345678901234567890123456789012345678901234567890123456789012-116.o 131CHECK: 012345678901234567890123456789012345678901234567890123456789012-117.o 132CHECK: 012345678901234567890123456789012345678901234567890123456789012-118.o 133CHECK: 012345678901234567890123456789012345678901234567890123456789012-119.o 134CHECK: 012345678901234567890123456789012345678901234567890123456789012-120.o 135CHECK: 012345678901234567890123456789012345678901234567890123456789012-121.o 136CHECK: 012345678901234567890123456789012345678901234567890123456789012-122.o 137CHECK: 012345678901234567890123456789012345678901234567890123456789012-123.o 138CHECK: 012345678901234567890123456789012345678901234567890123456789012-124.o 139CHECK: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.o 140