|
|
b94e32 |
From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
|
|
|
b94e32 |
From: Fedora GDB patches <invalid@email.com>
|
|
|
b94e32 |
Date: Fri, 27 Oct 2017 21:07:50 +0200
|
|
|
b94e32 |
Subject: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch
|
|
|
b94e32 |
|
|
|
b94e32 |
;; Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan
|
|
|
b94e32 |
;; Kratochvil, RH BZ 1084404).
|
|
|
b94e32 |
;;=fedoratest
|
|
|
b94e32 |
|
|
|
b94e32 |
These testcases have been created by compiling glibc-2.17-78 on
|
|
|
b94e32 |
RHEL-7.1 s390x/ppc64 boxes, and then taking the "select.o" file
|
|
|
b94e32 |
present at $builddir/misc/select.o.
|
|
|
b94e32 |
|
|
|
b94e32 |
diff --git a/gdb/testsuite/gdb.arch/ppc64-prologue-skip.exp b/gdb/testsuite/gdb.arch/ppc64-prologue-skip.exp
|
|
|
b94e32 |
new file mode 100644
|
|
|
b94e32 |
--- /dev/null
|
|
|
b94e32 |
+++ b/gdb/testsuite/gdb.arch/ppc64-prologue-skip.exp
|
|
|
b94e32 |
@@ -0,0 +1,34 @@
|
|
|
b94e32 |
+# Copyright 2015 Free Software Foundation, Inc.
|
|
|
b94e32 |
+
|
|
|
b94e32 |
+# This program is free software; you can redistribute it and/or modify
|
|
|
b94e32 |
+# it under the terms of the GNU General Public License as published by
|
|
|
b94e32 |
+# the Free Software Foundation; either version 3 of the License, or
|
|
|
b94e32 |
+# (at your option) any later version.
|
|
|
b94e32 |
+#
|
|
|
b94e32 |
+# This program is distributed in the hope that it will be useful,
|
|
|
b94e32 |
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
b94e32 |
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
b94e32 |
+# GNU General Public License for more details.
|
|
|
b94e32 |
+#
|
|
|
b94e32 |
+# You should have received a copy of the GNU General Public License
|
|
|
b94e32 |
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
b94e32 |
+
|
|
|
b94e32 |
+if { ![istarget powerpc64-*linux-*] || ![is_lp64_target] } {
|
|
|
b94e32 |
+ verbose "Skipping ppc64-prologue-skip.exp"
|
|
|
b94e32 |
+ return
|
|
|
b94e32 |
+}
|
|
|
b94e32 |
+
|
|
|
b94e32 |
+set testfile "ppc64-prologue-skip"
|
|
|
b94e32 |
+set uufile "${srcdir}/${subdir}/${testfile}.o.uu"
|
|
|
b94e32 |
+set ofile "${srcdir}/${subdir}/${testfile}.o"
|
|
|
b94e32 |
+
|
|
|
b94e32 |
+if { [catch "system \"uudecode -o ${ofile} ${uufile}\"" ] != 0 } {
|
|
|
b94e32 |
+ untested "failed uudecode"
|
|
|
b94e32 |
+ return -1
|
|
|
b94e32 |
+}
|
|
|
b94e32 |
+
|
|
|
b94e32 |
+gdb_exit
|
|
|
b94e32 |
+gdb_start
|
|
|
b94e32 |
+gdb_load $ofile
|
|
|
b94e32 |
+
|
|
|
b94e32 |
+gdb_test "break ___newselect_nocancel" "Breakpoint $decimal at 0xc: file ../sysdeps/unix/syscall-template.S, line 81." "breakpoint on ___newselect_nocancel"
|
|
|
b94e32 |
diff --git a/gdb/testsuite/gdb.arch/ppc64-prologue-skip.o.uu b/gdb/testsuite/gdb.arch/ppc64-prologue-skip.o.uu
|
|
|
b94e32 |
new file mode 100644
|
|
|
b94e32 |
--- /dev/null
|
|
|
b94e32 |
+++ b/gdb/testsuite/gdb.arch/ppc64-prologue-skip.o.uu
|
|
|
b94e32 |
@@ -0,0 +1,70 @@
|
|
|
b94e32 |
+begin 644 ppc64-skip-prologue.o.uu
|
|
|
b94e32 |
+M?T5,1@("`0`````````````!`!4````!````````````````````````````
|
|
|
b94e32 |
+M``-(``````!```````!``!0`$8%-B-`L"@``0,(`-#@``(Y$```"3.,`('P(
|
|
|
b94e32 |
+M`J;X`0`0^"'_D4@```%@````Z`$`@#@A`'!\"`.F3H``(/@A_X%]*`*F^2$`
|
|
|
b94e32 |
+MD/CA`-#XP0#(^*$`P/B!`+CX80"P2````6````#X80!PZ.$`T.C!`,CHH0#`
|
|
|
b94e32 |
+MZ($`N.AA`+`X``".1````GP``";X80!X^`$`B.AA`'!(```!8````.DA`)#H
|
|
|
b94e32 |
+M`0"(Z&$`>'TH`Z9\#_$@."$`@$SC`"!+__]@```````,($``````````O``(
|
|
|
b94e32 |
+M7U]S96QE8W0```````````````````````````!6``(````Y!`'[#@T``0$!
|
|
|
b94e32 |
+M`0````$```$N+B]S>7-D97!S+W5N:7@``'-Y
|
|
|
b94e32 |
+M``````D"```````````#T``!`BT3`@D``0$```"/``(`````"`$`````````
|
|
|
b94e32 |
+M`````````````````"XN+W-Y<V1E<',O=6YI>"]S>7-C86QL+71E;7!L871E
|
|
|
b94e32 |
+M+E,`+W)O;W0O9VQI8F,O9VQI8F,M,BXQ-RTW."YE;#
|
|
|
b94e32 |
+M,3
|
|
|
b94e32 |
+M$@$#"!L()0@3!0`````````````````L``(`````"```````````````````
|
|
|
b94e32 |
+M````````V``````````````````````````0``````%Z4@`$>$$!&PP!````
|
|
|
b94e32 |
+M`#`````8`````````+P`20YP$4%^1`X`009!0@Z``4(107Y2$49_20X`!D$&
|
|
|
b94e32 |
+M1@``````+G-Y;71A8@`N
|
|
|
b94e32 |
+M871A`"YB
|
|
|
b94e32 |
+M9U]L:6YE`"YR96QA+F1E8G5G7VEN9F\`+F1E8G5G7V%B8G)E=@`N
|
|
|
b94e32 |
+M96)U9U]A
|
|
|
b94e32 |
+M````````````````````````````````````````````````````````````
|
|
|
b94e32 |
+M`````````"`````!``````````8```````````````````!``````````-@`
|
|
|
b94e32 |
+M```````````````````$```````````````;````!```````````````````
|
|
|
b94e32 |
+M```````````*>`````````!(````$@````$`````````"``````````8````
|
|
|
b94e32 |
+M)@````$``````````P```````````````````1@`````````````````````
|
|
|
b94e32 |
+M``````````$``````````````"P````(``````````,`````````````````
|
|
|
b94e32 |
+M``$8```````````````````````````````!```````````````V`````0``
|
|
|
b94e32 |
+M```````#```````````````````!&``````````0````````````````````
|
|
|
b94e32 |
+M"```````````````,0````0`````````````````````````````"L``````
|
|
|
b94e32 |
+M````,````!(````%``````````@`````````&````#L````!````````````
|
|
|
b94e32 |
+M``````````````````$H```````````````````````````````!````````
|
|
|
b94e32 |
+M``````!0`````0`````````````````````````````!*`````````!:````
|
|
|
b94e32 |
+M`````````````````0``````````````2P````0`````````````````````
|
|
|
b94e32 |
+M````````"O``````````&````!(````(``````````@`````````&````&$`
|
|
|
b94e32 |
+M```!``````````````````````````````&"`````````),`````````````
|
|
|
b94e32 |
+M```````!``````````````!<````!``````````````````````````````+
|
|
|
b94e32 |
+M"`````````!@````$@````H`````````"``````````8````;0````$`````
|
|
|
b94e32 |
+M`````````````````````````A4`````````%`````````````````````$`
|
|
|
b94e32 |
+M`````````````(`````!``````````````````````````````(P````````
|
|
|
b94e32 |
+M`#`````````````````````0``````````````![````!```````````````
|
|
|
b94e32 |
+M```````````````+:``````````P````$@````T`````````"``````````8
|
|
|
b94e32 |
+M````E`````$``````````@```````````````````F``````````2```````
|
|
|
b94e32 |
+M``````````````@``````````````(\````$````````````````````````
|
|
|
b94e32 |
+M``````N8`````````!@````2````#P`````````(`````````!@````1````
|
|
|
b94e32 |
+M`P`````````````````````````````"J`````````">````````````````
|
|
|
b94e32 |
+M`````0```````````````0````(`````````````````````````````"$@`
|
|
|
b94e32 |
+M```````!L````!,````+``````````@`````````&`````D````#````````
|
|
|
b94e32 |
+M``````````````````````GX`````````'H````````````````````!````
|
|
|
b94e32 |
+M`````````````````````````````````````````````P```0``````````
|
|
|
b94e32 |
+M`````````````````P```P```````````````````````````P``!```````
|
|
|
b94e32 |
+M`````````````````````P``!0```````````````````````````P``"@``
|
|
|
b94e32 |
+M`````````````````````````P``#````````````````````````````P``
|
|
|
b94e32 |
+M"````````````````````````````P``#0``````````````````````````
|
|
|
b94e32 |
+M`P``#P```````````````````````````P``!P``````````````````````
|
|
|
b94e32 |
+M```!$@``!0```````````````````-@````*$@```0`````````,````````
|
|
|
b94e32 |
+M`#`````@$``````````````````````````````P$```````````````````
|
|
|
b94e32 |
+M``````````!*$`````````````````````````````!E(@``!0``````````
|
|
|
b94e32 |
+M`````````-@```!S(@``!0```````````````````-@`7U]S96QE8W0`7U]?
|
|
|
b94e32 |
+M;F5W
|
|
|
b94e32 |
+M8FQE7V%S>6YC8V%N8V5L`%]?;&EB8U]D:7-A8FQE7V%S>6YC8V%N8V5L`%]?
|
|
|
b94e32 |
+M;&EB8U]S96QE8W0`
|
|
|
b94e32 |
+M``````````````!<````#@````H```````````````````"4````#P````H`
|
|
|
b94e32 |
+M`````````````````````````0```"8````````````````````(````````
|
|
|
b94e32 |
+M`#,```````````````````!&`````0```"8````````````````````&````
|
|
|
b94e32 |
+M!@````$````````````````````,````!P````$````````````````````0
|
|
|
b94e32 |
+M`````0```"8````````````````````8`````0```"8`````````V```````
|
|
|
b94e32 |
+M```&````!0````$````````````````````0`````0```"8`````````````
|
|
|
b94e32 |
+6```````<`````0```!H`````````````
|
|
|
b94e32 |
+`
|
|
|
b94e32 |
+end
|
|
|
b94e32 |
diff --git a/gdb/testsuite/gdb.arch/s390x-prologue-skip.exp b/gdb/testsuite/gdb.arch/s390x-prologue-skip.exp
|
|
|
b94e32 |
new file mode 100644
|
|
|
b94e32 |
--- /dev/null
|
|
|
b94e32 |
+++ b/gdb/testsuite/gdb.arch/s390x-prologue-skip.exp
|
|
|
b94e32 |
@@ -0,0 +1,34 @@
|
|
|
b94e32 |
+# Copyright 2015 Free Software Foundation, Inc.
|
|
|
b94e32 |
+
|
|
|
b94e32 |
+# This program is free software; you can redistribute it and/or modify
|
|
|
b94e32 |
+# it under the terms of the GNU General Public License as published by
|
|
|
b94e32 |
+# the Free Software Foundation; either version 3 of the License, or
|
|
|
b94e32 |
+# (at your option) any later version.
|
|
|
b94e32 |
+#
|
|
|
b94e32 |
+# This program is distributed in the hope that it will be useful,
|
|
|
b94e32 |
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
b94e32 |
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
b94e32 |
+# GNU General Public License for more details.
|
|
|
b94e32 |
+#
|
|
|
b94e32 |
+# You should have received a copy of the GNU General Public License
|
|
|
b94e32 |
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
b94e32 |
+
|
|
|
b94e32 |
+if { ![istarget s390x-*linux-*] || ![is_lp64_target] } {
|
|
|
b94e32 |
+ verbose "Skipping s390x-prologue-skip.exp"
|
|
|
b94e32 |
+ return
|
|
|
b94e32 |
+}
|
|
|
b94e32 |
+
|
|
|
b94e32 |
+set testfile "s390x-prologue-skip"
|
|
|
b94e32 |
+set uufile "${srcdir}/${subdir}/${testfile}.o.uu"
|
|
|
b94e32 |
+set ofile "${srcdir}/${subdir}/${testfile}.o"
|
|
|
b94e32 |
+
|
|
|
b94e32 |
+if { [catch "system \"uudecode -o ${ofile} ${uufile}\"" ] != 0 } {
|
|
|
b94e32 |
+ untested "failed uudecode"
|
|
|
b94e32 |
+ return -1
|
|
|
b94e32 |
+}
|
|
|
b94e32 |
+
|
|
|
b94e32 |
+gdb_exit
|
|
|
b94e32 |
+gdb_start
|
|
|
b94e32 |
+gdb_load $ofile
|
|
|
b94e32 |
+
|
|
|
b94e32 |
+gdb_test "break select" "Breakpoint $decimal at 0x48: file ../sysdeps/unix/syscall-template.S, line 81." "breakpoint on select"
|
|
|
b94e32 |
diff --git a/gdb/testsuite/gdb.arch/s390x-prologue-skip.o.uu b/gdb/testsuite/gdb.arch/s390x-prologue-skip.o.uu
|
|
|
b94e32 |
new file mode 100644
|
|
|
b94e32 |
--- /dev/null
|
|
|
b94e32 |
+++ b/gdb/testsuite/gdb.arch/s390x-prologue-skip.o.uu
|
|
|
b94e32 |
@@ -0,0 +1,64 @@
|
|
|
b94e32 |
+begin 644 s390x-prologue-skip.o.uu
|
|
|
b94e32 |
+M?T5,1@("`0`````````````!`!8````!````````````````````````````
|
|
|
b94e32 |
+M``+```````!```````!``!(`#^LE\!``).O?\&@`)+D$`.^G^_]@X^#P```D
|
|
|
b94e32 |
+MP.4`````N00``NLE\+``!`J.N00`TKD$`"#`Y0````"Y!``MZ]_Q"``$I_0`
|
|
|
b94e32 |
+M"L`0`````+\/$`"G=/_7"HZG2?`!N2$`),"T``````?^````5@`"````.0$!
|
|
|
b94e32 |
+M^PX-``$!`0$````!```!+BXO<WES9&5P<R]U;FEX``!S>7-C86QL+71E;7!L
|
|
|
b94e32 |
+M871E+E,``0`````)`@```````````]```0)F$P("``$!````CP`"``````@!
|
|
|
b94e32 |
+M```````````````````````````N+B]S>7-D97!S+W5N:7@O
|
|
|
b94e32 |
+M96UP;&%T92Y3`"]R;V]T+V=L:6)C+V=L:6)C+3(N,3
|
|
|
b94e32 |
+M;&EB8RTR+C$W+6,W-3AA-C@V+VUI
|
|
|
b94e32 |
+M`1$`$`81`1(!`P@;""4($P4`````````````````+``"``````@`````````
|
|
|
b94e32 |
+M`````````````````&@`````````````````````````%``````!>E(``7@.
|
|
|
b94e32 |
+M`1L,#Z`!````````&````!P`````````1`!,CP6.!HT'2`[``@```!`````X
|
|
|
b94e32 |
+M`````````"```````"YS>6UT86(`+G-T
|
|
|
b94e32 |
+M=&5X=``N9&%T80`N8G-S`"YN;W1E+D=.52US=&%C:P`N
|
|
|
b94e32 |
+M:6YE`"YR96QA+F1E8G5G7VEN9F\`+F1E8G5G7V%B8G)E=@`N
|
|
|
b94e32 |
+M9U]A
|
|
|
b94e32 |
+M````````````````````````````````````````````````````````````
|
|
|
b94e32 |
+M````````(`````$`````````!@```````````````````$``````````:```
|
|
|
b94e32 |
+M``````````````````0``````````````!L````$````````````````````
|
|
|
b94e32 |
+M``````````F``````````&`````0`````0`````````(`````````!@````F
|
|
|
b94e32 |
+M`````0`````````#````````````````````J```````````````````````
|
|
|
b94e32 |
+M````````!```````````````+`````@``````````P``````````````````
|
|
|
b94e32 |
+M`*@```````````````````````````````0``````````````#$````!````
|
|
|
b94e32 |
+M``````````````````````````"H```````````````````````````````!
|
|
|
b94e32 |
+M``````````````!&`````0``````````````````````````````J```````
|
|
|
b94e32 |
+M``!:`````````````````````0``````````````00````0`````````````
|
|
|
b94e32 |
+M````````````````">``````````&````!`````&``````````@`````````
|
|
|
b94e32 |
+M&````%<````!``````````````````````````````$"`````````),`````
|
|
|
b94e32 |
+M```````````````!``````````````!2````!```````````````````````
|
|
|
b94e32 |
+M```````)^`````````!@````$`````@`````````"``````````8````8P``
|
|
|
b94e32 |
+M``$``````````````````````````````94`````````%```````````````
|
|
|
b94e32 |
+M``````$``````````````'8````!``````````````````````````````&P
|
|
|
b94e32 |
+M`````````#`````````````````````0``````````````!Q````!```````
|
|
|
b94e32 |
+M```````````````````````*6``````````P````$`````L`````````"```
|
|
|
b94e32 |
+M```````8````B@````$``````````@```````````````````>``````````
|
|
|
b94e32 |
+M2`````````````````````@``````````````(4````$````````````````
|
|
|
b94e32 |
+M``````````````J(`````````#`````0````#0`````````(`````````!@`
|
|
|
b94e32 |
+M```1`````P`````````````````````````````"*`````````"4````````
|
|
|
b94e32 |
+M`````````````0```````````````0````(`````````````````````````
|
|
|
b94e32 |
+M````!T`````````!L````!$````*``````````@`````````&`````D````#
|
|
|
b94e32 |
+M``````````````````````````````CP`````````(X`````````````````
|
|
|
b94e32 |
+M```!`````````````````````````````````````````````````P```0``
|
|
|
b94e32 |
+M`````````````````````````P```P```````````````````````````P``
|
|
|
b94e32 |
+M!````````````````````````````P``"```````````````````````````
|
|
|
b94e32 |
+M`P``"@```````````````````````````P``!@``````````````````````
|
|
|
b94e32 |
+M`````P``"P```````````````````````````P``#0``````````````````
|
|
|
b94e32 |
+M`````````P``!0`````````````````````````!$```````````````````
|
|
|
b94e32 |
+M```````````;$``````````````````````````````V$@```0````````!(
|
|
|
b94e32 |
+M`````````"`````_$`````````````````````````````!7$@```0``````
|
|
|
b94e32 |
+M``!6`````````!````!I$`````````````````````````````!Y(@```0``
|
|
|
b94e32 |
+M``````!(`````````"````"'(@```0````````!(`````````"``7U]L:6)C
|
|
|
b94e32 |
+M7V5N86)L95]A
|
|
|
b94e32 |
+M;`!?7W-E;&5C=`!?7VQI8F-?;75L=&EP;&5?=&AR96%D
|
|
|
b94e32 |
+M;V-A;F-E;`!?7W-Y
|
|
|
b94e32 |
+M````````````'`````H````3``````````(`````````-@````L````3````
|
|
|
b94e32 |
+M``````(`````````2@````T````3``````````(`````````8@````\````3
|
|
|
b94e32 |
+M``````````(`````````1@````$````6````````````````````!@````4`
|
|
|
b94e32 |
+M```$````````````````````#`````8````$````````````````````$```
|
|
|
b94e32 |
+M``$````6````````````````````&`````$````6`````````&@`````````
|
|
|
b94e32 |
+M!@````0````$````````````````````$`````$````6````````````````
|
|
|
b94e32 |
+L````(`````$````%````````````````````/`````$````%`````````$@`
|
|
|
b94e32 |
+`
|
|
|
b94e32 |
+end
|