Skip to content

bpo-43179: Drop 31/32-bit Linux s390 platform support #24534

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

Closed
wants to merge 1 commit into from
Closed

bpo-43179: Drop 31/32-bit Linux s390 platform support #24534

wants to merge 1 commit into from

Conversation

vstinner
Copy link
Member

@vstinner vstinner commented Feb 15, 2021

The discontinued 32-bit Linux s390 platform is no longer supported.
The 32-bit IBM s390 architecture was discontinued in 1998 and
superseded by the 64-bit IBM s390x architecture. The 64-bit Linux
s390x platform remains supported.

https://bugs.python.org/issue43179

@glaubitz
Copy link
Contributor

s390 isn't a 32-bit platform, it's a 31-bit platform.

I also still don't understand what this solves. Why do you want to forbid users using Python 3.10 on certain platforms?

I see only a handful of definitions being removed. There is zero custom platform-specific code that is being touched.

@vstinner
Copy link
Member Author

I also still don't understand what this solves. Why do you want to forbid users using Python 3.10 on certain platforms?

I suggest to discuss the rationale at https://bugs.python.org/issue43179

@@ -0,0 +1,4 @@
The discontinued 32-bit Linux s390 platform is no longer supported. The
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The discontinued 32-bit Linux s390 platform is no longer supported. The
The discontinued 31/32-bit Linux s390 platform is no longer supported. The

@@ -820,6 +820,12 @@ Build Changes

(Contributed by Victor Stinner in :issue:`42856`.)

* The discontinued 32-bit Linux s390 platform is no longer supported. The
32-bit IBM s390 architecture was discontinued in 1998 and superseded by the
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
32-bit IBM s390 architecture was discontinued in 1998 and superseded by the
31/32-bit IBM s390 architecture was discontinued in 1998 and superseded by the

The discontinued 31/32-bit Linux s390 platform is no longer
supported. The 31/32-bit IBM s390 architecture was discontinued in
1998 and superseded by the 64-bit IBM s390x architecture. The 64-bit
Linux s390x platform remains supported.
@vstinner
Copy link
Member Author

Ok ok, people insist to write 31 bits, so I wrote "31/32 bits", as proposed by @tiran.

@vstinner vstinner changed the title bpo-43179: Drop 32-bit Linux s390 platform support bpo-43179: Drop 31/32-bit Linux s390 platform support Feb 16, 2021
@vstinner
Copy link
Member Author

test_asyncio failed on Tests / Windows (x86), it looks like an unstable test:

FAIL: test_sendfile_close_peer_in_the_middle_of_receiving (test.test_asyncio.test_sendfile.ProactorEventLoopTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "D:\a\cpython\cpython\lib\test\test_asyncio\test_sendfile.py", line 458, in test_sendfile_close_peer_in_the_middle_of_receiving
    self.run_loop(
AssertionError: ConnectionError not raised

/* x86-64 and s390 stack space allocation is handled in prep_machdep. */
#if !defined M68K && !defined __x86_64__ && !defined S390 && !defined PA
/* x86-64 and s390x stack space allocation is handled in prep_machdep. */
#if !defined M68K && !defined __x86_64__ && !defined PA
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is in libffi_osx directory, so unrelated to support for s390 on Linux.
To verify correctness of changes in this file, somebody would have to provide relevant output from compiler on Mac OS X on s390 and s390x.
E.g. gcc on Linux on s390x defines both __s390__ and __s390x__ constants (gcc-s390x.txt).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand this comment. Does macOS / Darwin even compile on s390? "Mach" here properly refers to the Mach microkernel, not to macOS support.

@vstinner
Copy link
Member Author

https://bugs.python.org/issue43179 and https://mail.python.org/archives/list/[email protected]/thread/F5BXISYP7RAINXUMYJSEYG7GCFRFAENF/ discussions didn't reach kind of consensus. I'm tired of these discussions, so I just close my PR. If someone wants to drop support of the 31-bit Linux s390 platform, please go ahead, feel free to copy my patch.

@vstinner vstinner closed this Mar 19, 2021
@vstinner vstinner reopened this Mar 19, 2021
@vstinner vstinner closed this Mar 19, 2021
@vstinner vstinner deleted the remove_s390_support branch March 19, 2021 16:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants