# RUN: yaml2obj %s -o %t1.o # RUN: wasm-ld --no-entry --shared-memory --features=atomics,bulk-memory %t1.o -o - | obj2yaml | FileCheck %s --check-prefix SHARED # RUN: not wasm-ld --no-entry --shared-memory --max-memory=100000 %t1.o -o - 2>&1 | FileCheck %s --check-prefix SHARED-UNALIGNED # RUN: not wasm-ld --no-entry --shared-memory --max-memory=131072 --features=bulk-memory %t1.o -o - 2>&1 | FileCheck %s --check-prefix SHARED-NO-ATOMICS # RUN: not wasm-ld --no-entry --shared-memory --max-memory=131072 --features=atomics %t1.o -o - 2>&1 | FileCheck %s --check-prefix SHARED-NO-BULK-MEM # RUN: wasm-ld --relocatable --features=atomics %t1.o -o - | obj2yaml | FileCheck %s --check-prefix ATOMICS-RELOCATABLE # RUN: wasm-ld --no-entry --shared-memory --max-memory=131072 --features=atomics,bulk-memory %t1.o -o - | obj2yaml | FileCheck %s --check-prefix SHARED --- !WASM FileHeader: Version: 0x00000001 Sections: - Type: IMPORT Imports: - Module: env Field: __linear_memory Kind: MEMORY Memory: Initial: 0x00000001 - Module: env Field: __indirect_function_table Kind: TABLE Table: Index: 0 ElemType: FUNCREF Limits: Initial: 0x00000000 - Type: DATA Segments: - SectionOffset: 6 InitFlags: 0 Offset: Opcode: I32_CONST Value: 0 Content: 68656C6C6F0A00 - Type: CUSTOM Name: linking Version: 2 SymbolTable: - Index: 0 Kind: DATA Name: hello_str Flags: [ ] Segment: 0 Size: 7 SegmentInfo: - Index: 0 Name: .rodata.hello_str Alignment: 0 Flags: [ ] ... # SHARED-UNALIGNED: maximum memory must be 65536-byte aligned{{$}} # SHARED-NO-ATOMICS: 'atomics' feature must be used in order to use shared memory # SHARED-NO-BULK-MEM: 'bulk-memory' feature must be used in order to use shared memory # ATOMICS-RELOCATABLE: - Type: MEMORY # ATOMICS-RELOCATABLE-NEXT: Memories: # ATOMICS-RELOCATABLE-NEXT: Initial: 0x1 # ATOMICS-RELOCATABLE-NEXT: - Type: # SHARED: - Type: MEMORY # SHARED-NEXT: Memories: # SHARED-NEXT: - Flags: [ HAS_MAX, IS_SHARED ] # SHARED-NEXT: Initial: 0x2 # SHARED-NEXT: Maximum: 0x2