Back to index

cell-binutils  2.17cvs20070401
elf32-hppa.h
Go to the documentation of this file.
00001 /* ELF32/HPPA support
00002 
00003    This file contains ELF32/HPPA relocation support as specified
00004    in the Stratus FTX/Golf Object File Format (SED-1762) dated
00005    February 1994.
00006 
00007    Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000,
00008    2002, 2003 Free Software Foundation, Inc.
00009 
00010    Written by:
00011 
00012    Center for Software Science
00013    Department of Computer Science
00014    University of Utah
00015 
00016    This file is part of BFD, the Binary File Descriptor library.
00017 
00018    This program is free software; you can redistribute it and/or modify
00019    it under the terms of the GNU General Public License as published by
00020    the Free Software Foundation; either version 2 of the License, or
00021    (at your option) any later version.
00022 
00023    This program is distributed in the hope that it will be useful,
00024    but WITHOUT ANY WARRANTY; without even the implied warranty of
00025    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00026    GNU General Public License for more details.
00027 
00028    You should have received a copy of the GNU General Public License
00029    along with this program; if not, write to the Free Software
00030    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
00031 
00032 #ifndef _ELF32_HPPA_H
00033 #define _ELF32_HPPA_H
00034 
00035 #include "elf-bfd.h"
00036 #include "libhppa.h"
00037 #include "elf/hppa.h"
00038 
00039 int elf32_hppa_setup_section_lists
00040   (bfd *, struct bfd_link_info *);
00041 
00042 void elf32_hppa_next_input_section
00043   (struct bfd_link_info *, asection *);
00044 
00045 bfd_boolean elf32_hppa_size_stubs
00046   (bfd *, bfd *, struct bfd_link_info *, bfd_boolean, bfd_signed_vma,
00047    asection * (*) (const char *, asection *), void (*) (void));
00048 
00049 bfd_boolean elf32_hppa_set_gp
00050   (bfd *, struct bfd_link_info *);
00051 
00052 bfd_boolean elf32_hppa_build_stubs
00053   (struct bfd_link_info *);
00054 
00055 elf_hppa_reloc_type elf32_hppa_reloc_final_type
00056   (bfd *, elf_hppa_reloc_type, int, unsigned int);
00057 
00058 extern elf_hppa_reloc_type ** _bfd_elf32_hppa_gen_reloc_type
00059   (bfd *, elf_hppa_reloc_type, int, unsigned int, int, asymbol *);
00060 
00061 /* Define groups of basic relocations.  FIXME:  These should
00062    be the only basic relocations created by GAS.  The rest
00063    should be internal to the BFD backend.
00064 
00065    The idea is both SOM and ELF define these basic relocation
00066    types so they map into a SOM or ELF specific relocation
00067    as appropriate.  This allows GAS to share much more code
00068    between the two target object formats.  */
00069 
00070 #define R_HPPA_NONE                R_PARISC_NONE
00071 #define R_HPPA                            R_PARISC_DIR32
00072 #define R_HPPA_GOTOFF                     R_PARISC_DPREL21L
00073 #define R_HPPA_PCREL_CALL          R_PARISC_PCREL21L
00074 #define R_HPPA_ABS_CALL                   R_PARISC_DIR17F
00075 #define R_HPPA_COMPLEX                    R_PARISC_UNIMPLEMENTED
00076 
00077 #endif /* _ELF32_HPPA_H */