# REQUIRES: x86 # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %s -o %t.o # RUN: %lld -o %t %t.o ## Check that -rpath generates LC_RPATH. # RUN: %lld -o %t %t.o -rpath /some/rpath -rpath /another/rpath # RUN: llvm-objdump --macho --all-headers %t | FileCheck %s # CHECK: LC_RPATH # CHECK-NEXT: cmdsize 24 # CHECK-NEXT: path /some/rpath # CHECK: LC_RPATH # CHECK-NEXT: cmdsize 32 # CHECK-NEXT: path /another/rpath ## Check that -rpath entries are deduplicated. # RUN: not %lld %t.o -o /dev/null -rpath /some/rpath -rpath /other/rpath -rpath /some/rpath 2>&1 | \ # RUN: FileCheck --check-prefix=FATAL %s # FATAL: error: duplicate -rpath '/some/rpath' ignored [--warn-duplicate-rpath] # RUN: %lld -o %t-dup %t.o -rpath /some/rpath -rpath /other/rpath -rpath /some/rpath --no-warn-duplicate-rpath # RUN: llvm-objdump --macho --all-headers %t-dup | FileCheck %s --check-prefix=DEDUP # DEDUP: LC_RPATH # DEDUP-NEXT: cmdsize 24 # DEDUP-NEXT: path /some/rpath # DEDUP: LC_RPATH # DEDUP-NEXT: cmdsize 32 # DEDUP-NEXT: path /other/rpath # DEDUP-NOT: LC_RPATH .text .global _main _main: mov $0, %rax ret