Skip to content

Commit 55032d7

Browse files
authored
Merge pull request #48026 from JuliaLang/backports-release-1.9
Backports for 1.9.0-beta2
2 parents e165c37 + 9fa0fcf commit 55032d7

13 files changed

Lines changed: 115 additions & 48 deletions

File tree

base/loading.jl

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -964,6 +964,12 @@ function _include_from_serialized(pkg::PkgId, path::String, ocachepath::Union{No
964964
elapsed = round((time_ns() - t_before) / 1e6, digits = 1)
965965
comp_time, recomp_time = cumulative_compile_time_ns() .- t_comp_before
966966
print(lpad(elapsed, 9), " ms ")
967+
for extid in EXT_DORMITORY
968+
if extid.id == pkg
969+
print(extid.parentid.name, "")
970+
break
971+
end
972+
end
967973
print(pkg.name)
968974
if comp_time > 0
969975
printstyled(" ", Ryu.writefixed(Float64(100 * comp_time / (elapsed * 1e6)), 2), "% compilation time", color = Base.info_color())
@@ -2078,7 +2084,7 @@ function compilecache(pkg::PkgId, path::String, internal_stderr::IO = stderr, in
20782084
# Ensure that the user can execute the `.so` we're generating
20792085
# Note that on windows, `filemode(path)` typically returns `0o666`, so this
20802086
# addition of the execute bit for the user is doubly needed.
2081-
chmod(tmppath_so, filemode(path) & 0o777 | 0o300)
2087+
chmod(tmppath_so, filemode(path) & 0o777 | 0o333)
20822088
end
20832089

20842090
# prune the directory with cache files

base/sort.jl

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1560,8 +1560,14 @@ function sortperm(A::AbstractArray;
15601560
order::Ordering=Forward,
15611561
scratch::Union{Vector{<:Integer}, Nothing}=nothing,
15621562
dims...) #to optionally specify dims argument
1563-
ordr = ord(lt,by,rev,order)
1564-
if ordr === Forward && isa(A,Vector) && eltype(A)<:Integer
1563+
if rev === true
1564+
_sortperm(A; alg, order=ord(lt, by, true, order), scratch, dims...)
1565+
else
1566+
_sortperm(A; alg, order=ord(lt, by, nothing, order), scratch, dims...)
1567+
end
1568+
end
1569+
function _sortperm(A::AbstractArray; alg, order, scratch, dims...)
1570+
if order === Forward && isa(A,Vector) && eltype(A)<:Integer
15651571
n = length(A)
15661572
if n > 1
15671573
min, max = extrema(A)
@@ -1573,7 +1579,7 @@ function sortperm(A::AbstractArray;
15731579
end
15741580
end
15751581
ix = copymutable(LinearIndices(A))
1576-
sort!(ix; alg, order = Perm(ordr, vec(A)), scratch, dims...)
1582+
sort!(ix; alg, order = Perm(order, vec(A)), scratch, dims...)
15771583
end
15781584

15791585

@@ -1615,7 +1621,7 @@ julia> sortperm!(p, A; dims=2); p
16151621
2 4
16161622
```
16171623
"""
1618-
function sortperm!(ix::AbstractArray{T}, A::AbstractArray;
1624+
@inline function sortperm!(ix::AbstractArray{T}, A::AbstractArray;
16191625
alg::Algorithm=DEFAULT_UNSTABLE,
16201626
lt=isless,
16211627
by=identity,
@@ -1630,7 +1636,12 @@ function sortperm!(ix::AbstractArray{T}, A::AbstractArray;
16301636
if !initialized
16311637
ix .= LinearIndices(A)
16321638
end
1633-
sort!(ix; alg, order = Perm(ord(lt, by, rev, order), vec(A)), scratch, dims...)
1639+
1640+
if rev === true
1641+
sort!(ix; alg, order=Perm(ord(lt, by, true, order), vec(A)), scratch, dims...)
1642+
else
1643+
sort!(ix; alg, order=Perm(ord(lt, by, nothing, order), vec(A)), scratch, dims...)
1644+
end
16341645
end
16351646

16361647
# sortperm for vectors of few unique integers

deps/checksums/pcre

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,34 @@
1-
PCRE2.v10.40.0+0.aarch64-apple-darwin.tar.gz/md5/3d6b01c094c9e1adad2c1d42a3e7c3a6
2-
PCRE2.v10.40.0+0.aarch64-apple-darwin.tar.gz/sha512/374f9f35ae7925a6db6249850822d90c56c11b1b49971b76f016203e85bcc14ea6ab7e017b0ad5ce56c47b0715b2a396099749656e7d7291008a2dc8cb393792
3-
PCRE2.v10.40.0+0.aarch64-linux-gnu.tar.gz/md5/0f4c7daae3c08e5438b0af3299cbb003
4-
PCRE2.v10.40.0+0.aarch64-linux-gnu.tar.gz/sha512/ee9c6275019ef09a2fd7c6a649ebe184b58dae4e65a9b38159bac596e0427819e086084ca56be0f2f2ad0eb98a50a2511999cb46d5e9d1f03d39b04ade5e270d
5-
PCRE2.v10.40.0+0.aarch64-linux-musl.tar.gz/md5/baf858fd38471dd933312079ebaf065d
6-
PCRE2.v10.40.0+0.aarch64-linux-musl.tar.gz/sha512/3b50f6380673d30d487a3b10e6c58b76ff47fbb5c774f59f15bcc0b92e7740e73ad04c62b86e8eab0c916d4c231449f5279eae37aa401fab1a46c6e11687e806
7-
PCRE2.v10.40.0+0.armv6l-linux-gnueabihf.tar.gz/md5/9c582d85fe43e205679d2ed8d1ee3df7
8-
PCRE2.v10.40.0+0.armv6l-linux-gnueabihf.tar.gz/sha512/fb7df17fa39ac93c7af92f4afdcdd120b171682ce172561a65fae3c6e3b1c26c5715b1264007fd12713464cbff406fb19117adaf1d50bd239f0dc53e7842ca8e
9-
PCRE2.v10.40.0+0.armv6l-linux-musleabihf.tar.gz/md5/a9c6c90c69d3de7030bd5015092a1340
10-
PCRE2.v10.40.0+0.armv6l-linux-musleabihf.tar.gz/sha512/7030aaaac0d275e72f3a36fe5104d11eba9bd1909c3d7126c751c9409f619d25c7735c7d3354b48786aef1ca9f1be48a60e0bd04a04c6b098915e6c4b2935e5f
11-
PCRE2.v10.40.0+0.armv7l-linux-gnueabihf.tar.gz/md5/cc4add9c80f47ac3fb682aca3347aca3
12-
PCRE2.v10.40.0+0.armv7l-linux-gnueabihf.tar.gz/sha512/4a21795524d3cf8112384d133b47e87738a8c1efa71606fb55f5fabe1cc4108b2921c2efb539506552a2b630398a6770d93c9c541d5123b7a84016aad7a112f0
13-
PCRE2.v10.40.0+0.armv7l-linux-musleabihf.tar.gz/md5/51c54233c6e536671f2c1af74e1773d5
14-
PCRE2.v10.40.0+0.armv7l-linux-musleabihf.tar.gz/sha512/3889cf1faacd16779c87ac00317fbc36e54f5a99733b838920add360196edbe388c12421380105a87041d3502e5f4bea74460dedc3d797aafde5cb0f960516d0
15-
PCRE2.v10.40.0+0.i686-linux-gnu.tar.gz/md5/368342965b12beed2c4c92e60f7dda8f
16-
PCRE2.v10.40.0+0.i686-linux-gnu.tar.gz/sha512/bdb3692412d0b1d07bf302fbd129755e4a53e6b39caf135df912da79088e5db29a788680b282292919c45560a795fab60d043feece63cae2296165a9909ecb57
17-
PCRE2.v10.40.0+0.i686-linux-musl.tar.gz/md5/79bf801c0d86614ebf95ef83016195e6
18-
PCRE2.v10.40.0+0.i686-linux-musl.tar.gz/sha512/d35d15ccc8b09a33088efb4bf631cbbb3ff332521f37fdaa5fc106e576a54cb57ad1243dc3db1ab17a8195fd1476889b8d548987437a195267fae7683769da38
19-
PCRE2.v10.40.0+0.i686-w64-mingw32.tar.gz/md5/930cbf007549542b027a1db72bab0e58
20-
PCRE2.v10.40.0+0.i686-w64-mingw32.tar.gz/sha512/e9bad56ca6e1871f2bf37c8b2b03ecbc77acd3f4b04c95dd6e63a4cb38487fc3349a97ca7f575c158fde8b948c363af3f7cffc4ad89af9df09e536119a1d743b
21-
PCRE2.v10.40.0+0.powerpc64le-linux-gnu.tar.gz/md5/cebf0e67b6ae67fa841e491bf8955ae0
22-
PCRE2.v10.40.0+0.powerpc64le-linux-gnu.tar.gz/sha512/e04087f3e3268d389c08068ac8ae45f017e742787f20235eb6e4d32257ae3a3e445c61dc80db5a2c73d3fea5721272ec517c8b3be428d8aca097e691a14eb659
23-
PCRE2.v10.40.0+0.x86_64-apple-darwin.tar.gz/md5/5ed58d794f55139baac9a1ee50da3647
24-
PCRE2.v10.40.0+0.x86_64-apple-darwin.tar.gz/sha512/e906c6953be8a894d4cfa1792843e85aef58cf3b87baf4bcba99d19c84bd7d67dfbde85f1ddad42cbd51d2b1fa36797ce2ad79d79b19a792ca886bf52632a919
25-
PCRE2.v10.40.0+0.x86_64-linux-gnu.tar.gz/md5/db3fd5e855ca47b90d9a1faf58c88279
26-
PCRE2.v10.40.0+0.x86_64-linux-gnu.tar.gz/sha512/9082201b6519a693cf0038cf667841a0a4e4158698e1b7455ed3e0db1a7796c7303cf105975ddf059a6dbf5865eaf99f33d4e42803364935da7fa9e9c3bcb5b5
27-
PCRE2.v10.40.0+0.x86_64-linux-musl.tar.gz/md5/ab3456b926864ab27d5a4ce8dd42d1e7
28-
PCRE2.v10.40.0+0.x86_64-linux-musl.tar.gz/sha512/4b9109d9fadde86b1d76c420cb3e8b884ccba6fa08fec4fb039c384af5f040cf52b3232fbf4921cf680f36e54683b28bdb77e3b2a8943acf974f446e99f93475
29-
PCRE2.v10.40.0+0.x86_64-unknown-freebsd.tar.gz/md5/ee7679ad09e13f3cf9a2089e761bd718
30-
PCRE2.v10.40.0+0.x86_64-unknown-freebsd.tar.gz/sha512/cce31108246bdc2947865339a7cdbb7f505baf3b1b94fa6f6d825416149d8bc888a0a55961873f041cb94bba623c27f5ecaef23dda284cc57b76b30987fb6f5b
31-
PCRE2.v10.40.0+0.x86_64-w64-mingw32.tar.gz/md5/8178c12311e6f74bc1155d6d49dfb612
32-
PCRE2.v10.40.0+0.x86_64-w64-mingw32.tar.gz/sha512/9d03dd7ee07fdce9af7e6995e533c59dc274417c0e39a27ccea397291b17d6865bf9c80bbc7c9aa8e908518ba33873b39b9cbfd36bc7137cb5b7432c5684e073
33-
pcre2-10.40.tar.bz2/md5/a5cc4e276129c177d4fffb40601019a4
34-
pcre2-10.40.tar.bz2/sha512/00e7b48a6554b9127cb6fe24c5cacf72783416a9754ec88f62f73c52f46ed72c86c1869e62c91a31b2ff2cbafbbedabca44b3f1eb7670bc92f49d8401c7374e8
1+
PCRE2.v10.42.0+0.aarch64-apple-darwin.tar.gz/md5/667a570d341396c3213749ee1e5b5fda
2+
PCRE2.v10.42.0+0.aarch64-apple-darwin.tar.gz/sha512/c1bb99e8928efded9b0ea3f294ceb41daea7254204ca30c0ff88686110ccd58138d8ea8b20b9a9d6d16a6d8d3f34e27e74e7b57d3c8fe6b051c9d8fa6f86431a
3+
PCRE2.v10.42.0+0.aarch64-linux-gnu.tar.gz/md5/1a758f275ff3306fbad7698df7b9b7be
4+
PCRE2.v10.42.0+0.aarch64-linux-gnu.tar.gz/sha512/d09508c0b255366d01f1b4d1ae6748a8e47f18c451498d30715f5f968784990949dab7540cd086396abd912f61b5f7c44c8c72a27efaba0a7fc08b71a167c057
5+
PCRE2.v10.42.0+0.aarch64-linux-musl.tar.gz/md5/e61147579fdc9b57a61b814bdf9c84bb
6+
PCRE2.v10.42.0+0.aarch64-linux-musl.tar.gz/sha512/eecaf4c1937fc04210b910ac65318524c02d690e8c4894c38e74eaba36d26c87a1fd9e1cc36f4307a11ff3552a79f081fa8f05085435eb34872dc2fdecce2d18
7+
PCRE2.v10.42.0+0.armv6l-linux-gnueabihf.tar.gz/md5/b4c484a3b87923c0e2e4d9cc5f140eb7
8+
PCRE2.v10.42.0+0.armv6l-linux-gnueabihf.tar.gz/sha512/5931cf13d340971356a9b87f62c9efdb3656ba649e7b25f1722127a3fd70973d94c815a37b43cecab8eb0ed8d1ae02ef1a0c0a12051852c1b9242c3eaa01c496
9+
PCRE2.v10.42.0+0.armv6l-linux-musleabihf.tar.gz/md5/bc7b5bb1c5b0b99c121bad5a89299ca7
10+
PCRE2.v10.42.0+0.armv6l-linux-musleabihf.tar.gz/sha512/86b5ad4fa6f4b5bd1a76ad68ddff4b39916d0ed0acc03a3fee8eab5256aaed53abc0ff4ce9d9d9f8b9203c087211684da92fe6aa06ff5bc331ba1b3da2cba57e
11+
PCRE2.v10.42.0+0.armv7l-linux-gnueabihf.tar.gz/md5/3541eb26fa5a4d13e2c7d063dbd900d8
12+
PCRE2.v10.42.0+0.armv7l-linux-gnueabihf.tar.gz/sha512/872181f931662edaf653351486c5e2a700e94cfa0966ca90eca893fdc75dd46eb40d9d45737c198aa4b9ad8ebab33fd78697ef35906985e4e1c9748ddf58d363
13+
PCRE2.v10.42.0+0.armv7l-linux-musleabihf.tar.gz/md5/fe059feb18fcc9312f1033362070fe34
14+
PCRE2.v10.42.0+0.armv7l-linux-musleabihf.tar.gz/sha512/5a96acf3908c964ccb4f296c449499388ed447d9a094c2760c979e02ef656fa710ede3926b9626e89fb5b0545c111e6eedff21e48416e923c17fc9ff129d0519
15+
PCRE2.v10.42.0+0.i686-linux-gnu.tar.gz/md5/67f49cb139017109c422c51c0120823a
16+
PCRE2.v10.42.0+0.i686-linux-gnu.tar.gz/sha512/8873d9995bdf5701fc5a24163f93eada12af76d09781a679a4ed61b66f117cf322505d291931d1c58b3b3eb560f6487a1100b0735c14abe6cb38677750b481c7
17+
PCRE2.v10.42.0+0.i686-linux-musl.tar.gz/md5/092af10d8182cb4240cdd975efce4d7c
18+
PCRE2.v10.42.0+0.i686-linux-musl.tar.gz/sha512/79a48f4fd50ffdf49c8d57581e01ace38c1b3d7edd86d44db44b8efd93074d16faf035131a0d60c6631b8bf22f0fd8296acedba45908da56e8096c296122f047
19+
PCRE2.v10.42.0+0.i686-w64-mingw32.tar.gz/md5/2bb13db8b5d6d1a5632de3db874c2614
20+
PCRE2.v10.42.0+0.i686-w64-mingw32.tar.gz/sha512/7d1324696087c32d1bbbb64f5e4b8c8a220ef216d025886b3c3e6d685c3f701428c6696d7ae0bcc771d3295381ba2bdd5db040f788f8a9a58f80ad4d790dd141
21+
PCRE2.v10.42.0+0.powerpc64le-linux-gnu.tar.gz/md5/0de1215b2a1e9c0efd131355e9fbf2c1
22+
PCRE2.v10.42.0+0.powerpc64le-linux-gnu.tar.gz/sha512/69dae12627685ae665db8c91264a79aba7c60ae97eccdc79ef889f2a5f69b465fa333aba298fc90bbb95710cfc324e3630bc427a97577855e8fb6c8fe227cfec
23+
PCRE2.v10.42.0+0.x86_64-apple-darwin.tar.gz/md5/c5c52b399921c5ab81a5f598b350d2ca
24+
PCRE2.v10.42.0+0.x86_64-apple-darwin.tar.gz/sha512/e6c8ba3aa3fbf54b37079301ab317104c6852812b23835f52ca40f31f0831678172d32e077fbaa712a8a2cb16d62bb97d475827004353e7807922a2d6e049b28
25+
PCRE2.v10.42.0+0.x86_64-linux-gnu.tar.gz/md5/b074dd1f85e24e723349e566350e2c78
26+
PCRE2.v10.42.0+0.x86_64-linux-gnu.tar.gz/sha512/236017e02c9f32b913b772dbf22897c8460e5791f196c86f8a073e329ad8925f6859afe48f3bf18ca057c265f08fedbde255360d8f859e2303c6569ab1b0e1bb
27+
PCRE2.v10.42.0+0.x86_64-linux-musl.tar.gz/md5/9f32ca77e79843fc9c4b5fc8ed336d11
28+
PCRE2.v10.42.0+0.x86_64-linux-musl.tar.gz/sha512/334a31724e9d69c6517568d922717ce76d85cf87dbc863b7262b25ab43c79734b457833cd42674eb6a004864e5c74da3ae1d0a45794b4cd459eea24d9669fac5
29+
PCRE2.v10.42.0+0.x86_64-unknown-freebsd.tar.gz/md5/037bf13e9a53eb90846b6643610a17df
30+
PCRE2.v10.42.0+0.x86_64-unknown-freebsd.tar.gz/sha512/64bc9acda3d158621f442aa2e766730cc425df3795965f461b530d8152934ffaf93d75b86ebc483345b78b203b0502857683c183ec65a01da1834b55405c7f77
31+
PCRE2.v10.42.0+0.x86_64-w64-mingw32.tar.gz/md5/6b04c3778bf02947cb1b7e70a41f3292
32+
PCRE2.v10.42.0+0.x86_64-w64-mingw32.tar.gz/sha512/9b808832cc48703ed525eca06d1dd0162dae3f94a9ad72d044876edcb86a90e8443c8b169e60ccf3507d5960156c447d8f3f30e586ac2a22b6d43dbe807009d0
33+
pcre2-10.42.tar.bz2/md5/a8e9ab2935d428a4807461f183034abe
34+
pcre2-10.42.tar.bz2/sha512/72fbde87fecec3aa4b47225dd919ea1d55e97f2cbcf02aba26e5a0d3b1ffb58c25a80a9ef069eb99f9cf4e41ba9604ad06a7ec159870e1e875d86820e12256d3

deps/pcre.version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
PCRE_JLL_NAME := PCRE2
33

44
## source build
5-
PCRE_VER := 10.40
5+
PCRE_VER := 10.42

doc/src/manual/code-loading.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -348,9 +348,10 @@ The subscripted `rootsᵢ`, `graphᵢ` and `pathsᵢ` variables correspond to th
348348
2. Packages in non-primary environments can end up using incompatible versions of their dependencies even if their own environments are entirely compatible. This can happen when one of their dependencies is shadowed by a version in an earlier environment in the stack (either by graph or path, or both).
349349

350350
Since the primary environment is typically the environment of a project you're working on, while environments later in the stack contain additional tools, this is the right trade-off: it's better to break your development tools but keep the project working. When such incompatibilities occur, you'll typically want to upgrade your dev tools to versions that are compatible with the main project.
351-
### "Extension"s
352351

353-
An "extension" is a module that is automatically loaded when a specified set of other packages (its "extension dependencies") are loaded in the current Julia session. The extension dependencies of an extension are a subset of those packages listed under the `[weakdeps]` section of a Project file. Extensions are defined under the `[extensions]` section in the project file:
352+
### [Package Extensions](@id man-extensions)
353+
354+
A package "extension" is a module that is automatically loaded when a specified set of other packages (its "extension dependencies") are loaded in the current Julia session. The extension dependencies of an extension are a subset of those packages listed under the `[weakdeps]` section of a Project file. Extensions are defined under the `[extensions]` section in the project file:
354355

355356
```toml
356357
name = "MyPackage"

src/stackwalk.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1126,7 +1126,7 @@ JL_DLLEXPORT void jl_print_backtrace(void) JL_NOTSAFEPOINT
11261126
// Print backtraces for all live tasks, for all threads.
11271127
// WARNING: this is dangerous and can crash if used outside of gdb, if
11281128
// all of Julia's threads are not stopped!
1129-
JL_DLLEXPORT void jl_print_task_backtraces(void) JL_NOTSAFEPOINT
1129+
JL_DLLEXPORT void jl_print_task_backtraces(int show_done) JL_NOTSAFEPOINT
11301130
{
11311131
size_t nthreads = jl_atomic_load_acquire(&jl_n_threads);
11321132
jl_ptls_t *allstates = jl_atomic_load_relaxed(&jl_all_tls_states);
@@ -1146,9 +1146,13 @@ JL_DLLEXPORT void jl_print_task_backtraces(void) JL_NOTSAFEPOINT
11461146
void **lst = live_tasks->items;
11471147
for (size_t j = 0; j < live_tasks->len; j++) {
11481148
jl_task_t *t = (jl_task_t *)lst[j];
1149+
int t_state = jl_atomic_load_relaxed(&t->_state);
1150+
if (!show_done && t_state == JL_TASK_STATE_DONE) {
1151+
continue;
1152+
}
11491153
jl_safe_printf(" ---- Task %zu (%p)\n", j + 1, t);
11501154
jl_safe_printf(" (sticky: %d, started: %d, state: %d, tid: %d)\n",
1151-
t->sticky, t->started, jl_atomic_load_relaxed(&t->_state),
1155+
t->sticky, t->started, t_state,
11521156
jl_atomic_load_relaxed(&t->tid) + 1);
11531157
if (t->stkbuf != NULL)
11541158
jlbacktracet(t);

src/threading.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -408,7 +408,7 @@ JL_DLLEXPORT jl_gcframe_t **jl_adopt_thread(void)
408408
// warning: this changes `jl_current_task`, so be careful not to call that from this function
409409
jl_task_t *ct = jl_init_root_task(ptls, stack_lo, stack_hi);
410410
JL_GC_PROMISE_ROOTED(ct);
411-
411+
uv_random(NULL, NULL, &ct->rngState, sizeof(ct->rngState), 0, NULL);
412412
return &ct->gcstack;
413413
}
414414

stdlib/CompilerSupportLibraries_jll/src/CompilerSupportLibraries_jll.jl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ libstdcxx_handle = C_NULL
2121
libstdcxx_path = ""
2222
libgomp_handle = C_NULL
2323
libgomp_path = ""
24+
libssp_handle = C_NULL
25+
libssp_path = ""
2426

2527
if Sys.iswindows()
2628
if arch(HostPlatform()) == "x86_64"
@@ -31,6 +33,7 @@ if Sys.iswindows()
3133
const libgfortran = string("libgfortran-", libgfortran_version(HostPlatform()).major, ".dll")
3234
const libstdcxx = "libstdc++-6.dll"
3335
const libgomp = "libgomp-1.dll"
36+
const libssp = "libssp-0.dll"
3437
elseif Sys.isapple()
3538
if arch(HostPlatform()) == "aarch64" || libgfortran_version(HostPlatform()) == v"5"
3639
const libgcc_s = "@rpath/libgcc_s.1.1.dylib"
@@ -56,6 +59,10 @@ function __init__()
5659
global libstdcxx_path = dlpath(libstdcxx_handle)
5760
global libgomp_handle = dlopen(libgomp)
5861
global libgomp_path = dlpath(libgomp_handle)
62+
if Sys.iswindows()
63+
global libssp_handle = dlopen(libssp)
64+
global libssp_path = dlpath(libssp_handle)
65+
end
5966
global artifact_dir = dirname(Sys.BINDIR)
6067
LIBPATH[] = dirname(libgcc_s_path)
6168
push!(LIBPATH_list, LIBPATH[])

stdlib/CompilerSupportLibraries_jll/test/runtests.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,7 @@ using Test, CompilerSupportLibraries_jll
77
@test isfile(CompilerSupportLibraries_jll.libgfortran_path)
88
@test isfile(CompilerSupportLibraries_jll.libstdcxx_path)
99
@test isfile(CompilerSupportLibraries_jll.libgomp_path)
10+
if Sys.iswindows()
11+
@test isfile(CompilerSupportLibraries_jll.libssp_path)
12+
end
1013
end

stdlib/InteractiveUtils/src/macros.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -360,6 +360,8 @@ See also: [`code_native`](@ref), [`@code_llvm`](@ref), [`@code_typed`](@ref) and
360360
A macro to execute an expression and produce a report of any time spent importing packages and their
361361
dependencies. Any compilation time will be reported as a percentage, and how much of which was recompilation, if any.
362362
363+
On Julia 1.9+ [package extensions](@ref man-extensions) will show as Parent → Extension.
364+
363365
!!! note
364366
During the load process a package sequentially imports all of its dependencies, not just its direct dependencies.
365367

0 commit comments

Comments
 (0)