Blame SOURCES/gdb-rhel5.9-testcase-xlf-var-inside-mod.patch

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