[gdb] Include testcase for BZ 823789.

sergiosdj sergiosdj at fedoraproject.org
Sun Jun 17 21:00:20 UTC 2012


commit 2b568b7d7284251a9700503db7e8fc1361cc006a
Author: Sergio Durigan Junior <sergiodj at redhat.com>
Date:   Sun Jun 17 18:00:10 2012 -0300

    Include testcase for BZ 823789.

 gdb-rhel5.9-testcase-xlf-var-inside-mod.patch |  723 +++++++++++++++++++++++++
 gdb.spec                                      |   11 +-
 2 files changed, 733 insertions(+), 1 deletions(-)
---
diff --git a/gdb-rhel5.9-testcase-xlf-var-inside-mod.patch b/gdb-rhel5.9-testcase-xlf-var-inside-mod.patch
new file mode 100644
index 0000000..27e49dd
--- /dev/null
+++ b/gdb-rhel5.9-testcase-xlf-var-inside-mod.patch
@@ -0,0 +1,723 @@
+Index: gdb-7.4.50.20120603/gdb/testsuite/gdb.fortran/xlf-variable.S
+===================================================================
+--- /dev/null
++++ gdb-7.4.50.20120603/gdb/testsuite/gdb.fortran/xlf-variable.S
+@@ -0,0 +1,638 @@
++/* Copyright (C) 2012 Free Software Foundation, Inc.
++
++   This file is part of GDB.
++
++   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/>.  */
++
++/* This file has been generated from the file named `xlf-variable.f', which
++   should be present in this directory.  The command used to generate this
++   file was:
++
++     xlf -qnoopt -g9 -S xlf-variable.f -o xlf-variable.S
++
++   After issuing this command, you must hand-edit this file and remove the
++   mentions for `_xlfExit', since it is only present in XLF-specific
++   libraries.  You must also make sure to remove the file named `mod1.mod'
++   which will be created in the compilation directory.
++
++   In order to generated this file, the following XLF package was used:
++
++     xlf.14.1.0.0.linux.eval.tar.gz
++
++   These instructions may be different for different versions of the XLF
++   compiler.  */
++
++.set r0,0; .set SP,1; .set RTOC,2; .set r3,3; .set r4,4
++.set r5,5; .set r6,6; .set r7,7; .set r8,8; .set r9,9
++.set r10,10; .set r11,11; .set r12,12; .set r13,13; .set r14,14
++.set r15,15; .set r16,16; .set r17,17; .set r18,18; .set r19,19
++.set r20,20; .set r21,21; .set r22,22; .set r23,23; .set r24,24
++.set r25,25; .set r26,26; .set r27,27; .set r28,28; .set r29,29
++.set r30,30; .set r31,31
++.set fp0,0; .set fp1,1; .set fp2,2; .set fp3,3; .set fp4,4
++.set fp5,5; .set fp6,6; .set fp7,7; .set fp8,8; .set fp9,9
++.set fp10,10; .set fp11,11; .set fp12,12; .set fp13,13; .set fp14,14
++.set fp15,15; .set fp16,16; .set fp17,17; .set fp18,18; .set fp19,19
++.set fp20,20; .set fp21,21; .set fp22,22; .set fp23,23; .set fp24,24
++.set fp25,25; .set fp26,26; .set fp27,27; .set fp28,28; .set fp29,29
++.set fp30,30; .set fp31,31
++.set v0,0; .set v1,1; .set v2,2; .set v3,3; .set v4,4
++.set v5,5; .set v6,6; .set v7,7; .set v8,8; .set v9,9
++.set v10,10; .set v11,11; .set v12,12; .set v13,13; .set v14,14
++.set v15,15; .set v16,16; .set v17,17; .set v18,18; .set v19,19
++.set v20,20; .set v21,21; .set v22,22; .set v23,23; .set v24,24
++.set v25,25; .set v26,26; .set v27,27; .set v28,28; .set v29,29
++.set v30,30; .set v31,31
++.set q0,0; .set q1,1; .set q2,2; .set q3,3; .set q4,4
++.set q5,5; .set q6,6; .set q7,7; .set q8,8; .set q9,9
++.set q10,10; .set q11,11; .set q12,12; .set q13,13; .set q14,14
++.set q15,15; .set q16,16; .set q17,17; .set q18,18; .set q19,19
++.set q20,20; .set q21,21; .set q22,22; .set q23,23; .set q24,24
++.set q25,25; .set q26,26; .set q27,27; .set q28,28; .set q29,29
++.set q30,30; .set q31,31
++.set MQ,0; .set XER,1; .set FROM_RTCU,4; .set FROM_RTCL,5; .set FROM_DEC,6
++.set LR,8; .set CTR,9; .set TID,17; .set DSISR,18; .set DAR,19; .set TO_RTCU,20
++.set TO_RTCL,21; .set TO_DEC,22; .set SDR_0,24; .set SDR_1,25; .set SRR_0,26
++.set SRR_1,27
++.set BO_dCTR_NZERO_AND_NOT,0; .set BO_dCTR_NZERO_AND_NOT_1,1
++.set BO_dCTR_ZERO_AND_NOT,2; .set BO_dCTR_ZERO_AND_NOT_1,3
++.set BO_IF_NOT,4; .set BO_IF_NOT_1,5; .set BO_IF_NOT_2,6
++.set BO_IF_NOT_3,7; .set BO_dCTR_NZERO_AND,8; .set BO_dCTR_NZERO_AND_1,9
++.set BO_dCTR_ZERO_AND,10; .set BO_dCTR_ZERO_AND_1,11; .set BO_IF,12
++.set BO_IF_1,13; .set BO_IF_2,14; .set BO_IF_3,15; .set BO_dCTR_NZERO,16
++.set BO_dCTR_NZERO_1,17; .set BO_dCTR_ZERO,18; .set BO_dCTR_ZERO_1,19
++.set BO_ALWAYS,20; .set BO_ALWAYS_1,21; .set BO_ALWAYS_2,22
++.set BO_ALWAYS_3,23; .set BO_dCTR_NZERO_8,24; .set BO_dCTR_NZERO_9,25
++.set BO_dCTR_ZERO_8,26; .set BO_dCTR_ZERO_9,27; .set BO_ALWAYS_8,28
++.set BO_ALWAYS_9,29; .set BO_ALWAYS_10,30; .set BO_ALWAYS_11,31
++.set CR0_LT,0; .set CR0_GT,1; .set CR0_EQ,2; .set CR0_SO,3
++.set CR1_FX,4; .set CR1_FEX,5; .set CR1_VX,6; .set CR1_OX,7
++.set CR2_LT,8; .set CR2_GT,9; .set CR2_EQ,10; .set CR2_SO,11
++.set CR3_LT,12; .set CR3_GT,13; .set CR3_EQ,14; .set CR3_SO,15
++.set CR4_LT,16; .set CR4_GT,17; .set CR4_EQ,18; .set CR4_SO,19
++.set CR5_LT,20; .set CR5_GT,21; .set CR5_EQ,22; .set CR5_SO,23
++.set CR6_LT,24; .set CR6_GT,25; .set CR6_EQ,26; .set CR6_SO,27
++.set CR7_LT,28; .set CR7_GT,29; .set CR7_EQ,30; .set CR7_SO,31
++.set TO_LT,16; .set TO_GT,8; .set TO_EQ,4; .set TO_LLT,2; .set TO_LGT,1
++
++	.file	"xlf-variable.f"
++	.globl	__mod1_NMOD_____mod1
++	.type	__mod1_NMOD_____mod1, at function
++	.size	__mod1_NMOD_____mod1,32
++	.globl	main
++	.type	main, at function
++	.size	main,68
++	.globl	__mod1_NMOD_sub1
++	.type	__mod1_NMOD_sub1, at function
++	.size	__mod1_NMOD_sub1,136
++	.globl	_main
++	.type	_main, at function
++	.size	_main,68
++
++	.section	".text"
++	.align	7
++.LC.text:
++__mod1_NMOD_____mod1:
++	stwu       SP,-32(SP)
++	stw        r31,28(SP)
++	or         r31,SP,SP
++	b          $+0x4
++	addi       r11,r31,32
++	lwz        r31,-4(r11)
++	or         SP,r11,r11
++	bclr       BO_ALWAYS,CR0_LT
++.LC.text32:
++
++__mod1_NMOD_sub1:
++	stwu       SP,-32(SP)
++	stw        r31,28(SP)
++	stw        r30,24(SP)
++	or         r31,SP,SP
++	addis      r30,r0,.const_dr at ha
++	addi       r30,r30,.const_dr at l
++	addis      r3,r0,__N_mod1 at ha
++	addi       r3,r3,__N_mod1 at l
++	addi       r0,r0,1
++	stb        r0,4(r3)
++	addi       r4,r0,14
++	stb        r4,5(r3)
++	stb        r0,7(r3)
++	addis      r5,r0,__N__mod1 at ha
++	addi       r5,r5,__N__mod1 at l
++	stw        r5,0(r3)
++	lbz        r5,6(r3)
++	rlwinm     r5,r5,0,25,25
++	ori        r5,r5,0x0040
++	stb        r5,6(r3)
++	lwz        r5,0(r3)
++	lfs        fp0,0(r30)
++	stfs       fp0,0(r5)
++	stb        r0,4(r3)
++	stb        r4,5(r3)
++	addi       r4,r0,0
++	stb        r4,6(r3)
++	stb        r0,7(r3)
++	b          $+0x4
++	addi       r11,r31,32
++	lwz        r30,-8(r11)
++	lwz        r31,-4(r11)
++	or         SP,r11,r11
++	bclr       BO_ALWAYS,CR0_LT
++.LC.text168:
++	.long 0
++	.skip 0x54
++.LC.text256:
++
++main:
++_main:
++	mfspr      r0,LR
++	stwu       SP,-32(SP)
++	stw        r31,28(SP)
++	stw        r0,36(SP)
++	or         r31,SP,SP
++	bl         __mod1_NMOD_sub1
++	addi       r3,r0,0
++.LC.text288:
++
++	tw         TO_EQ,r14,r14
++	addi       r3,r0,0
++	b          $+0x4
++	addi       r11,r31,32
++	lwz        r31,-4(r11)
++	lwz        r0,4(r11)
++	mtspr      LR,r0
++	or         SP,r11,r11
++	bclr       BO_ALWAYS,CR0_LT
++.LC.text324:
++
++
++	.section	".rodata","a"
++	.align	2
++.LC.rodata:
++	.type    .const_dr, at object
++	.size    .const_dr,4
++.const_dr:
++	.long 0x40400000
++
++	.section	".eh_frame","wa"
++	.align	2
++.LC.eh_frame:
++	.long 0x0000000c
++	.long 0x00000000
++	.long 0x0100047c
++	.long 0x410c0100
++	.long 0x0000001c
++	.long 0x00000014
++	.long .LC.text
++	.long 0x00000020
++	.long 0x410e2041
++	.long 0x9f01410d
++	.long 0x1f410a42
++	.long 0xdf420b00
++	.long 0x00000020
++	.long 0x00000034
++	.long .LC.text32
++	.long 0x00000088
++	.long 0x410e2041
++	.long 0x9f01419e
++	.long 0x02410d1f
++	.long 0x590a42de
++	.long 0x41df420b
++	.long 0x0000000c
++	.long 0x00000000
++	.long 0x0100047c
++	.long 0x410c0100
++	.long 0x00000020
++	.long 0x00000014
++	.long .LC.text256
++	.long 0x00000044
++	.long 0x420e2041
++	.long 0x9f014111
++	.long 0x417f410d
++	.long 0x1f460a42
++	.long 0xdf440b00
++
++	.section	".data","wa"
++	.align	4
++.LC.data:
++	.globl __N_mod1
++	.type    __N_mod1, at object
++	.size    __N_mod1,8
++__N_mod1:
++	.long 0x00000000
++	.long 0x01000001
++
++	.section	".except.1","wa"
++	.align	1
++.LC.except.1:
++	.long .LC.text288
++	.byte 0x01
++	.byte 0x09
++
++	.ident  "Fri Jun 15 16:35:45 2012 .IBM XL Fortran for Linux, V14.1 (5765-J05, 5725-C75) Version 14.01.0000.0000.Fri Jun 15 16:35:45 2012 .IBM XL Fortran for Linux, V14.1 (5765-J05, 5725-C75) Version 14.01.0000.0000."
++
++	.section	".debug_aranges"
++	.align	0
++.LC.debug_aranges:
++	.long 0x0000001c
++	.byte 0x00
++	.byte 0x02
++	.long .LC.debug_info
++	.long 0x04000000
++	.byte 0x00
++	.byte 0x00
++	.long .LC.text
++	.long 0x000000a8
++	.long 0x00000000
++	.long 0x00000000
++	.long 0x0000001c
++	.byte 0x00
++	.byte 0x02
++	.long .LC.debug_info273
++	.long 0x04000000
++	.byte 0x00
++	.byte 0x00
++	.long .LC.text256
++	.long 0x00000044
++	.long 0x00000000
++	.long 0x00000000
++
++	.section	".debug_pubnames"
++	.align	0
++.LC.debug_pubnames:
++	.long 0x0000002f
++	.byte 0x00
++	.byte 0x02
++	.long .LC.debug_info
++	.long 0x00000111
++	.long 0x000000dc
++	.long 0x79000000
++	.long 0x00ec7a00
++	.long 0x000000fc
++	.long 0x5f5f6d6f
++	.long 0x64315f4e
++	.long 0x4d4f445f
++	.long 0x73756231
++	.long 0x00000000
++	.long 0x00000000
++	.byte 0x18
++	.byte 0x00
++	.byte 0x02
++	.long .LC.debug_info273
++	.long 0x00000127
++	.long 0x0000010f
++	.long 0x5f6d6169
++	.long 0x6e000000
++	.byte 0x00
++	.byte 0x00
++
++	.section	".debug_info"
++	.align	0
++.LC.debug_info:
++	.long 0x0000010d
++	.byte 0x00
++	.byte 0x02
++	.long .LC.debug_abbrev
++	.long 0x0401786c
++	.long 0x662d7661
++	.long 0x72696162
++	.long 0x6c652e66
++	.byte 0x00
++	.long .LC.debug_line
++	.long .LC.text
++	.long .LC.text168
++	.long 0x082f726f
++	.long 0x6f742f73
++	.long 0x65726769
++	.long 0x6f646a2f
++	.long 0x6764622d
++	.long 0x372e302e
++	.long 0x312d3432
++	.long 0x2e656c35
++	.long 0x2f676462
++	.long 0x2d372e30
++	.long 0x2e312f67
++	.long 0x64622f74
++	.long 0x65737473
++	.long 0x75697465
++	.long 0x2f676462
++	.long 0x2e666f72
++	.long 0x7472616e
++	.long 0x0049424d
++	.long 0x20584c20
++	.long 0x466f7274
++	.long 0x72616e20
++	.long 0x666f7220
++	.long 0x4c696e75
++	.long 0x782c2056
++	.long 0x31342e31
++	.long 0x20283537
++	.long 0x36352d4a
++	.long 0x30352c20
++	.long 0x35373235
++	.long 0x2d433735
++	.long 0x29205665
++	.long 0x7273696f
++	.long 0x6e203134
++	.long 0x2e30312e
++	.long 0x30303030
++	.long 0x2e303030
++	.long 0x30000249
++	.long 0x4e544547
++	.long 0x45520004
++	.long 0x05030005
++	.long 0x02524541
++	.long 0x4c000404
++	.long 0x04050000
++	.long 0x0000c706
++	.long 0x6d6f6431
++	.long 0x00070503
++	.long __N_mod1
++	.long 0x79000100
++	.long 0x01000000
++	.long 0xd0070503
++	.long __N__mod1
++	.long 0x7a000100
++	.long 0x01000000
++	.long 0xc7087375
++	.byte 0x62
++	.byte 0x31
++	.byte 0x00
++	.long .LC.text32
++	.long .LC.text168
++	.long 0x01180101
++	.byte 0x6f
++	.byte 0x00
++	.byte 0x00
++.LC.debug_info273:
++	.long 0x00000123
++	.byte 0x00
++	.byte 0x02
++	.long .LC.debug_abbrev97
++	.long 0x0401786c
++	.long 0x662d7661
++	.long 0x72696162
++	.long 0x6c652e66
++	.byte 0x00
++	.long .LC.debug_line98
++	.long .LC.text256
++	.long .LC.text324
++	.long 0x082f726f
++	.long 0x6f742f73
++	.long 0x65726769
++	.long 0x6f646a2f
++	.long 0x6764622d
++	.long 0x372e302e
++	.long 0x312d3432
++	.long 0x2e656c35
++	.long 0x2f676462
++	.long 0x2d372e30
++	.long 0x2e312f67
++	.long 0x64622f74
++	.long 0x65737473
++	.long 0x75697465
++	.long 0x2f676462
++	.long 0x2e666f72
++	.long 0x7472616e
++	.long 0x0049424d
++	.long 0x20584c20
++	.long 0x466f7274
++	.long 0x72616e20
++	.long 0x666f7220
++	.long 0x4c696e75
++	.long 0x782c2056
++	.long 0x31342e31
++	.long 0x20283537
++	.long 0x36352d4a
++	.long 0x30352c20
++	.long 0x35373235
++	.long 0x2d433735
++	.long 0x29205665
++	.long 0x7273696f
++	.long 0x6e203134
++	.long 0x2e30312e
++	.long 0x30303030
++	.long 0x2e303030
++	.long 0x30000249
++	.long 0x4e544547
++	.long 0x45520004
++	.long 0x05030005
++	.long 0x02524541
++	.long 0x4c000404
++	.long 0x04000000
++	.long 0xb9050000
++	.long 0x0000c706
++	.long 0x000000f4
++	.long 0x26264e26
++	.long 0x6d6f6431
++	.long 0x00080779
++	.long 0x00022300
++	.long 0x000000d4
++	.long 0x00060000
++	.long 0x010f2626
++	.long 0x4e26266d
++	.long 0x6f643100
++	.long 0x04077a00
++	.long 0x02230000
++	.long 0x0000c700
++	.long 0x085f6d61
++	.byte 0x69
++	.byte 0x6e
++	.byte 0x00
++	.long .LC.text256
++	.long .LC.text324
++	.long 0x0201016f
++	.long 0x000000b9
++	.byte 0x00
++
++	.section	".debug_abbrev"
++	.align	0
++.LC.debug_abbrev:
++	.long 0x01110103
++	.long 0x08100611
++	.long 0x01120113
++	.long 0x0b1b0825
++	.long 0x08000002
++	.long 0x24000308
++	.long 0x0b0b3e0b
++	.long 0x00000324
++	.long 0x000b0b3e
++	.long 0x0b000004
++	.long 0x15000000
++	.long 0x050f0033
++	.long 0x0b491300
++	.long 0x00061e01
++	.long 0x03080000
++	.long 0x07340002
++	.long 0x0a03083a
++	.long 0x0b3b0b3f
++	.long 0x0c491300
++	.long 0x00082e00
++	.long 0x03081101
++	.long 0x12013a0b
++	.long 0x3b0b3f0c
++	.long 0x400a0000
++	.byte 0x00
++.LC.debug_abbrev97:
++	.long 0x01110103
++	.long 0x08100611
++	.long 0x01120113
++	.long 0x0b1b0825
++	.long 0x08000002
++	.long 0x24000308
++	.long 0x0b0b3e0b
++	.long 0x00000324
++	.long 0x000b0b3e
++	.long 0x0b000004
++	.long 0x15004913
++	.long 0x0000050f
++	.long 0x00330b49
++	.long 0x13000006
++	.long 0x13010113
++	.long 0x03080b0b
++	.long 0x0000070d
++	.long 0x00030838
++	.long 0x0a491300
++	.long 0x00082e00
++	.long 0x03081101
++	.long 0x1201360b
++	.long 0x3f0c400a
++	.long 0x49130000
++	.byte 0x00
++
++	.section	".debug_line"
++	.align	0
++.LC.debug_line:
++	.long 0x0000005e
++	.long 0x00020000
++	.long 0x00220101
++	.long 0x9cdc0a00
++	.long 0x01010101
++	.long 0x00000001
++	.long 0x00786c66
++	.long 0x2d766172
++	.long 0x6961626c
++	.long 0x652e6600
++	.long 0x00000000
++	.long 0x04010005
++	.byte 0x02
++	.long .LC.text
++	.long 0x03130109
++	.long 0x000c0309
++	.long 0x01090014
++	.long 0x037b0109
++	.long 0x00180301
++	.long 0x01090038
++	.long 0x03010109
++	.long 0x000c0301
++	.long 0x01090014
++	.long 0x03010109
++	.long 0x00180001
++	.byte 0x01
++.LC.debug_line98:
++	.long 0x00000046
++	.long 0x00020000
++	.long 0x00220101
++	.long 0x9cdc0a00
++	.long 0x01010101
++	.long 0x00000001
++	.long 0x00786c66
++	.long 0x2d766172
++	.long 0x6961626c
++	.long 0x652e6600
++	.long 0x00000000
++	.long 0x04010005
++	.byte 0x02
++	.long .LC.text256
++	.long 0x031f0109
++	.long 0x00140300
++	.long 0x01090004
++	.long 0x03010109
++	.long 0x002c0001
++	.byte 0x01
++
++	.section	".debug_frame"
++	.align	0
++.LC.debug_frame:
++	.long 0x0000000c
++	.long 0xffffffff
++	.long 0x0100047c
++	.long 0x410c0100
++	.long 0x0000001c
++	.long .LC.debug_frame
++	.long .LC.text
++	.long 0x00000020
++	.long 0x410e2041
++	.long 0x9f01410d
++	.long 0x1f410a42
++	.long 0xdf420b00
++	.long 0x00000020
++	.long .LC.debug_frame
++	.long .LC.text32
++	.long 0x00000088
++	.long 0x410e2041
++	.long 0x9f01419e
++	.long 0x02410d1f
++	.long 0x590a42de
++	.long 0x41df420b
++.LC.debug_frame84:
++	.long 0x0000000c
++	.long 0xffffffff
++	.long 0x0100047c
++	.long 0x410c0100
++	.long 0x00000020
++	.long .LC.debug_frame84
++	.long .LC.text256
++	.long 0x00000044
++	.long 0x420e2041
++	.long 0x9f014111
++	.long 0x417f410d
++	.long 0x1f460a42
++	.long 0xdf440b00
++
++	.section	".debug_pubtypes"
++	.align	0
++.LC.debug_pubtypes:
++	.long 0x00000023
++	.byte 0x00
++	.byte 0x02
++	.long .LC.debug_info
++	.long 0x00000111
++	.long 0x000000b9
++	.long 0x494e5445
++	.long 0x47455200
++	.long 0x000000c7
++	.long 0x5245414c
++	.long 0x00000000
++	.long 0x00000000
++	.byte 0x3e
++	.byte 0x00
++	.byte 0x02
++	.long .LC.debug_info273
++	.long 0x00000127
++	.long 0x000000b9
++	.long 0x494e5445
++	.long 0x47455200
++	.long 0x000000c7
++	.long 0x5245414c
++	.long 0x00000000
++	.long 0xda26264e
++	.long 0x266d6f64
++	.long 0x31000000
++	.long 0x00f42626
++	.long 0x4e26266d
++	.long 0x6f643100
++	.long 0x00000000
++
++	.comm   __N__mod1,4,16
+Index: gdb-7.4.50.20120603/gdb/testsuite/gdb.fortran/xlf-variable.exp
+===================================================================
+--- /dev/null
++++ gdb-7.4.50.20120603/gdb/testsuite/gdb.fortran/xlf-variable.exp
+@@ -0,0 +1,37 @@
++# Copyright 2012 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/>.
++
++# This test can only be run on PPC64 machines.
++
++if { ![istarget powerpc64-*] || ![is_ilp32_target] } {
++    return -1
++}
++
++set testfile "xlf-variable"
++set srcfile ${testfile}.S
++
++if { [prepare_for_testing $testfile.exp $testfile $srcfile] } {
++    return -1
++}
++
++if { ![runto_main] } {
++    return -1
++}
++
++gdb_test "step" ".*y => z.*" "y => z"
++gdb_test "step" ".*y = 3\.0.*" "y = 3.0"
++gdb_test "step" ".*nullify \\(y\\).*" "nullify (y)"
++gdb_test "print z" "= 3" "z = 3"
++gdb_test "ptype z" "= REAL" "z is REAL"
+Index: gdb-7.4.50.20120603/gdb/testsuite/gdb.fortran/xlf-variable.f
+===================================================================
+--- /dev/null
++++ gdb-7.4.50.20120603/gdb/testsuite/gdb.fortran/xlf-variable.f
+@@ -0,0 +1,33 @@
++c Copyright 2012 Free Software Foundation, Inc.
++c
++c This program is free software; you can redistribute it and/or modify
++c it under the terms of the GNU General Public License as published by
++c the Free Software Foundation; either version 3 of the License, or
++c (at your option) any later version.
++c
++c This program is distributed in the hope that it will be useful,
++c but WITHOUT ANY WARRANTY; without even the implied warranty of
++c MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++c GNU General Public License for more details.
++c
++c You should have received a copy of the GNU General Public License
++c along with this program.  If not, see <http://www.gnu.org/licenses/>.
++
++c This file is the Fortran source file for xlf-variable.f.
++c It was used to generate the assembly output called xlf-variable.S,
++c which was generated using IBM's XLF compiler.
++
++        module mod1
++          real, pointer :: y
++          real, target :: z
++        contains
++          subroutine sub1
++            y => z
++            y = 3.0
++            nullify (y)
++          end subroutine
++        end module
++
++        use mod1
++        call sub1
++        end
diff --git a/gdb.spec b/gdb.spec
index d9fc09f..30f20cb 100644
--- a/gdb.spec
+++ b/gdb.spec
@@ -35,7 +35,7 @@ Version: 7.4.50.%{snap}
 
 # The release always contains a leading reserved number, start it at 1.
 # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
-Release: 4%{?dist}
+Release: 5%{?dist}
 
 License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and BSD and Public Domain
 Group: Development/Debuggers
@@ -571,6 +571,11 @@ Patch695: gdb-index-assert.patch
 Patch696: gdb-parameterref-1of2.patch
 Patch697: gdb-parameterref-2of2.patch
 
+# Include testcase for `Unable to see a variable inside a module (XLF)' (BZ 823789).
+#=fedoratest
+#+ppc
+Patch698: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch
+
 %if 0%{!?rhel:1} || 0%{?rhel} > 6
 # RL_STATE_FEDORA_GDB would not be found for:
 # Patch642: gdb-readline62-ask-more-rh.patch
@@ -861,6 +866,7 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c
 %patch695 -p1
 %patch696 -p1
 %patch697 -p1
+%patch698 -p1
 
 %patch393 -p1
 %if 0%{!?el5:1} || 0%{?scl:1}
@@ -1350,6 +1356,9 @@ fi
 %endif # 0%{!?el5:1} || "%{_target_cpu}" == "noarch"
 
 %changelog
+* Sun Jun 17 2012 Sergio Durigan Junior <sergiodj at redhat.com> - 7.4.50.20120603-5.fc18
+- Include testcase for BZ 823789.
+
 * Thu Jun 14 2012 Jan Kratochvil <jan.kratochvil at redhat.com> - 7.4.50.20120603-4.fc18
 - Support DW_OP_GNU_parameter_ref for -O2 -g inferiors (BZ 827375).
 


More information about the scm-commits mailing list