From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27023 invoked by alias); 19 Sep 2002 15:15:00 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 27005 invoked from network); 19 Sep 2002 15:14:56 -0000 Received: from unknown (HELO localhost.redhat.com) (216.138.202.10) by sources.redhat.com with SMTP; 19 Sep 2002 15:14:56 -0000 Received: from ges.redhat.com (localhost [127.0.0.1]) by localhost.redhat.com (Postfix) with ESMTP id 3A33D3DB8; Thu, 19 Sep 2002 11:14:54 -0400 (EDT) Message-ID: <3D89E9EE.9020902@ges.redhat.com> Date: Thu, 19 Sep 2002 08:15:00 -0000 From: Andrew Cagney User-Agent: Mozilla/5.0 (X11; U; NetBSD macppc; en-US; rv:1.0.0) Gecko/20020824 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Daniel Jacobowitz Cc: Nick Clifton , Hans-Peter Nilsson , gdb-patches@sources.redhat.com Subject: Re: v850 sim noncompile (was: Re: Add v850 linker relaxation) References: <3D89E392.1080100@ges.redhat.com> <20020919145121.GA19937@nevyn.them.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2002-09/txt/msg00485.txt.bz2 > > Andrew, Nick is perfectly correct: > 2002-08-28 Catherine Moore > > * elf32-v850.c (v850_elf_reloc_map): Add new relocs. > (v850-elf-reloc): Don't resolve pc relative relocs. > (v850_elf_ignore_reloc): New routine. > (v850_elf_final_link_relocate): Handle new relocs. > (v850_elf_relax_delete_bytes ): New routine. > (v850_elf_relax_section): New routine. > (bfd_elf32_bfd_relax_section): Define. > (HOWTO): New entries for new relocs. > * reloc.c (BFD_RELOC_V850_LONGCALL): New reloc. > (BFD_RELOC_V850_LONGJUMP): New reloc. > (BFD_RELOC_V850_ALIGN): New reloc. > * archures.c: Remove redundant v850ea architecture. > * cpu-v850.c: Remove redundant v850ea support. > * libbfd.h: Regenerate. > * bfd-in2.h: Regenerated. The patch doesn't so much remove left over redundancy as delete an entire ISA: - - // DIVHN - rrrrr,111111,RRRRR + wwwww,01010,iiii,00:XI:::divhn - *v850ea - "divhn , r, r, r" - { - signed32 quotient; - signed32 remainder; - signed32 divide_by; - signed32 divide_this; - boolean overflow = false; - SAVE_2; - - trace_input ("divhn", OP_IMM_REG_REG_REG, 0); - - divide_by = EXTEND16 (State.regs[ reg1 ]); - divide_this = State.regs[ reg2 ]; - - divn (imm5, divide_by, divide_this, & quotient, & remainder, & overflow); - - State.regs[ reg2 ] = quotient; - State.regs[ reg3 ] = remainder; - - /* Set condition codes. */ - PSW &= ~(PSW_Z | PSW_S | PSW_OV); - - if (overflow) PSW |= PSW_OV; - if (quotient == 0) PSW |= PSW_Z; - if (quotient < 0) PSW |= PSW_S; - - trace_output (OP_IMM_REG_REG_REG); - } - Andrew