diff options
author | Joern Rennecke <joern.rennecke@embecosm.com> | 2000-04-05 21:23:03 +0000 |
---|---|---|
committer | Joern Rennecke <joern.rennecke@embecosm.com> | 2000-04-05 21:23:03 +0000 |
commit | 66d2d2638e87e2fb9df84fc29b379539be8c1892 (patch) | |
tree | b12c8901563f1a13bb053184d2a903d3ac0b2f86 /include | |
parent | c6e4c778eb11cd721f51d92f0ea96b326b650792 (diff) | |
download | newlib-66d2d2638e87e2fb9df84fc29b379539be8c1892.zip newlib-66d2d2638e87e2fb9df84fc29b379539be8c1892.tar.gz newlib-66d2d2638e87e2fb9df84fc29b379539be8c1892.tar.bz2 |
sh-dsp REPEAT support:
opcodes:
* sh-opc.h (sh_nibble_type): Remove DISP_8 and DISP_4.
Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}. Add REPEAT.
(sh_arg_type): Add A_PC.
(sh_table): Update entries using immediates. Add repeat.
* sh-dis.c (print_insn_shx): Remove DISP_8 and DISP_4.
Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}. Add REPEAT.
gas:
* config/tc-sh.c (immediate): Delete.
(sh_operand_info): Add immediate member.
(parse_reg): Use A_PC for pc.
(parse_exp): Add second argument 'op'. All callers changed.
(parse_at): Expect pc to be coded as A_PC.
Use immediate field in *op.
(insert): Add fourth argument 'op'. All callers changed.
(build_relax): Add second argument 'op'. All callers changed.
(insert_loop_bounds): New function.
(build_Mytes): Remove DISP_4.
Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}. Add REPEAT.
(assemble_ppi): Use immediate field in *operand.
(sh_force_relocation): Handle BFD_RELOC_SH_LOOP_{START,END}.
(md_apply_fix): Likewise.
(tc_gen_reloc): Likewise. Check for a pcrel BFD_RELOC_SH_LABEL.
include/coff:
* sh.h (R_SH_LOOP_START, R_SH_LOOP_END): Define.
include/elf:
* sh.h (R_SH_LOOP_START, R_SH_LOOP_END): New RELOC_NUMBERs.
bfd:
* reloc.c (_bfd_relocate_contents): Add BFD_RELOC_SH_LOOP_START and
BFD_RELOC_SH_LOOP_END.
* elf32-sh.c (sh_elf_howto_tab): Change special_func to
sh_elf_ignore_reloc for all entries that sh_elf_reloc used to ignore.
Add entries for R_SH_LOOP_START and R_SH_LOOP_END.
(sh_elf_reloc_loop): New function.
(sh_elf_reloc): No need to test for always-to-be-ignored relocs
any more.
(sh_rel): Add entries for BFD_RELOC_SH_LOOP_{START,END}.
(sh_elf_relocate_section): Handle BFD_RELOC_SH_LOOP_{START,END}.
* bfd-in2.h, libbfd.h: Regenerate.
Diffstat (limited to 'include')
-rw-r--r-- | include/coff/ChangeLog | 4 | ||||
-rw-r--r-- | include/coff/sh.h | 3 | ||||
-rw-r--r-- | include/elf/ChangeLog | 4 | ||||
-rw-r--r-- | include/elf/sh.h | 4 |
4 files changed, 14 insertions, 1 deletions
diff --git a/include/coff/ChangeLog b/include/coff/ChangeLog index 76b52c0..9630f40 100644 --- a/include/coff/ChangeLog +++ b/include/coff/ChangeLog @@ -1,3 +1,7 @@ +Wed Apr 5 22:08:41 2000 J"orn Rennecke <amylaar@cygnus.co.uk> + + * sh.h (R_SH_LOOP_START, R_SH_LOOP_END): Define. + 2000-03-15 Kazu Hirata <kazu@hxi.com> * internal.h: Fix a typo in the comment for R_MOVL2. diff --git a/include/coff/sh.h b/include/coff/sh.h index f7271f2..2ea0d26 100644 --- a/include/coff/sh.h +++ b/include/coff/sh.h @@ -305,3 +305,6 @@ struct external_reloc { #define R_SH_LABEL 32 /* label */ /* NB: R_SH_SWITCH8 is 33 */ + +#define R_SH_LOOP_START 34 +#define R_SH_LOOP_END 35 diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index e1f68c3..85ff853 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,7 @@ +Wed Apr 5 22:08:59 2000 J"orn Rennecke <amylaar@cygnus.co.uk> + + * sh.h (R_SH_LOOP_START, R_SH_LOOP_END): New RELOC_NUMBERs. + 2000-03-27 Denis Chertykov <denisc@overta.ru> * avr.h: New file. AVR ELF support for BFD. diff --git a/include/elf/sh.h b/include/elf/sh.h index faee509..2b132c1 100644 --- a/include/elf/sh.h +++ b/include/elf/sh.h @@ -1,5 +1,5 @@ /* SH ELF support for BFD. - Copyright (C) 1998 Free Software Foundation, Inc. + Copyright (C) 1998, 2000 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -76,6 +76,8 @@ START_RELOC_NUMBERS (elf_sh_reloc_type) RELOC_NUMBER (R_SH_SWITCH8, 33) RELOC_NUMBER (R_SH_GNU_VTINHERIT, 34) RELOC_NUMBER (R_SH_GNU_VTENTRY, 35) + RELOC_NUMBER (R_SH_LOOP_START, 36) + RELOC_NUMBER (R_SH_LOOP_END, 37) EMPTY_RELOC (R_SH_max) END_RELOC_NUMBERS |