Skip to content

Commit 1db2672

Browse files
committed
[libblastrampoline] Bump to v5.0.0
This should allow us to use CBLAS symbols in MKL v2022. Verified that this fixes JuliaLinearAlgebra/libblastrampoline#56
1 parent e3b681c commit 1db2672

File tree

4 files changed

+78
-39
lines changed

4 files changed

+78
-39
lines changed

deps/Versions.make

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ OBJCONV_JLL_NAME := Objconv
7575
OBJCONV_JLL_VER := 2.49.1+0
7676

7777
# blastrampoline
78-
BLASTRAMPOLINE_VER := 4.0.0
78+
BLASTRAMPOLINE_VER := 5.0.0
7979
BLASTRAMPOLINE_JLL_NAME := libblastrampoline
8080

8181
# OpenBLAS

deps/checksums/blastrampoline

Lines changed: 34 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,34 @@
1-
libblastrampoline.v4.0.0+0.aarch64-apple-darwin.tar.gz/md5/7d816200f4a97199996a67af0ba2acd5
2-
libblastrampoline.v4.0.0+0.aarch64-apple-darwin.tar.gz/sha512/fd3037ba25b9e874cc99bcacddb4a7a7777a493cc2c6323ad34e2dc927c2934d8f2092b6fa0058f3bdd3f2c3bf9b99387ce23590d11b0b7ef06ff9908f051979
3-
libblastrampoline.v4.0.0+0.aarch64-linux-gnu.tar.gz/md5/5b43a9709a478fe481b55a70b828e951
4-
libblastrampoline.v4.0.0+0.aarch64-linux-gnu.tar.gz/sha512/6096877375ce430239e7e074c688349669cefd24e3bd677453620ad06fb17b4a6addcca10f8c4d929c24bbf6a80c54b3f922a9db0ad4023cff1e7da7fa82adf7
5-
libblastrampoline.v4.0.0+0.aarch64-linux-musl.tar.gz/md5/50a474f71ebfc02d70bf2810d4dc460b
6-
libblastrampoline.v4.0.0+0.aarch64-linux-musl.tar.gz/sha512/99293784a634286b44e5aaaf196d88f9bc607cfda24f833c30373f3d35a44fafbbd2203ea9c002826d55208a47f4de6c73dec02b56023f15293f69f7712411ab
7-
libblastrampoline.v4.0.0+0.armv6l-linux-gnueabihf.tar.gz/md5/f68256af2059ac4d64c07529380500ac
8-
libblastrampoline.v4.0.0+0.armv6l-linux-gnueabihf.tar.gz/sha512/804a79c8fcea320e67976b49747a41d5227c7680e0adf3c1c3e925853773418b2240f7a34de34f0fce933234479ef5e33e297cc29749f6187adf9bc15da76382
9-
libblastrampoline.v4.0.0+0.armv6l-linux-musleabihf.tar.gz/md5/c15fb498f38e2beb983611d505a40924
10-
libblastrampoline.v4.0.0+0.armv6l-linux-musleabihf.tar.gz/sha512/647454fab5a8600827aea7c5d73b5f6350bd52f4efe8cb452cb0007d7d523caa90912653e0358c58aa6c36488445882e25a212d345c743913a5402fc2db92e73
11-
libblastrampoline.v4.0.0+0.armv7l-linux-gnueabihf.tar.gz/md5/584366bb093ca3c60fbbde94bb63c18b
12-
libblastrampoline.v4.0.0+0.armv7l-linux-gnueabihf.tar.gz/sha512/e9e1d04a483845b3b62a0270d1ff2ed34b583f21788118cc1fc51ef9047c69cc2633608edefffe629d101736cdb08f87071a233e3bec3ea961d6b7ad27fd55b2
13-
libblastrampoline.v4.0.0+0.armv7l-linux-musleabihf.tar.gz/md5/3dd37977f077a1ebb07c8cbd7052b906
14-
libblastrampoline.v4.0.0+0.armv7l-linux-musleabihf.tar.gz/sha512/ef18543df02d643a83b8a68264fa739a3568da624b5a40d16ba22a6ecd9acf3a85a62bb1979dca98574126a0cdd51732795a50665607580f95b8ae08eb5880f1
15-
libblastrampoline.v4.0.0+0.i686-linux-gnu.tar.gz/md5/e1c7d1d9046a15e0446fd826f17038d0
16-
libblastrampoline.v4.0.0+0.i686-linux-gnu.tar.gz/sha512/482ee1fbe2a183c11f20b4ebbcd10a053fa6d3bd68190339a39dfbaa768bf5baac0f24b68087b92c5f7489b277ca35f0a84e766d0f23c623f3fcd0cc4bbeb67d
17-
libblastrampoline.v4.0.0+0.i686-linux-musl.tar.gz/md5/34ea6a4e3ec73e842aca69930342bbb7
18-
libblastrampoline.v4.0.0+0.i686-linux-musl.tar.gz/sha512/97cfcd3659d700a915f0b9ffcd4039bed0dd0bccf786bf2b037304c3cd2f9c033c58ecb5268f2a7a3d43de1f59f85f562e9fd71fd05b2b5e2cba73331fa009e2
19-
libblastrampoline.v4.0.0+0.i686-w64-mingw32.tar.gz/md5/713fb54fd7373847b314002dc90b0c8e
20-
libblastrampoline.v4.0.0+0.i686-w64-mingw32.tar.gz/sha512/6535266ff16e7487bf3971b29a6662781beb38b385a6a07d1581702f19aa44ba7ab8c02d6d5934304c38cb918ba5ecfc0a05a2af6dd1ac07ea71084d879a0fc3
21-
libblastrampoline.v4.0.0+0.powerpc64le-linux-gnu.tar.gz/md5/70c5629d1c50fe8d7d036dd272bd38fe
22-
libblastrampoline.v4.0.0+0.powerpc64le-linux-gnu.tar.gz/sha512/69ed2ba821a278f0545df798f084c8a3912966b8831ffadb9a1262ee9212ded65dfcfa9282e3982c02c54d0121f29d6d66bf7d68866c93f34724f87f898a93b1
23-
libblastrampoline.v4.0.0+0.x86_64-apple-darwin.tar.gz/md5/daf5d34cadbc15912d67b584f59e220e
24-
libblastrampoline.v4.0.0+0.x86_64-apple-darwin.tar.gz/sha512/becfc35ffe9d0db8569b74ff6056dc6e0c685c93f3cb24104e0ae5f8232262fea1ad1507d06a389d95ec761ffd60ee094bcf4cd000a89c959b812bc0271d781e
25-
libblastrampoline.v4.0.0+0.x86_64-linux-gnu.tar.gz/md5/333b89ae831b9b3479542da44a850e44
26-
libblastrampoline.v4.0.0+0.x86_64-linux-gnu.tar.gz/sha512/27179020499e378fe62217832ef47af6b57fd1abe6eda9cf31432f435157d5c6da025200b827ecf7508141e515cb21192366aba3d60658b7e8ab36e2e3bd7adc
27-
libblastrampoline.v4.0.0+0.x86_64-linux-musl.tar.gz/md5/cf0219c4f8901a961cab5bf1043892d7
28-
libblastrampoline.v4.0.0+0.x86_64-linux-musl.tar.gz/sha512/b18d1e2d215060e95484e53cc56a7a8dea46d0c58c2b9c6664e3783cbabed7a2838a67f5aeed418c4a4304ecb2419f0f1e362c3161b29967b7d2274b3bb5b960
29-
libblastrampoline.v4.0.0+0.x86_64-unknown-freebsd.tar.gz/md5/e46abe31f535f8e639ac16900afc8d9d
30-
libblastrampoline.v4.0.0+0.x86_64-unknown-freebsd.tar.gz/sha512/a9ecedc78451ebce290b7ae6ccfd3ee6ba1ab53e73c36f5f22925c9e9520452fd9948954e7f3e1a970a03ec592acf4336227c080cde43a7c89cd049eace502b1
31-
libblastrampoline.v4.0.0+0.x86_64-w64-mingw32.tar.gz/md5/4f1dfd23d177ba44322a643bf2bd69a4
32-
libblastrampoline.v4.0.0+0.x86_64-w64-mingw32.tar.gz/sha512/29cf3ab251e521207b1c9ce7bb73495fb33c549ed7f28e08e6b10d299b9aa6a1d4dc41ed63ffbc21ab8df22d983339050e2cd6cda92c84fb4c3fd3d5e1f21631
1+
blastrampoline-23de7a09bf354fe6f655c457bab5bf47fdd2486d.tar.gz/md5/b81efa951fd909591339189f5909ff6b
2+
blastrampoline-23de7a09bf354fe6f655c457bab5bf47fdd2486d.tar.gz/sha512/1c2558bab0aeaa76e7094d8a6a9798c95f2cf4efe2960640b70f1fd752f3dfb73813d9de93b539426376571febaab22ac22c2f903ccdf3296c7b067af92fecdc
3+
libblastrampoline.v5.0.0+0.aarch64-apple-darwin.tar.gz/md5/ce687f4c9e1ff5d132bbfc81a191baa9
4+
libblastrampoline.v5.0.0+0.aarch64-apple-darwin.tar.gz/sha512/e76ce6273a4a412842e2dbfa6da6a5afef55d931e018a5dafd4b318aaf98bc607ae367f8d0c2da7faea951fe542cd0886b9edb2a8f17d00ec03f141a330d1b22
5+
libblastrampoline.v5.0.0+0.aarch64-linux-gnu.tar.gz/md5/0d50690c67914eaa8c739cc8069e2d5d
6+
libblastrampoline.v5.0.0+0.aarch64-linux-gnu.tar.gz/sha512/18acba5bbf72fc24d9941d1d0204f2dd570b108a3e026ec9ef6ea6369c5cb326b1f759e66403ed119af9375bfd32547be462f153b2d8fb76b171ba99708e66af
7+
libblastrampoline.v5.0.0+0.aarch64-linux-musl.tar.gz/md5/0fdbb8a25632a6ff148a5c5cd06b1acf
8+
libblastrampoline.v5.0.0+0.aarch64-linux-musl.tar.gz/sha512/0eab58f43203f720a4c33f955f8e23ca28fe81f62f76cb809a6a86b7193ebf97b045c05c6f67237f079917cffd955e00890aca0b0cc66f7a6fe0cb20cc088561
9+
libblastrampoline.v5.0.0+0.armv6l-linux-gnueabihf.tar.gz/md5/c52308f80aa0fcc7cd869556c708838c
10+
libblastrampoline.v5.0.0+0.armv6l-linux-gnueabihf.tar.gz/sha512/4b563e442fcd095e588f8489d54a785d64e2c864aa5bbcaba80a9f01510c74511d9a3179e82a16df19c36ad0e56776b454bd6dc7bc89b46d02b2f68541a8de61
11+
libblastrampoline.v5.0.0+0.armv6l-linux-musleabihf.tar.gz/md5/e5ffc932fdfd8d9f9298db06171436e3
12+
libblastrampoline.v5.0.0+0.armv6l-linux-musleabihf.tar.gz/sha512/deae85996616aea299eec4b8fd712c5e5bbc2a0047749626be761e23e85416934265c5ca878271cfaf57a106545575f6f22d91647fc34bbe753ee88ce7340cec
13+
libblastrampoline.v5.0.0+0.armv7l-linux-gnueabihf.tar.gz/md5/1dbc1c9ad1a61092fb7a8728c0183535
14+
libblastrampoline.v5.0.0+0.armv7l-linux-gnueabihf.tar.gz/sha512/b6d191090c658c68872f264dfa915f75ef0367333c87baea907968ebe88e5822d5608dae2e7b7ce46e08186ea1af34debb8e52438245ad906b7c6954c650569e
15+
libblastrampoline.v5.0.0+0.armv7l-linux-musleabihf.tar.gz/md5/696e46f6efd7628ddf6c64e0fc5d6038
16+
libblastrampoline.v5.0.0+0.armv7l-linux-musleabihf.tar.gz/sha512/7793319e4efee3f08b748f06a86dd28e2abbb1904bf240c964f8970a2dc78bcce8b94c596c04fddf301101dbeaa75981b32f937635d4632d75344c41780811d1
17+
libblastrampoline.v5.0.0+0.i686-linux-gnu.tar.gz/md5/936c9e68943aa439920598b96608c144
18+
libblastrampoline.v5.0.0+0.i686-linux-gnu.tar.gz/sha512/8d5cc29df36bead8e09d5d5d4ba58bea264c42d8d9f9adad697cbac5109dc7b29943bc42a6a623417d7bbe87f92fe6dd0fdb8ab71c4067d002d66c01cf40717f
19+
libblastrampoline.v5.0.0+0.i686-linux-musl.tar.gz/md5/40aea83485585885a1504cdfdbe6798b
20+
libblastrampoline.v5.0.0+0.i686-linux-musl.tar.gz/sha512/9ce10ed52de9eb4c9c076190bae49e0d1dbab1218b3f70e5587755a5627f684275043c0ae8fedf2febc6cd1533382f82af644039c2a8285a0e526dd003832337
21+
libblastrampoline.v5.0.0+0.i686-w64-mingw32.tar.gz/md5/b347c516772959a826268cde12f08bc4
22+
libblastrampoline.v5.0.0+0.i686-w64-mingw32.tar.gz/sha512/62bd405441c7aaa4389802470851b40e1e268d3be0a71d9cfd264329fa44061f1151f72659e7ec2ab138aa802935a8a3d75016e46aef705a76901df20b57ad64
23+
libblastrampoline.v5.0.0+0.powerpc64le-linux-gnu.tar.gz/md5/d20bc5bcaaf71cf4603e0df790653982
24+
libblastrampoline.v5.0.0+0.powerpc64le-linux-gnu.tar.gz/sha512/c1a6ab52b4d500cee9bcf46bb88eeb7e9e45da69cc9a4ec1ba54ce5f5d628f1b6169bfec6329d0b0fa83830031a5e209d1b110941572adda21bbfe2c0e11409d
25+
libblastrampoline.v5.0.0+0.x86_64-apple-darwin.tar.gz/md5/7b8df2fd81a434d49073ad4a60843621
26+
libblastrampoline.v5.0.0+0.x86_64-apple-darwin.tar.gz/sha512/530836fc159b9f5f76b93256c1ff87b524bba0703adab6e9bb07940c979d555703688ec41a8cff3deb5d069bc0fa563f948aeb5374ef6a96a2439d9506c5df57
27+
libblastrampoline.v5.0.0+0.x86_64-linux-gnu.tar.gz/md5/29700e2fa28efe0d56adcd3fe05542ce
28+
libblastrampoline.v5.0.0+0.x86_64-linux-gnu.tar.gz/sha512/f9422c24471a779833f60d9026fde469a967595b5da29f844cf5b73021f4e31990d835feb016f281f32619d06de732beb1fe60f4996f8c59d45f873249bae4dd
29+
libblastrampoline.v5.0.0+0.x86_64-linux-musl.tar.gz/md5/1791d73db12ad22af418ff17483dbefe
30+
libblastrampoline.v5.0.0+0.x86_64-linux-musl.tar.gz/sha512/e3dfbaa7e6e9c3bd6ec3cff1172a2360014577a64cd15132f3b60f9213357665fbe93cc0bd6eff77a9d317a350cd22d20edd94c708b141e01a511325679afb5e
31+
libblastrampoline.v5.0.0+0.x86_64-unknown-freebsd.tar.gz/md5/a2a07de7cb3f44d99146a6395e959537
32+
libblastrampoline.v5.0.0+0.x86_64-unknown-freebsd.tar.gz/sha512/f8b1f7329ee6c2a42fe9724290f92757e5a2d0e2a8c3b3aa3adfc148097a3402d01ca634ea450c005e775efab966b585b8cda9a536e76283908c03a41f2b8638
33+
libblastrampoline.v5.0.0+0.x86_64-w64-mingw32.tar.gz/md5/a0b85465130255a65b660aa158be40cd
34+
libblastrampoline.v5.0.0+0.x86_64-w64-mingw32.tar.gz/sha512/69010e20a0c366f9bbde9259c847714dc678e6e3f1e0e786cbc6ea3885ba879798180e1a8ac1a4cadb828a67def3ea3aa59d06a995f19aa9cd2d9cbbda8523ee

stdlib/LinearAlgebra/src/lbt.jl

Lines changed: 42 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ struct lbt_library_info_t
99
suffix::Cstring
1010
active_forwards::Ptr{UInt8}
1111
interface::Int32
12+
complex_retstyle::Int32
1213
f2c::Int32
14+
cblas::Int32
1315
end
1416
const LBT_INTERFACE_LP64 = 32
1517
const LBT_INTERFACE_ILP64 = 64
@@ -31,13 +33,35 @@ const LBT_F2C_MAP = Dict(
3133
)
3234
const LBT_INV_F2C_MAP = Dict(v => k for (k, v) in LBT_F2C_MAP)
3335

36+
const LBT_COMPLEX_RETSTYLE_NORMAL = 0
37+
const LBT_COMPLEX_RETSTYLE_ARGUMENT = 1
38+
const LBT_COMPLEX_RETSTYLE_UNKNOWN = -1
39+
const LBT_COMPLEX_RETSTYLE_MAP = Dict(
40+
LBT_COMPLEX_RETSTYLE_NORMAL => :normal,
41+
LBT_COMPLEX_RETSTYLE_ARGUMENT => :argument,
42+
LBT_COMPLEX_RETSTYLE_UNKNOWN => :unknown,
43+
)
44+
const LBT_INV_COMPLEX_RETSTYLE_MAP = Dict(v => k for (k, v) in LBT_COMPLEX_RETSTYLE_MAP)
45+
46+
const LBT_CBLAS_CONFORMANT = 0
47+
const LBT_CBLAS_DIVERGENT = 1
48+
const LBT_CBLAS_UNKNOWN = -1
49+
const LBT_CBLAS_MAP = Dict(
50+
LBT_CBLAS_CONFORMANT => :conformant,
51+
LBT_CBLAS_DIVERGENT => :divergent,
52+
LBT_CBLAS_UNKNOWN => :unknown,
53+
)
54+
const LBT_INV_CBLAS_MAP = Dict(v => k for (k, v) in LBT_CBLAS_MAP)
55+
3456
struct LBTLibraryInfo
3557
libname::String
3658
handle::Ptr{Cvoid}
3759
suffix::String
3860
active_forwards::Vector{UInt8}
3961
interface::Symbol
62+
complex_retstyle::Symbol
4063
f2c::Symbol
64+
cblas::Symbol
4165

4266
function LBTLibraryInfo(lib_info::lbt_library_info_t, num_exported_symbols::UInt32)
4367
return new(
@@ -46,7 +70,9 @@ struct LBTLibraryInfo
4670
unsafe_string(lib_info.suffix),
4771
unsafe_wrap(Vector{UInt8}, lib_info.active_forwards, div(num_exported_symbols,8)+1),
4872
LBT_INTERFACE_MAP[lib_info.interface],
73+
LBT_COMPLEX_RETSTYLE_MAP[lib_info.complex_retstyle],
4974
LBT_F2C_MAP[lib_info.f2c],
75+
LBT_CBLAS_MAP[lib_info.cblas],
5076
)
5177
end
5278
end
@@ -112,7 +138,9 @@ function Base.show(io::IO, mime::MIME{Symbol("text/plain")}, lbt::LBTLibraryInfo
112138
summary(io, lbt); println(io)
113139
println(io, "├ Library: ", basename(lbt.libname))
114140
println(io, "├ Interface: ", lbt.interface)
115-
print(io, "└ F2C: ", lbt.f2c)
141+
print(io, "├ Complex return style: ", lbt.complex_retstyle)
142+
print(io, "├ F2C: ", lbt.f2c)
143+
print(io, "└ CBLAS: ", lbt.cblas)
116144
end
117145

118146
function Base.show(io::IO, lbt::LBTConfig)
@@ -210,20 +238,29 @@ end
210238
## NOTE: Manually setting forwards is referred to as the 'footgun API'. It allows truly
211239
## bizarre and complex setups to be created. If you run into strange errors while using
212240
## it, the first thing you should ask yourself is whether you've set things up properly.
213-
function lbt_set_forward(symbol_name, addr, interface, f2c = LBT_F2C_PLAIN; verbose::Bool = false)
241+
function lbt_set_forward(symbol_name, addr, interface,
242+
complex_retstyle = LBT_COMPLEX_RETSTYLE_NORMAL,
243+
f2c = LBT_F2C_PLAIN; verbose::Bool = false)
214244
return ccall(
215245
(:lbt_set_forward, libblastrampoline),
216246
Int32,
217-
(Cstring, Ptr{Cvoid}, Int32, Int32, Int32),
247+
(Cstring, Ptr{Cvoid}, Int32, Int32, Int32, Int32),
218248
string(symbol_name),
219249
addr,
220250
Int32(interface),
251+
Int32(complex_retstyle),
221252
Int32(f2c),
222253
verbose ? Int32(1) : Int32(0),
223254
)
224255
end
225-
function lbt_set_forward(symbol_name, addr, interface::Symbol, f2c::Symbol = :plain; kwargs...)
226-
return lbt_set_forward(symbol_name, addr, LBT_INV_INTERFACE_MAP[interface], LBT_INV_F2C_MAP[f2c]; kwargs...)
256+
function lbt_set_forward(symbol_name, addr, interface::Symbol,
257+
complex_retstyle::Symbol = :normal,
258+
f2c::Symbol = :plain; kwargs...)
259+
return lbt_set_forward(symbol_name, addr,
260+
LBT_INV_INTERFACE_MAP[interface],
261+
LBT_INV_COMPLEX_RETSTYLE_MAP[complex_retstyle],
262+
LBT_INV_F2C_MAP[f2c];
263+
kwargs...)
227264
end
228265

229266
function lbt_get_forward(symbol_name, interface, f2c = LBT_F2C_PLAIN)

stdlib/libblastrampoline_jll/Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "libblastrampoline_jll"
22
uuid = "8e850b90-86db-534c-a0d3-1478176c7d93"
3-
version = "4.0.0+0"
3+
version = "5.0.0+0"
44

55
[deps]
66
Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb"

0 commit comments

Comments
 (0)