# REQUIRES: x86 # RUN: rm -rf %t; split-file %s %t # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-macos10.15 %t/too-small-1.s -o %t/too-small-1.o # RUN: not %lld -lSystem -dylib %t/too-small-1.o -o /dev/null 2>&1 | FileCheck %s --check-prefix TOO-SMALL-1 # TOO-SMALL-1: error: {{.*}}too-small-1.o:(__eh_frame+0x0): CIE/FDE too small # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-macos10.15 %t/too-small-2.s -o %t/too-small-2.o # RUN: not %lld -lSystem -dylib %t/too-small-2.o -o /dev/null 2>&1 | FileCheck %s --check-prefix TOO-SMALL-2 # TOO-SMALL-2: error: {{.*}}too-small-2.o:(__eh_frame+0x0): CIE/FDE extends past the end of the section # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-macos10.15 %t/personality-enc.s -o %t/personality-enc.o # RUN: not %lld -lSystem -dylib %t/personality-enc.o -o /dev/null 2>&1 | FileCheck %s --check-prefix PERS-ENC # PERS-ENC: error: {{.*}}personality-enc.o:(__eh_frame+0x12): unexpected personality encoding 0xb # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-macos10.15 %t/pointer-enc.s -o %t/pointer-enc.o # RUN: not %lld -lSystem -dylib %t/pointer-enc.o -o /dev/null 2>&1 | FileCheck %s --check-prefix PTR-ENC # PTR-ENC: error: {{.*}}pointer-enc.o:(__eh_frame+0x11): unexpected pointer encoding 0x12 # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-macos10.15 %t/string-err.s -o %t/string-err.o # RUN: not %lld -lSystem -dylib %t/string-err.o -o /dev/null 2>&1 | FileCheck %s --check-prefix STR # STR: error: {{.*}}string-err.o:(__eh_frame+0x9): corrupted CIE (failed to read string) #--- too-small-1.s .p2align 3 .section __TEXT,__eh_frame .short 0x3 .subsections_via_symbols #--- too-small-2.s .p2align 3 .section __TEXT,__eh_frame .long 0x3 # length .subsections_via_symbols #--- personality-enc.s .p2align 3 .section __TEXT,__eh_frame .long 0x14 # length .long 0 # CIE offset .byte 1 # version .asciz "zPR" # aug string .byte 0x01 # code alignment .byte 0x78 # data alignment .byte 0x10 # return address register .byte 0x01 # aug length .byte 0x0b # personality encoding .long 0xffff # personality pointer .byte 0x10 # pointer encoding .space 1 # pad to alignment .subsections_via_symbols #--- pointer-enc.s .p2align 3 .section __TEXT,__eh_frame .long 0x14 # length .long 0 # CIE offset .byte 1 # version .asciz "zR" # aug string .byte 0x01 # code alignment .byte 0x78 # data alignment .byte 0x10 # return address register .byte 0x01 # aug length .byte 0x12 # pointer encoding .space 7 # pad to alignment .subsections_via_symbols #--- string-err.s .p2align 3 .section __TEXT,__eh_frame .long 0x7 # length .long 0 # CIE offset .byte 1 # version .ascii "zR" # invalid aug string .subsections_via_symbols