2003-08-23 Jason Eckhardt <jle@rice.edu>

[bfd/ChangeLog]
        * coff-i860.c (coff_i860_reloc_nyi): New function.
	(howto_table): Add entries for relocations PAIR, HIGHADJ, HIGH,
	LOWn, SPLITn, and BRADDR.
	(RTYPE2HOWTO): Check that the r_type is within the howto_table
	before trying to access the entry.
	(coff_i860_rtype_to_howto): Likewise.
	(coff_i860_reloc_type_lookup): New function.
	(i860_reloc_processing): New function.
	(coff_bfd_reloc_type_lookup): Define macro.
	(RELOC_PROCESSING): Define macro.
	Minor formatting adjustments.

[include/coff/ChangeLog]
	* coff/i860.h (COFF860_R_PAIR, COFF860_R_LOW0, COFF860_R_LOW1,
	COFF860_R_LOW2, COFF860_R_LOW3, COFF860_R_LOW4, COFF860_R_SPLIT0,
	COFF860_R_SPLIT1, COFF860_R_SPLIT2, COFF860_R_HIGHADJ,
	COFF860_R_BRADDR): Define new relocation constants and document.
	Minor formatting adjustments.
This commit is contained in:
Jason Eckhardt 2003-08-23 23:00:09 +00:00
parent be1ea8cde7
commit c94e99621d
2 changed files with 39 additions and 2 deletions

View File

@ -1,3 +1,11 @@
2003-08-23 Jason Eckhardt <jle@rice.edu>
* coff/i860.h (COFF860_R_PAIR, COFF860_R_LOW0, COFF860_R_LOW1,
COFF860_R_LOW2, COFF860_R_LOW3, COFF860_R_LOW4, COFF860_R_SPLIT0,
COFF860_R_SPLIT1, COFF860_R_SPLIT2, COFF860_R_HIGHADJ,
COFF860_R_BRADDR): Define new relocation constants and document.
Minor formatting adjustments.
2003-08-07 Alan Modra <amodra@bigpond.net.au> 2003-08-07 Alan Modra <amodra@bigpond.net.au>
* ti.h (GET_SCNHDR_NRELOC): Rename PTR param to LOC. * ti.h (GET_SCNHDR_NRELOC): Rename PTR param to LOC.

View File

@ -1,6 +1,6 @@
/* coff information for Intel 860. /* COFF information for the Intel i860.
Copyright 2001 Free Software Foundation, Inc. Copyright 2001, 2003 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -55,3 +55,32 @@ struct external_reloc
#define RELOC struct external_reloc #define RELOC struct external_reloc
#define RELSZ 10 #define RELSZ 10
/* The relocation directory entry types.
PAIR : The low half that follows relates to the preceeding HIGH[ADJ].
HIGH : The high half of a 32-bit constant.
LOWn : The low half, insn bits 15..(n-1), 2^n-byte aligned.
SPLITn : The low half, insn bits 20..16 and 10..(n-1), 2^n-byte aligned.
HIGHADJ: Similar to HIGH, but with adjustment.
BRADDR : 26-bit branch displacement.
Note: The Intel assembler manual lists LOW4 as one of the
relocation types, but it appears to be useless for the i860.
We will recognize it anyway, just in case it actually appears in
any object files. */
enum {
COFF860_R_PAIR = 0x1c,
COFF860_R_HIGH = 0x1e,
COFF860_R_LOW0 = 0x1f,
COFF860_R_LOW1 = 0x20,
COFF860_R_LOW2 = 0x21,
COFF860_R_LOW3 = 0x22,
COFF860_R_LOW4 = 0x23,
COFF860_R_SPLIT0 = 0x24,
COFF860_R_SPLIT1 = 0x25,
COFF860_R_SPLIT2 = 0x26,
COFF860_R_HIGHADJ = 0x27,
COFF860_R_BRADDR = 0x28
};