RELOC_GLOB_DAT,
RELOC_JMP_SLOT,
RELOC_RELATIVE,
+
+ RELOC_11,
+ RELOC_WDISP2_14,
+ RELOC_WDISP19,
+ RELOC_HHI22, /* data[0:21] = (addend + sv) >> 42 */
+ RELOC_HLO10, /* data[0:9] = (addend + sv) >> 32 */
+
/* 29K relocation types */
RELOC_JUMPTARG,
RELOC_CONST,
RELOC_64, /* data[0:63] = addend + sv */
RELOC_DISP64, /* data[0:63] = addend - pc + sv */
RELOC_WDISP21, /* data[0:20] = (addend + sv - pc)>>2 */
- RELOC_HHI22, /* data[0:21] = (addend + sv) >> 42 */
- RELOC_HLO10, /* data[0:9] = (addend + sv) >> 32 */
RELOC_DISP21, /* data[0:20] = addend - pc + sv */
RELOC_DISP14, /* data[0:13] = addend - pc + sv */
/* Q .
entry points, since they don't take bfd as first arg. Certain other handlers
could do the same.
*/
- SDEF (bfd_64_type, bfd_getx64, (bfd_byte *));
- SDEF (void, bfd_putx64, (bfd_64_type, bfd_byte *));
- SDEF (unsigned int, bfd_getx32, (bfd_byte *));
- SDEF (void, bfd_putx32, (unsigned long, bfd_byte *));
- SDEF (unsigned int, bfd_getx16, (bfd_byte *));
- SDEF (void, bfd_putx16, (int, bfd_byte *));
+ SDEF (bfd_vma, bfd_getx64, (bfd_byte *));
+ SDEF (void, bfd_putx64, (bfd_vma, bfd_byte *));
+ SDEF (bfd_vma, bfd_getx32, (bfd_byte *));
+ SDEF (void, bfd_putx32, (bfd_vma, bfd_byte *));
+ SDEF (bfd_vma, bfd_getx16, (bfd_byte *));
+ SDEF (void, bfd_putx16, (bfd_vma, bfd_byte *));
/* Byte swapping for the headers
*/
- SDEF (bfd_64_type, bfd_h_getx64, (bfd_byte *));
- SDEF (void, bfd_h_putx64, (bfd_64_type, bfd_byte *));
- SDEF (unsigned int, bfd_h_getx32, (bfd_byte *));
- SDEF (void, bfd_h_putx32, (unsigned long, bfd_byte *));
- SDEF (unsigned int, bfd_h_getx16, (bfd_byte *));
- SDEF (void, bfd_h_putx16, (int, bfd_byte *));
+ SDEF (bfd_vma, bfd_h_getx64, (bfd_byte *));
+ SDEF (void, bfd_h_putx64, (bfd_vma, bfd_byte *));
+ SDEF (bfd_vma, bfd_h_getx32, (bfd_byte *));
+ SDEF (void, bfd_h_putx32, (bfd_vma, bfd_byte *));
+ SDEF (bfd_vma, bfd_h_getx16, (bfd_byte *));
+ SDEF (void, bfd_h_putx16, (bfd_vma, bfd_byte *));
/* Format dependent routines, these turn into vectors of entry points
within the target vector structure; one for each format to check.
#define FCC(x) (((x)&0x3)<<11) /* v9 */
#define FBFCC(x) (((x)&0x3)<<19) /* v9 */
-static const struct sparc_opcode sparc_opcodes[] = {
+static struct sparc_opcode sparc_opcodes[] = {
{ "ld", F3(3, 0x00, 0), F3(~3, ~0x00, ~0), "[1+2],d", 0, v6 },
{ "ld", F3(3, 0x00, 0), F3(~3, ~0x00, ~0)|RS2_G0, "[1],d", 0, v6 }, /* ld [rs1+%g0],d */