# REQUIRES: x86 # RUN: llvm-mc %s -o %t.o -filetype=obj -triple=x86_64-pc-linux # RUN: llvm-mc %p/Inputs/rodynamic.s -o %t.so.o -filetype=obj -triple=x86_64-pc-linux # RUN: ld.lld -shared %t.so.o -o %t.so # RUN: ld.lld %t.o %t.so -o %t.exe # RUN: llvm-readobj -dynamic-table %t.exe | FileCheck -check-prefix=DEFDEBUG %s # RUN: llvm-readobj -sections %t.exe | FileCheck -check-prefix=DEFSEC %s # RUN: ld.lld -shared -z rodynamic %t.so.o -o %t.so # RUN: ld.lld -z rodynamic %t.o %t.so -o %t.exe # RUN: llvm-readobj -dynamic-table %t.exe | FileCheck -check-prefix=RODEBUG %s # RUN: llvm-readobj -sections %t.exe | FileCheck -check-prefix=ROSEC %s .globl _start _start: call foo # DEFDEBUG: DEBUG # DEFSEC: Section { # DEFSEC: Name: .dynamic # DEFSEC-NEXT: Type: SHT_DYNAMIC # DEFSEC-NEXT: Flags [ # DEFSEC-NEXT: SHF_ALLOC # DEFSEC-NEXT: SHF_WRITE # DEFSEC-NEXT: ] # RODEBUG-NOT: DEBUG # ROSEC: Section { # ROSEC: Name: .dynamic # ROSEC-NEXT: Type: SHT_DYNAMIC # ROSEC-NEXT: Flags [ # ROSEC-NEXT: SHF_ALLOC # ROSEC-NEXT: ]