diff options
author | Jeff Law <law@redhat.com> | 1996-02-27 18:50:42 +0000 |
---|---|---|
committer | Jeff Law <law@redhat.com> | 1996-02-27 18:50:42 +0000 |
commit | 6c7b309055066861281ffdb0b8e7d64d5227257f (patch) | |
tree | 6f23d2024147f877fcfbeb67097e46d0d3e69759 /bfd/som.c | |
parent | 431e1e858c2bce0edcda91ae36799697f9979d5e (diff) | |
download | gdb-6c7b309055066861281ffdb0b8e7d64d5227257f.zip gdb-6c7b309055066861281ffdb0b8e7d64d5227257f.tar.gz gdb-6c7b309055066861281ffdb0b8e7d64d5227257f.tar.bz2 |
* libhppa.h (pa_arch): Add pa20.
(hppa_reloc_field_selector_type): Add R_HPPA_NSEL.
(e_nsel): Undefine. Add to hppa_reloc_field_selector_type_alt.
(hppa_field_adjust): Handle e_nsel.
* som.c: Provide default definitions for many new relocs found only
in hpux10 include files.
(som_fixup_formats): Add several new relocs from hpux10.
(som_hppa_howto_table): Add hpux10 relocs.
(som_write_fixups): Handle R_N0SEL and R_N1SEL hpux10 relocs.
Quick stab at handling some of the new hpux10 features.
Diffstat (limited to 'bfd/som.c')
-rw-r--r-- | bfd/som.c | 67 |
1 files changed, 55 insertions, 12 deletions
@@ -1,5 +1,5 @@ /* bfd back-end for HP PA-RISC SOM objects. - Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995 + Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996 Free Software Foundation, Inc. Contributed by the Center for Software Science at the @@ -430,8 +430,9 @@ static const struct fixup_format som_fixup_formats[256] = 1, "Lb4*=Mb1+L*=", /* 0x2b */ 2, "Lb4*=Md1+4*=", /* 0x2c */ 3, "Ld1+=Me1+=", /* 0x2d */ - /* R_RESERVED */ + /* R_SHORT_PCREL_MODE */ 0, "", /* 0x2e */ + /* R_LONG_PCREL_MODE */ 0, "", /* 0x2f */ /* R_PCREL_CALL */ 0, "L4=RD=Sb=", /* 0x30 */ @@ -637,14 +638,21 @@ static const struct fixup_format som_fixup_formats[256] = 1, "P", /* 0xd4 */ 2, "P", /* 0xd5 */ 3, "P", /* 0xd6 */ - /* R_RESERVED */ + /* R_SEC_STMT */ 0, "", /* 0xd7 */ + /* R_N0SEL */ 0, "", /* 0xd8 */ + /* R_N1SEL */ 0, "", /* 0xd9 */ + /* R_LINETAB */ 0, "", /* 0xda */ + /* R_LINETAB_ESC */ 0, "", /* 0xdb */ + /* R_LTP_OVERRIDE */ 0, "", /* 0xdc */ + /* R_COMMENT */ 0, "", /* 0xdd */ + /* R_RESERVED */ 0, "", /* 0xde */ 0, "", /* 0xdf */ 0, "", /* 0xe0 */ @@ -719,7 +727,7 @@ static const int comp3_opcodes[] = -1 }; -/* These apparently are not in older versions of hpux reloc.h. */ +/* These apparently are not in older versions of hpux reloc.h (hpux7). */ #ifndef R_DLT_REL #define R_DLT_REL 0x78 #endif @@ -732,6 +740,39 @@ static const int comp3_opcodes[] = #define R_SEC_STMT 0xd7 #endif +/* And these first appeared in hpux10. */ +#ifndef R_SHORT_PCREL_MODE +#define R_SHORT_PCREL_MODE 0x3e +#endif + +#ifndef R_LONG_PCREL_MODE +#define R_LONG_PCREL_MODE 0x3f +#endif + +#ifndef R_N0SEL +#define R_N0SEL 0xd8 +#endif + +#ifndef R_N1SEL +#define R_N1SEL 0xd9 +#endif + +#ifndef R_LINETAB +#define R_LINETAB 0xda +#endif + +#ifndef R_LINETAB_ESC +#define R_LINETAB_ESC 0xdb +#endif + +#ifndef R_LTP_OVERRIDE +#define R_LTP_OVERRIDE 0xdc +#endif + +#ifndef R_COMMENT +#define R_COMMENT 0xdd +#endif + static reloc_howto_type som_hppa_howto_table[] = { {R_NO_RELOCATION, 0, 0, 32, false, 0, 0, hppa_som_reloc, "R_NO_RELOCATION"}, @@ -796,8 +837,8 @@ static reloc_howto_type som_hppa_howto_table[] = {R_PCREL_CALL, 0, 0, 32, false, 0, 0, hppa_som_reloc, "R_PCREL_CALL"}, {R_PCREL_CALL, 0, 0, 32, false, 0, 0, hppa_som_reloc, "R_PCREL_CALL"}, {R_PCREL_CALL, 0, 0, 32, false, 0, 0, hppa_som_reloc, "R_PCREL_CALL"}, - {R_RESERVED, 0, 0, 32, false, 0, 0, hppa_som_reloc, "R_RESERVED"}, - {R_RESERVED, 0, 0, 32, false, 0, 0, hppa_som_reloc, "R_RESERVED"}, + {R_SHORT_PCREL_MODE, 0, 0, 32, false, 0, 0, hppa_som_reloc, "R_SHORT_PCREL_MODE"}, + {R_LONG_PCREL_MODE, 0, 0, 32, false, 0, 0, hppa_som_reloc, "R_LONG_PCREL_MODE"}, {R_ABS_CALL, 0, 0, 32, false, 0, 0, hppa_som_reloc, "R_ABS_CALL"}, {R_ABS_CALL, 0, 0, 32, false, 0, 0, hppa_som_reloc, "R_ABS_CALL"}, {R_ABS_CALL, 0, 0, 32, false, 0, 0, hppa_som_reloc, "R_ABS_CALL"}, @@ -950,12 +991,12 @@ static reloc_howto_type som_hppa_howto_table[] = {R_PREV_FIXUP, 0, 0, 32, false, 0, 0, hppa_som_reloc, "R_PREV_FIXUP"}, {R_PREV_FIXUP, 0, 0, 32, false, 0, 0, hppa_som_reloc, "R_PREV_FIXUP"}, {R_SEC_STMT, 0, 0, 32, false, 0, 0, hppa_som_reloc, "R_SEC_STMT"}, - {R_RESERVED, 0, 0, 32, false, 0, 0, hppa_som_reloc, "R_RESERVED"}, - {R_RESERVED, 0, 0, 32, false, 0, 0, hppa_som_reloc, "R_RESERVED"}, - {R_RESERVED, 0, 0, 32, false, 0, 0, hppa_som_reloc, "R_RESERVED"}, - {R_RESERVED, 0, 0, 32, false, 0, 0, hppa_som_reloc, "R_RESERVED"}, - {R_RESERVED, 0, 0, 32, false, 0, 0, hppa_som_reloc, "R_RESERVED"}, - {R_RESERVED, 0, 0, 32, false, 0, 0, hppa_som_reloc, "R_RESERVED"}, + {R_N0SEL, 0, 0, 32, false, 0, 0, hppa_som_reloc, "R_N0SEL"}, + {R_N1SEL, 0, 0, 32, false, 0, 0, hppa_som_reloc, "R_N1SEL"}, + {R_LINETAB, 0, 0, 32, false, 0, 0, hppa_som_reloc, "R_LINETAB"}, + {R_LINETAB_ESC, 0, 0, 32, false, 0, 0, hppa_som_reloc, "R_LINETAB_ESC"}, + {R_LTP_OVERRIDE, 0, 0, 32, false, 0, 0, hppa_som_reloc, "R_LTP_OVERRIDE"}, + {R_COMMENT, 0, 0, 32, false, 0, 0, hppa_som_reloc, "R_COMMENT"}, {R_RESERVED, 0, 0, 32, false, 0, 0, hppa_som_reloc, "R_RESERVED"}, {R_RESERVED, 0, 0, 32, false, 0, 0, hppa_som_reloc, "R_RESERVED"}, {R_RESERVED, 0, 0, 32, false, 0, 0, hppa_som_reloc, "R_RESERVED"}, @@ -2578,6 +2619,8 @@ som_write_fixups (abfd, current_offset, total_reloc_sizep) case R_COMP2: case R_BEGIN_BRTAB: case R_END_BRTAB: + case R_N0SEL: + case R_N1SEL: reloc_offset = bfd_reloc->address; break; |