From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3153 invoked by alias); 14 Nov 2001 20:59:34 -0000 Mailing-List: contact gdb-patches-help@sourceware.cygnus.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 3132 invoked from network); 14 Nov 2001 20:59:32 -0000 Received: from unknown (HELO cygnus.com) (205.180.230.5) by sourceware.cygnus.com with SMTP; 14 Nov 2001 20:59:32 -0000 Received: from reddwarf.cygnus.com (reddwarf.cygnus.com [205.180.231.12]) by runyon.cygnus.com (8.8.7-cygnus/8.8.7) with ESMTP id MAA27581; Wed, 14 Nov 2001 12:59:29 -0800 (PST) Received: (from msnyder@localhost) by reddwarf.cygnus.com (8.11.2/8.11.2) id fAEKvKB12616; Wed, 14 Nov 2001 12:57:20 -0800 Date: Mon, 05 Nov 2001 12:15:00 -0000 From: Michael Snyder Message-Id: <200111142057.fAEKvKB12616@reddwarf.cygnus.com> To: gdb-patches@sources.redhat.com Subject: [RFA] Update D10V target to use new Harvardized type casts. Cc: cagney@redhat.com, jimb@redhat.com X-SW-Source: 2001-11/txt/msg00061.txt.bz2 This one-line change lets the D10V back-end recognize the new Harvardized type casts eg. "(@code int *)", so that a pointer can be forced into the address space of choice. The exact same change can be used for (most) other Harvard back-ends. 2001-11-14 Michael Snyder * d10v-tdep.c (d10v_pointer_to_address): Use new type flag TYPE_FLAG_CODE_SPACE to recognize a pointer that has been cast into the instruction address space. Index: d10v-tdep.c =================================================================== RCS file: /cvs/src/src/gdb/d10v-tdep.c,v retrieving revision 1.25 diff -p -r1.25 d10v-tdep.c *** d10v-tdep.c 2001/10/15 18:18:29 1.25 --- d10v-tdep.c 2001/11/14 20:56:37 *************** d10v_pointer_to_address (struct type *ty *** 413,419 **** /* Is it a code address? */ if (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_FUNC ! || TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_METHOD) return d10v_make_iaddr (addr); else return d10v_make_daddr (addr); --- 413,420 ---- /* Is it a code address? */ if (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_FUNC ! || TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_METHOD || ! (TYPE_FLAGS (TYPE_TARGET_TYPE (type)) & TYPE_FLAG_CODE_SPACE) != 0) return d10v_make_iaddr (addr); else return d10v_make_daddr (addr);