[Bug gas/16765] Assertion failure in create_unwind_entry
https://sourceware.org/bugzilla/show_bug.cgi?id=16765 --- Comment #1 from cvs-commit at gcc dot gnu.org cvs-commit at gcc dot gnu.org --- This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project gdb and binutils. The branch, master has been updated via cad0da33dc43a207a7c4baf32223831b2d0ac60c (commit) from 7a79c51466c30188d49d03d3e3593c87e5a3345e (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=cad0da33dc43a207a7c4baf32223831b2d0ac60c commit cad0da33dc43a207a7c4baf32223831b2d0ac60c Author: Nick Clifton ni...@redhat.com Date: Wed Apr 2 16:29:35 2014 +0100 This fixes an internal error in GAS, triggered by the test case reported in PR 16765. The problem was that gcc was generating assembler with missing unwind directives in it, so that a gas_assert was being triggered. The patch replaces the assert with an error message. * config/tc-arm.c (create_unwind_entry): Report an error if an attempt to recreate an unwind directive is encountered. --- Summary of changes: gas/ChangeLog |6 ++ gas/config/tc-arm.c |9 +++-- 2 files changed, 13 insertions(+), 2 deletions(-) -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug gas/16765] Assertion failure in create_unwind_entry
https://sourceware.org/bugzilla/show_bug.cgi?id=16765 Nick Clifton nickc at redhat dot com changed: What|Removed |Added CC||nickc at redhat dot com --- Comment #2 from Nick Clifton nickc at redhat dot com --- Created attachment 7520 -- https://sourceware.org/bugzilla/attachment.cgi?id=7520action=edit Proposed gcc patch -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug gas/16765] Assertion failure in create_unwind_entry
https://sourceware.org/bugzilla/show_bug.cgi?id=16765 --- Comment #3 from Nick Clifton nickc at redhat dot com --- Created attachment 7521 -- https://sourceware.org/bugzilla/attachment.cgi?id=7521action=edit Applied gas patch -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug gas/16765] Assertion failure in create_unwind_entry
https://sourceware.org/bugzilla/show_bug.cgi?id=16765 Nick Clifton nickc at redhat dot com changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #4 from Nick Clifton nickc at redhat dot com --- Hi Fabian, This is a gcc bug, as you guessed. So you need to report it on the gcc-bugs mailing list. When you do, you might like to include the arm.c patch uploaded here which will fix the problem(*). Gas should not be generating an internal error however, even when given bad assembler input, so I have applied a small patch to replace the assertion with an error message. Cheers Nick PS. FYI I was not able to reproduce the bug using the assembler file that you uploaded but I was able to reproduce it when building a toolchain with the configuration options you specified. I was also able to capture the gas command line and assembler input by adding --save-temps -v to the gcc command line. (*) After applying the patches in this PR I tried continuing the build. It failed with: libstdc++-v3/libsupc++/eh_throw.cc: In function 'void __cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*))': /work/sources/gcc/current/libstdc++-v3/libsupc++/eh_throw.cc:80:57: error: '_Unwind_SjLj_RaiseException' was not declared in this scope _Unwind_SjLj_RaiseException (header-exc.unwindHeader); ^ libstdc++-v3/libsupc++/eh_throw.cc: In function 'void __cxxabiv1::__cxa_rethrow(...)': /work/sources/gcc/current/libstdc++-v3/libsupc++/eh_throw.cc:113:60: error: '_Unwind_SjLj_Resume_or_Rethrow' was not declared in this scope _Unwind_SjLj_Resume_or_Rethrow (header-unwindHeader); ^ make[3]: *** [eh_throw.lo] Error 1 I suspect that setjmp/longjmp exception handling support may have bit-rotted. At least for the ARM anyway. -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug gas/16765] Assertion failure in create_unwind_entry
https://sourceware.org/bugzilla/show_bug.cgi?id=16765 --- Comment #5 from Fabian Vogt fab...@ritter-vogt.de --- Hi, (In reply to Nick Clifton from comment #4) Hi Fabian, This is a gcc bug, as you guessed. So you need to report it on the gcc-bugs mailing list. When you do, you might like to include the arm.c patch uploaded here which will fix the problem(*). I did that simultaneously with this report here. I wrote the bug report a bit more general so I could just copy-and-paste: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60691 Gas should not be generating an internal error however, even when given bad assembler input, so I have applied a small patch to replace the assertion with an error message. Great, thanks! Cheers Nick PS. FYI I was not able to reproduce the bug using the assembler file that you uploaded but I was able to reproduce it when building a toolchain with the configuration options you specified. I was also able to capture the gas command line and assembler input by adding --save-temps -v to the gcc command line. Yeah, compiling worked if I invoked the command manually... (*) After applying the patches in this PR I tried continuing the build. It failed with: libstdc++-v3/libsupc++/eh_throw.cc: In function 'void __cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*))': /work/sources/gcc/current/libstdc++-v3/libsupc++/eh_throw.cc:80:57: error: '_Unwind_SjLj_RaiseException' was not declared in this scope _Unwind_SjLj_RaiseException (header-exc.unwindHeader); ^ libstdc++-v3/libsupc++/eh_throw.cc: In function 'void __cxxabiv1::__cxa_rethrow(...)': /work/sources/gcc/current/libstdc++-v3/libsupc++/eh_throw.cc:113:60: error: '_Unwind_SjLj_Resume_or_Rethrow' was not declared in this scope _Unwind_SjLj_Resume_or_Rethrow (header-unwindHeader); ^ make[3]: *** [eh_throw.lo] Error 1 I suspect that setjmp/longjmp exception handling support may have bit-rotted. At least for the ARM anyway. AFAIK libgcc provides that symbol. If I can't fix that by myself I'll hope that the gcc developers are able to and want to fix it. Bye, Fabian -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils