|  | # REQUIRES: x86 | 
|  | # RUN: llvm-mc -filetype=obj -triple=x86_64 %s -o %t.o | 
|  | # RUN: echo "SECTIONS { \ | 
|  | # RUN:  . = SIZEOF_HEADERS; \ | 
|  | # RUN:  .keep : { KEEP( INPUT_SECTION_FLAGS(!SHF_WRITE) *(.sec*)) } \ | 
|  | # RUN:  }" > %t.script | 
|  | # RUN: ld.lld --gc-sections -o %t --script %t.script %t.o | 
|  | # RUN: llvm-readobj --symbols %t | FileCheck %s | 
|  |  | 
|  | ## Check that INPUT_SECTION_FLAGS can be used within KEEP, and affects what | 
|  | ## is kept. | 
|  | # CHECK: Name: keep | 
|  | # CHECK-NOT: NAME: collect | 
|  | .text | 
|  | .global _start | 
|  | _start: | 
|  | .long 0 | 
|  |  | 
|  | .section .sec1, "a" | 
|  | .global keep | 
|  | keep: | 
|  | .long 1 | 
|  |  | 
|  | .section .sec2, "aw" | 
|  | .global collect | 
|  | collect: | 
|  | .long 2 |