llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
29.35k stars 12.14k forks source link

Crash running tests on 32-bit platforms in Object/macho-invalid.test #56746

Open awilfox opened 2 years ago

awilfox commented 2 years ago
Test run output ```console FAIL: LLVM :: Object/macho-invalid.test (29276 of 47011) ******************** TEST 'LLVM :: Object/macho-invalid.test' FAILED ******************** Script: -- : 'RUN: at line 4'; src/llvm-14.0.4.src/build/bin/llvm-objdump --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-zero-ncmds --macho | src/llvm-14.0.4.src/build/bin/FileCheck -check-prefix ZERO-NCMDS src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 8'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho64-invalid-incomplete-load-command 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck -check-prefix INCOMPLETE-LOADC src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 12'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho64-invalid-incomplete-load-command.1 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck -check-prefix INCOMPLETE-LOADC-1 src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 16'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-too-small-load-command 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck -check-prefix SMALL-LOADC-SIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 18'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho64-invalid-too-small-load-command 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck -check-prefix SMALL-LOADC-SIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 22'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho64-invalid-too-small-load-command.1 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck -check-prefix SMALL-LOADC-SIZE-1 src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 26'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-too-small-segment-load-command 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck -check-prefix MULTIPLE-NOT-4 src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 30'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-too-small-segment-load-command.1 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck -check-prefix SMALL-SEGLOADC-SIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 34'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho64-invalid-too-small-segment-load-command 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck -check-prefix MULTIPLE-NOT-8 src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 38'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-no-size-for-sections 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck -check-prefix TOO-MANY-SECTS src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 41'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho64-invalid-no-size-for-sections 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck -check-prefix TOO-MANY-SECTS-64 src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 45'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho -t src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-bad-symbol-index 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck -check-prefix BAD-SYMBOL src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 48'; src/llvm-14.0.4.src/build/bin/llvm-objdump --macho -t src/llvm-14.0.4.src/test/Object/Inputs/macho-valid-0-nsyms 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck -check-prefix ZERO-NSYMS src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 52'; not src/llvm-14.0.4.src/build/bin/llvm-objdump -t src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-symbol-name-past-eof 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck -check-prefix NAME-PAST-EOF src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 55'; src/llvm-14.0.4.src/build/bin/llvm-nm -pa src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-symbol-name-past-eof 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck -check-prefix NAME-PAST-EOF-nm-pa src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 58'; src/llvm-14.0.4.src/build/bin/llvm-nm -pax src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-symbol-name-past-eof 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck -check-prefix NAME-PAST-EOF-nm-pax src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 62'; not src/llvm-14.0.4.src/build/bin/llvm-objdump -t src/llvm-14.0.4.src/test/Object/Inputs/macho-bad-archive1.a 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck -check-prefix NAME-PAST-EOF-ARCHIVE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 66'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --arch=all -t src/llvm-14.0.4.src/test/Object/Inputs/macho-universal-bad1.x86_64.i386 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck -check-prefix NAME-PAST-EOF-FAT src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 69'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --arch=all -t src/llvm-14.0.4.src/test/Object/Inputs/macho-universal-archive-bad1.x86_64.i386 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck -check-prefix NAME-PAST-EOF-FAT-ARCHIVE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 73'; src/llvm-14.0.4.src/build/bin/llvm-nm src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-section-index-getSectionRawName 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck -check-prefix INVALID-SECTION-IDX-SYMBOL-SEC src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 76'; src/llvm-14.0.4.src/build/bin/llvm-nm -m src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-section-index-getSectionRawName 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck -check-prefix INVALID-SECTION-IDX-SYMBOL-SEC-m src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 79'; src/llvm-14.0.4.src/build/bin/llvm-nm -pax src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-section-index-getSectionRawName 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck -check-prefix INVALID-SECTION-IDX-SYMBOL-SEC-pax src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 82'; not src/llvm-14.0.4.src/build/bin/llvm-objdump -t src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-section-index-getSectionRawName 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck -check-prefix INVALID-SECTION-IDX-SYMBOL-SEC-objdump src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 86'; src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-header 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-HEADER src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 89'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho64-invalid-incomplete-segment-load-command 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INCOMPLETE-SEGMENT-LOADC src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 92'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-bad-archive2.a 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INCOMPLETE-SEGMENT-LOADC-ARCHIVE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 95'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers --arch=all src/llvm-14.0.4.src/test/Object/Inputs/macho-universal-bad2.x86_64.i386 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INCOMPLETE-SEGMENT-LOADC-FAT src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 98'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers --arch=all src/llvm-14.0.4.src/test/Object/Inputs/macho-universal-archive-bad2.x86_64.i386 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INCOMPLETE-SEGMENT-LOADC-FAT-ARCHIVE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 101'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --universal-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-fat 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-FAT src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 104'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers --arch=all src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-fat.obj.elf-x86_64 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-FAT-ELF src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 107'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-segment-fileoff 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-SEGMENT-FILEOFF src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 110'; not src/llvm-14.0.4.src/build/bin/llvm-nm src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-segment-fileoff 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck -check-prefix INVALID-SEGMENT-FILEOFF-NM src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 113'; not src/llvm-14.0.4.src/build/bin/llvm-size src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-segment-fileoff 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck -DFILE=src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-segment-fileoff -check-prefix INVALID-SEGMENT-FILEOFF-SIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 116'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-segment-filesize 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-SEGMENT-FILESIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 119'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-segment-vmsize 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-SEGMENT-VMSIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 122'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-section-offset 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-SECTION-FILEOFF src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 125'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-section-offset-in-headers 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-SECTION-FILEOFF-IN-HEADERS src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 128'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-section-offset-size 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-SECTION-FILEOFF-SIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 131'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-section-size-filesize 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-SECTION-SIZE-FILESIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 134'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-section-addr 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-SECTION-ADDR src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 137'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-section-addr-size 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-SECTION-ADDR-SIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 140'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-section-reloff 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-SECTION-RELOFF src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 143'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-section-reloff-nrelocs 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-SECTION-RELOFF-NRELOCS src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 146'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-symtab-small 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-SYMTAB-SMALL src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 149'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-symtab-more-than-one 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-SYMTAB-MORE-THAN-ONE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 152'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-symtab-bad-size 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-SYMTAB-BAD-SIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 155'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-symtab-symoff 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-SYMTAB-SYMOFF src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 158'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-symtab-symoff-nsyms 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-SYMTAB-SYMOFF-NSYMS src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 161'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-symtab-stroff 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-SYMTAB-STROFF src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 164'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-symtab-stroff-strsize 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-SYMTAB-STROFF-STRSIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 167'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dysymtab-small 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYSYMTAB-SMALL src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 170'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dysymtab-more-than-one 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYSYMTAB-MORE-THAN-ONE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 173'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dysymtab-bad-size 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYSYMTAB-BAD-SIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 176'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dysymtab-tocoff 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYSYMTAB-TOCOFF src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 179'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dysymtab-tocoff-ntoc 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYSYMTAB-TOCOFF-NTOC src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 182'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dysymtab-modtaboff 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYSYMTAB-TOCOFF-MODTABOFF src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 185'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dysymtab-modtaboff-nmodtab 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYSYMTAB-TOCOFF-MODTABOFF-NMODTAB src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 188'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dysymtab-extrefsymoff 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYSYMTAB-TOCOFF-EXTREFSYMOFF src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 191'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dysymtab-extrefsymoff-nextrefsyms 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYSYMTAB-TOCOFF-EXTREFSYMOFF-NEXTREFSYMS src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 194'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dysymtab-indirectsymoff 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYSYMTAB-TOCOFF-INDIRECTSYMOFF src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 197'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dysymtab-indirectsymoff-nindirectsyms 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYSYMTAB-TOCOFF-INDIRECTSYMOFF-NINDIRECTSYMS src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 200'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dysymtab-extreloff 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYSYMTAB-TOCOFF-EXTRELOFF src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 203'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dysymtab-extreloff-nextrel 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYSYMTAB-TOCOFF-EXTRELOFF-NEXTREL src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 206'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dysymtab-locreloff 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYSYMTAB-TOCOFF-LOCRELOFF src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 209'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dysymtab-locreloff-nlocrel 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYSYMTAB-TOCOFF-LOCRELOFF-NLOCREL src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 212'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dataincode-more-than-one 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DATAINCODE-MORE-THAN-ONE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 215'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-linkopthint-small 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-LINKOPTHINT-SMALL src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 218'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dataincode-bad-size 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DATAINCODE-BAD-SIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 221'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-linkopthint-dataoff 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-LINKOPTHINT-DATAOFF src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 224'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dataincode-dataoff-datasize 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DATAINCODE-DATAOFF-DATASIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 227'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dyldinfo-small 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYLDINFO-SMALL src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 230'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dyldinfoonly-bad-size 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYLDINFOONLY-BAD-SIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 233'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dyldinfo-rebase_off 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYLDINFO-REBASE_OFF src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 236'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dyldinfo-rebase_off-rebase_size 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYLDINFO-REBASE_OFF-REBASE_SIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 239'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dyldinfoonly-bind_off 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYLDINFOONLY-BIND_OFF src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 242'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dyldinfo-bind_off-bind_size 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYLDINFO-BIND_OFF-BIND_SIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 245'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dyldinfoonly-weak_bind_off 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYLDINFOONLY-WEAK_BIND_OFF src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 248'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dyldinfo-weak_bind_off-weak_bind_size 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYLDINFO-WEAK_BIND_OFF-WEAK_BIND_SIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 251'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dyldinfoonly-lazy_bind_off 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYLDINFOONLY-LAZY_BIND_OFF src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 254'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dyldinfo-lazy_bind_off-lazy_bind_size 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYLDINFO-LAZY_BIND_OFF-LAZY_BIND_SIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 257'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dyldinfoonly-export_off 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYLDINFOONLY-EXPORT_OFF src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 260'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dyldinfo-export_off-export_size 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYLDINFO-EXPORT_OFF-EXPORT_SIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 263'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dyldinfo-more-than-one 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYLDINFO-MORE-THAN-ONE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 266'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dylib-small 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYLIB-SMALL src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 269'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dylib-name_offset-toobig 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYLIB-NAME_OFFSET-TOOBIG src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 272'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dylib-name_toobig 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYLIB-NAME_TOOBIG src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 275'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dylib-name_offset-toosmall 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYLIB-NAME_OFFSET-TOOSMALL src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 278'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dylib-id-more-than-one 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYLIB-ID-MORE-THAN-ONE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 281'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dylib-wrong-filetype 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYLIB-WRONG-FILETYPE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 284'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dylib-no-id 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYLIB-NO-ID src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 287'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dylib-cmdsize-past-eof 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYLIB-CMDSIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 290'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-uuid-more-than-one 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-UUID-MORE-THAN-ONE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 293'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-uuid-bad-size 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-UUID-BAD-SIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 296'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-function_starts-dataoff 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-FUNCTION_STARTS-DATAOFF src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 299'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-splitinfo-dataoff-datasize 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-SPLITINFO-DATAOFF-DATASIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 302'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dylib_code_sign_drs-bad-size 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYLIB_CODE_SIGN_DRS-BAD-SIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 305'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dyld-small 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYLD-SMALL src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 308'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dyld-name_offset-toobig 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYLD-NAME_OFFSET-TOOBIG src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 311'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dyld-name_toobig 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-DYLD-NAME_TOOBIG src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 314'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-vers-small 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-VERS-SMALL src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 317'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-vers-more-than-one 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-VERS-MORE-THAN-ONE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 320'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-rpath-small 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-RPATH-SMALL src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 323'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-rpath-name_offset-toobig 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-RPATH-NAME_OFFSET-TOOBIG src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 326'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-rpath-name_toobig 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-RPATH-NAME_TOOBIG src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 329'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-source-bad-size 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-SOURCE-BAD-SIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 332'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-source-more-than-one 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-SOURCE-MORE-THAN-ONE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 335'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-entry-bad-size 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-ENTRY-BAD-SIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 338'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-entry-more-than-one 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-ENTRY-MORE-THAN-ONE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 341'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-encrypt-bad-size 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-ENCRYPT-BAD-SIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 344'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-encrypt64-bad-size 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-ENCRYPT64-BAD-SIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 347'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-encrypt-more-than-one 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-ENCRYPT-MORE-THAN-ONE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 350'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-encrypt-cryptoff 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-ENCRYPT-CRYPTOFF src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 353'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-encrypt64-cryptoff-cryptsize 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-ENCRYPT-CRYPTOFF-CRYPTSIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 356'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-linkopt-bad-size 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-LINKOPT-BAD-SIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 359'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-linkopt-bad-count 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-LINKOPT-BAD-COUNT src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 362'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-subframe-small 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-SUBFRAME-SMALL src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 365'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-subumbrella-offset-small 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-SUBUMBRELLA-OFFSET-SMALL src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 368'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-sublibrary-name_offset-toobig 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-SUBLIB-NAME_OFFSET-TOOBIG src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 371'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-subclient-name_toobig 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-SUBCLIENT-NAME-TOOBIG src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 374'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-routines-bad-size 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-ROUTINES-BAD-SIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 377'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-routines64-more-than-one 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-ROUTINES64-MORE-THAN-ONE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 380'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-codesign-bad-size 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-CODESIGN-BAD-SIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 383'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-thread-count-pastend 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-THREAD-COUNT-PASTEND src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 386'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-thread-count-wrong 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-THREAD-COUNT-WRONG src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 389'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-thread-flavor-unknown 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-THREAD-FLAVOR-UNKNOWN src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 392'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-thread-state-pastend 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-THREAD-PASTEND src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 395'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-thread-unknown-cputype 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-THREAD-UNKNOWN-CPUTYPE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 398'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-unixthread-more-than-one 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-UNIXTHREAD-MORE-THAN-ONE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 401'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-twolevelhints-bad-size 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-TWOLEVELHINTS-BAD-SIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 404'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-twolevelhints-more-than-one 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-TWOLEVELHINTS-MORE-THAN-ONE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 407'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-twolevelhints-offset 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-TWOLEVELHINTS-OFFSET src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 410'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-twolevelhints-offset-nhints 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-TWOLEVELHINTS-OFFSET-HNINTS src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 413'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-fat_cputype 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-FAT-CPUTYPE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 416'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-prebind_cksum-obsolete 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-PREBIND_CKSUM-OBSOLETE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 419'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-symseg-obsolete 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-SYMSEG-OBSOLETE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 422'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-idfvmlib-obsolete 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-IDFVMLIB-OBSOLETE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 425'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-loadfvmlib-obsolete 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-LOADFVMLIB-OBSOLETE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 428'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-prebound_dylib-obsolete 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-PREBOUND_DYLIB-OBSOLETE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 431'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-fvmfile-obsolete 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-FVMFILE-OBSOLETE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 434'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-prepage-obsolete 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-PREPAGE-OBSOLETE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 437'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-symtab-overlap 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-SYMTAB-OVERLAP src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 440'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-strtab-overlap 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-STRTAB-OVERLAP src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 443'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-section-overlap 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-SECTION-OVERLAP src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 446'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-reloc-overlap 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-RELOC-OVERLAP src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 449'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-toc-overlap 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-TOC-OVERLAP src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 452'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-modtab-overlap 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-MODTAB-OVERLAP src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 455'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-extrefsyms-overlap 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-EXTREFSYMS-OVERLAP src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 458'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-indirectsyms-overlap 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-INDIRECTSYMS-OVERLAP src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 461'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-extreloff-overlap 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-EXTRELOFF-OVERLAP src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 464'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-locreloff-overlap 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-LOCRELOFF-OVERLAP src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 467'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-hints-overlap 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-HINTS-OVERLAP src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 470'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-codesig-overlap 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-CODESIG-OVERLAP src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 473'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-rebase-overlap 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-REBASE-OVERLAP src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 476'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-bind-overlap 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-BIND-OVERLAP src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 479'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-weak_bind-overlap 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-WEAK_BIND-OVERLAP src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 482'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-lazy_bind-overlap 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-LAZY_BIND-OVERLAP src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 485'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-export-overlap 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-EXPORT-OVERLAP src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 488'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --universal-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-fat-header 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-FAT-HEADER src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 491'; src/llvm-14.0.4.src/build/bin/yaml2obj src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-fat-arch-size.yaml -o - | src/llvm-14.0.4.src/build/bin/not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --universal-headers - 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-FAT-ARCH-SIZE src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 494'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --universal-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-fat-arch-bigalign 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-FAT-ARCH-BIGALIGN src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 497'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --universal-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-fat-arch-badalign 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-FAT-ARCH-BADALIGN src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 500'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --universal-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-fat-arch-twosame 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-FAT-ARCH-TWOSAME src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 503'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --universal-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-fat-arch-overlap 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-FAT-ARCH-OVERLAP src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 506'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --universal-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-fat-arch-overlapheaders 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-FAT-ARCH-OVERLAPHEADERS src/llvm-14.0.4.src/test/Object/macho-invalid.test : 'RUN: at line 509'; not src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-note 2>&1 | src/llvm-14.0.4.src/build/bin/FileCheck --check-prefix=INVALID-NOTE-COMMAND src/llvm-14.0.4.src/test/Object/macho-invalid.test -- Exit Code: 1 Command Output (stderr): -- src/llvm-14.0.4.src/test/Object/macho-invalid.test:288:24: error: INVALID-DYLIB-CMDSIZE: expected string not found in input ```
Stack dump:
0.  Program arguments: src/llvm-14.0.4.src/build/bin/llvm-objdump --macho --private-headers src/llvm-14.0.4.src/test/Object/Inputs/macho-invalid-dylib-cmdsize-past-eof
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  libLLVM-14.so     0xf1c7ef55
1  libLLVM-14.so     0xf1c7bd41
2  ld-musl-i386.so.1 0xf7f732fe __setjmp + 31
3  libLLVM-14.so     0xf3beddfb llvm::object::MachOObjectFile::MachOObjectFile(llvm::MemoryBufferRef, bool, bool, llvm::Error&, unsigned int, unsigned int) + 6827
4  libLLVM-14.so     0xf3befab7 llvm::object::MachOObjectFile::create(llvm::MemoryBufferRef, bool, bool, unsigned int, unsigned int) + 167
5  libLLVM-14.so     0xf3befc48 llvm::object::ObjectFile::createMachOObjectFile(llvm::MemoryBufferRef, unsigned int, unsigned int) + 120
6  libLLVM-14.so     0xf3bfb8b3 llvm::object::ObjectFile::createObjectFile(llvm::MemoryBufferRef, llvm::file_magic, bool) + 419
7  libLLVM-14.so     0xf3c00d33 llvm::object::SymbolicFile::createSymbolicFile(llvm::MemoryBufferRef, llvm::file_magic, llvm::LLVMContext*, bool) + 515
8  libLLVM-14.so     0xf3b558ea llvm::object::createBinary(llvm::MemoryBufferRef, llvm::LLVMContext*, bool) + 314
9  libLLVM-14.so     0xf3b55bb5 llvm::object::createBinary(llvm::StringRef, llvm::LLVMContext*, bool) + 277
10 llvm-objdump      0x56650878
11 llvm-objdump      0x565b1ae7
12 ld-musl-i386.so.1 0xf7f0dc34
13 llvm-objdump      0x565b38ea
zsh: segmentation fault  src/llvm-14.0.4.src/build/bin/llvm-objdump   

Unfortunately, LLVM fails to link on 32-bit platforms with debug info enabled because the linker needs more than 4 GB RAM. I may be able to build an LLVM that only targets x86 if further debug info would be useful.

llvmbot commented 2 years ago

@llvm/issue-subscribers-backend-x86

llvmbot commented 2 years ago

@llvm/issue-subscribers-lld-macho

int3 commented 2 years ago

I don't think this should be tagged with LLD? It's an objdump issue

awilfox commented 2 years ago

I'm seeing this on 32-bit PowerPC as well, so it isn't x86-specific. Still hitting on 14.0.6, haven't tested 15 or 16 branch.

awilfox commented 2 years ago

Here's a fully symbolicated stack dump from a debug build that had only PowerPC;X86 as targets (so Debug could be linked on a 32-bit system):

PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.  Program arguments: /usr/src/packages/user/llvm14/src/llvm-14.0.6.src/build/bin/llvm-objdump --macho --private-headers /usr/src/packages/user/llvm14/src/llvm-14.0.6.src/test/Object/Inputs/macho-invalid-dylib-cmdsize-past-eof
 #0 0xfffffffff3e632b8 llvm::sys::RunSignalHandlers() /usr/src/packages/user/llvm14/src/llvm-14.0.6.src/lib/Support/Signals.cpp:97:20
 #1 0xfffffffff3e63f98 SignalHandler(int) /usr/src/packages/user/llvm14/src/llvm-14.0.6.src/lib/Support/Unix/Signals.inc:397:31
 #2 0x001023c4  0x3c4 llvm::Expected<llvm::MachO::dylib_command>::operator bool()
 #3 0x001023c4 /usr/src/packages/user/llvm14/src/llvm-14.0.6.src/include/llvm/Support/Error.h:563:13 checkDylibCommand(llvm::object::MachOObjectFile const&, llvm::object::MachOObjectFile::LoadCommandInfo const&, unsigned int, char const*) (.isra.360)
 #4 0x001023c4 /usr/src/packages/user/llvm14/src/llvm-14.0.6.src/lib/Object/MachOObjectFile.cpp:739:8 
 #5 0x001023c4 llvm::Error::operator=(llvm::Error&&) /usr/src/packages/user/llvm14/src/llvm-14.0.6.src/include/llvm/Support/Error.h:211:11
 #6 0x001023c4 llvm::object::MachOObjectFile::MachOObjectFile(llvm::MemoryBufferRef, bool, bool, llvm::Error&, unsigned int, unsigned int) /usr/src/packages/user/llvm14/src/llvm-14.0.6.src/lib/Object/MachOObjectFile.cpp:1427:74
 #7 0xfffffffff5d6e630 llvm::Error::operator bool() /usr/src/packages/user/llvm14/src/llvm-14.0.6.src/include/llvm/Support/Error.h:234:22
 #8 0xfffffffff5d6e630 llvm::object::MachOObjectFile::create(llvm::MemoryBufferRef, bool, bool, unsigned int, unsigned int) /usr/src/packages/user/llvm14/src/llvm-14.0.6.src/lib/Object/MachOObjectFile.cpp:1256:10
 #9 0xfffffffff5d73cb8 llvm::object::ObjectFile::createMachOObjectFile(llvm::MemoryBufferRef, unsigned int, unsigned int) /usr/src/packages/user/llvm14/src/llvm-14.0.6.src/lib/Object/MachOObjectFile.cpp:4716:68
#10 0xfffffffff5d75210 void llvm::Expected<std::unique_ptr<llvm::object::ObjectFile, std::default_delete<llvm::object::ObjectFile> > >::moveConstruct<std::unique_ptr<llvm::object::MachOObjectFile, std::default_delete<llvm::object::MachOObjectFile> > >(llvm::Expected<std::unique_ptr<llvm::object::MachOObjectFile, std::default_delete<llvm::object::MachOObjectFile> > >&&) /usr/src/packages/user/llvm14/src/llvm-14.0.6.src/include/llvm/Support/Error.h:640:22
#11 0xfffffffff5d75210 _ZN4llvm8ExpectedISt10unique_ptrINS_6object10ObjectFileESt14default_deleteIS3_EEEC4IS1_INS2_15MachOObjectFileES4_IS9_EEEEONS0_IT_EEPNSt9enable_ifIXsrSt14is_convertibleISC_S6_E5valueEvE4typeE /usr/src/packages/user/llvm14/src/llvm-14.0.6.src/include/llvm/Support/Error.h:531:5
#12 0xfffffffff5d75210 llvm::object::ObjectFile::createObjectFile(llvm::MemoryBufferRef, llvm::file_magic, bool) /usr/src/packages/user/llvm14/src/llvm-14.0.6.src/lib/Object/ObjectFile.cpp:170:40
#13 0xfffffffff5d753f4 void llvm::Expected<std::unique_ptr<llvm::object::SymbolicFile, std::default_delete<llvm::object::SymbolicFile> > >::moveConstruct<std::unique_ptr<llvm::object::ObjectFile, std::default_delete<llvm::object::ObjectFile> > >(llvm::Expected<std::unique_ptr<llvm::object::ObjectFile, std::default_delete<llvm::object::ObjectFile> > >&&) /usr/src/packages/user/llvm14/src/llvm-14.0.6.src/include/llvm/Support/Error.h:640:22
#14 0xfffffffff5d753f4 _ZN4llvm8ExpectedISt10unique_ptrINS_6object12SymbolicFileESt14default_deleteIS3_EEEC4IS1_INS2_10ObjectFileES4_IS9_EEEEONS0_IT_EEPNSt9enable_ifIXsrSt14is_convertibleISC_S6_E5valueEvE4typeE /usr/src/packages/user/llvm14/src/llvm-14.0.6.src/include/llvm/Support/Error.h:531:5
#15 0xfffffffff5d753f4 llvm::object::SymbolicFile::createSymbolicFile(llvm::MemoryBufferRef, llvm::file_magic, llvm::LLVMContext*, bool) /usr/src/packages/user/llvm14/src/llvm-14.0.6.src/lib/Object/SymbolicFile.cpp:71:66
#16 0xfffffffff5d830b4 void llvm::Expected<std::unique_ptr<llvm::object::Binary, std::default_delete<llvm::object::Binary> > >::moveConstruct<std::unique_ptr<llvm::object::SymbolicFile, std::default_delete<llvm::object::SymbolicFile> > >(llvm::Expected<std::unique_ptr<llvm::object::SymbolicFile, std::default_delete<llvm::object::SymbolicFile> > >&&) /usr/src/packages/user/llvm14/src/llvm-14.0.6.src/include/llvm/Support/Error.h:640:22
#17 0xfffffffff5d830b4 _ZN4llvm8ExpectedISt10unique_ptrINS_6object6BinaryESt14default_deleteIS3_EEEC4IS1_INS2_12SymbolicFileES4_IS9_EEEEONS0_IT_EEPNSt9enable_ifIXsrSt14is_convertibleISC_S6_E5valueEvE4typeE /usr/src/packages/user/llvm14/src/llvm-14.0.6.src/include/llvm/Support/Error.h:531:5
#18 0xfffffffff5d830b4 llvm::object::createBinary(llvm::MemoryBufferRef, llvm::LLVMContext*, bool) /usr/src/packages/user/llvm14/src/llvm-14.0.6.src/lib/Object/Binary.cpp:78:77
#19 0xfffffffff5d88fd0 llvm::Expected<std::unique_ptr<llvm::object::Binary, std::default_delete<llvm::object::Binary> > >::operator bool() /usr/src/packages/user/llvm14/src/llvm-14.0.6.src/include/llvm/Support/Error.h:563:13
#20 0xfffffffff5d88fd0 llvm::object::createBinary(llvm::StringRef, llvm::LLVMContext*, bool) /usr/src/packages/user/llvm14/src/llvm-14.0.6.src/lib/Object/Binary.cpp:109:8
#21 0xfffffffff5cd21ec llvm::Expected<llvm::object::OwningBinary<llvm::object::Binary> >::operator bool() /usr/src/packages/user/llvm14/src/llvm-14.0.6.src/include/llvm/Support/Error.h:563:13
#22 0xfffffffff5cd21ec llvm::objdump::parseInputMachO(llvm::StringRef) /usr/src/packages/user/llvm14/src/llvm-14.0.6.src/tools/llvm-objdump/MachODump.cpp:2313:8
#23 0xfffffffff5cd25a4 void (*std::for_each<__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, void (*)(llvm::StringRef)>(__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, __gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, void (*)(llvm::StringRef)))(llvm::StringRef) /usr/include/c++/8.5.0/bits/stl_algo.h:3881:7
#24 0xfffffffff5cd25a4 void (*llvm::for_each<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, void (*)(llvm::StringRef)>(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, void (*)(llvm::StringRef)))(llvm::StringRef) /usr/src/packages/user/llvm14/src/llvm-14.0.6.src/include/llvm/ADT/STLExtras.h:1578:23
#25 0xfffffffff5cd25a4 main /usr/src/packages/user/llvm14/src/llvm-14.0.6.src/tools/llvm-objdump/llvm-objdump.cpp:2771:17
#26 0x006b2e18 (/usr/src/packages/user/llvm14/src/llvm-14.0.6.src/build/bin/llvm-objdump+0xa2e18)
#27 0x006268e0 __libc_start_main (/usr/src/packages/user/llvm14/src/llvm-14.0.6.src/build/bin/llvm-objdump+0x168e0)
#28 0xfffffffff7e9e66c _start_c /root/packages/system/musl/src/musl-1.2.3/crt/crt1.c:19:1
#29 0xfffffffff7e9e6d8 _start_c /root/packages/system/musl/src/musl-1.2.3/crt/crt1.c:15:1
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  libLLVM-14.so        0xf3e632b8 llvm::sys::RunSignalHandlers() + 124
1  libLLVM-14.so        0xf3e63f98
2                       0x001023c4 __kernel_sigtramp32 + 0
3  libLLVM-14.so        0xf5d6e630
4  libLLVM-14.so        0xf5d73cb8 llvm::object::MachOObjectFile::MachOObjectFile(llvm::MemoryBufferRef, bool, bool, llvm::Error&, unsigned int, unsigned int) + 5184
5  libLLVM-14.so        0xf5d75210 llvm::object::MachOObjectFile::create(llvm::MemoryBufferRef, bool, bool, unsigned int, unsigned int) + 204
6  libLLVM-14.so        0xf5d753f4 llvm::object::ObjectFile::createMachOObjectFile(llvm::MemoryBufferRef, unsigned int, unsigned int) + 144
7  libLLVM-14.so        0xf5d830b4 llvm::object::ObjectFile::createObjectFile(llvm::MemoryBufferRef, llvm::file_magic, bool) + 444
8  libLLVM-14.so        0xf5d88fd0 llvm::object::SymbolicFile::createSymbolicFile(llvm::MemoryBufferRef, llvm::file_magic, llvm::LLVMContext*, bool) + 788
9  libLLVM-14.so        0xf5cd21ec llvm::object::createBinary(llvm::MemoryBufferRef, llvm::LLVMContext*, bool) + 500
10 libLLVM-14.so        0xf5cd25a4 llvm::object::createBinary(llvm::StringRef, llvm::LLVMContext*, bool) + 292
11 llvm-objdump         0x006b2e18
12 llvm-objdump         0x006268e0
13 ld-musl-powerpc.so.1 0xf7e9e66c
14 ld-musl-powerpc.so.1 0xf7e9e6d8 __libc_start_main + 104
15 llvm-objdump         0x00627694
16 llvm-objdump         0x00627650
zsh: segmentation fault  /usr/src/packages/user/llvm14/src/llvm-14.0.6.src/build/bin/llvm-objdump   
awilfox commented 2 years ago

The past-EOF check in getLoadCommandInfo is incorrectly passing.

193     if (CmdOrErr->cmdsize + Ptr > Obj.getData().end())
(gdb) x/x Ptr
0xf7fe8cc0: 0x00000020

I think this math may be overflowing?

awilfox commented 2 years ago

Indeed, that is the issue:

(gdb) p Obj.getData()
$1 = {static npos = 4294967295, Data = 0xf7fe8ca0 "\376\355\372\317  \377\377      ", Length = 56}
(gdb) p (MachO::load_command)(CmdOrErr)
$2 = {cmd = 32, cmdsize = 538976288}

0xf7fe'8ca0 + 0x2020'2020 = 0x1'181e'acc0, which on a 32-bit platform is truncated to 0x181e'acc0 which is less than 0xf7fe'8cd8.

oontvoo commented 2 years ago

I've also just run into similar crash (at a different line in this file). Looks like a few places could use an overflow check (maybe llvm::SaturatingAdd could be useful)

ncopa commented 1 month ago

Would something like this work?

diff --git a/llvm/lib/Object/MachOObjectFile.cpp b/llvm/lib/Object/MachOObjectFile.cpp
index 812b2c00ba69..384665ef1694 100644
--- a/llvm/lib/Object/MachOObjectFile.cpp
+++ b/llvm/lib/Object/MachOObjectFile.cpp
@@ -192,7 +192,8 @@ static Expected<MachOObjectFile::LoadCommandInfo>
 getLoadCommandInfo(const MachOObjectFile &Obj, const char *Ptr,
                    uint32_t LoadCommandIndex) {
   if (auto CmdOrErr = getStructOrErr<MachO::load_command>(Obj, Ptr)) {
-    if (CmdOrErr->cmdsize + Ptr > Obj.getData().end())
+    if ((CmdOrErr->cmdsize > std::numeric_limits<uintptr_t>::max() - Ptr) ||
+        (CmdOrErr->cmdsize + Ptr > Obj.getData().end()))
       return malformedError("load command " + Twine(LoadCommandIndex) +
                             " extends past end of file");
     if (CmdOrErr->cmdsize < 8)
ncopa commented 1 month ago

Or if we changed it to something like:

 if (CmdOrErr->cmdsize > Obj.getData().end() - Ptr)
EugeneZelenko commented 1 month ago

Could somebody please try 19 or main branch?

ncopa commented 1 month ago

Could somebody please try 19 or main branch?

I bumped into this while upgrading llvm to 19, so I am using 19.1.1 release.

ncopa commented 1 month ago

This change makes the test pass with llvm 19.1.1 on 32 bit alpine linux:

diff --git a/llvm/lib/Object/MachOObjectFile.cpp b/llvm/lib/Object/MachOObjectFile.cpp
index 812b2c0..33f2575 100644
--- a/llvm/lib/Object/MachOObjectFile.cpp
+++ b/llvm/lib/Object/MachOObjectFile.cpp
@@ -192,7 +192,7 @@ static Expected<MachOObjectFile::LoadCommandInfo>
 getLoadCommandInfo(const MachOObjectFile &Obj, const char *Ptr,
                    uint32_t LoadCommandIndex) {
   if (auto CmdOrErr = getStructOrErr<MachO::load_command>(Obj, Ptr)) {
-    if (CmdOrErr->cmdsize + Ptr > Obj.getData().end())
+    if (CmdOrErr->cmdsize > Obj.getData().end() - Ptr)
       return malformedError("load command " + Twine(LoadCommandIndex) +
                             " extends past end of file");
     if (CmdOrErr->cmdsize < 8)

I dont know if we need to test if Obj.getData().end() > Ptr or if it end() always be less or equal than Ptr. At lest it does not introduce any new test failures, so this is what we use in downstream Alpine for now.

smeenai commented 1 month ago

That seems like a simple and correct patch; you should put it up as a PR :)

awilfox commented 1 month ago

I had tried to land something like this back when Phabricator was a thing, my patch was:

Use integer offset math instead of pointer math to determine load
command bounds.

Upstream-URL: https://github.com/llvm/llvm-project/issues/56746

--- llvm-14.0.6.src/lib/Object/MachOObjectFile.cpp.old  2022-06-22 16:46:24.000000000 +0000
+++ llvm-14.0.6.src/lib/Object/MachOObjectFile.cpp  2022-11-28 04:21:02.730211841 +0000
@@ -192,7 +192,8 @@
 getLoadCommandInfo(const MachOObjectFile &Obj, const char *Ptr,
                    uint32_t LoadCommandIndex) {
   if (auto CmdOrErr = getStructOrErr<MachO::load_command>(Obj, Ptr)) {
-    if (CmdOrErr->cmdsize + Ptr > Obj.getData().end())
+    uint64_t Offset = Ptr - Obj.getData().begin();
+    if (CmdOrErr->cmdsize + Offset > Obj.getData().size())
       return malformedError("load command " + Twine(LoadCommandIndex) +
                             " extends past end of file");
     if (CmdOrErr->cmdsize < 8)

It was rejected as not covering enough, and was replaced with https://reviews.llvm.org/D138830. This was never landed, so I guess it was abandoned.