Fix little endian relocs

This commit is contained in:
Nick Clifton 2000-05-03 18:50:55 +00:00
parent 86110418ab
commit eaa15ab811
2 changed files with 24 additions and 25 deletions

View File

@ -1,3 +1,8 @@
2000-05-03 Rodney Brown <RodneyBrown@pmsc.com>
config/tc-mcore.c (md_apply_fix3): BFD_RELOC_MCORE_PCREL_IMM11BY2
Fix little-endian case.
2000-05-03 David O'Brien <obrien@NUXI.com> 2000-05-03 David O'Brien <obrien@NUXI.com>
* as.c (parse_args): Update copyright. * as.c (parse_args): Update copyright.
@ -455,7 +460,7 @@ Mon Apr 3 13:56:03 2000 Hans-Peter Nilsson <hp@axis.com>
2000-03-19 Nick Clifton <nickc@cygnus.com> 2000-03-19 Nick Clifton <nickc@cygnus.com>
* config/tc-arm.c (md_apply_fix3): Fix bug detectng overflow of pc * config/tc-arm.c (md_apply_fix3): Fix bug detecting overflow of pc
relative branches. relative branches.
2000-03-17 Thomas de Lellis <tdel@windriver.com> 2000-03-17 Thomas de Lellis <tdel@windriver.com>
@ -551,8 +556,6 @@ Sat Mar 11 00:01:39 2000 Hans-Peter Nilsson <hp@axis.se>
* doc/Makefile.in: Regenerate. * doc/Makefile.in: Regenerate.
* doc/c-m32r.texi (M32R-Opts): Document new command line switch. * doc/c-m32r.texi (M32R-Opts): Document new command line switch.
2000-03-02 Michael Meissner <meissner@redhat.com> 2000-03-02 Michael Meissner <meissner@redhat.com>
* config/tc-d30v.c (check_range): Remove code that incorrectly * config/tc-d30v.c (check_range): Remove code that incorrectly
@ -920,6 +923,7 @@ Fri Feb 11 14:21:51 2000 Jeffrey A Law (law@cygnus.com)
filename is encoded incorrectly. filename is encoded incorrectly.
2000-01-31 Nick Clifton <nickc@cygnus.com> 2000-01-31 Nick Clifton <nickc@cygnus.com>
* config/tc-arm.c (reg_table): Add support for ATPCS register * config/tc-arm.c (reg_table): Add support for ATPCS register
naming conventions. naming conventions.
@ -1475,11 +1479,6 @@ Sun Sep 19 10:43:31 1999 Jeffrey A Law (law@cygnus.com)
* config/tc-hppa.c (pa_ip): Handle 'g' operand. * config/tc-hppa.c (pa_ip): Handle 'g' operand.
at Sep 18 12:13:28 1999 Jeffrey A Law (law@cygnus.com)
* config/tc-hppa.c (md_assemble): Fix dwarf2 line handling.
(pa_ip): Handle 'fX'.
Sat Sep 18 12:13:28 1999 Jeffrey A Law (law@cygnus.com) Sat Sep 18 12:13:28 1999 Jeffrey A Law (law@cygnus.com)
* config/tc-hppa.c (md_assemble): Fix dwarf2 line handling. * config/tc-hppa.c (md_assemble): Fix dwarf2 line handling.
@ -1965,7 +1964,7 @@ Wed Aug 4 13:12:17 1999 Jeffrey A Law (law@cygnus.com)
1999-07-30 Catherine Moore <clm@cygnus.com> 1999-07-30 Catherine Moore <clm@cygnus.com>
* config/tc-arm.c (tc_gen_reloc): Record the vtable entry in * config/tc-arm.c (tc_gen_reloc): Record the vtable entry in
the relocation's section offset. the relocation's section offset.
1999-07-29 Alan Modra <alan@spri.levels.unisa.edu.au> 1999-07-29 Alan Modra <alan@spri.levels.unisa.edu.au>

View File

@ -74,14 +74,14 @@ const char line_comment_chars[] = "#/";
const int md_reloc_size = 8; const int md_reloc_size = 8;
static int do_jsri2bsr = 0; /* change here from 1 by Cruess 19 August 97 */ static int do_jsri2bsr = 0; /* Change here from 1 by Cruess 19 August 97. */
static int sifilter_mode = 0; static int sifilter_mode = 0;
const char EXP_CHARS[] = "eE"; const char EXP_CHARS[] = "eE";
/* Chars that mean this number is a floating point constant */ /* Chars that mean this number is a floating point constant
/* As in 0f12.456 */ As in 0f12.456
/* or 0d1.2345e12 */ or 0d1.2345e12 */
const char FLT_CHARS[] = "rRsSfFdDxXpP"; const char FLT_CHARS[] = "rRsSfFdDxXpP";
#define C(what,length) (((what) << 2) + (length)) #define C(what,length) (((what) << 2) + (length))
@ -113,7 +113,7 @@ cpu_type;
cpu_type cpu = M340; cpu_type cpu = M340;
/* Initialize the relax table */ /* Initialize the relax table. */
const relax_typeS md_relax_table[] = const relax_typeS md_relax_table[] =
{ {
{ 1, 1, 0, 0 }, /* 0: unused */ { 1, 1, 0, 0 }, /* 0: unused */
@ -131,7 +131,7 @@ const relax_typeS md_relax_table[] =
{ 0, 0, 0, 0 } /*12: unused */ { 0, 0, 0, 0 } /*12: unused */
}; };
/* LITERAL POOL DATA STRUCTURES */ /* Literal pool data structures. */
struct literal struct literal
{ {
unsigned short refcnt; unsigned short refcnt;
@ -158,18 +158,18 @@ static unsigned long poolspan;
-- so we have to be smaller than 1018 and since we deal with 2-byte -- so we have to be smaller than 1018 and since we deal with 2-byte
instructions, the next good choice is 1016. instructions, the next good choice is 1016.
-- Note we have a test case that fails when we've got 1018 here. */ -- Note we have a test case that fails when we've got 1018 here. */
#define SPANPANIC (1016) /* 1024 - 1 entry - 2 byte rounding */ #define SPANPANIC (1016) /* 1024 - 1 entry - 2 byte rounding. */
#define SPANCLOSE (900) #define SPANCLOSE (900)
#define SPANEXIT (600) #define SPANEXIT (600)
static symbolS * poolsym; /* label for current pool */ static symbolS * poolsym; /* label for current pool. */
static char poolname[8]; static char poolname[8];
static struct hash_control * opcode_hash_control; /* Opcode mnemonics */ static struct hash_control * opcode_hash_control; /* Opcode mnemonics. */
/* This table describes all the machine specific pseudo-ops the assembler /* This table describes all the machine specific pseudo-ops the assembler
has to support. The fields are: has to support. The fields are:
Pseudo-op name without dot Pseudo-op name without dot
Function to call to execute this pseudo-op Function to call to execute this pseudo-op
Integer arg to pass to the function */ Integer arg to pass to the function. */
const pseudo_typeS md_pseudo_table[] = const pseudo_typeS md_pseudo_table[] =
{ {
{ "export", s_globl, 0 }, { "export", s_globl, 0 },
@ -2146,8 +2146,8 @@ md_apply_fix3 (fixP, valp, segment)
} }
else else
{ {
buf[0] |= ((val >> 8) & 0x7); buf[1] |= ((val >> 8) & 0x7);
buf[1] |= (val & 0xff); buf[0] |= (val & 0xff);
} }
break; break;