Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions lld/docs/ReleaseNotes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -52,5 +52,8 @@ MachO Improvements
WebAssembly Improvements
------------------------

* The ``--stack-first`` flag is now enabled by default. The old
behavior can be enabled using ``--no-stack-first``.

Fixes
#####
4 changes: 2 additions & 2 deletions lld/test/wasm/alias.s
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,15 @@ _start:
# CHECK-NEXT: FunctionTypes: [ 0 ]
# CHECK-NEXT: - Type: MEMORY
# CHECK-NEXT: Memories:
# CHECK-NEXT: - Minimum: 0x2
# CHECK-NEXT: - Minimum: 0x1
# CHECK-NEXT: - Type: GLOBAL
# CHECK-NEXT: Globals:
# CHECK-NEXT: - Index: 0
# CHECK-NEXT: Type: I32
# CHECK-NEXT: Mutable: true
# CHECK-NEXT: InitExpr:
# CHECK-NEXT: Opcode: I32_CONST
# CHECK-NEXT: Value: 66560
# CHECK-NEXT: Value: 65536
# CHECK-NEXT: - Type: EXPORT
# CHECK-NEXT: Exports:
# CHECK-NEXT: - Name: memory
Expand Down
4 changes: 2 additions & 2 deletions lld/test/wasm/bss-only.s
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,13 @@ b:
# CHECK-NEXT: Mutable: true
# CHECK-NEXT: InitExpr:
# CHECK-NEXT: Opcode: I32_CONST
# CHECK-NEXT: Value: 67568
# CHECK-NEXT: Value: 65536
# CHECK-NEXT: - Index: 1
# CHECK-NEXT: Type: I32
# CHECK-NEXT: Mutable: false
# CHECK-NEXT: InitExpr:
# CHECK-NEXT: Opcode: I32_CONST
# CHECK-NEXT: Value: 2028
# CHECK-NEXT: Value: 66540
# CHECK-NEXT: - Type: EXPORT
# CHECK-NEXT: Exports:
# CHECK-NEXT: - Name: memory
Expand Down
8 changes: 4 additions & 4 deletions lld/test/wasm/build-id.test
Original file line number Diff line number Diff line change
Expand Up @@ -43,12 +43,12 @@ foo:


# DEFAULT: Contents of section build_id:
# DEFAULT-NEXT: 0079 10299168 1e3c845a 3c8f80ae 2f16cc22 .).h.<.Z<.../.."
# DEFAULT-NEXT: 0089 2d
# DEFAULT-NEXT: 0079 103f86e6 3bb81959 2e99ffa9 acfed331 .?..;..Y.......1
# DEFAULT-NEXT: 0089 3a

# SHA1: Contents of section build_id:
# SHA1-NEXT: 0079 145abdda 387a9bc4 e3aed3c3 3319cd37 .Z..8z......3..7
# SHA1-NEXT: 0089 0212237c e4 ..#|.
# SHA1-NEXT: 0079 1410ade4 e75d1c9d 71023465 03b7572f .....]..q.4e..W/
# SHA1-NEXT: 0089 c06c5ae0 74 .lZ.t

# UUID: Contents of section build_id:
# UUID-NEXT: 0079 10
Expand Down
12 changes: 6 additions & 6 deletions lld/test/wasm/call-indirect.s
Original file line number Diff line number Diff line change
Expand Up @@ -82,13 +82,13 @@ indirect_func:
# CHECK-NEXT: Mutable: true
# CHECK-NEXT: InitExpr:
# CHECK-NEXT: Opcode: I32_CONST
# CHECK-NEXT: Value: 66576
# CHECK-NEXT: Value: 65536
# CHECK-NEXT: - Index: 1
# CHECK-NEXT: Type: I32
# CHECK-NEXT: Mutable: false
# CHECK-NEXT: InitExpr:
# CHECK-NEXT: Opcode: I32_CONST
# CHECK-NEXT: Value: 1032
# CHECK-NEXT: Value: 65544
# CHECK-NEXT: - Type: EXPORT
# CHECK-NEXT: Exports:
# CHECK-NEXT: - Name: memory
Expand Down Expand Up @@ -125,23 +125,23 @@ indirect_func:
# CHECK-NEXT: Body: 42010B
# CHECK-NEXT: - Index: 1
# CHECK-NEXT: Locals:
# CHECK-NEXT: Body: 410028028088808000118080808000001A410028028488808000118180808000001A0B
# CHECK-NEXT: Body: 410028028080848000118080808000001A410028028480848000118180808000001A0B
# CHECK-NEXT: - Index: 2
# CHECK-NEXT: Locals:
# CHECK-NEXT: Body: 41020B
# CHECK-NEXT: - Index: 3
# CHECK-NEXT: Locals:
# CHECK-NEXT: Body: 410028028888808000118180808000001A0B
# CHECK-NEXT: Body: 410028028880848000118180808000001A0B
# CHECK-NEXT: - Index: 4
# CHECK-NEXT: Locals:
# CHECK-NEXT: Body: 42012000118280808000001A0B
# CHECK-NEXT: - Type: DATA
# CHECK-NEXT: Segments:
# CHECK-NEXT: - SectionOffset: 7
# CHECK-NEXT: - SectionOffset: 8
# CHECK-NEXT: InitFlags: 0
# CHECK-NEXT: Offset:
# CHECK-NEXT: Opcode: I32_CONST
# CHECK-NEXT: Value: 1024
# CHECK-NEXT: Value: 65536
# CHECK-NEXT: Content: '010000000200000002000000'
# CHECK-NEXT: - Type: CUSTOM
# CHECK-NEXT: Name: name
Expand Down
10 changes: 5 additions & 5 deletions lld/test/wasm/comdats.ll
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,13 @@ entry:
; CHECK-NEXT: Mutable: true
; CHECK-NEXT: InitExpr:
; CHECK-NEXT: Opcode: I32_CONST
; CHECK-NEXT: Value: 66576
; CHECK-NEXT: Value: 65536
; CHECK-NEXT: - Index: 1
; CHECK-NEXT: Type: I32
; CHECK-NEXT: Mutable: false
; CHECK-NEXT: InitExpr:
; CHECK-NEXT: Opcode: I32_CONST
; CHECK-NEXT: Value: 1024
; CHECK-NEXT: Value: 65536
; CHECK-NEXT: - Type: EXPORT
; CHECK-NEXT: Exports:
; CHECK-NEXT: - Name: memory
Expand Down Expand Up @@ -69,7 +69,7 @@ entry:
; CHECK-NEXT: Body: 1080808080001082808080001A0B
; CHECK-NEXT: - Index: 2
; CHECK-NEXT: Locals:
; CHECK-NEXT: Body: 4180888080000B
; CHECK-NEXT: Body: 4180808480000B
; CHECK-NEXT: - Index: 3
; CHECK-NEXT: Locals:
; CHECK-NEXT: Body: 0B
Expand All @@ -81,9 +81,9 @@ entry:
; CHECK-NEXT: Body: 4181808080000B
; CHECK-NEXT: - Type: DATA
; CHECK-NEXT: Segments:
; CHECK-NEXT: - SectionOffset: 7
; CHECK-NEXT: - SectionOffset: 8
; CHECK-NEXT: InitFlags: 0
; CHECK-NEXT: Offset:
; CHECK-NEXT: Opcode: I32_CONST
; CHECK-NEXT: Value: 1024
; CHECK-NEXT: Value: 65536
; CHECK-NEXT: Content: '616263'
12 changes: 6 additions & 6 deletions lld/test/wasm/compress-relocs.s
Original file line number Diff line number Diff line change
Expand Up @@ -47,16 +47,16 @@ test_memory_and_indirect_call_relocs:
end_function

# CHECK: test_memory_and_indirect_call_relocs
# CHECK: 41 90 88 80 80 00 i32.const 1040
# CHECK: 41 90 80 84 80 00 i32.const 65552
# CHECK: 11 80 80 80 80 00 80 80 80 80 00 call_indirect 0
# CHECK: 28 02 94 88 80 80 00 i32.load 1044
# CHECK: 28 02 94 80 84 80 00 i32.load 65556
# CHECK: 11 81 80 80 80 00 80 80 80 80 00 call_indirect 1
# CHECK: 41 81 80 80 80 00 i32.const 1
# CHECK: 11 80 80 80 80 00 80 80 80 80 00 call_indirect 0
# COMPRESS: test_memory_and_indirect_call_relocs
# COMPRESS: 41 90 08 i32.const 1040
# COMPRESS: 41 90 80 04 i32.const 65552
# COMPRESS: 11 00 00 call_indirect 0
# COMPRESS: 28 02 94 08 i32.load 1044
# COMPRESS: 28 02 94 80 04 i32.load 65556
# COMPRESS: 11 01 00 call_indirect 1
# COMPRESS: 41 01 i32.const 1
# COMPRESS: 11 00 00 call_indirect 0
Expand Down Expand Up @@ -91,11 +91,11 @@ test_relative_relocs:
end_function

# CHECK: test_relative_relocs
# CHECK: 41 90 88 80 80 00 i32.const 1040
# CHECK: 41 90 80 84 80 00 i32.const 65552
# CHECK: 41 81 80 80 80 00 i32.const 1
# CHECK: 41 83 80 80 80 00 i32.const 3
# COMPRESS: test_relative_relocs
# COMPRESS: 41 90 08 i32.const 1040
# COMPRESS: 41 90 80 04 i32.const 65552
# COMPRESS: 41 01 i32.const 1
# COMPRESS: 41 03 i32.const 3

Expand Down
12 changes: 6 additions & 6 deletions lld/test/wasm/compress-relocs64.s
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,12 @@ test_memory_and_indirect_call_relocs:
end_function

# CHECK: test_memory_and_indirect_call_relocs
# CHECK: 42 90 88 80 80 80 80 80 80 80 00 i64.const 1040
# CHECK: 29 03 98 88 80 80 80 80 80 80 80 00 i64.load 1048
# CHECK: 42 90 80 84 80 80 80 80 80 80 00 i64.const 65552
# CHECK: 29 03 98 80 84 80 80 80 80 80 80 00 i64.load 65560
# CHECK: 42 81 80 80 80 80 80 80 80 80 00 i64.const 1
# COMPRESS: test_memory_and_indirect_call_relocs
# COMPRESS: 42 90 08 i64.const 1040
# COMPRESS: 29 03 98 08 i64.load 1048
# COMPRESS: 42 90 80 04 i64.const 65552
# COMPRESS: 29 03 98 80 04 i64.load 65560
# COMPRESS: 42 01 i64.const 1

.globl test_relative_relocs
Expand All @@ -56,11 +56,11 @@ test_relative_relocs:
end_function

# CHECK: test_relative_relocs
# CHECK: 42 90 88 80 80 80 80 80 80 80 00 i64.const 1040
# CHECK: 42 90 80 84 80 80 80 80 80 80 00 i64.const 65552
# CHECK: 42 81 80 80 80 80 80 80 80 80 00 i64.const 1
# CHECK: 42 83 80 80 80 80 80 80 80 80 00 i64.const 3
# COMPRESS: test_relative_relocs
# COMPRESS: 42 90 08 i64.const 1040
# COMPRESS: 42 90 80 04 i64.const 65552
# COMPRESS: 42 01 i64.const 1
# COMPRESS: 42 03 i64.const 3

Expand Down
16 changes: 8 additions & 8 deletions lld/test/wasm/custom-section-name.ll
Original file line number Diff line number Diff line change
Expand Up @@ -16,29 +16,29 @@ target triple = "wasm32-unknown-unknown"

; CHECK-LABEL: - Type: DATA
; CHECK-NEXT: Segments:
; CHECK-NEXT: - SectionOffset: 7
; CHECK-NEXT: - SectionOffset: 8
; CHECK-NEXT: InitFlags: 0
; CHECK-NEXT: Offset:
; CHECK-NEXT: Opcode: I32_CONST
; CHECK-NEXT: Value: 1024
; CHECK-NEXT: Value: 65536
; CHECK-NEXT: Content: '00000000'
; CHECK-NEXT: - SectionOffset: 17
; CHECK-NEXT: - SectionOffset: 19
; CHECK-NEXT: InitFlags: 0
; CHECK-NEXT: Offset:
; CHECK-NEXT: Opcode: I32_CONST
; CHECK-NEXT: Value: 1028
; CHECK-NEXT: Value: 65540
; CHECK-NEXT: Content: 2A000000
; CHECK-NEXT: - SectionOffset: 27
; CHECK-NEXT: - SectionOffset: 30
; CHECK-NEXT: InitFlags: 0
; CHECK-NEXT: Offset:
; CHECK-NEXT: Opcode: I32_CONST
; CHECK-NEXT: Value: 1032
; CHECK-NEXT: Value: 65544
; CHECK-NEXT: Content: '07000000'
; BSS-NEXT: - SectionOffset: 37
; BSS-NEXT: - SectionOffset: 41
; BSS-NEXT: InitFlags: 0
; BSS-NEXT: Offset:
; BSS-NEXT: Opcode: I32_CONST
; BSS-NEXT: Value: 1036
; BSS-NEXT: Value: 65548
; BSS-NEXT: Content: '00000000'
; NO-BSS-NOT: - SectionOffset:

Expand Down
14 changes: 7 additions & 7 deletions lld/test/wasm/data-layout.s
Original file line number Diff line number Diff line change
Expand Up @@ -63,33 +63,33 @@ local_struct_internal_ptr:
# CHECK-NEXT: Mutable: true
# CHECK-NEXT: InitExpr:
# CHECK-NEXT: Opcode: [[PTR]]_CONST
# CHECK-NEXT: Value: 66624
# CHECK-NEXT: Value: 65536
# CHECK-NEXT: - Index: 1
# CHECK-NEXT: Type: [[PTR]]
# CHECK-NEXT: Mutable: false
# CHECK-NEXT: InitExpr:
# CHECK-NEXT: Opcode: [[PTR]]_CONST
# CHECK-NEXT: Value: 1080
# CHECK-NEXT: Value: 65592
# CHECK-NEXT: - Index: 2
# CHECK-NEXT: Type: [[PTR]]
# CHECK-NEXT: Mutable: false
# CHECK-NEXT: InitExpr:
# CHECK-NEXT: Opcode: [[PTR]]_CONST
# CHECK-NEXT: Value: 66624
# CHECK-NEXT: Value: 65600

# CHECK: - Type: DATA
# CHECK-NEXT: Segments:
# CHECK-NEXT: - SectionOffset: 7
# CHECK-NEXT: - SectionOffset: 8
# CHECK-NEXT: InitFlags: 0
# CHECK-NEXT: Offset:
# CHECK-NEXT: Opcode: [[PTR]]_CONST
# CHECK-NEXT: Value: 1024
# CHECK-NEXT: Value: 65536
# CHECK-NEXT: Content: 68656C6C6F0A00
# CHECK-NEXT: - SectionOffset: 20
# CHECK-NEXT: - SectionOffset: 22
# CHECK-NEXT: InitFlags: 0
# CHECK-NEXT: Offset:
# CHECK-NEXT: Opcode: [[PTR]]_CONST
# CHECK-NEXT: Value: 1040
# CHECK-NEXT: Value: 65552


# RUN: wasm-ld -no-gc-sections --allow-undefined --no-entry \
Expand Down
16 changes: 8 additions & 8 deletions lld/test/wasm/data-segment-merging.ll
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@

; MERGE-LABEL: - Type: DATA
; MERGE-NEXT: Segments:
; MERGE-NEXT: - SectionOffset: 7
; MERGE-NEXT: - SectionOffset: 8
; MERGE-NEXT: InitFlags: 0
; MERGE-NEXT: Offset:
; MERGE: Content: 636F6E7374616E74000000002B
; MERGE-NEXT: - SectionOffset: 26
; MERGE-NEXT: - SectionOffset: 28
; MERGE-NEXT: InitFlags: 0
; MERGE-NEXT: Offset:
; MERGE: Content: 68656C6C6F00676F6F6462796500776861746576657200002A000000
Expand All @@ -41,27 +41,27 @@
; SEPARATE-NOT: DATACOUNT
; SEPARATE-LABEL: - Type: DATA
; SEPARATE-NEXT: Segments:
; SEPARATE-NEXT: - SectionOffset: 7
; SEPARATE-NEXT: - SectionOffset: 8
; SEPARATE-NEXT: InitFlags: 0
; SEPARATE-NEXT: Offset:
; SEPARATE: Content: 636F6E7374616E7400
; SEPARATE-NEXT: - SectionOffset: 22
; SEPARATE-NEXT: - SectionOffset: 24
; SEPARATE-NEXT: InitFlags: 0
; SEPARATE-NEXT: Offset:
; SEPARATE: Content: 2B
; SEPARATE-NEXT: - SectionOffset: 29
; SEPARATE-NEXT: - SectionOffset: 32
; SEPARATE-NEXT: InitFlags: 0
; SEPARATE-NEXT: Offset:
; SEPARATE: Content: 68656C6C6F00
; SEPARATE-NEXT: - SectionOffset: 41
; SEPARATE-NEXT: - SectionOffset: 45
; SEPARATE-NEXT: InitFlags: 0
; SEPARATE-NEXT: Offset:
; SEPARATE: Content: 676F6F6462796500
; SEPARATE-NEXT: - SectionOffset: 55
; SEPARATE-NEXT: - SectionOffset: 60
; SEPARATE-NEXT: InitFlags: 0
; SEPARATE-NEXT: Offset:
; SEPARATE: Content: '776861746576657200'
; SEPARATE-NEXT: - SectionOffset: 70
; SEPARATE-NEXT: - SectionOffset: 76
; SEPARATE-NEXT: InitFlags: 0
; SEPARATE-NEXT: Offset:
; SEPARATE: Content: 2A000000
Expand Down
Loading