/* tc-m68k.c -- Assemble for the m68k family
Copyright 1987, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+ 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
RAMBAR0, RAMBAR1, MBAR,
0
};
+static const enum m68k_register mcf5249_control_regs[] = {
+ CACR, ACR0, ACR1, VBR, RAMBAR0, RAMBAR1, MBAR, MBAR2,
+ 0
+};
static const enum m68k_register mcf528x_control_regs[] = {
CACR, ACR0, ACR1, VBR, FLASHBAR, RAMBAR,
0
tmpreg = 0xC0D;
break;
case MBAR0:
+ case MBAR2:
case SECMBAR:
tmpreg = 0xC0E;
break;
{ "flashbar", FLASHBAR }, /* mcf528x registers. */
{ "rambar", RAMBAR }, /* mcf528x registers. */
+
+ { "mbar2", MBAR2 }, /* mcf5249 registers. */
/* End of control registers. */
{ "ac", AC },
shorts_this_frag = 0;
if (n)
{
- toP = frag_more (n * sizeof (short));
+ toP = frag_more (n * 2);
while (n--)
{
md_number_to_chars (toP, (long) (*fromP), 2);
case mcf5407:
control_regs = mcf_control_regs;
break;
+ case mcf5249:
+ control_regs = mcf5249_control_regs;
+ break;
case mcf528x:
case mcf521x:
control_regs = mcf528x_control_regs;
#endif /* OBJ_AOUT or OBJ_BOUT */
#ifndef WORKING_DOT_WORD
-const int md_short_jump_size = 4;
-const int md_long_jump_size = 6;
+int md_short_jump_size = 4;
+int md_long_jump_size = 6;
void
md_create_short_jump (char *ptr, addressT from_addr, addressT to_addr,
{
int i;
unsigned long arch;
- const char *oarg = arg;
arg += 3;
if (*arg == 'm')
m68k_elf_final_processing (void)
{
/* Set file-specific flags if this is a cpu32 processor. */
+ if (arch_coldfire_fpu (current_architecture))
+ elf_elfheader (stdoutput)->e_flags |= EF_CFV4E;
if (cpu_of_arch (current_architecture) & cpu32)
elf_elfheader (stdoutput)->e_flags |= EF_CPU32;
else if ((cpu_of_arch (current_architecture) & m68000up)