Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

backport matrix alignment fixes to 1.8 #47276

Conversation

oscardssmith
Copy link
Member

@oscardssmith oscardssmith commented Oct 21, 2022

backport of #45751 at request of @YingboMa

N5N3 and others added 8 commits September 30, 2022 09:26
This patch fixes the shifting direction for
circshift!(x::AbstractVector, n::Integer), which was opposite the
direction of circshift(x, n) and circshift!(y, x, n). In addition, this
patch fixes the method to also work correctly with offset arrays.
Fixes #46533.

(cherry picked from commit f1c4d54)
* Build/win: Build with MSYS2 (#46140)

* Makefile: MSYS2: close path conversion for `DEP_LIBS`

Automatic path conversion will replace `:` with `;`

* Makefile: MSYS2: use `cygpath` for path convert

ref: https://www.msys2.org/docs/filesystem-paths/#manual-unix-windows-path-conversion

* devdoc/win/msys2: add build steps

* devdoc/win/msys2: Add x86/x64 build notes

* devdoc/win/msys2: apply sugestions

Co-Authored-By: Elliot Saba <[email protected]>

* Instead of `CC_WITH_ENV`, scope environment variables to targets

* Fix whitespace

Co-authored-by: Elliot Saba <[email protected]>

* Disable MSYS2's path munging for `stringreplace` (#46803)

This was causing our rewriting of the loader's RPATH emulation to fail
after running `make install`, as MSYS2 was rewriting our list that looks
like:

```
../bin/libgcc_s_seh-1.dll:../bin/libopenlibm.dll:@../bin/libjulia-internal.dll:@../bin/libjulia-codegen.dll:
```

Into one that looked like:
```
..\bin\libgcc_s_seh-1.dll;..\bin\libopenlibm.dll;@..\bin\libjulia-internal.dll;@..\bin\libjulia-codegen.dll;
```

By exporting `MSYS2_ARG_CONV_EXCL='*'` for all `stringreplace`
invocations, we dodge this issue, as documented by MSYS2 [0].

[0] https://www.msys2.org/wiki/Porting/#filesystem-namespaces

* [win] Disable MSYS2 path munging when calling `is.exe` (#46867)

Tragically, I believe MSYS2 is messing with options such as
`/VERYSILENT` turning them instead into `C:\msys2\VERYSILENT` or
similar.

Co-authored-by: Elliot Saba <[email protected]>
@oscardssmith oscardssmith added unicode Related to unicode characters and encodings display and printing Aesthetics and correctness of printed representations of objects. labels Oct 21, 2022
@oscardssmith oscardssmith requested review from DilumAluthge and a team as code owners October 21, 2022 17:37
@oscardssmith oscardssmith changed the base branch from master to backports-release-1.8 October 21, 2022 17:38
@DilumAluthge DilumAluthge removed request for a team and DilumAluthge October 21, 2022 17:39
maleadt and others added 15 commits October 27, 2022 13:00
…by up to one microsecond (to compensate for Windows tar) (#45552)

(cherry picked from commit 4c39647)
Without this, alignment would count characters rather than
textwidth as well as counting inline escape sequences in
colored output. Fix that by using uncolored printing for
alignment and textwidth rather than number of codepoints.

(cherry picked from commit 626acd4)
Co-authored-by: Viral B. Shah <[email protected]>
(cherry picked from commit 5811825)
Co-authored-by: Jameson Nash <[email protected]>
(cherry picked from commit 45b96c4)
Only libjulia-internal is supposed to be linked against this, since it
is a static library.

Fix #47198

(cherry picked from commit e8aacc8)
As reported [here](https://discourse.julialang.org/t/test-failures-for-sockets-base-runtests-sockets/88898).

My guess on the original issue reported is that, for some reason, the host where the tests are run
is unable to listen on any ports, so we end up cycling through the entire UInt16 range (the test
starts at port 11011), but when we fail on port 65535, we do `addr.port + 1` and instead of wrapping
around as I believe this function intends to happen (as noted by the `addr.port == default_port` check
before we error), it gets promoted to `Int(65536)` which then throws an (unexpected) error in the `InetAddr`
constructor.

I'm not quite sure how to test this exactly though, because we'd need to simulate not being able
to listen on any ports? If anyone has any ideas, I'm all ears.

(cherry picked from commit a311f4d)
fingolfin and others added 8 commits October 27, 2022 13:28
When trying to dlopen a file with non-standard extension (e.g. `foo.so`
instead of `foo.dylib` when running on macOS), if this failed (e.g.
because of a reference to an undefined symbol), then instead of printing
the error message returned by `dlerror` with a helpful notice what
went wrong, a message indicating something to the effect that
"foo.so.dylib was not found" was shown, which was not helpful at all.

To get the actual helpful error message, add a check so that when dlopen
fails for a file that actually exists, we don't retry loading from a
file with the standard extension attached, which might not even exist;
instead we just give up.

This matches what is already being done for relative paths. This patch
simply copies the relevant check to also be applied to the case dealing
with absolute paths.

(cherry picked from commit a490197)
We disallow union as the direct type, so perhaps we should disallow it
as a field-type also, but since we do allow references in those cases
typically, we will allow this also.

Also DRY the emit_global code, since it had bit-rotted relative to the
usual code path through emit_globalref (and apparently could still be
run though for handling the first argument to cfunction).

Fix #46786

(cherry picked from commit ed01ee0)
)

No functional changes intended here.

(cherry picked from commit 45623a8)
Co-authored-by: Sukera <[email protected]>
(cherry picked from commit 45fd204)
* Fix GC assertion on array of derived pointers

* Add test

(cherry picked from commit d885fc7)
Appears to reduce the data size from about 165MB to 147MB!

(cherry picked from commit 94736a4)
* bugfix: fld1 order of ops

fixes #28973

(cherry picked from commit fcdc5bc)
@YingboMa
Copy link
Contributor

Bump. The test failure seems unrelated.

@giordano giordano changed the title backport allignment fixes to 1.8 backport matrix alignment fixes to 1.8 Oct 27, 2022
@DilumAluthge DilumAluthge force-pushed the oscardssmith-backport-allignment-fixes branch from 0d28d0b to 060324e Compare October 27, 2022 21:17
@KristofferC KristofferC force-pushed the backports-release-1.8 branch 2 times, most recently from 345ce31 to e78a9d2 Compare October 28, 2022 06:36
@KristofferC
Copy link
Member

PR got backport label added to it so it was automatically added to #46984 so this can be closed.

@KristofferC KristofferC closed this Nov 2, 2022
@DilumAluthge DilumAluthge deleted the oscardssmith-backport-allignment-fixes branch November 2, 2022 08:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
display and printing Aesthetics and correctness of printed representations of objects. unicode Related to unicode characters and encodings
Projects
None yet
Development

Successfully merging this pull request may close these issues.