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

bpo-36852: detection of mips architecture for soft float #13196

Conversation

DasRoteSkelett
Copy link

@DasRoteSkelett DasRoteSkelett commented May 8, 2019

When (cross) compiling for softfloat mips, __mips_hard_float will not be
defined and detection of OS triplet in configure.ac / configure will fail.

This patch hopefully addresses this issue. Tested for mips32 24kc soft float.

https://bugs.python.org/issue36852

@the-knights-who-say-ni
Copy link

Hello, and thanks for your contribution!

I'm a bot set up to make sure that the project can legally accept your contribution by verifying you have signed the PSF contributor agreement (CLA).

Unfortunately we couldn't find an account corresponding to your GitHub username on bugs.python.org (b.p.o) to verify you have signed the CLA (this might be simply due to a missing "GitHub Name" entry in your b.p.o account settings). This is necessary for legal reasons before we can look at your contribution. Please follow the steps outlined in the CPython devguide to rectify this issue.

You can check yourself to see if the CLA has been received.

Thanks again for your contribution, we look forward to reviewing it!

@DasRoteSkelett
Copy link
Author

DasRoteSkelett commented May 10, 2019

Hi!
I replaced the inlined C program with autoconf macro for detection of the host triplet. I am not sure, if this breaks something (keyword MULTILIB). Also, I was not sure if I was to commit the generated files (configure, aclocal.m4). I could cross compile successfully, though

@DasRoteSkelett DasRoteSkelett force-pushed the bugfix/recognize-mips-softfloat-triple branch 2 times, most recently from 1699c62 to 1f89428 Compare May 10, 2019 13:11
@DasRoteSkelett
Copy link
Author

Can someone help me with the Azure fail. I do not have access to a mac.

@DasRoteSkelett DasRoteSkelett force-pushed the bugfix/recognize-mips-softfloat-triple branch from 1ad498d to 551a746 Compare May 14, 2019 12:24
@DasRoteSkelett DasRoteSkelett force-pushed the bugfix/recognize-mips-softfloat-triple branch 3 times, most recently from 95c2ea2 to f387007 Compare May 31, 2019 12:07
@DasRoteSkelett DasRoteSkelett force-pushed the bugfix/recognize-mips-softfloat-triple branch from f19d20b to 752b611 Compare November 8, 2019 11:42
@rossburton
Copy link
Contributor

All the CI passed, can this be merged?

Matthias Schoepfer and others added 2 commits March 27, 2020 13:47
When (cross) compiling for softfloat mips, __mips_hard_float will not be
defined and detection of OS triplet in configure.ac / configure will fail.

This also has to do with the custom detection of the build triplet. Trying
to do this in a more autoconf/autotools manner.

Still some minor adjustments need to be done, so the original behavior is
archived.

Signed-off-by: Matthias Schoepfer <matthias.schoepfer@ithinx.io>
@DasRoteSkelett DasRoteSkelett force-pushed the bugfix/recognize-mips-softfloat-triple branch from 734d7e0 to 2079071 Compare March 27, 2020 12:48
@DasRoteSkelett
Copy link
Author

Updated to fix yocto build with i686 ubuntu

halstead pushed a commit to openembedded/openembedded-core that referenced this pull request Mar 29, 2020
The original patch "bpo-36852: proper detection of mips architecture
for soft float" uses AC_CANONICAL_TARGET to determine the platform
triplet. While AC_CANONICAL_TARGET exports i686 as target_cpu, gcc
is using i386 instead. We fall back here to i386, as it is conform
to the previous behavior.

Upstream Status: Submitted [python/cpython#13196]

Signed-off-by: Matthias Schoepfer <matthias.schoepfer@ithinx.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
halstead pushed a commit to openembedded/openembedded-core that referenced this pull request Mar 29, 2020
The original patch "bpo-36852: proper detection of mips architecture
for soft float" uses AC_CANONICAL_TARGET to determine the platform
triplet. While AC_CANONICAL_TARGET exports i686 as target_cpu, gcc
is using i386 instead. We fall back here to i386, as it is conform
to the previous behavior.

Upstream Status: Submitted [python/cpython#13196]

Signed-off-by: Matthias Schoepfer <matthias.schoepfer@ithinx.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
halstead pushed a commit to openembedded/openembedded-core that referenced this pull request Mar 30, 2020
The original patch "bpo-36852: proper detection of mips architecture
for soft float" uses AC_CANONICAL_TARGET to determine the platform
triplet. While AC_CANONICAL_TARGET exports i686 as target_cpu, gcc
is using i386 instead. We fall back here to i386, as it is conform
to the previous behavior.

Upstream Status: Submitted [python/cpython#13196]

Signed-off-by: Matthias Schoepfer <matthias.schoepfer@ithinx.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
kraj pushed a commit to YoeDistro/poky-old that referenced this pull request Mar 30, 2020
The original patch "bpo-36852: proper detection of mips architecture
for soft float" uses AC_CANONICAL_TARGET to determine the platform
triplet. While AC_CANONICAL_TARGET exports i686 as target_cpu, gcc
is using i386 instead. We fall back here to i386, as it is conform
to the previous behavior.

Upstream Status: Submitted [python/cpython#13196]

(From OE-Core rev: 6beab388e73b3ac6157650855a6c1fb1d71e8015)

Signed-off-by: Matthias Schoepfer <matthias.schoepfer@ithinx.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
armcc pushed a commit to lgirdk/poky that referenced this pull request Mar 30, 2020
The original patch "bpo-36852: proper detection of mips architecture
for soft float" uses AC_CANONICAL_TARGET to determine the platform
triplet. While AC_CANONICAL_TARGET exports i686 as target_cpu, gcc
is using i386 instead. We fall back here to i386, as it is conform
to the previous behavior.

Upstream Status: Submitted [python/cpython#13196]

(From OE-Core rev: 6beab388e73b3ac6157650855a6c1fb1d71e8015)

Signed-off-by: Matthias Schoepfer <matthias.schoepfer@ithinx.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
kraj pushed a commit to YoeDistro/poky-old that referenced this pull request Mar 31, 2020
The original patch "bpo-36852: proper detection of mips architecture
for soft float" uses AC_CANONICAL_TARGET to determine the platform
triplet. While AC_CANONICAL_TARGET exports i686 as target_cpu, gcc
is using i386 instead. We fall back here to i386, as it is conform
to the previous behavior.

Upstream Status: Submitted [python/cpython#13196]

(From OE-Core rev: 6beab388e73b3ac6157650855a6c1fb1d71e8015)

Signed-off-by: Matthias Schoepfer <matthias.schoepfer@ithinx.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
jpuhlman pushed a commit to MontaVista-OpenSourceTechnology/poky that referenced this pull request Mar 31, 2020
Source: poky
MR: 00000
Type: Integration
Disposition: Merged from poky
ChangeID: 1aa01b2
Description:

The original patch "bpo-36852: proper detection of mips architecture
for soft float" uses AC_CANONICAL_TARGET to determine the platform
triplet. While AC_CANONICAL_TARGET exports i686 as target_cpu, gcc
is using i386 instead. We fall back here to i386, as it is conform
to the previous behavior.

Upstream Status: Submitted [python/cpython#13196]

(From OE-Core rev: 6beab388e73b3ac6157650855a6c1fb1d71e8015)

Signed-off-by: Matthias Schoepfer <matthias.schoepfer@ithinx.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
daregit pushed a commit to daregit/yocto-combined that referenced this pull request May 22, 2024
The original patch "bpo-36852: proper detection of mips architecture
for soft float" uses AC_CANONICAL_TARGET to determine the platform
triplet. While AC_CANONICAL_TARGET exports i686 as target_cpu, gcc
is using i386 instead. We fall back here to i386, as it is conform
to the previous behavior.

Upstream Status: Submitted [python/cpython#13196]

(From OE-Core rev: 6beab388e73b3ac6157650855a6c1fb1d71e8015)

Signed-off-by: Matthias Schoepfer <matthias.schoepfer@ithinx.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
daregit pushed a commit to daregit/yocto-combined that referenced this pull request May 22, 2024
The original patch "bpo-36852: proper detection of mips architecture
for soft float" uses AC_CANONICAL_TARGET to determine the platform
triplet. While AC_CANONICAL_TARGET exports i686 as target_cpu, gcc
is using i386 instead. We fall back here to i386, as it is conform
to the previous behavior.

Upstream Status: Submitted [python/cpython#13196]

(From OE-Core rev: 6beab388e73b3ac6157650855a6c1fb1d71e8015)

Signed-off-by: Matthias Schoepfer <matthias.schoepfer@ithinx.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.

None yet

5 participants