This reverts commit d806618636f8a82bfc3f620e1fad83af4d2a2575. Review: https://reviews.llvm.org/D92215 We had issues where older versions of wasm-ld were crashing on object files containing a table symbol. We decided that the best strategy going forward is to only generate these symbol if refernece types is enabled. Without reference types enabled we should never geneate a table symbol or a TABLE_NUMBER relocation. This revert is in addition to the one already reverted in https://reviews.llvm.org/D95005. The plan is to re-land these in updated form after the llvm 12 branch. Differential Revision: https://reviews.llvm.org/D95420
45 lines
1.2 KiB
LLVM
45 lines
1.2 KiB
LLVM
; RUN: llc -filetype=obj %s -o - | llvm-readobj --symbols - | FileCheck %s
|
|
|
|
target datalayout = "e-m:e-p:32:32-i64:64-n32:64-S128"
|
|
target triple = "wasm32-unknown-unknown-wasm"
|
|
|
|
@foo = alias i8, bitcast (i8* ()* @func to i8*)
|
|
@bar = alias i8* (), i8* ()* @func
|
|
@bar2 = alias i8* (), i8* ()* @bar
|
|
|
|
define i8* @func() {
|
|
call i8* @bar2();
|
|
ret i8* @foo;
|
|
}
|
|
|
|
; CHECK: Symbols [
|
|
; CHECK-NEXT: Symbol {
|
|
; CHECK-NEXT: Name: func
|
|
; CHECK-NEXT: Type: FUNCTION (0x0)
|
|
; CHECK-NEXT: Flags [ (0x0)
|
|
; CHECK-NEXT: ]
|
|
; CHECK-NEXT: ElementIndex: 0x0
|
|
; CHECK-NEXT: }
|
|
; CHECK-NEXT: Symbol {
|
|
; CHECK-NEXT: Name: bar2
|
|
; CHECK-NEXT: Type: FUNCTION (0x0)
|
|
; CHECK-NEXT: Flags [ (0x0)
|
|
; CHECK-NEXT: ]
|
|
; CHECK-NEXT: ElementIndex: 0x0
|
|
; CHECK-NEXT: }
|
|
; CHECK-NEXT: Symbol {
|
|
; CHECK-NEXT: Name: foo
|
|
; CHECK-NEXT: Type: FUNCTION (0x0)
|
|
; CHECK-NEXT: Flags [ (0x0)
|
|
; CHECK-NEXT: ]
|
|
; CHECK-NEXT: ElementIndex: 0x0
|
|
; CHECK-NEXT: }
|
|
; CHECK-NEXT: Symbol {
|
|
; CHECK-NEXT: Name: bar
|
|
; CHECK-NEXT: Type: FUNCTION (0x0)
|
|
; CHECK-NEXT: Flags [ (0x0)
|
|
; CHECK-NEXT: ]
|
|
; CHECK-NEXT: ElementIndex: 0x0
|
|
; CHECK-NEXT: }
|
|
; CHECK-NEXT: ]
|