1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
|
; RUN: llvm-ml %s /Fo - | llvm-readobj --section-headers - | FileCheck %s
t1 SEGMENT BYTE
t1 ENDS
; CHECK-LABEL: Name: t1
; CHECK-NOT: }
; CHECK: IMAGE_SCN_ALIGN_1BYTES
t2 SEGMENT WORD
t2 ENDS
; CHECK-LABEL: Name: t2
; CHECK-NOT: }
; CHECK: IMAGE_SCN_ALIGN_2BYTES
t3 SEGMENT DWORD
t3 ENDS
; CHECK-LABEL: Name: t3
; CHECK-NOT: }
; CHECK: IMAGE_SCN_ALIGN_4BYTES
t4 SEGMENT PARA
t4 ENDS
; CHECK-LABEL: Name: t4
; CHECK-NOT: }
; CHECK: IMAGE_SCN_ALIGN_16BYTES
t5 SEGMENT PAGE
t5 ENDS
; CHECK-LABEL: Name: t5
; CHECK-NOT: }
; CHECK: IMAGE_SCN_ALIGN_256BYTES
; Default alignment (should match PARA)
t6 SEGMENT
t6 ENDS
; CHECK-LABEL: Name: t6
; CHECK-NOT: }
; CHECK: IMAGE_SCN_ALIGN_16BYTES
; Unnamed alignment
t7 SEGMENT ALIGN(32)
t7 ENDS
; CHECK-LABEL: Name: t7
; CHECK-NOT: }
; CHECK: IMAGE_SCN_ALIGN_32BYTES
t8 SEGMENT ALIAS('t8_alias')
t8 ENDS
; CHECK-LABEL: Name: t8_alias
t9 SEGMENT 'DATA'
t9 ENDS
; CHECK-LABEL: Name: t9
; CHECK-NOT: }
; CHECK-DAG: IMAGE_SCN_CNT_INITIALIZED_DATA
; CHECK-DAG: IMAGE_SCN_MEM_READ
; CHECK-DAG: IMAGE_SCN_MEM_WRITE
; CHECK: }
t10 SEGMENT 'CODE'
t10 ENDS
; CHECK-LABEL: Name: t10
; CHECK-NOT: }
; CHECK-NOT: IMAGE_SCN_MEM_WRITE
; CHECK-DAG: IMAGE_SCN_CNT_CODE
; CHECK-DAG: IMAGE_SCN_MEM_EXECUTE
; CHECK-DAG: IMAGE_SCN_MEM_READ
; CHECK-NOT: IMAGE_SCN_MEM_WRITE
; CHECK: }
t11 SEGMENT 'CONST'
t11 ENDS
; CHECK-LABEL: Name: t11
; CHECK-NOT: }
; CHECK-DAG: IMAGE_SCN_CNT_INITIALIZED_DATA
; CHECK-DAG: IMAGE_SCN_MEM_READ
; CHECK-DAG: IMAGE_SCN_MEM_WRITE
; CHECK: }
t12 SEGMENT 'STACK'
t12 ENDS
; CHECK-LABEL: Name: t12
; CHECK-NOT: }
; CHECK-DAG: IMAGE_SCN_CNT_INITIALIZED_DATA
; CHECK-DAG: IMAGE_SCN_MEM_READ
; CHECK-DAG: IMAGE_SCN_MEM_WRITE
; CHECK: }
t13 SEGMENT 'DOESNTEXIST'
t13 ENDS
; CHECK-LABEL: Name: t13
; CHECK-NOT: }
; CHECK-DAG: IMAGE_SCN_CNT_INITIALIZED_DATA
; CHECK-DAG: IMAGE_SCN_MEM_READ
; CHECK-DAG: IMAGE_SCN_MEM_WRITE
; CHECK: }
t14 SEGMENT READONLY 'CONST'
t14 ENDS
; CHECK-LABEL: Name: t14
; CHECK-NOT: }
; CHECK-NOT: IMAGE_SCN_MEM_WRITE
; CHECK-DAG: IMAGE_SCN_CNT_INITIALIZED_DATA
; CHECK-DAG: IMAGE_SCN_MEM_READ
; CHECK-NOT: IMAGE_SCN_MEM_WRITE
; CHECK: }
t15 SEGMENT WRITE
t15 ENDS
; CHECK-LABEL: Name: t15
; CHECK-NOT: }
; CHECK-NOT: IMAGE_SCN_MEM_READ
; CHECK-DAG: IMAGE_SCN_CNT_INITIALIZED_DATA
; CHECK-DAG: IMAGE_SCN_MEM_WRITE
; CHECK-NOT: IMAGE_SCN_MEM_READ
; CHECK: }
t16 SEGMENT SHARED NOPAGE NOCACHE INFO READ WRITE EXECUTE DISCARD
t16 ENDS
; CHECK-LABEL: Name: t16
; CHECK-NOT: }
; CHECK-DAG: IMAGE_SCN_LNK_INFO
; CHECK-DAG: IMAGE_SCN_MEM_READ
; CHECK-DAG: IMAGE_SCN_MEM_WRITE
; CHECK-DAG: IMAGE_SCN_MEM_EXECUTE
; CHECK-DAG: IMAGE_SCN_MEM_SHARED
; CHECK-DAG: IMAGE_SCN_MEM_NOT_PAGED
; CHECK-DAG: IMAGE_SCN_MEM_NOT_CACHED
; CHECK-DAG: IMAGE_SCN_MEM_DISCARDABLE
; CHECK: }
_TEXT SEGMENT
_TEXT ENDS
; CHECK-LABEL: Name: .text
; CHECK-NOT: }
; CHECK-NOT: IMAGE_SCN_MEM_WRITE
; CHECK-DAG: IMAGE_SCN_CNT_CODE
; CHECK-DAG: IMAGE_SCN_MEM_EXECUTE
; CHECK-DAG: IMAGE_SCN_MEM_READ
; CHECK-NOT: IMAGE_SCN_MEM_WRITE
; CHECK: }
END
|