forked from OSchip/llvm-project
[WebAssembly] Reorder synthetic functions to come first
This matches the existing ordering that's been there for globals for a while (__stack_pointer coming first). Differential Revision: https://reviews.llvm.org/D44333 llvm-svn: 327286
This commit is contained in:
parent
788a2227b7
commit
5639da89a9
|
@ -66,10 +66,10 @@ entry:
|
|||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: - Name: _start
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 0
|
||||
; CHECK-NEXT: Index: 1
|
||||
; CHECK-NEXT: - Name: start_alias
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 0
|
||||
; CHECK-NEXT: Index: 1
|
||||
; CHECK-NEXT: - Type: CODE
|
||||
; CHECK-NEXT: Functions:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
|
@ -82,7 +82,7 @@ entry:
|
|||
; CHECK-NEXT: Name: name
|
||||
; CHECK-NEXT: FunctionNames:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
; CHECK-NEXT: Name: _start
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Name: __wasm_call_ctors
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Name: _start
|
||||
; CHECK-NEXT: ...
|
||||
|
|
|
@ -57,7 +57,7 @@ define void @call_ptr(i64 (i64)* %arg) {
|
|||
; CHECK-NEXT: ParamTypes:
|
||||
; CHECK-NEXT: - I32
|
||||
; CHECK-NEXT: - Type: FUNCTION
|
||||
; CHECK-NEXT: FunctionTypes: [ 0, 3, 1, 3, 4, 3 ]
|
||||
; CHECK-NEXT: FunctionTypes: [ 3, 0, 3, 1, 3, 4 ]
|
||||
; CHECK-NEXT: - Type: TABLE
|
||||
; CHECK-NEXT: Tables:
|
||||
; CHECK-NEXT: - ElemType: ANYFUNC
|
||||
|
@ -107,50 +107,50 @@ define void @call_ptr(i64 (i64)* %arg) {
|
|||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: - Name: _start
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 3
|
||||
; CHECK-NEXT: Index: 4
|
||||
; CHECK-NEXT: - Name: bar
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 0
|
||||
; CHECK-NEXT: Index: 1
|
||||
; CHECK-NEXT: - Name: call_bar_indirect
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 1
|
||||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: - Name: foo
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: Index: 3
|
||||
; CHECK-NEXT: - Name: indirect_func
|
||||
; CHECK-NEXT: Kind: GLOBAL
|
||||
; CHECK-NEXT: Index: 3
|
||||
; CHECK-NEXT: - Name: call_ptr
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 4
|
||||
; CHECK-NEXT: Index: 5
|
||||
; CHECK-NEXT: - Type: ELEM
|
||||
; CHECK-NEXT: Segments:
|
||||
; CHECK-NEXT: - Offset:
|
||||
; CHECK-NEXT: Opcode: I32_CONST
|
||||
; CHECK-NEXT: Value: 1
|
||||
; CHECK-NEXT: Functions: [ 0, 2 ]
|
||||
; CHECK-NEXT: Functions: [ 1, 3 ]
|
||||
; CHECK-NEXT: - Type: CODE
|
||||
; CHECK-NEXT: Functions:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 42010B
|
||||
; CHECK-NEXT: Body: 0B
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 42010B
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: - Type: I32
|
||||
; CHECK-NEXT: Count: 1
|
||||
; CHECK-NEXT: Body: 4100280284888080002100410028028088808000118080808000001A2000118180808000001A0B
|
||||
; 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: 41020B
|
||||
; CHECK-NEXT: - Index: 4
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 42012000118280808000001A0B
|
||||
; CHECK-NEXT: Body: 410028028888808000118180808000001A0B
|
||||
; CHECK-NEXT: - Index: 5
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 0B
|
||||
; CHECK-NEXT: Body: 42012000118280808000001A0B
|
||||
; CHECK-NEXT: - Type: DATA
|
||||
; CHECK-NEXT: Segments:
|
||||
; CHECK-NEXT: - SectionOffset: 7
|
||||
|
@ -163,10 +163,15 @@ define void @call_ptr(i64 (i64)* %arg) {
|
|||
; CHECK-NEXT: Name: name
|
||||
; CHECK-NEXT: FunctionNames:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
; CHECK-NEXT: Name: bar
|
||||
; CHECK-NEXT: Name: __wasm_call_ctors
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Name: call_bar_indirect
|
||||
; CHECK-NEXT: Name: bar
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: Name: foo
|
||||
; CHECK-NEXT: Name: call_bar_indirect
|
||||
; CHECK-NEXT: - Index: 3
|
||||
; CHECK-NEXT: Name: foo
|
||||
; CHECK-NEXT: - Index: 4
|
||||
; CHECK-NEXT: Name: _start
|
||||
; CHECK-NEXT: - Index: 5
|
||||
; CHECK-NEXT: Name: call_ptr
|
||||
; CHECK-NEXT: ...
|
||||
|
|
|
@ -53,42 +53,42 @@ entry:
|
|||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: - Name: _start
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 0
|
||||
; CHECK-NEXT: Index: 1
|
||||
; CHECK-NEXT: - Name: inlineFn
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 1
|
||||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: - Name: constantData
|
||||
; CHECK-NEXT: Kind: GLOBAL
|
||||
; CHECK-NEXT: Index: 3
|
||||
; CHECK-NEXT: - Name: callInline1
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: Index: 3
|
||||
; CHECK-NEXT: - Name: callInline2
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 3
|
||||
; CHECK-NEXT: Index: 4
|
||||
; CHECK-NEXT: - Type: ELEM
|
||||
; CHECK-NEXT: Segments:
|
||||
; CHECK-NEXT: - Offset:
|
||||
; CHECK-NEXT: Opcode: I32_CONST
|
||||
; CHECK-NEXT: Value: 1
|
||||
; CHECK-NEXT: Functions: [ 1 ]
|
||||
; CHECK-NEXT: Functions: [ 2 ]
|
||||
; CHECK-NEXT: - Type: CODE
|
||||
; CHECK-NEXT: Functions:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 1081808080001A0B
|
||||
; CHECK-NEXT: Body: 0B
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 4180888080000B
|
||||
; CHECK-NEXT: Body: 1082808080001A0B
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 4181808080000B
|
||||
; CHECK-NEXT: Body: 4180888080000B
|
||||
; CHECK-NEXT: - Index: 3
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 4181808080000B
|
||||
; CHECK-NEXT: - Index: 4
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 0B
|
||||
; CHECK-NEXT: Body: 4181808080000B
|
||||
; CHECK-NEXT: - Type: DATA
|
||||
; CHECK-NEXT: Segments:
|
||||
; CHECK-NEXT: - SectionOffset: 7
|
||||
|
|
|
@ -25,7 +25,7 @@ entry:
|
|||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: - Name: entry
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 0
|
||||
; CHECK-NEXT: Index: 1
|
||||
; CHECK-NEXT: - Type:
|
||||
|
||||
; The __wasm_call_ctors is somewhat special. Make sure we can use it
|
||||
|
|
|
@ -30,8 +30,8 @@ entry:
|
|||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: - Name: _start
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 1
|
||||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: - Name: hidden_function
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 0
|
||||
; CHECK-NEXT: Index: 1
|
||||
; CHECK-NEXT: - Type: CODE
|
||||
|
|
|
@ -24,25 +24,25 @@ declare i32 @ret32(float) local_unnamed_addr #1
|
|||
; CHECK-NEXT: ParamTypes:
|
||||
; CHECK-NEXT: - F32
|
||||
; CHECK: - Type: FUNCTION
|
||||
; CHECK-NEXT: FunctionTypes: [ 0, 1, 0 ]
|
||||
; CHECK-NEXT: FunctionTypes: [ 0, 0, 1 ]
|
||||
; CHECK: - Type: CODE
|
||||
; CHECK-NEXT: Functions:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 43000000001081808080001A0B
|
||||
; CHECK-NEXT: Body: 0B
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 41000B
|
||||
; CHECK-NEXT: Body: 43000000001082808080001A0B
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 0B
|
||||
; CHECK-NEXT: Body: 41000B
|
||||
; CHECK-NEXT: - Type: CUSTOM
|
||||
; CHECK-NEXT: Name: name
|
||||
; CHECK-NEXT: FunctionNames:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
; CHECK-NEXT: Name: _start
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Name: ret32
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: Name: __wasm_call_ctors
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Name: _start
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: Name: ret32
|
||||
; CHECK-NEXT: ...
|
||||
|
|
|
@ -18,14 +18,14 @@ declare i32 @ret32(float) local_unnamed_addr #1
|
|||
; CHECK: - Type: TYPE
|
||||
; CHECK-NEXT: Signatures:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
; CHECK-NEXT: ReturnType: NORESULT
|
||||
; CHECK-NEXT: ParamTypes:
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: ReturnType: I32
|
||||
; CHECK-NEXT: ParamTypes:
|
||||
; CHECK-NEXT: - F32
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: ReturnType: NORESULT
|
||||
; CHECK-NEXT: ParamTypes:
|
||||
; CHECK-NEXT: - Type: FUNCTION
|
||||
; CHECK-NEXT: FunctionTypes: [ 0, 1, 1 ]
|
||||
; CHECK-NEXT: FunctionTypes: [ 0, 1, 0 ]
|
||||
; CHECK: - Type: CODE
|
||||
; CHECK-NEXT: Functions:
|
||||
; CHECK: - Index: 0
|
||||
|
@ -34,9 +34,9 @@ declare i32 @ret32(float) local_unnamed_addr #1
|
|||
; CHECK: Name: name
|
||||
; CHECK-NEXT: FunctionNames:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
; CHECK-NEXT: Name: ret32
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Name: _start
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: Name: __wasm_call_ctors
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Name: ret32
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: Name: _start
|
||||
; CHECK-NEXT: ...
|
||||
|
|
|
@ -31,10 +31,10 @@ entry:
|
|||
; CHECK: - Type: TYPE
|
||||
; CHECK-NEXT: Signatures:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
; CHECK-NEXT: ReturnType: I32
|
||||
; CHECK-NEXT: ReturnType: NORESULT
|
||||
; CHECK-NEXT: ParamTypes:
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: ReturnType: NORESULT
|
||||
; CHECK-NEXT: ReturnType: I32
|
||||
; CHECK-NEXT: ParamTypes:
|
||||
; CHECK-NEXT: - Type: FUNCTION
|
||||
|
||||
|
@ -48,13 +48,13 @@ entry:
|
|||
; CHECK-NEXT: Content: '02000000'
|
||||
; CHECK-NEXT: - Type: CUSTOM
|
||||
; CHECK-NEXT: Name: name
|
||||
; CHECK-NEXT: FunctionNames:
|
||||
; CHECK-NEXT: FunctionNames:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
; CHECK-NEXT: Name: used_function
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Name: _start
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: Name: __wasm_call_ctors
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Name: used_function
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: Name: _start
|
||||
; CHECK-NEXT: ...
|
||||
|
||||
; RUN: wasm-ld -print-gc-sections --no-gc-sections -o %t1.no-gc.wasm %t.o
|
||||
|
@ -63,13 +63,13 @@ entry:
|
|||
; NO-GC: - Type: TYPE
|
||||
; NO-GC-NEXT: Signatures:
|
||||
; NO-GC-NEXT: - Index: 0
|
||||
; NO-GC-NEXT: ReturnType: NORESULT
|
||||
; NO-GC-NEXT: ParamTypes:
|
||||
; NO-GC-NEXT: - Index: 1
|
||||
; NO-GC-NEXT: ReturnType: I64
|
||||
; NO-GC-NEXT: ParamTypes:
|
||||
; NO-GC-NEXT: - Index: 1
|
||||
; NO-GC-NEXT: ReturnType: I32
|
||||
; NO-GC-NEXT: ParamTypes:
|
||||
; NO-GC-NEXT: - Index: 2
|
||||
; NO-GC-NEXT: ReturnType: NORESULT
|
||||
; NO-GC-NEXT: ReturnType: I32
|
||||
; NO-GC-NEXT: ParamTypes:
|
||||
; NO-GC-NEXT: - Type: FUNCTION
|
||||
|
||||
|
@ -83,15 +83,15 @@ entry:
|
|||
; NO-GC-NEXT: Content: '010000000000000002000000'
|
||||
; NO-GC-NEXT: - Type: CUSTOM
|
||||
; NO-GC-NEXT: Name: name
|
||||
; NO-GC-NEXT: FunctionNames:
|
||||
; NO-GC-NEXT: FunctionNames:
|
||||
; NO-GC-NEXT: - Index: 0
|
||||
; NO-GC-NEXT: Name: unused_function
|
||||
; NO-GC-NEXT: - Index: 1
|
||||
; NO-GC-NEXT: Name: used_function
|
||||
; NO-GC-NEXT: - Index: 2
|
||||
; NO-GC-NEXT: Name: _start
|
||||
; NO-GC-NEXT: - Index: 3
|
||||
; NO-GC-NEXT: Name: __wasm_call_ctors
|
||||
; NO-GC-NEXT: - Index: 1
|
||||
; NO-GC-NEXT: Name: unused_function
|
||||
; NO-GC-NEXT: - Index: 2
|
||||
; NO-GC-NEXT: Name: used_function
|
||||
; NO-GC-NEXT: - Index: 3
|
||||
; NO-GC-NEXT: Name: _start
|
||||
; NO-GC-NEXT: ...
|
||||
|
||||
; RUN: not wasm-ld --gc-sections --relocatable -o %t1.no-gc.wasm %t.o 2>&1 | FileCheck %s -check-prefix=CHECK-ERROR
|
||||
|
|
|
@ -52,50 +52,56 @@ entry:
|
|||
; CHECK-NEXT: - Offset:
|
||||
; CHECK-NEXT: Opcode: I32_CONST
|
||||
; CHECK-NEXT: Value: 1
|
||||
; CHECK-NEXT: Functions: [ 6, 8, 12, 14, 16 ]
|
||||
|
||||
; CHECK: Body: 100010011007100A100D100A100F10001009100A10110B
|
||||
; CHECK-NEXT: Functions: [ 7, 9, 13, 15, 17 ]
|
||||
; CHECK-NEXT: - Type: CODE
|
||||
; CHECK-NEXT: Functions:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 100110021008100B100E100B10101001100A100B10120B
|
||||
; CHECK: - Index: 18
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 024041858080800041004180888080001085808080000D000F0B00000B
|
||||
; CHECK-NEXT: - Type: CUSTOM
|
||||
; CHECK-NEXT: Name: name
|
||||
; CHECK-NEXT: FunctionNames:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
; CHECK-NEXT: Name: func1
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Name: func2
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: Name: func3
|
||||
; CHECK-NEXT: - Index: 3
|
||||
; CHECK-NEXT: Name: func4
|
||||
; CHECK-NEXT: - Index: 4
|
||||
; CHECK-NEXT: Name: __cxa_atexit
|
||||
; CHECK-NEXT: - Index: 5
|
||||
; CHECK-NEXT: Name: _start
|
||||
; CHECK-NEXT: - Index: 6
|
||||
; CHECK-NEXT: Name: .Lcall_dtors.101
|
||||
; CHECK-NEXT: - Index: 7
|
||||
; CHECK-NEXT: Name: .Lregister_call_dtors.101
|
||||
; CHECK-NEXT: - Index: 8
|
||||
; CHECK-NEXT: Name: .Lcall_dtors.1001
|
||||
; CHECK-NEXT: - Index: 9
|
||||
; CHECK-NEXT: Name: .Lregister_call_dtors.1001
|
||||
; CHECK-NEXT: - Index: 10
|
||||
; CHECK-NEXT: Name: myctor
|
||||
; CHECK-NEXT: - Index: 11
|
||||
; CHECK-NEXT: Name: mydtor
|
||||
; CHECK-NEXT: - Index: 12
|
||||
; CHECK-NEXT: Name: .Lcall_dtors.101
|
||||
; CHECK-NEXT: - Index: 13
|
||||
; CHECK-NEXT: Name: .Lregister_call_dtors.101
|
||||
; CHECK-NEXT: - Index: 14
|
||||
; CHECK-NEXT: Name: .Lcall_dtors.202
|
||||
; CHECK-NEXT: - Index: 15
|
||||
; CHECK-NEXT: Name: .Lregister_call_dtors.202
|
||||
; CHECK-NEXT: - Index: 16
|
||||
; CHECK-NEXT: Name: .Lcall_dtors.2002
|
||||
; CHECK-NEXT: - Index: 17
|
||||
; CHECK-NEXT: Name: .Lregister_call_dtors.2002
|
||||
; CHECK-NEXT: - Index: 18
|
||||
; CHECK-NEXT: Name: __wasm_call_ctors
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Name: func1
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: Name: func2
|
||||
; CHECK-NEXT: - Index: 3
|
||||
; CHECK-NEXT: Name: func3
|
||||
; CHECK-NEXT: - Index: 4
|
||||
; CHECK-NEXT: Name: func4
|
||||
; CHECK-NEXT: - Index: 5
|
||||
; CHECK-NEXT: Name: __cxa_atexit
|
||||
; CHECK-NEXT: - Index: 6
|
||||
; CHECK-NEXT: Name: _start
|
||||
; CHECK-NEXT: - Index: 7
|
||||
; CHECK-NEXT: Name: .Lcall_dtors.101
|
||||
; CHECK-NEXT: - Index: 8
|
||||
; CHECK-NEXT: Name: .Lregister_call_dtors.101
|
||||
; CHECK-NEXT: - Index: 9
|
||||
; CHECK-NEXT: Name: .Lcall_dtors.1001
|
||||
; CHECK-NEXT: - Index: 10
|
||||
; CHECK-NEXT: Name: .Lregister_call_dtors.1001
|
||||
; CHECK-NEXT: - Index: 11
|
||||
; CHECK-NEXT: Name: myctor
|
||||
; CHECK-NEXT: - Index: 12
|
||||
; CHECK-NEXT: Name: mydtor
|
||||
; CHECK-NEXT: - Index: 13
|
||||
; CHECK-NEXT: Name: .Lcall_dtors.101
|
||||
; CHECK-NEXT: - Index: 14
|
||||
; CHECK-NEXT: Name: .Lregister_call_dtors.101
|
||||
; CHECK-NEXT: - Index: 15
|
||||
; CHECK-NEXT: Name: .Lcall_dtors.202
|
||||
; CHECK-NEXT: - Index: 16
|
||||
; CHECK-NEXT: Name: .Lregister_call_dtors.202
|
||||
; CHECK-NEXT: - Index: 17
|
||||
; CHECK-NEXT: Name: .Lcall_dtors.2002
|
||||
; CHECK-NEXT: - Index: 18
|
||||
; CHECK-NEXT: Name: .Lregister_call_dtors.2002
|
||||
; CHECK-NEXT: ...
|
||||
|
||||
|
||||
|
|
|
@ -21,13 +21,13 @@
|
|||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: - Name: _start
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 0
|
||||
; CHECK-NEXT: Index: 1
|
||||
; CHECK-NEXT: - Name: ret32
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 1
|
||||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: - Name: ret64
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: Index: 3
|
||||
; CHECK-NEXT: - Type:
|
||||
|
||||
|
||||
|
|
|
@ -26,13 +26,13 @@ entry:
|
|||
; CHECK-NEXT: - Type: TYPE
|
||||
; CHECK-NEXT: Signatures:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
; CHECK-NEXT: ReturnType: I32
|
||||
; CHECK-NEXT: ParamTypes:
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: ReturnType: NORESULT
|
||||
; CHECK-NEXT: ParamTypes:
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: ReturnType: I32
|
||||
; CHECK-NEXT: ParamTypes:
|
||||
; CHECK-NEXT: - Type: FUNCTION
|
||||
; CHECK-NEXT: FunctionTypes: [ 0, 1, 1 ]
|
||||
; CHECK-NEXT: FunctionTypes: [ 0, 1, 0 ]
|
||||
; CHECK-NEXT: - Type: TABLE
|
||||
; CHECK-NEXT: Tables:
|
||||
; CHECK-NEXT: - ElemType: ANYFUNC
|
||||
|
@ -82,7 +82,7 @@ entry:
|
|||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: - Name: _start
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 1
|
||||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: - Name: foo
|
||||
; CHECK-NEXT: Kind: GLOBAL
|
||||
; CHECK-NEXT: Index: 3
|
||||
|
@ -90,13 +90,13 @@ entry:
|
|||
; CHECK-NEXT: Functions:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 4100280284888080000B
|
||||
; CHECK-NEXT: Body: 0B
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 1080808080001A0B
|
||||
; CHECK-NEXT: Body: 4100280284888080000B
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 0B
|
||||
; CHECK-NEXT: Body: 1081808080001A0B
|
||||
; CHECK-NEXT: - Type: DATA
|
||||
; CHECK-NEXT: Segments:
|
||||
; CHECK-NEXT: - SectionOffset: 7
|
||||
|
@ -109,9 +109,9 @@ entry:
|
|||
; CHECK-NEXT: Name: name
|
||||
; CHECK-NEXT: FunctionNames:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
; CHECK-NEXT: Name: baz
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Name: _start
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: Name: __wasm_call_ctors
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Name: baz
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: Name: _start
|
||||
; CHECK-NEXT: ...
|
||||
|
|
|
@ -10,14 +10,14 @@
|
|||
; CHECK-NEXT: - Type: TYPE
|
||||
; CHECK-NEXT: Signatures:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
; CHECK-NEXT: ReturnType: I32
|
||||
; CHECK-NEXT: ParamTypes:
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: ReturnType: NORESULT
|
||||
; CHECK-NEXT: ParamTypes:
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: ReturnType: I32
|
||||
; CHECK-NEXT: ParamTypes:
|
||||
; CHECK-NEXT: - Type: FUNCTION
|
||||
; CHECK-NEXT: FunctionTypes: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
; CHECK-NEXT: 0, 0, 1 ]
|
||||
; CHECK-NEXT: FunctionTypes: [ 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
; CHECK-NEXT: 1, 1, 1 ]
|
||||
; CHECK-NEXT: - Type: TABLE
|
||||
; CHECK-NEXT: Tables:
|
||||
; CHECK-NEXT: - ElemType: ANYFUNC
|
||||
|
@ -73,63 +73,63 @@
|
|||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: - Name: colliding_func2
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 1
|
||||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: - Name: get_global1A
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 3
|
||||
; CHECK-NEXT: Index: 4
|
||||
; CHECK-NEXT: - Name: get_global2A
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 4
|
||||
; CHECK-NEXT: Index: 5
|
||||
; CHECK-NEXT: - Name: colliding_global2
|
||||
; CHECK-NEXT: Kind: GLOBAL
|
||||
; CHECK-NEXT: Index: 3
|
||||
; CHECK-NEXT: - Name: get_global3A
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 5
|
||||
; CHECK-NEXT: Index: 6
|
||||
; CHECK-NEXT: - Name: get_func1A
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 6
|
||||
; CHECK-NEXT: Index: 7
|
||||
; CHECK-NEXT: - Name: get_func2A
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 7
|
||||
; CHECK-NEXT: Index: 8
|
||||
; CHECK-NEXT: - Name: get_func3A
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 8
|
||||
; CHECK-NEXT: Index: 9
|
||||
; CHECK-NEXT: - Name: colliding_func1
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 9
|
||||
; CHECK-NEXT: Index: 10
|
||||
; CHECK-NEXT: - Name: get_global1B
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 12
|
||||
; CHECK-NEXT: Index: 13
|
||||
; CHECK-NEXT: - Name: colliding_global1
|
||||
; CHECK-NEXT: Kind: GLOBAL
|
||||
; CHECK-NEXT: Index: 4
|
||||
; CHECK-NEXT: - Name: get_global2B
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 13
|
||||
; CHECK-NEXT: Index: 14
|
||||
; CHECK-NEXT: - Name: get_global3B
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 14
|
||||
; CHECK-NEXT: Index: 15
|
||||
; CHECK-NEXT: - Name: get_func1B
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 15
|
||||
; CHECK-NEXT: Index: 16
|
||||
; CHECK-NEXT: - Name: get_func2B
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 16
|
||||
; CHECK-NEXT: Index: 17
|
||||
; CHECK-NEXT: - Name: get_func3B
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 17
|
||||
; CHECK-NEXT: Index: 18
|
||||
; CHECK-NEXT: - Type: ELEM
|
||||
; CHECK-NEXT: Segments:
|
||||
; CHECK-NEXT: - Offset:
|
||||
; CHECK-NEXT: Opcode: I32_CONST
|
||||
; CHECK-NEXT: Value: 1
|
||||
; CHECK-NEXT: Functions: [ 0, 1, 2, 9, 10, 11 ]
|
||||
; CHECK-NEXT: Functions: [ 1, 2, 3, 10, 11, 12 ]
|
||||
; CHECK-NEXT: - Type: CODE
|
||||
; CHECK-NEXT: Functions:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 41020B
|
||||
; CHECK-NEXT: Body: 0B
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 41020B
|
||||
|
@ -138,25 +138,25 @@
|
|||
; CHECK-NEXT: Body: 41020B
|
||||
; CHECK-NEXT: - Index: 3
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 4180888080000B
|
||||
; CHECK-NEXT: Body: 41020B
|
||||
; CHECK-NEXT: - Index: 4
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 4184888080000B
|
||||
; CHECK-NEXT: Body: 4180888080000B
|
||||
; CHECK-NEXT: - Index: 5
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 4188888080000B
|
||||
; CHECK-NEXT: Body: 4184888080000B
|
||||
; CHECK-NEXT: - Index: 6
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 4181808080000B
|
||||
; CHECK-NEXT: Body: 4188888080000B
|
||||
; CHECK-NEXT: - Index: 7
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 4182808080000B
|
||||
; CHECK-NEXT: Body: 4181808080000B
|
||||
; CHECK-NEXT: - Index: 8
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 4183808080000B
|
||||
; CHECK-NEXT: Body: 4182808080000B
|
||||
; CHECK-NEXT: - Index: 9
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 41020B
|
||||
; CHECK-NEXT: Body: 4183808080000B
|
||||
; CHECK-NEXT: - Index: 10
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 41020B
|
||||
|
@ -165,25 +165,25 @@
|
|||
; CHECK-NEXT: Body: 41020B
|
||||
; CHECK-NEXT: - Index: 12
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 418C888080000B
|
||||
; CHECK-NEXT: Body: 41020B
|
||||
; CHECK-NEXT: - Index: 13
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 4190888080000B
|
||||
; CHECK-NEXT: Body: 418C888080000B
|
||||
; CHECK-NEXT: - Index: 14
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 4194888080000B
|
||||
; CHECK-NEXT: Body: 4190888080000B
|
||||
; CHECK-NEXT: - Index: 15
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 4184808080000B
|
||||
; CHECK-NEXT: Body: 4194888080000B
|
||||
; CHECK-NEXT: - Index: 16
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 4185808080000B
|
||||
; CHECK-NEXT: Body: 4184808080000B
|
||||
; CHECK-NEXT: - Index: 17
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 4186808080000B
|
||||
; CHECK-NEXT: Body: 4185808080000B
|
||||
; CHECK-NEXT: - Index: 18
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 0B
|
||||
; CHECK-NEXT: Body: 4186808080000B
|
||||
; CHECK-NEXT: - Type: DATA
|
||||
; CHECK-NEXT: Segments:
|
||||
; CHECK-NEXT: - SectionOffset: 7
|
||||
|
@ -196,43 +196,43 @@
|
|||
; CHECK-NEXT: Name: name
|
||||
; CHECK-NEXT: FunctionNames:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
; CHECK-NEXT: Name: colliding_func1
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Name: colliding_func2
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: Name: colliding_func3
|
||||
; CHECK-NEXT: - Index: 3
|
||||
; CHECK-NEXT: Name: get_global1A
|
||||
; CHECK-NEXT: - Index: 4
|
||||
; CHECK-NEXT: Name: get_global2A
|
||||
; CHECK-NEXT: - Index: 5
|
||||
; CHECK-NEXT: Name: get_global3A
|
||||
; CHECK-NEXT: - Index: 6
|
||||
; CHECK-NEXT: Name: get_func1A
|
||||
; CHECK-NEXT: - Index: 7
|
||||
; CHECK-NEXT: Name: get_func2A
|
||||
; CHECK-NEXT: - Index: 8
|
||||
; CHECK-NEXT: Name: get_func3A
|
||||
; CHECK-NEXT: - Index: 9
|
||||
; CHECK-NEXT: Name: colliding_func1
|
||||
; CHECK-NEXT: - Index: 10
|
||||
; CHECK-NEXT: Name: colliding_func2
|
||||
; CHECK-NEXT: - Index: 11
|
||||
; CHECK-NEXT: Name: colliding_func3
|
||||
; CHECK-NEXT: - Index: 12
|
||||
; CHECK-NEXT: Name: get_global1B
|
||||
; CHECK-NEXT: - Index: 13
|
||||
; CHECK-NEXT: Name: get_global2B
|
||||
; CHECK-NEXT: - Index: 14
|
||||
; CHECK-NEXT: Name: get_global3B
|
||||
; CHECK-NEXT: - Index: 15
|
||||
; CHECK-NEXT: Name: get_func1B
|
||||
; CHECK-NEXT: - Index: 16
|
||||
; CHECK-NEXT: Name: get_func2B
|
||||
; CHECK-NEXT: - Index: 17
|
||||
; CHECK-NEXT: Name: get_func3B
|
||||
; CHECK-NEXT: - Index: 18
|
||||
; CHECK-NEXT: Name: __wasm_call_ctors
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Name: colliding_func1
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: Name: colliding_func2
|
||||
; CHECK-NEXT: - Index: 3
|
||||
; CHECK-NEXT: Name: colliding_func3
|
||||
; CHECK-NEXT: - Index: 4
|
||||
; CHECK-NEXT: Name: get_global1A
|
||||
; CHECK-NEXT: - Index: 5
|
||||
; CHECK-NEXT: Name: get_global2A
|
||||
; CHECK-NEXT: - Index: 6
|
||||
; CHECK-NEXT: Name: get_global3A
|
||||
; CHECK-NEXT: - Index: 7
|
||||
; CHECK-NEXT: Name: get_func1A
|
||||
; CHECK-NEXT: - Index: 8
|
||||
; CHECK-NEXT: Name: get_func2A
|
||||
; CHECK-NEXT: - Index: 9
|
||||
; CHECK-NEXT: Name: get_func3A
|
||||
; CHECK-NEXT: - Index: 10
|
||||
; CHECK-NEXT: Name: colliding_func1
|
||||
; CHECK-NEXT: - Index: 11
|
||||
; CHECK-NEXT: Name: colliding_func2
|
||||
; CHECK-NEXT: - Index: 12
|
||||
; CHECK-NEXT: Name: colliding_func3
|
||||
; CHECK-NEXT: - Index: 13
|
||||
; CHECK-NEXT: Name: get_global1B
|
||||
; CHECK-NEXT: - Index: 14
|
||||
; CHECK-NEXT: Name: get_global2B
|
||||
; CHECK-NEXT: - Index: 15
|
||||
; CHECK-NEXT: Name: get_global3B
|
||||
; CHECK-NEXT: - Index: 16
|
||||
; CHECK-NEXT: Name: get_func1B
|
||||
; CHECK-NEXT: - Index: 17
|
||||
; CHECK-NEXT: Name: get_func2B
|
||||
; CHECK-NEXT: - Index: 18
|
||||
; CHECK-NEXT: Name: get_func3B
|
||||
; CHECK-NEXT: ...
|
||||
|
||||
|
||||
|
|
|
@ -29,17 +29,17 @@ define i32 @callWeakFuncs() {
|
|||
; CHECK-NEXT: - Type: TYPE
|
||||
; CHECK-NEXT: Signatures:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
; CHECK-NEXT: ReturnType: I32
|
||||
; CHECK-NEXT: ReturnType: NORESULT
|
||||
; CHECK-NEXT: ParamTypes:
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: ReturnType: NORESULT
|
||||
; CHECK-NEXT: ParamTypes:
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: ReturnType: NORESULT
|
||||
; CHECK-NEXT: ParamTypes:
|
||||
; CHECK-NEXT: - I32
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: ReturnType: I32
|
||||
; CHECK-NEXT: ParamTypes:
|
||||
; CHECK-NEXT: - Type: FUNCTION
|
||||
; CHECK-NEXT: FunctionTypes: [ 0, 1, 1, 1, 2 ]
|
||||
; CHECK-NEXT: FunctionTypes: [ 0, 0, 0, 1, 2 ]
|
||||
; CHECK-NEXT: - Type: TABLE
|
||||
; CHECK-NEXT: Tables:
|
||||
; CHECK-NEXT: - ElemType: ANYFUNC
|
||||
|
@ -83,15 +83,15 @@ define i32 @callWeakFuncs() {
|
|||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: - Name: callWeakFuncs
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 0
|
||||
; CHECK-NEXT: Index: 4
|
||||
; CHECK-NEXT: - Type: CODE
|
||||
; CHECK-NEXT: Functions:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 10828080800010838080800041021084808080004180808080004180808080006A0B
|
||||
; CHECK-NEXT: Body: 0B
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 0B
|
||||
; CHECK-NEXT: Body: 000B
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 000B
|
||||
|
@ -100,18 +100,18 @@ define i32 @callWeakFuncs() {
|
|||
; CHECK-NEXT: Body: 000B
|
||||
; CHECK-NEXT: - Index: 4
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 000B
|
||||
; CHECK-NEXT: Body: 10818080800010828080800041021083808080004180808080004180808080006A0B
|
||||
; CHECK-NEXT: - Type: CUSTOM
|
||||
; CHECK-NEXT: Name: name
|
||||
; CHECK-NEXT: FunctionNames:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
; CHECK-NEXT: Name: callWeakFuncs
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Name: __wasm_call_ctors
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Name: undefined function weakFunc1
|
||||
; CHECK-NEXT: - Index: 3
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: Name: undefined function weakFunc2
|
||||
; CHECK-NEXT: - Index: 4
|
||||
; CHECK-NEXT: - Index: 3
|
||||
; CHECK-NEXT: Name: undefined function weakFunc3
|
||||
; CHECK-NEXT: - Index: 4
|
||||
; CHECK-NEXT: Name: callWeakFuncs
|
||||
; CHECK-NEXT: ...
|
||||
|
|
|
@ -44,11 +44,11 @@ entry:
|
|||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: - Name: _start
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: Index: 3
|
||||
; CHECK-NEXT: - Name: objectDefault
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 1
|
||||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: - Name: archiveDefault
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 4
|
||||
; CHECK-NEXT: Index: 5
|
||||
; CHECK-NEXT: - Type:
|
||||
|
|
|
@ -26,13 +26,13 @@ entry:
|
|||
; CHECK-NEXT: - Type: TYPE
|
||||
; CHECK-NEXT: Signatures:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
; CHECK-NEXT: ReturnType: I32
|
||||
; CHECK-NEXT: ParamTypes:
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: ReturnType: NORESULT
|
||||
; CHECK-NEXT: ParamTypes:
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: ReturnType: I32
|
||||
; CHECK-NEXT: ParamTypes:
|
||||
; CHECK-NEXT: - Type: FUNCTION
|
||||
; CHECK-NEXT: FunctionTypes: [ 0, 1, 0, 0, 0, 0, 0, 1 ]
|
||||
; CHECK-NEXT: FunctionTypes: [ 0, 1, 0, 1, 1, 1, 1, 1 ]
|
||||
; CHECK-NEXT: - Type: TABLE
|
||||
; CHECK-NEXT: Tables:
|
||||
; CHECK-NEXT: - ElemType: ANYFUNC
|
||||
|
@ -76,78 +76,78 @@ entry:
|
|||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: - Name: _start
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 1
|
||||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: - Name: alias_fn
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 0
|
||||
; CHECK-NEXT: Index: 1
|
||||
; CHECK-NEXT: - Name: direct_fn
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: Index: 3
|
||||
; CHECK-NEXT: - Name: call_direct
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 3
|
||||
; CHECK-NEXT: Index: 4
|
||||
; CHECK-NEXT: - Name: call_alias
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 4
|
||||
; CHECK-NEXT: Index: 5
|
||||
; CHECK-NEXT: - Name: call_alias_ptr
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 5
|
||||
; CHECK-NEXT: Index: 6
|
||||
; CHECK-NEXT: - Name: call_direct_ptr
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 6
|
||||
; CHECK-NEXT: Index: 7
|
||||
; CHECK-NEXT: - Type: ELEM
|
||||
; CHECK-NEXT: Segments:
|
||||
; CHECK-NEXT: - Offset:
|
||||
; CHECK-NEXT: Opcode: I32_CONST
|
||||
; CHECK-NEXT: Value: 1
|
||||
; CHECK-NEXT: Functions: [ 0, 2 ]
|
||||
; CHECK-NEXT: Functions: [ 1, 3 ]
|
||||
; CHECK-NEXT: - Type: CODE
|
||||
; CHECK-NEXT: Functions:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 41010B
|
||||
; CHECK-NEXT: Body: 0B
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 1080808080001A0B
|
||||
; CHECK-NEXT: Body: 41010B
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 41000B
|
||||
; CHECK-NEXT: Body: 1081808080001A0B
|
||||
; CHECK-NEXT: - Index: 3
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 1082808080000B
|
||||
; CHECK-NEXT: Body: 41000B
|
||||
; CHECK-NEXT: - Index: 4
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 1080808080000B
|
||||
; CHECK-NEXT: Body: 1083808080000B
|
||||
; CHECK-NEXT: - Index: 5
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: - Type: I32
|
||||
; CHECK-NEXT: Count: 2
|
||||
; CHECK-NEXT: Body: 23808080800041106B220024808080800020004181808080003602081080808080002101200041106A24808080800020010B
|
||||
; CHECK-NEXT: Body: 1081808080000B
|
||||
; CHECK-NEXT: - Index: 6
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: - Type: I32
|
||||
; CHECK-NEXT: Count: 2
|
||||
; CHECK-NEXT: Body: 23808080800041106B220024808080800020004182808080003602081082808080002101200041106A24808080800020010B
|
||||
; CHECK-NEXT: Body: 23808080800041106B220024808080800020004181808080003602081081808080002101200041106A24808080800020010B
|
||||
; CHECK-NEXT: - Index: 7
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 0B
|
||||
; CHECK-NEXT: - Type: I32
|
||||
; CHECK-NEXT: Count: 2
|
||||
; CHECK-NEXT: Body: 23808080800041106B220024808080800020004182808080003602081083808080002101200041106A24808080800020010B
|
||||
; CHECK-NEXT: - Type: CUSTOM
|
||||
; CHECK-NEXT: Name: name
|
||||
; CHECK-NEXT: FunctionNames:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
; CHECK-NEXT: Name: alias_fn
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Name: _start
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: Name: direct_fn
|
||||
; CHECK-NEXT: - Index: 3
|
||||
; CHECK-NEXT: Name: call_direct
|
||||
; CHECK-NEXT: - Index: 4
|
||||
; CHECK-NEXT: Name: call_alias
|
||||
; CHECK-NEXT: - Index: 5
|
||||
; CHECK-NEXT: Name: call_alias_ptr
|
||||
; CHECK-NEXT: - Index: 6
|
||||
; CHECK-NEXT: Name: call_direct_ptr
|
||||
; CHECK-NEXT: - Index: 7
|
||||
; CHECK-NEXT: Name: __wasm_call_ctors
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Name: alias_fn
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: Name: _start
|
||||
; CHECK-NEXT: - Index: 3
|
||||
; CHECK-NEXT: Name: direct_fn
|
||||
; CHECK-NEXT: - Index: 4
|
||||
; CHECK-NEXT: Name: call_direct
|
||||
; CHECK-NEXT: - Index: 5
|
||||
; CHECK-NEXT: Name: call_alias
|
||||
; CHECK-NEXT: - Index: 6
|
||||
; CHECK-NEXT: Name: call_alias_ptr
|
||||
; CHECK-NEXT: - Index: 7
|
||||
; CHECK-NEXT: Name: call_direct_ptr
|
||||
; CHECK-NEXT: ...
|
||||
|
|
|
@ -29,7 +29,7 @@ entry:
|
|||
; CHECK-NEXT: ReturnType: I32
|
||||
; CHECK-NEXT: ParamTypes:
|
||||
; CHECK-NEXT: - Type: FUNCTION
|
||||
; CHECK-NEXT: FunctionTypes: [ 0, 1, 1, 1, 1, 1, 0 ]
|
||||
; CHECK-NEXT: FunctionTypes: [ 0, 0, 1, 1, 1, 1, 1 ]
|
||||
; CHECK-NEXT: - Type: TABLE
|
||||
; CHECK-NEXT: Tables:
|
||||
; CHECK-NEXT: - ElemType: ANYFUNC
|
||||
|
@ -73,75 +73,75 @@ entry:
|
|||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: - Name: _start
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 0
|
||||
; CHECK-NEXT: Index: 1
|
||||
; CHECK-NEXT: - Name: alias_fn
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 1
|
||||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: - Name: direct_fn
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 1
|
||||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: - Name: call_direct
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: Index: 3
|
||||
; CHECK-NEXT: - Name: call_alias
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 3
|
||||
; CHECK-NEXT: Index: 4
|
||||
; CHECK-NEXT: - Name: call_alias_ptr
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 4
|
||||
; CHECK-NEXT: Index: 5
|
||||
; CHECK-NEXT: - Name: call_direct_ptr
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 5
|
||||
; CHECK-NEXT: Index: 6
|
||||
; CHECK-NEXT: - Type: ELEM
|
||||
; CHECK-NEXT: Segments:
|
||||
; CHECK-NEXT: - Offset:
|
||||
; CHECK-NEXT: Opcode: I32_CONST
|
||||
; CHECK-NEXT: Value: 1
|
||||
; CHECK-NEXT: Functions: [ 1 ]
|
||||
; CHECK-NEXT: Functions: [ 2 ]
|
||||
; CHECK-NEXT: - Type: CODE
|
||||
; CHECK-NEXT: Functions:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 1081808080001A0B
|
||||
; CHECK-NEXT: Body: 0B
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 41000B
|
||||
; CHECK-NEXT: Body: 1082808080001A0B
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 1081808080000B
|
||||
; CHECK-NEXT: Body: 41000B
|
||||
; CHECK-NEXT: - Index: 3
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 1081808080000B
|
||||
; CHECK-NEXT: Body: 1082808080000B
|
||||
; CHECK-NEXT: - Index: 4
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: - Type: I32
|
||||
; CHECK-NEXT: Count: 2
|
||||
; CHECK-NEXT: Body: 23808080800041106B220024808080800020004181808080003602081081808080002101200041106A24808080800020010B
|
||||
; CHECK-NEXT: Body: 1082808080000B
|
||||
; CHECK-NEXT: - Index: 5
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: - Type: I32
|
||||
; CHECK-NEXT: Count: 2
|
||||
; CHECK-NEXT: Body: 23808080800041106B220024808080800020004181808080003602081081808080002101200041106A24808080800020010B
|
||||
; CHECK-NEXT: Body: 23808080800041106B220024808080800020004181808080003602081082808080002101200041106A24808080800020010B
|
||||
; CHECK-NEXT: - Index: 6
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 0B
|
||||
; CHECK-NEXT: - Type: I32
|
||||
; CHECK-NEXT: Count: 2
|
||||
; CHECK-NEXT: Body: 23808080800041106B220024808080800020004181808080003602081082808080002101200041106A24808080800020010B
|
||||
; CHECK-NEXT: - Type: CUSTOM
|
||||
; CHECK-NEXT: Name: name
|
||||
; CHECK-NEXT: FunctionNames:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
; CHECK-NEXT: Name: _start
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Name: direct_fn
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: Name: call_direct
|
||||
; CHECK-NEXT: - Index: 3
|
||||
; CHECK-NEXT: Name: call_alias
|
||||
; CHECK-NEXT: - Index: 4
|
||||
; CHECK-NEXT: Name: call_alias_ptr
|
||||
; CHECK-NEXT: - Index: 5
|
||||
; CHECK-NEXT: Name: call_direct_ptr
|
||||
; CHECK-NEXT: - Index: 6
|
||||
; CHECK-NEXT: Name: __wasm_call_ctors
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Name: _start
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: Name: direct_fn
|
||||
; CHECK-NEXT: - Index: 3
|
||||
; CHECK-NEXT: Name: call_direct
|
||||
; CHECK-NEXT: - Index: 4
|
||||
; CHECK-NEXT: Name: call_alias
|
||||
; CHECK-NEXT: - Index: 5
|
||||
; CHECK-NEXT: Name: call_alias_ptr
|
||||
; CHECK-NEXT: - Index: 6
|
||||
; CHECK-NEXT: Name: call_direct_ptr
|
||||
; CHECK-NEXT: ...
|
||||
|
||||
; RUN: wasm-ld --check-signatures --relocatable %t.o %t2.o -o %t.reloc.o
|
||||
|
|
|
@ -29,7 +29,7 @@ entry:
|
|||
; CHECK-NEXT: ReturnType: I32
|
||||
; CHECK-NEXT: ParamTypes:
|
||||
; CHECK-NEXT: - Type: FUNCTION
|
||||
; CHECK-NEXT: FunctionTypes: [ 0, 1, 1, 1, 1, 0 ]
|
||||
; CHECK-NEXT: FunctionTypes: [ 0, 0, 1, 1, 1, 1 ]
|
||||
; CHECK-NEXT: - Type: TABLE
|
||||
; CHECK-NEXT: Tables:
|
||||
; CHECK-NEXT: - ElemType: ANYFUNC
|
||||
|
@ -79,45 +79,45 @@ entry:
|
|||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: - Name: _start
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 0
|
||||
; CHECK-NEXT: Index: 1
|
||||
; CHECK-NEXT: - Name: weakFn
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 1
|
||||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: - Name: exportWeak1
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: Index: 3
|
||||
; CHECK-NEXT: - Name: weakGlobal
|
||||
; CHECK-NEXT: Kind: GLOBAL
|
||||
; CHECK-NEXT: Index: 3
|
||||
; CHECK-NEXT: - Name: exportWeak2
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 4
|
||||
; CHECK-NEXT: Index: 5
|
||||
; CHECK-NEXT: - Type: ELEM
|
||||
; CHECK-NEXT: Segments:
|
||||
; CHECK-NEXT: - Offset:
|
||||
; CHECK-NEXT: Opcode: I32_CONST
|
||||
; CHECK-NEXT: Value: 1
|
||||
; CHECK-NEXT: Functions: [ 1 ]
|
||||
; CHECK-NEXT: Functions: [ 2 ]
|
||||
; CHECK-NEXT: - Type: CODE
|
||||
; CHECK-NEXT: Functions:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 1081808080001A0B
|
||||
; CHECK-NEXT: Body: 0B
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 41010B
|
||||
; CHECK-NEXT: Body: 1082808080001A0B
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 4181808080000B
|
||||
; CHECK-NEXT: Body: 41010B
|
||||
; CHECK-NEXT: - Index: 3
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 41020B
|
||||
; CHECK-NEXT: Body: 4181808080000B
|
||||
; CHECK-NEXT: - Index: 4
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 4181808080000B
|
||||
; CHECK-NEXT: Body: 41020B
|
||||
; CHECK-NEXT: - Index: 5
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 0B
|
||||
; CHECK-NEXT: Body: 4181808080000B
|
||||
; CHECK-NEXT: - Type: DATA
|
||||
; CHECK-NEXT: Segments:
|
||||
; CHECK-NEXT: - SectionOffset: 7
|
||||
|
@ -130,15 +130,15 @@ entry:
|
|||
; CHECK-NEXT: Name: name
|
||||
; CHECK-NEXT: FunctionNames:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
; CHECK-NEXT: Name: _start
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Name: weakFn
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: Name: exportWeak1
|
||||
; CHECK-NEXT: - Index: 3
|
||||
; CHECK-NEXT: Name: weakFn
|
||||
; CHECK-NEXT: - Index: 4
|
||||
; CHECK-NEXT: Name: exportWeak2
|
||||
; CHECK-NEXT: - Index: 5
|
||||
; CHECK-NEXT: Name: __wasm_call_ctors
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Name: _start
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: Name: weakFn
|
||||
; CHECK-NEXT: - Index: 3
|
||||
; CHECK-NEXT: Name: exportWeak1
|
||||
; CHECK-NEXT: - Index: 4
|
||||
; CHECK-NEXT: Name: weakFn
|
||||
; CHECK-NEXT: - Index: 5
|
||||
; CHECK-NEXT: Name: exportWeak2
|
||||
; CHECK-NEXT: ...
|
||||
|
|
|
@ -33,13 +33,13 @@ entry:
|
|||
; CHECK-NEXT: - Type: TYPE
|
||||
; CHECK-NEXT: Signatures:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
; CHECK-NEXT: ReturnType: I32
|
||||
; CHECK-NEXT: ParamTypes:
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: ReturnType: NORESULT
|
||||
; CHECK-NEXT: ParamTypes:
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: ReturnType: I32
|
||||
; CHECK-NEXT: ParamTypes:
|
||||
; CHECK-NEXT: - Type: FUNCTION
|
||||
; CHECK-NEXT: FunctionTypes: [ 0, 0, 1, 1 ]
|
||||
; CHECK-NEXT: FunctionTypes: [ 0, 1, 1, 0 ]
|
||||
; CHECK-NEXT: - Type: TABLE
|
||||
; CHECK-NEXT: Tables:
|
||||
; CHECK-NEXT: - ElemType: ANYFUNC
|
||||
|
@ -83,25 +83,25 @@ entry:
|
|||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: - Name: _start
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: Index: 3
|
||||
; CHECK-NEXT: - Name: get_address_of_foo
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 0
|
||||
; CHECK-NEXT: Index: 1
|
||||
; CHECK-NEXT: - Name: get_address_of_global_var
|
||||
; CHECK-NEXT: Kind: FUNCTION
|
||||
; CHECK-NEXT: Index: 1
|
||||
; CHECK-NEXT: Index: 2
|
||||
; CHECK-NEXT: - Type: CODE
|
||||
; CHECK-NEXT: Functions:
|
||||
; CHECK-NEXT: - Index: 0
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 4180808080000B
|
||||
; CHECK-NEXT: Body: 0B
|
||||
; CHECK-NEXT: - Index: 1
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 4180808080000B
|
||||
; CHECK-NEXT: - Index: 2
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 1081808080001A0B
|
||||
; CHECK-NEXT: Body: 4180808080000B
|
||||
; CHECK-NEXT: - Index: 3
|
||||
; CHECK-NEXT: Locals:
|
||||
; CHECK-NEXT: Body: 0B
|
||||
; CHECK-NEXT: Body: 1082808080001A0B
|
||||
; CHECK-NEXT: ...
|
||||
|
|
|
@ -757,17 +757,15 @@ void Writer::assignIndexes() {
|
|||
Func->setOutputIndex(FunctionIndex++);
|
||||
};
|
||||
|
||||
for (InputFunction *Func : Symtab->SyntheticFunctions)
|
||||
AddDefinedFunction(Func);
|
||||
|
||||
for (ObjFile *File : Symtab->ObjectFiles) {
|
||||
DEBUG(dbgs() << "Functions: " << File->getName() << "\n");
|
||||
for (InputFunction *Func : File->Functions)
|
||||
AddDefinedFunction(Func);
|
||||
}
|
||||
|
||||
// TODO Move synthetic functions to come before (so __wasm_call_ctors can be
|
||||
// compiled immediately by the browser). Will reorder tests.
|
||||
for (InputFunction *Func : Symtab->SyntheticFunctions)
|
||||
AddDefinedFunction(Func);
|
||||
|
||||
uint32_t TableIndex = kInitialTableOffset;
|
||||
auto HandleRelocs = [&](InputChunk *Chunk) {
|
||||
if (!Chunk->Live)
|
||||
|
|
Loading…
Reference in New Issue