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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gdb-7.1/] [gdb/] [osabi.h] - Diff between revs 834 and 842

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

Rev 834 Rev 842
/* OS ABI variant handling for GDB.
/* OS ABI variant handling for GDB.
   Copyright (C) 2001, 2002, 2003, 2007, 2008, 2009, 2010
   Copyright (C) 2001, 2002, 2003, 2007, 2008, 2009, 2010
   Free Software Foundation, Inc.
   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 3 of the License, or
   the Free Software Foundation; either version 3 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, see <http://www.gnu.org/licenses/>.  */
   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 
#ifndef OSABI_H
#ifndef OSABI_H
#define OSABI_H
#define OSABI_H
 
 
/* Register an OS ABI sniffer.  Each arch/flavour may have more than
/* Register an OS ABI sniffer.  Each arch/flavour may have more than
   one sniffer.  This is used to e.g. differentiate one OS's a.out from
   one sniffer.  This is used to e.g. differentiate one OS's a.out from
   another.  The first sniffer to return something other than
   another.  The first sniffer to return something other than
   GDB_OSABI_UNKNOWN wins, so a sniffer should be careful to claim a file
   GDB_OSABI_UNKNOWN wins, so a sniffer should be careful to claim a file
   only if it knows for sure what it is.  */
   only if it knows for sure what it is.  */
void gdbarch_register_osabi_sniffer (enum bfd_architecture,
void gdbarch_register_osabi_sniffer (enum bfd_architecture,
                                     enum bfd_flavour,
                                     enum bfd_flavour,
                                     enum gdb_osabi (*)(bfd *));
                                     enum gdb_osabi (*)(bfd *));
 
 
/* Register a handler for an OS ABI variant for a given architecture
/* Register a handler for an OS ABI variant for a given architecture
   and machine type.  There should be only one handler for a given OS
   and machine type.  There should be only one handler for a given OS
   ABI for each architecture and machine type combination.  */
   ABI for each architecture and machine type combination.  */
void gdbarch_register_osabi (enum bfd_architecture, unsigned long,
void gdbarch_register_osabi (enum bfd_architecture, unsigned long,
                             enum gdb_osabi,
                             enum gdb_osabi,
                             void (*)(struct gdbarch_info,
                             void (*)(struct gdbarch_info,
                                      struct gdbarch *));
                                      struct gdbarch *));
 
 
/* Lookup the OS ABI corresponding to the specified BFD.  */
/* Lookup the OS ABI corresponding to the specified BFD.  */
enum gdb_osabi gdbarch_lookup_osabi (bfd *);
enum gdb_osabi gdbarch_lookup_osabi (bfd *);
 
 
/* Lookup the OS ABI corresponding to the specified target description
/* Lookup the OS ABI corresponding to the specified target description
   string.  */
   string.  */
enum gdb_osabi osabi_from_tdesc_string (const char *text);
enum gdb_osabi osabi_from_tdesc_string (const char *text);
 
 
/* Initialize the gdbarch for the specified OS ABI variant.  */
/* Initialize the gdbarch for the specified OS ABI variant.  */
void gdbarch_init_osabi (struct gdbarch_info, struct gdbarch *);
void gdbarch_init_osabi (struct gdbarch_info, struct gdbarch *);
 
 
/* Return the name of the specified OS ABI.  */
/* Return the name of the specified OS ABI.  */
const char *gdbarch_osabi_name (enum gdb_osabi);
const char *gdbarch_osabi_name (enum gdb_osabi);
 
 
/* Helper routine for ELF file sniffers.  This looks at ABI tag note
/* Helper routine for ELF file sniffers.  This looks at ABI tag note
   sections to determine the OS ABI from the note.  It should be called
   sections to determine the OS ABI from the note.  It should be called
   via bfd_map_over_sections.  */
   via bfd_map_over_sections.  */
void generic_elf_osabi_sniff_abi_tag_sections (bfd *, asection *, void *);
void generic_elf_osabi_sniff_abi_tag_sections (bfd *, asection *, void *);
 
 
#endif /* OSABI_H */
#endif /* OSABI_H */
 
 

powered by: WebSVN 2.1.0

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