gas/
[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.
This commit is contained in:
parent
adcadaab4a
commit
32b9ff0d14
4 changed files with 31 additions and 12 deletions
|
@ -1,3 +1,14 @@
|
|||
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
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* 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.
|
||||
|
@ -789,11 +789,9 @@ sh_cons_fix_new (fragS *frag, int off, int size, expressionS *exp)
|
|||
r_type = BFD_RELOC_32;
|
||||
break;
|
||||
|
||||
#ifdef HAVE_SH64
|
||||
case 8:
|
||||
r_type = BFD_RELOC_64;
|
||||
break;
|
||||
#endif
|
||||
|
||||
default:
|
||||
goto error;
|
||||
|
@ -3968,6 +3966,11 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
|
|||
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:
|
||||
|
@ -4166,6 +4169,12 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
|
|||
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);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@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
|
||||
|
@ -210,13 +210,16 @@ conventional architectures at the same frequency.
|
|||
@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
|
||||
@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
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@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
|
||||
|
@ -188,10 +188,6 @@ Specify the ABI for the following instructions. Note that you cannot use
|
|||
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
|
||||
|
|
Loading…
Add table
Reference in a new issue