group.of.nepali.translators team mailing list archive
-
group.of.nepali.translators team
-
Mailing list archive
-
Message #27673
[Bug 1783252] Re: gcc on ppc64le has bogus r30 register handling, as exposed by greenlet 0.4.14 will not build on ppc64le
This bug was fixed in the package gcc-6 - 6.5.0-2ubuntu1~18.04
---------------
gcc-6 (6.5.0-2ubuntu1~18.04) bionic-proposed; urgency=medium
* SRU: LP: #1800197. Update gcc-6 to the last GCC 6.5.0 upstream
release.
gcc-6 (6.5.0-2ubuntu1) disco; urgency=medium
* Merge with Debian; remaining changes:
- Build from upstream sources.
gcc-6 (6.5.0-2) unstable; urgency=medium
* Fix PR libstdc++/87822, taken from the bug report.
* Fix VCS attribute in the control file. Addresses: #912405.
gcc-6 (6.5.0-1) unstable; urgency=medium
* GCC 6.5.0 release.
* Refresh patches.
gcc-6 (6.4.0-23) unstable; urgency=medium
* GCC 6.5.0 release candidate.
* Update to SVN 20181019 (r265212) from the gcc-6-branch.
- Fix PR middle-end/86542, PR middle-end/86539, PR middle-end/86660,
PR sanitizer/84761, PR libstdc++/87641, PR libstdc++/86751,
PR libstdc++/87061, PR libstdc++/70966, PR libstdc++/70966,
PR libstdc++/77854, PR libstdc++/85098, PR middle-end/87623,
PR middle-end/87024, PR middle-end/86505, PR target/87550 (x86),
PR middle-end/87248, PR rtl-optimization/87065, PR middle-end/86627,
PR middle-end/86542, PR middle-end/86539, PR middle-end/86660,
PR c++/54278, PR tree-optimization/80032, PR tree-optimization/80032,
PR target/87517 (x86), PR target/87522 (x86), PR c++/3698, PR c++/86208.
* Don't configure native builds with --with-sysroot. Apparently this cannot
be completely overridden with the command line option --sysroot.
* Update VCS attributes in the control file.
gcc-6 (6.4.0-22ubuntu1) cosmic; urgency=medium
* Merge with Debian; remaining changes:
- Build from upstream sources.
gcc-6 (6.4.0-22) unstable; urgency=medium
* Update to SVN 20180921 (r264530) from the gcc-6-branch.
- Fix libsanitizer build failure on sparc64.
gcc-6 (6.4.0-21ubuntu1) cosmic; urgency=medium
* Merge with Debian; remaining changes:
- Build from upstream sources.
gcc-6 (6.4.0-21) unstable; urgency=medium
* Update to SVN 20180921 (r264459) from the gcc-6-branch.
- Fix PR sanitizer/85835, PR tree-optimization/85859, PR target/87014,
PR fortran/86116.
- Fix build failure with glibc 2.28.
gcc-6 (6.4.0-20ubuntu1) cosmic; urgency=medium
* Merge with Debian; remaining changes:
- Build from upstream sources.
gcc-6 (6.4.0-20) unstable; urgency=medium
* Update to SVN 20180814 (r263539) from the gcc-6-branch.
- Fix PR libstdc++/83982, PR libstdc++/80893, PR libstdc++/80893,
PR libstdc++/68519, PR libstdc++/86292, PR libstdc++/60555,
PR libstdc++/86734, PR libstdc++/66145, PR libstdc++/85222,
PR target/86197 (PPC).
- Fix PR bootstrap/86724. Closes: #905708.
* Backport r235876 from the trunk (PPC). LP: #1783252.
* Add some basic autopkg tests for Ada, C, C++, Go, OpenMP and Fortran.
* Update the src_libgo_Makefile.in patch (Svante Signell). Closes: #905714.
gcc-6 (6.4.0-19ubuntu1) cosmic; urgency=medium
* Merge with Debian; remaining changes:
- Build from upstream sources.
gcc-6 (6.4.0-19) unstable; urgency=medium
* Update to SVN 20180727 (r263028) from the gcc-6-branch.
- Fix PR c++/86291, PR libgomp/84096, PR fortran/81304, PR fortran/81841,
PR libstdc++/86272, PR c++/86210, PR c++/83059, PR c/84873, PR c/84873,
PR debug/83550, PR c/82340, PR target/84168 (AArch64), PR target/84829,
PR target/84786 (x86), PR tree-optimization/86231, PR middle-end/85878,
PR target/85945, PR c++/85659, PR rtl-optimization/85431,
PR rtl-optimization/85300, PR tree-optimization/85257, PR debug/85252,
PR rtl-optimization/85167, PR inline-asm/85022, PR inline-asm/85034,
PR inline-asm/85022, PR inline-asm/84941, PR debug/84875, PR c/84953,
PR target/84899, PR c++/79085, PR target/84772, PR c++/84767,
PR tree-optimization/84739, PR target/84700, PR inline-asm/84625,
PR ipa/84425, PR c/82210, PR sanitizer/83987, PR rtl-optimization/83986,
PR middle-end/84040, PR target/83930, PR preprocessor/83722,
PR tree-optimization/83605, PR c++/83553, PR rtl-optimization/80747,
PR rtl-optimization/83512, PR tree-optimization/83523,
PR tree-optimization/83521, PR ipa/82801, PR ipa/83346, PR target/81906,
PR c++/81212, PR target/78643, PR target/80583, PR target/80819,
PR sanitizer/83014, PR middle-end/82253, PR target/82880, PR c++/82159,
PR c++/82159, PR rtl-optimization/82192, PR tree-optimization/85989,
PR tree-optimization/82108, PR tree-optimization/81410,
PR tree-optimization/79920, PR middle-end/84607, PR middle-end/85588,
PR middle-end/81884, PR middle-end/85244, PR tree-optimization/85597,
PR middle-end/83623, PR tree-optimization/82264,
PR tree-optimization/82285, PR tree-optimization/82402,
PR tree-optimization/82697, PR middle-end/82765, PR middle-end/83713,
PR c++/86291, PR c++/85147, PR c++/85140, PR c++/84791, PR c++/85076,
PR c++/85068, PR c++/84874, PR c++/84222, PR c++/84076, PR c++/84662,
PR c++/84558, PR c++/84448, PR c++/84341, PR sanitizer/83987,
PR sanitizer/83987, PR c++/83824, PR c++/79650, PR c++/80259,
PR c++/82781, PR fortran/82969, PR fortran/86242, PR fortran/85313,
PR fortran/81304, PR fortran/81841.
* Fix applying the powerpcspe patches.
* Add a full version symlink for the go library, so that the go tool
can find the library. LP: #1783930.
gcc-6 (6.4.0-18ubuntu2) cosmic; urgency=medium
* Merge with Debian; remaining changes:
- Build from upstream sources.
gcc-6 (6.4.0-18) unstable; urgency=medium
* Update to SVN 20180615 (r261625) from the gcc-6-branch.
- Fix PR libstdc++/67554, PR libstdc++/85632, PR target/63177 (PPC),
PR tree-optimization/85712, PR tree-optimization/85712, PR ipa/85655,
PR target/85903 (x86), PR target/83687 (ARM), PR lto/85405,
PR lto/85405, PR fortran/85138, PR fortran/85996, PR fortran/86051,
PR fortran/85895, PR fortran/85780, PR fortran/85779, PR fortran/85543,
PR fortran/83149, PR fortran/83898, PR fortran/68846, PR fortran/70864,
PR fortran/85542, PR fortran/70870, PR fortran/85521, PR fortran/85687,
PR fortran/85507, PR fortran/81773, PR fortran/83606, PR fortran/85520,
PR lto/85248, PR bootstrap/86162.
* Fix PR middle-end/86139, taken from the gcc-8-branch. Closes: #901290.
* Fix build failure on hurd-i386. Closes: #898901.
-- Matthias Klose <doko@xxxxxxxxxx> Mon, 12 Nov 2018 09:50:31 +0100
** Changed in: gcc-6 (Ubuntu)
Status: Confirmed => Fix Released
--
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1783252
Title:
gcc on ppc64le has bogus r30 register handling, as exposed by greenlet
0.4.14 will not build on ppc64le
Status in The Ubuntu-power-systems project:
Fix Committed
Status in gcc-5 package in Ubuntu:
Fix Released
Status in gcc-6 package in Ubuntu:
Fix Released
Status in python-greenlet package in Ubuntu:
Fix Released
Status in gcc-5 source package in Xenial:
Fix Committed
Status in gcc-5 source package in Bionic:
Confirmed
Status in gcc-6 source package in Cosmic:
Fix Committed
Bug description:
[Impact]
* GCC has a minor bug w.r.t. clobber r30 register in PIC binaries.
* A patch to fix this has been upstream in 6+
* But it is not in gcc-5.4 as used on xenial
* This prevents compiling future-proof and correct greenlet code, on Ubuntu 16.04 LTS as used by current and supported Openstack Queens release on ppc64el
* Whilst backported greenlet is available via the cloud archive for binary usage, the toolchain is still technically incorrect, and thus hinders using Ubuntu 16.04 LTS as workers in upstream Openstack CI
* As a wishlist it would be nice to backport this one small gcc patch as an SRU
[Test Case]
* git clone https://github.com/python-greenlet/greenlet
* cd greenlet
* ./setup.py build
Expect success
Current result failure:
creating build/temp.linux-ppc64le-2.7
powerpc64le-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c greenlet.c -o build/temp.linux-ppc64le-2.7/greenlet.o -fno-tree-dominator-opts
In file included from slp_platformselect.h:16:0,
from greenlet.c:343:
platform/switch_ppc64_linux.h: In function 'slp_switch':
platform/switch_ppc64_linux.h:80:5: error: PIC register clobbered by 'r30' in 'asm'
__asm__ volatile ("" : : : REGS_TO_SAVE);
^
platform/switch_ppc64_linux.h:95:5: error: PIC register clobbered by 'r30' in 'asm'
__asm__ volatile ("" : : : REGS_TO_SAVE);
^
error: command 'powerpc64le-linux-gnu-gcc' failed with exit status 1
[Regression Potential]
* Upstream cherrypick present in later releases including bionic
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=9213244550335bcb2b8590a0d7d58ac74c932361
[Other Info]
* Original bug report
== Comment: #0 - William M. Edmonds <edmondsw@xxxxxxxxxx> - 2018-07-23 16:21:41 ==
---Problem Description---
greenlet 0.4.14 will not build on ppc64le
Opened https://github.com/python-greenlet/greenlet/issues/136 because
attempting to build bdist_wheel for greenlet 0.4.14 on ppc64le Ubuntu
16.04 LTS yields the following error:
running build
running build_ext
building 'greenlet' extension
creating build
creating build/temp.linux-ppc64le-2.7
powerpc64le-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c greenlet.c -o build/temp.linux-ppc64le-2.7/greenlet.o -fno-tree-dominator-opts
In file included from slp_platformselect.h:16:0,
from greenlet.c:343:
platform/switch_ppc64_linux.h: In function 'slp_switch':
platform/switch_ppc64_linux.h:80:5: error: PIC register clobbered by 'r30' in 'asm'
__asm__ volatile ("" : : : REGS_TO_SAVE);
^
platform/switch_ppc64_linux.h:95:5: error: PIC register clobbered by 'r30' in 'asm'
__asm__ volatile ("" : : : REGS_TO_SAVE);
^
error: command 'powerpc64le-linux-gnu-gcc' failed with exit status 1```
But the greenlet community is saying this is a gcc bug and it would
not be safe to revert the greenlet change that exposed this issue. I
have no idea whether that is true or not. Supposedly this should be
fixed by
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=9213244550335bcb2b8590a0d7d58ac74c932361
but that fix is not present in the latest version of gcc (5.4.0)
available for Ubuntu 16.04 LTS.
---uname output---
unavailable due to lab outage
Machine Type = unavailable due to lab outage
---Debugger---
A debugger is not configured
---Steps to Reproduce---
This should be reproducible with `git clone git://github.com/python-greenlet/greenlet; cd greenlet; python setup.py bdist_wheel`, though it was originally found using pypi rather than github and with a more complicated (scripted) command as detailed in the greenlet bug description.
Contact Information = Matthew Edmonds / edmondsw@xxxxxxxxxx
Userspace tool common name: greenlet
The userspace tool has the following bit modes: no idea
Userspace rpm: N/A
Userspace tool obtained from project website: 0.4.14
*Additional Instructions for Matthew Edmonds / edmondsw@xxxxxxxxxx:
-Attach ltrace and strace of userspace application.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-power-systems/+bug/1783252/+subscriptions