| # Copyright 2023-2024 Free Software Foundation, Inc. |
| |
| # This program is free software; you can redistribute it and/or modify |
| # it under the terms of the GNU General Public License as published by |
| # the Free Software Foundation; either version 3 of the License, or |
| # (at your option) any later version. |
| # |
| # This program is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| # GNU General Public License for more details. |
| # |
| # You should have received a copy of the GNU General Public License |
| # along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
| |
| # Check that epilogue unwind info is not used for gcc < 4.5.0, i386 case. |
| |
| require is_x86_like_target |
| |
| set srcfile_flags {} |
| lappend srcfile_flags debug |
| lappend srcfile_flags nopie |
| |
| set srcfile2_flags $srcfile_flags |
| set ldflags $srcfile_flags |
| |
| if [info exists COMPILE] { |
| standard_testfile unwind-on-each-insn.c unwind-on-each-insn-foo.c |
| # When updating the .s file, use these flags to generate the file: |
| #lappend srcfile2_flags additional_flags=-save-temps |
| #lappend srcfile2_flags additional_flags=-dA |
| # and do the following: |
| # - copy it in place, run the test-case and verify that all tests pass. |
| # - break the epilogue unwind info by commenting out the cfi directive |
| # before ret, and verify that some tests start failing. |
| # - change the producer strings to 4.4.7 (for completeness, do this also |
| # in the comments generated by -dA), and verify that all tests pass |
| # again. |
| } else { |
| standard_testfile unwind-on-each-insn.c .s |
| } |
| |
| source $srcdir/$subdir/unwind-on-each-insn.exp.tcl |