Created attachment 355772 [details] Testing program for gcc test suite This was found by Uros Bizjak using the gcc test suite. Testing program is attached. Compile with -fexceptions -fnon-call-exceptions -O2 On broken glibc/alpha, it yields this output: $ ./a.out RA = 0x120000cbc, CFA = 0x11fd9cde0 RA = 0x120000cf4, CFA = 0x11fd9cde0 RA = 0x120000d18, CFA = 0x11fd9cdf0 RA = 0x120000d3c, CFA = 0x11fd9cdf0 RA = 0x2000009cee0, CFA = 0x11fd9ce00 RA = (nil), CFA = 0x11fd9d088 Aborted The (nil) should not be there but rather a proper address. From Uros' report: """ The return address is deduced from RT signal context, but for some reason it is wrong now (nil). The breakage is system wide and is not dependent on gcc or libgcc version. """ I will mask glibc-2.17 on alpha in a moment.
when you dekeyword things in toolchain ebuilds, don't just delete the keyword. a missing keyword means it'll get built (and maybe runtime) tested before ~arch gets added back. if you want to actually indicate support is actively disabled, use -arch instead.
(In reply to Tobias Klausmann from comment #0) seems to me that glibc-2.16 fails the same way. can you confirm/deny ?
(In reply to SpanKY from comment #2) > (In reply to Tobias Klausmann from comment #0) > > seems to me that glibc-2.16 fails the same way. can you confirm/deny ? Indeed, freshly made chroot with only glibc updated to 2.16.0: # ./a.out RA = 0x120000bfc, CFA = 0x11fd091c0 RA = 0x120000c34, CFA = 0x11fd091c0 RA = 0x120000c58, CFA = 0x11fd091d0 RA = 0x120000c7c, CFA = 0x11fd091d0 RA = 0x200000a29f0, CFA = 0x11fd091e0 RA = (nil), CFA = 0x11fd09468 Aborted
bisecting these earlier versions are a pita as glibc-ports is a sep repo :/
Created attachment 363228 [details, diff] patch Patch from Richard. Seems to work. RA = 0x120000c44, CFA = 0x11fc9e800 RA = 0x120000c78, CFA = 0x11fc9e810 RA = 0x200000b49d0, CFA = 0x11fc9e820 RA = 0x120000aac, CFA = 0x11fc9eb58 RA = 0x120000b38, CFA = 0x11fc9eb90 RA = 0x120000b58, CFA = 0x11fc9ec30 RA = 0x1200008e8, CFA = 0x11fc9ec40 RA = 0x2000009ad00, CFA = 0x11fc9ec50 Aborted I've tested with glibc-2.17, but should be applied to 2.16, 2.17, and 2.18. Please apply.
added to glibc 2.16 & 2.17 http://sources.gentoo.org/gentoo/src/patchsets/glibc/2.16.0/6024_all_alpha-fix-signal-thunk-unwind-info.patch?rev=1.1 http://sources.gentoo.org/gentoo/src/patchsets/glibc/2.17/6024_all_alpha-fix-signal-thunk-unwind-info.patch?rev=1.1 still need to do 2.18
added to 2.18 now http://sources.gentoo.org/gentoo/src/patchsets/glibc/2.18/00_all_0013-alpha-Fix-signal-thunk-unwind-info.patch?rev=1.1