[SH] Support the .uaquad and .8byte directives also for non-sh64
configurations.
* config/tc-sh.c (sh_cons_fix_new, md_apply_fix) [!HAVE_SH64]: Handle
BFD_RELOC_64.
* doc/c-sh64.texi (SH64 Machine Directives): Move .uaquad
description...
* doc/c-sh.texi (SH Machine Directives): ... here.
+2012-03-21 Thomas Schwinge <thomas@codesourcery.com>
+
+ [SH] Support the .uaquad and .8byte directives also for non-sh64
+ configurations.
+
+ * config/tc-sh.c (sh_cons_fix_new, md_apply_fix) [!HAVE_SH64]: Handle
+ BFD_RELOC_64.
+ * doc/c-sh64.texi (SH64 Machine Directives): Move .uaquad
+ description...
+ * doc/c-sh.texi (SH Machine Directives): ... here.
+
2012-03-20 Nick Clifton <nickc@redhat.com>
* config/tc-arm.c (do_vmrs): Accept priviledged mode VFP system
2012-03-20 Nick Clifton <nickc@redhat.com>
* config/tc-arm.c (do_vmrs): Accept priviledged mode VFP system
/* tc-sh.c -- Assemble code for the Renesas / SuperH SH
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/* tc-sh.c -- Assemble code for the Renesas / SuperH SH
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
- 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012
Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
r_type = BFD_RELOC_32;
break;
r_type = BFD_RELOC_32;
break;
case 8:
r_type = BFD_RELOC_64;
break;
case 8:
r_type = BFD_RELOC_64;
break;
the other symbol. We have to adjust the relocation type here. */
if (fixP->fx_pcrel)
{
the other symbol. We have to adjust the relocation type here. */
if (fixP->fx_pcrel)
{
+#ifndef HAVE_SH64
+ /* Safeguard; this must not occur for non-sh64 configurations. */
+ gas_assert (fixP->fx_r_type != BFD_RELOC_64);
+#endif
+
switch (fixP->fx_r_type)
{
default:
switch (fixP->fx_r_type)
{
default:
buf[highbyte] |= (val >> 8) & 0xf;
break;
buf[highbyte] |= (val >> 8) & 0xf;
break;
+#ifndef HAVE_SH64
+ case BFD_RELOC_64:
+ apply_full_field_fix (fixP, buf, *valP, 8);
+ break;
+#endif
+
case BFD_RELOC_32:
case BFD_RELOC_32_PCREL:
apply_full_field_fix (fixP, buf, val, 4);
case BFD_RELOC_32:
case BFD_RELOC_32_PCREL:
apply_full_field_fix (fixP, buf, val, 4);
@c Copyright 1991, 1992, 1993, 1994, 1995, 1997, 2001, 2003, 2004,
@c Copyright 1991, 1992, 1993, 1994, 1995, 1997, 2001, 2003, 2004,
-@c 2005, 2008, 2010, 2011 Free Software Foundation, Inc.
+@c 2005, 2008, 2010, 2011, 2012 Free Software Foundation, Inc.
@c This is part of the GAS manual.
@c For copying conditions, see the file as.texinfo.
@page
@c This is part of the GAS manual.
@c For copying conditions, see the file as.texinfo.
@page
@cindex machine directives, SH
@cindex @code{uaword} directive, SH
@cindex @code{ualong} directive, SH
@cindex machine directives, SH
@cindex @code{uaword} directive, SH
@cindex @code{ualong} directive, SH
+@cindex @code{uaquad} directive, SH
@table @code
@item uaword
@itemx ualong
@table @code
@item uaword
@itemx ualong
-@code{@value{AS}} will issue a warning when a misaligned @code{.word} or
-@code{.long} directive is used. You may use @code{.uaword} or
-@code{.ualong} to indicate that the value is intentionally misaligned.
+@itemx uaquad
+@code{@value{AS}} will issue a warning when a misaligned @code{.word},
+@code{.long}, or @code{.quad} directive is used. You may use
+@code{.uaword}, @code{.ualong}, or @code{.uaquad} to indicate that the
+value is intentionally misaligned.
@end table
@node SH Opcodes
@end table
@node SH Opcodes
-@c Copyright (C) 2002, 2003, 2008, 2011 Free Software Foundation, Inc.
+@c Copyright (C) 2002, 2003, 2008, 2011, 2012 Free Software Foundation, Inc.
@c This is part of the GAS manual.
@c For copying conditions, see the file as.texinfo.
@page
@c This is part of the GAS manual.
@c For copying conditions, see the file as.texinfo.
@page
this directive unless you specified an ABI on the command line, and the
ABIs specified must match.
this directive unless you specified an ABI on the command line, and the
ABIs specified must match.
-@item .uaquad
-Like .uaword and .ualong, this allows you to specify an intentionally
-unaligned quadword (64 bit word).
-
@end table
@node SH64 Opcodes
@end table
@node SH64 Opcodes