aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2009-02-03 10:58:46 +0000
committerNick Clifton <nickc@redhat.com>2009-02-03 10:58:46 +0000
commitbb0a86e1a7e3e93dc41f5d64f535603a3c342aeb (patch)
tree5a607e0635721dc306800e32e4161eeb723a63a6
parentc1a0a41faaac1b359f3306a99394b622e30a60ff (diff)
downloadgdb-bb0a86e1a7e3e93dc41f5d64f535603a3c342aeb.zip
gdb-bb0a86e1a7e3e93dc41f5d64f535603a3c342aeb.tar.gz
gdb-bb0a86e1a7e3e93dc41f5d64f535603a3c342aeb.tar.bz2
PR 9779
* config/tc-pdp11.c (parse_op_no_deferred): Fix handling of indexed addressing for symbolic expressions.
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/config/tc-pdp11.c10
2 files changed, 12 insertions, 4 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 376e896..41b2e76 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,9 @@
+2009-02-03 Vince Weaver <vince@csl.cornell.edu>
+
+ PR 9779
+ * config/tc-pdp11.c (parse_op_no_deferred): Fix handling of
+ indexed addressing for symbolic expressions.
+
2009-01-29 Mark Mitchell <mark@codesourcery.com>
* config/tc-arm.c (BAD_SP): Define.
diff --git a/gas/config/tc-pdp11.c b/gas/config/tc-pdp11.c
index 64e162b..a9480de 100644
--- a/gas/config/tc-pdp11.c
+++ b/gas/config/tc-pdp11.c
@@ -1,5 +1,6 @@
/* tc-pdp11.c - pdp11-specific -
- Copyright 2001, 2002, 2004, 2005, 2007 Free Software Foundation, Inc.
+ Copyright 2001, 2002, 2004, 2005, 2007, 2009
+ Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -15,7 +16,8 @@
You should have received a copy of the GNU General Public License
along with GAS; see the file COPYING. If not, write to
- the Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
+ the Free Software Foundation, 51 Franklin Street - Fifth Floor,
+ Boston, MA 02110-1301, USA. */
#include "as.h"
#include "safe-ctype.h"
@@ -558,8 +560,8 @@ parse_op_no_deferred (char *str, struct pdp11_code *operand)
switch (operand->reloc.exp.X_op)
{
case O_symbol:
- operand->word = 0;
- operand->reloc.pc_rel = 1;
+ operand->reloc.type = BFD_RELOC_16;
+ operand->reloc.pc_rel = 0;
break;
case O_constant:
if ((operand->code & 7) == 7)