OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [gdb-5.0/] [gdb/] [config/] [powerpc/] [tm-ppc-eabi.h] - Diff between revs 106 and 107

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 106 Rev 107
/* Macro definitions for Power PC running embedded ABI.
/* Macro definitions for Power PC running embedded ABI.
   Copyright 1995, 1996, 1997 Free Software Foundation, Inc.
   Copyright 1995, 1996, 1997 Free Software Foundation, Inc.
 
 
   This file is part of GDB.
   This file is part of GDB.
 
 
   This program is free software; you can redistribute it and/or modify
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2 of the License, or
   the Free Software Foundation; either version 2 of the License, or
   (at your option) any later version.
   (at your option) any later version.
 
 
   This program is distributed in the hope that it will be useful,
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.
   GNU General Public License for more details.
 
 
   You should have received a copy of the GNU General Public License
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   along with this program; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place - Suite 330,
   Foundation, Inc., 59 Temple Place - Suite 330,
   Boston, MA 02111-1307, USA.  */
   Boston, MA 02111-1307, USA.  */
 
 
#ifndef TM_PPC_EABI_H
#ifndef TM_PPC_EABI_H
#define TM_PPC_EABI_H
#define TM_PPC_EABI_H
 
 
/* Use generic RS6000 definitions. */
/* Use generic RS6000 definitions. */
#include "rs6000/tm-rs6000.h"
#include "rs6000/tm-rs6000.h"
/* except we want to allow single stepping */
/* except we want to allow single stepping */
#undef SOFTWARE_SINGLE_STEP_P
#undef SOFTWARE_SINGLE_STEP_P
#define SOFTWARE_SINGLE_STEP_P 0
#define SOFTWARE_SINGLE_STEP_P 0
 
 
#undef  DEFAULT_LR_SAVE
#undef  DEFAULT_LR_SAVE
#define DEFAULT_LR_SAVE 4       /* eabi saves LR at 4 off of SP */
#define DEFAULT_LR_SAVE 4       /* eabi saves LR at 4 off of SP */
 
 
#define GDB_TARGET_POWERPC
#define GDB_TARGET_POWERPC
 
 
#undef PC_LOAD_SEGMENT
#undef PC_LOAD_SEGMENT
#undef PROCESS_LINENUMBER_HOOK
#undef PROCESS_LINENUMBER_HOOK
 
 
#undef TEXT_SEGMENT_BASE
#undef TEXT_SEGMENT_BASE
#define TEXT_SEGMENT_BASE 1
#define TEXT_SEGMENT_BASE 1
 
 
/* Say that we're using ELF, not XCOFF.  */
/* Say that we're using ELF, not XCOFF.  */
#define ELF_OBJECT_FORMAT 1
#define ELF_OBJECT_FORMAT 1
 
 
#define TARGET_BYTE_ORDER_SELECTABLE_P 1
#define TARGET_BYTE_ORDER_SELECTABLE_P 1
 
 
/* return true if a given `pc' value is in `call dummy' function. */
/* return true if a given `pc' value is in `call dummy' function. */
/* FIXME: This just checks for the end of the stack, which is broken
/* FIXME: This just checks for the end of the stack, which is broken
   for things like stepping through gcc nested function stubs.  */
   for things like stepping through gcc nested function stubs.  */
#undef PC_IN_CALL_DUMMY
#undef PC_IN_CALL_DUMMY
 
 
/* generic dummy frame stuff */
/* generic dummy frame stuff */
 
 
 
 
 
 
/* target-specific dummy_frame stuff */
/* target-specific dummy_frame stuff */
 
 
extern struct frame_info *rs6000_pop_frame PARAMS ((struct frame_info * frame));
extern struct frame_info *rs6000_pop_frame PARAMS ((struct frame_info * frame));
 
 
extern CORE_ADDR ppc_push_return_address PARAMS ((CORE_ADDR, CORE_ADDR));
extern CORE_ADDR ppc_push_return_address PARAMS ((CORE_ADDR, CORE_ADDR));
 
 
#undef PUSH_DUMMY_FRAME
#undef PUSH_DUMMY_FRAME
#define PUSH_DUMMY_FRAME             generic_push_dummy_frame ()
#define PUSH_DUMMY_FRAME             generic_push_dummy_frame ()
 
 
#define PUSH_RETURN_ADDRESS(PC, SP)      ppc_push_return_address (PC, SP)
#define PUSH_RETURN_ADDRESS(PC, SP)      ppc_push_return_address (PC, SP)
 
 
/* override the standard get_saved_register function with
/* override the standard get_saved_register function with
   one that takes account of generic CALL_DUMMY frames */
   one that takes account of generic CALL_DUMMY frames */
#define GET_SAVED_REGISTER(raw_buffer, optimized, addrp, frame, regnum, lval) \
#define GET_SAVED_REGISTER(raw_buffer, optimized, addrp, frame, regnum, lval) \
      generic_get_saved_register (raw_buffer, optimized, addrp, frame, regnum, lval)
      generic_get_saved_register (raw_buffer, optimized, addrp, frame, regnum, lval)
 
 
#define USE_GENERIC_DUMMY_FRAMES 1
#define USE_GENERIC_DUMMY_FRAMES 1
#define CALL_DUMMY_BREAKPOINT_OFFSET (0)
#define CALL_DUMMY_BREAKPOINT_OFFSET (0)
#define CALL_DUMMY_LOCATION          AT_ENTRY_POINT
#define CALL_DUMMY_LOCATION          AT_ENTRY_POINT
#define CALL_DUMMY_ADDRESS()         entry_point_address ()
#define CALL_DUMMY_ADDRESS()         entry_point_address ()
#undef CALL_DUMMY_START_OFFSET
#undef CALL_DUMMY_START_OFFSET
#define CALL_DUMMY_START_OFFSET      0
#define CALL_DUMMY_START_OFFSET      0
 
 
/* The value of symbols of type N_SO and N_FUN maybe null when
/* The value of symbols of type N_SO and N_FUN maybe null when
   it shouldn't be. */
   it shouldn't be. */
#define SOFUN_ADDRESS_MAYBE_MISSING
#define SOFUN_ADDRESS_MAYBE_MISSING
 
 
#endif /* TM_PPC_EABI_H */
#endif /* TM_PPC_EABI_H */
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.