aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2006-01-09 17:14:40 +0000
committerH.J. Lu <hjl.tools@gmail.com>2006-01-09 17:14:40 +0000
commit4dcb3903aa6c0c1cfcc88b850c7d91bf4d7d4d97 (patch)
treead8193ef054728afab2864a5ae7b672c9f6972dd /gas
parent5e5e11bd07f75b88a9eabbdabe4cec008ef90569 (diff)
downloadgdb-4dcb3903aa6c0c1cfcc88b850c7d91bf4d7d4d97.zip
gdb-4dcb3903aa6c0c1cfcc88b850c7d91bf4d7d4d97.tar.gz
gdb-4dcb3903aa6c0c1cfcc88b850c7d91bf4d7d4d97.tar.bz2
gas/
2006-01-09 H.J. Lu <hongjiu.lu@intel.com> PR gas/2117 * symbols.c (snapshot_symbol): Don't change a defined symbol. gas/testsuite/ 2006-01-09 H.J. Lu <hongjiu.lu@intel.com> PR gas/2117 * gas/ia64/ia64.exp: Add ltoff22x-2, ltoff22x-3, ltoff22x-4 and ltoff22x-5. * gas/ia64/ltoff22x-2.d: New file. * gas/ia64/ltoff22x-2.s: Likewise. * gas/ia64/ltoff22x-3.d: Likewise. * gas/ia64/ltoff22x-3.s: Likewise. * gas/ia64/ltoff22x-4.d: Likewise. * gas/ia64/ltoff22x-4.s: Likewise. * gas/ia64/ltoff22x-5.d: Likewise. * gas/ia64/ltoff22x-5.s: Likewise.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/symbols.c5
-rw-r--r--gas/testsuite/ChangeLog15
-rw-r--r--gas/testsuite/gas/ia64/ia64.exp7
-rw-r--r--gas/testsuite/gas/ia64/ltoff22x-2.d11
-rw-r--r--gas/testsuite/gas/ia64/ltoff22x-2.s13
-rw-r--r--gas/testsuite/gas/ia64/ltoff22x-3.d11
-rw-r--r--gas/testsuite/gas/ia64/ltoff22x-3.s13
-rw-r--r--gas/testsuite/gas/ia64/ltoff22x-4.d11
-rw-r--r--gas/testsuite/gas/ia64/ltoff22x-4.s13
-rw-r--r--gas/testsuite/gas/ia64/ltoff22x-5.d11
-rw-r--r--gas/testsuite/gas/ia64/ltoff22x-5.s13
12 files changed, 127 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 1fd2f9e..f7c8d3f 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2006-01-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR gas/2117
+ * symbols.c (snapshot_symbol): Don't change a defined symbol.
+
2006-01-03 Hans-Peter Nilsson <hp@bitrange.com>
PR gas/2101
diff --git a/gas/symbols.c b/gas/symbols.c
index c9298e0..ca2d41e 100644
--- a/gas/symbols.c
+++ b/gas/symbols.c
@@ -1399,7 +1399,10 @@ snapshot_symbol (symbolS **symbolPP, valueT *valueP, segT *segP, fragS **fragPP)
}
}
- *symbolPP = symbolP;
+ /* Never change a defined symbol. */
+ if (symbolP->bsym->section == undefined_section
+ || symbolP->bsym->section == expr_section)
+ *symbolPP = symbolP;
*valueP = expr.X_add_number;
*segP = symbolP->bsym->section;
*fragPP = symbolP->sy_frag;
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 05b6967..7fe9e78 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,18 @@
+2006-01-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR gas/2117
+ * gas/ia64/ia64.exp: Add ltoff22x-2, ltoff22x-3, ltoff22x-4 and
+ ltoff22x-5.
+
+ * gas/ia64/ltoff22x-2.d: New file.
+ * gas/ia64/ltoff22x-2.s: Likewise.
+ * gas/ia64/ltoff22x-3.d: Likewise.
+ * gas/ia64/ltoff22x-3.s: Likewise.
+ * gas/ia64/ltoff22x-4.d: Likewise.
+ * gas/ia64/ltoff22x-4.s: Likewise.
+ * gas/ia64/ltoff22x-5.d: Likewise.
+ * gas/ia64/ltoff22x-5.s: Likewise.
+
2006-01-03 Hans-Peter Nilsson <hp@bitrange.com>
PR gas/2101
diff --git a/gas/testsuite/gas/ia64/ia64.exp b/gas/testsuite/gas/ia64/ia64.exp
index 0c75519..f68c107f 100644
--- a/gas/testsuite/gas/ia64/ia64.exp
+++ b/gas/testsuite/gas/ia64/ia64.exp
@@ -46,6 +46,13 @@ if [istarget "ia64-*"] then {
run_dump_test "ldxmov-1"
run_list_test "ldxmov-2" ""
run_dump_test "ltoff22x-1"
+ run_dump_test "ltoff22x-2"
+ run_dump_test "ltoff22x-3"
+ run_dump_test "ltoff22x-4"
+ run_dump_test "ltoff22x-5"
+
+ run_dump_test "nostkreg"
+ run_list_test "invalid-ar" ""
run_dump_test "nostkreg"
run_list_test "invalid-ar" ""
diff --git a/gas/testsuite/gas/ia64/ltoff22x-2.d b/gas/testsuite/gas/ia64/ltoff22x-2.d
new file mode 100644
index 0000000..8a2dbda
--- /dev/null
+++ b/gas/testsuite/gas/ia64/ltoff22x-2.d
@@ -0,0 +1,11 @@
+# objdump: -r
+# name: ia64 ltoff22x-2
+
+.*: +file format .*
+
+RELOCATION RECORDS FOR \[\.text\]:
+OFFSET[ ]+TYPE[ ]+VALUE
+0+000 LTOFF22X foo
+0+010 LDXMOV foo
+
+
diff --git a/gas/testsuite/gas/ia64/ltoff22x-2.s b/gas/testsuite/gas/ia64/ltoff22x-2.s
new file mode 100644
index 0000000..cbd27f2
--- /dev/null
+++ b/gas/testsuite/gas/ia64/ltoff22x-2.s
@@ -0,0 +1,13 @@
+ .global foo#
+ foo# = bar#
+ .global bar#
+ .data
+bar:
+ data4 0
+ .text
+ addl r3 = @ltoffx(foo#), gp
+ nop.i 0
+ nop.i 0
+ ld8.mov r3 = [r3], foo#
+ nop.i 0
+ nop.i 0
diff --git a/gas/testsuite/gas/ia64/ltoff22x-3.d b/gas/testsuite/gas/ia64/ltoff22x-3.d
new file mode 100644
index 0000000..724cc59
--- /dev/null
+++ b/gas/testsuite/gas/ia64/ltoff22x-3.d
@@ -0,0 +1,11 @@
+# objdump: -r
+# name: ia64 ltoff22x-3
+
+.*: +file format .*
+
+RELOCATION RECORDS FOR \[\.text\]:
+OFFSET[ ]+TYPE[ ]+VALUE
+0+000 LTOFF22X foo
+0+010 LDXMOV foo
+
+
diff --git a/gas/testsuite/gas/ia64/ltoff22x-3.s b/gas/testsuite/gas/ia64/ltoff22x-3.s
new file mode 100644
index 0000000..f0ebd10
--- /dev/null
+++ b/gas/testsuite/gas/ia64/ltoff22x-3.s
@@ -0,0 +1,13 @@
+ .global bar#
+ .data
+bar:
+ data4 0
+ .global foo#
+ foo# = bar#
+ .text
+ addl r3 = @ltoffx(foo#), gp
+ nop.i 0
+ nop.i 0
+ ld8.mov r3 = [r3], foo#
+ nop.i 0
+ nop.i 0
diff --git a/gas/testsuite/gas/ia64/ltoff22x-4.d b/gas/testsuite/gas/ia64/ltoff22x-4.d
new file mode 100644
index 0000000..feedbae
--- /dev/null
+++ b/gas/testsuite/gas/ia64/ltoff22x-4.d
@@ -0,0 +1,11 @@
+# objdump: -r
+# name: ia64 ltoff22x-4
+
+.*: +file format .*
+
+RELOCATION RECORDS FOR \[\.text\]:
+OFFSET[ ]+TYPE[ ]+VALUE
+0+000 LTOFF22X foo
+0+010 LDXMOV foo
+
+
diff --git a/gas/testsuite/gas/ia64/ltoff22x-4.s b/gas/testsuite/gas/ia64/ltoff22x-4.s
new file mode 100644
index 0000000..fa43f34
--- /dev/null
+++ b/gas/testsuite/gas/ia64/ltoff22x-4.s
@@ -0,0 +1,13 @@
+ .text
+ addl r3 = @ltoffx(foo#), gp
+ nop.i 0
+ nop.i 0
+ ld8.mov r3 = [r3], foo#
+ nop.i 0
+ nop.i 0
+ .global foo#
+ foo# = bar#
+ .global bar#
+ .data
+bar:
+ data4 0
diff --git a/gas/testsuite/gas/ia64/ltoff22x-5.d b/gas/testsuite/gas/ia64/ltoff22x-5.d
new file mode 100644
index 0000000..e6081b4
--- /dev/null
+++ b/gas/testsuite/gas/ia64/ltoff22x-5.d
@@ -0,0 +1,11 @@
+# objdump: -r
+# name: ia64 ltoff22x-5
+
+.*: +file format .*
+
+RELOCATION RECORDS FOR \[\.text\]:
+OFFSET[ ]+TYPE[ ]+VALUE
+0+000 LTOFF22X foo
+0+010 LDXMOV foo
+
+
diff --git a/gas/testsuite/gas/ia64/ltoff22x-5.s b/gas/testsuite/gas/ia64/ltoff22x-5.s
new file mode 100644
index 0000000..a6c5137
--- /dev/null
+++ b/gas/testsuite/gas/ia64/ltoff22x-5.s
@@ -0,0 +1,13 @@
+ .text
+ addl r3 = @ltoffx(foo#), gp
+ nop.i 0
+ nop.i 0
+ ld8.mov r3 = [r3], foo#
+ nop.i 0
+ nop.i 0
+ .global bar#
+ .data
+bar:
+ data4 0
+ .global foo#
+ foo# = bar#