This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH, alpha]: Prevent another case of linker issues with exception handler
- From: Uros Bizjak <ubizjak at gmail dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 9 Aug 2012 15:04:24 +0200
- Subject: [PATCH, alpha]: Prevent another case of linker issues with exception handler
Hello!
This problem is similar to [1], but in this case issue
occurs when exception handler immediately follows sibcall function.
This happens in libstdc++,
./include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp: 130
This is the reason for testcase failure in [2]:
Running target unix
FAIL: ext/pb_ds/regression/priority_queue_rand.cc execution test
We have to prevent this situation in the same way as in [1]: pad
sibcall function call with a nop, when GP load immediately follows the
call. Following patch fixes the failure.
2012-08-09 Uros Bizjak <ubizjak@gmail.com>
* config/alpha/alpha.c (alpha_pad_noreturn): Rename to ...
(alpha_pad_function_end): ... this. Also insert NOP between
sibling call and GP load.
(alpha_reorg): Update call to alpha_pad_function_end. Expand comment.
Patch was bootstrapped and regression tested on alphaev68-pc-linux-gnu.
OK for mainline and release branches?
[1] http://gcc.gnu.org/ml/gcc-patches/2008-12/msg01097.html
[2] http://gcc.gnu.org/ml/gcc-testresults/2012-08/msg00583.html
Uros.