You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
918 B
31 lines
918 B
4 months ago
|
; We manually create these here if we're not linking against
|
||
|
; the CRT which would usually provide these.
|
||
|
|
||
|
target triple = "i686-pc-windows-msvc"
|
||
|
|
||
|
%IMAGE_TLS_DIRECTORY32 = type {
|
||
|
i32, ; StartAddressOfRawData
|
||
|
i32, ; EndAddressOfRawData
|
||
|
i32, ; AddressOfIndex
|
||
|
i32, ; AddressOfCallBacks
|
||
|
i32, ; SizeOfZeroFill
|
||
|
i32 ; Characteristics
|
||
|
}
|
||
|
|
||
|
@_tls_start = global i8 zeroinitializer, section ".tls"
|
||
|
@_tls_end = global i8 zeroinitializer, section ".tls$ZZZ"
|
||
|
@_tls_index = global i32 0
|
||
|
|
||
|
@_tls_used = global %IMAGE_TLS_DIRECTORY32 {
|
||
|
i32 ptrtoint (i8* @_tls_start to i32),
|
||
|
i32 ptrtoint (i8* @_tls_end to i32),
|
||
|
i32 ptrtoint (i32* @_tls_index to i32),
|
||
|
i32 0,
|
||
|
i32 0,
|
||
|
i32 0
|
||
|
}, section ".rdata$T"
|
||
|
|
||
|
; MSVC target uses a direct offset (0x58) for x86-64 but expects
|
||
|
; __tls_array to hold the offset (0x2C) on x86.
|
||
|
module asm ".global __tls_array"
|
||
|
module asm "__tls_array = 44"
|