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

Subversion Repositories open8_urisc

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /open8_urisc/trunk/gnu/binutils/include
    from Rev 161 to Rev 163
    Reverse comparison

Rev 161 → Rev 163

/obstack.h
532,9 → 532,9
# define obstack_free(h,obj) \
( (h)->temp = (char *) (obj) - (char *) (h)->chunk, \
(((h)->temp > 0 && (h)->temp < (h)->chunk_limit - (char *) (h)->chunk)\
? (int) ((h)->next_free = (h)->object_base \
= (h)->temp + (char *) (h)->chunk) \
: (((obstack_free) ((h), (h)->temp + (char *) (h)->chunk), 0), 0)))
? (((h)->next_free = (h)->object_base \
= (h)->temp + (char *) (h)->chunk), 0) \
: ((obstack_free) ((h), (h)->temp + (char *) (h)->chunk), 0)))
 
#endif /* not __GNUC__ or not __STDC__ */
 
/dis-asm.h
233,6 → 233,7
extern int print_insn_d10v (bfd_vma, disassemble_info *);
extern int print_insn_d30v (bfd_vma, disassemble_info *);
extern int print_insn_dlx (bfd_vma, disassemble_info *);
extern int print_insn_epiphany (bfd_vma, disassemble_info *);
extern int print_insn_fr30 (bfd_vma, disassemble_info *);
extern int print_insn_frv (bfd_vma, disassemble_info *);
extern int print_insn_h8300 (bfd_vma, disassemble_info *);
299,6 → 300,7
extern int print_insn_z8001 (bfd_vma, disassemble_info *);
extern int print_insn_z8002 (bfd_vma, disassemble_info *);
extern int print_insn_rx (bfd_vma, disassemble_info *);
extern int print_insn_rl78 (bfd_vma, disassemble_info *);
 
extern disassembler_ftype arc_get_disassembler (void *);
extern disassembler_ftype cris_get_disassembler (bfd *);
/timeval-utils.h
0,0 → 1,40
/* Basic struct timeval utilities.
Copyright (C) 2011 Free Software Foundation, Inc.
 
This file is part of the libiberty library.
Libiberty is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
 
Libiberty is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
 
You should have received a copy of the GNU Library General Public
License along with libiberty; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
Boston, MA 02110-1301, USA. */
 
#ifndef TIMEVAL_UTILS_H
#define TIMEVAL_UTILS_H
 
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
 
/* forward decl */
struct timeval;
 
extern void timeval_add (struct timeval *result,
const struct timeval *a, const struct timeval *b);
 
extern void timeval_sub (struct timeval *result,
const struct timeval *a, const struct timeval *b);
 
#ifdef __cplusplus
}
#endif /* __cplusplus */
 
#endif /* TIMEVAL_UTILS_H */
/ChangeLog
1,3 → 1,57
2011-11-07 Richard Henderson <rth@redhat.com>
 
Merged from transactional-memory.
 
* demangle.h (enum gnu_v3_ctor_kinds): Add gnu_v3_object_ctor_group.
(enum gnu_v3_dtor_kinds): Add gnu_v3_object_dtor_group.
(DEMANGLE_COMPONENT_TRANSACTION_CLONE): New.
(DEMANGLE_COMPONENT_NONTRANSACTION_CLONE): New.
 
2011-11-01 DJ Delorie <dj@redhat.com>
 
* dis-asm.h (print_insn_rl78): Declare.
 
2011-10-25 Joern Rennecke <joern.rennecke@embecosm.com>
 
* dis-asm.h (print_insn_epiphany): Declare.
 
2011-10-21 Ulrich Drepper <drepper@gmail.com>
 
* obstack.h [!GNUC] (obstack_free): Avoid cast to int.
 
2011-10-21 Marc Glisse <marc.glisse@inria.fr>
 
* ansidecl.h (ENUM_BITFIELD): Always use enum in C++
 
2011-10-19 Alan Modra <amodra@gmail.com>
 
PR ld/13254
* bfdlink.h (struct bfd_link_info): Add error_textrel.
 
2011-09-28 Doug Evans <dje@google.com>
 
* timeval-utils.h: New file.
 
* libiberty.h (countargv): Declare.
 
2011-09-26 Cary Coutant <ccoutant@google.com>
 
gcc PR lto/47247
* plugin-api.h (enum ld_plugin_symbol_resolution): Add
LDPR_PREVAILING_DEF_IRONLY_EXP.
(enum ld_plugin_tag): Add LDPT_GET_SYMBOLS_V2.
 
2011-09-23 Cary Coutant <ccoutant@google.com>
 
PR 40831
* demangle.h (enum demangle_component_type): Add
DEMANGLE_COMPONENT_CLONE.
 
2011-09-15 H.J. Lu <hongjiu.lu@intel.com>
 
PR ld/12975
* bfdlink.h (bfd_link_info): Add version_info.
 
2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
 
* xregex.h (regoff_t): Define.
/plugin-api.h
155,7 → 155,13
LDPR_RESOLVED_EXEC,
 
/* This symbol was resolved by a definition in a shared object. */
LDPR_RESOLVED_DYN
LDPR_RESOLVED_DYN,
 
/* This is the prevailing definition of the symbol, with no
references from regular objects. It is only referenced from IR
code, but the symbol is exported and may be referenced from
a dynamic object (not seen at link time). */
LDPR_PREVAILING_DEF_IRONLY_EXP
};
 
/* The plugin library's "claim file" handler. */
347,7 → 353,8
LDPT_GET_INPUT_SECTION_NAME,
LDPT_GET_INPUT_SECTION_CONTENTS,
LDPT_UPDATE_SECTION_ORDER,
LDPT_ALLOW_SECTION_ORDERING
LDPT_ALLOW_SECTION_ORDERING,
LDPT_GET_SYMBOLS_V2
};
 
/* The plugin transfer vector. */
/bfdlink.h
245,6 → 245,7
};
 
struct bfd_elf_dynamic_list;
struct bfd_elf_version_tree;
 
/* This structure holds all the information needed to communicate
between BFD and the linker when doing a link. */
336,6 → 337,9
/* TRUE if we should warn when adding a DT_TEXTREL to a shared object. */
unsigned int warn_shared_textrel: 1;
 
/* TRUE if we should error when adding a DT_TEXTREL. */
unsigned int error_textrel: 1;
 
/* TRUE if .hash section should be created. */
unsigned int emit_hash: 1;
 
496,6 → 500,9
 
/* List of symbols should be dynamic. */
struct bfd_elf_dynamic_list *dynamic_list;
 
/* The version information. */
struct bfd_elf_version_tree *version_info;
};
 
/* This structures holds a set of callback functions. These are called
/demangle.h
172,7 → 172,8
enum gnu_v3_ctor_kinds {
gnu_v3_complete_object_ctor = 1,
gnu_v3_base_object_ctor,
gnu_v3_complete_object_allocating_ctor
gnu_v3_complete_object_allocating_ctor,
gnu_v3_object_ctor_group
};
 
/* Return non-zero iff NAME is the mangled form of a constructor name
186,7 → 187,8
enum gnu_v3_dtor_kinds {
gnu_v3_deleting_dtor = 1,
gnu_v3_complete_object_dtor,
gnu_v3_base_object_dtor
gnu_v3_base_object_dtor,
gnu_v3_object_dtor_group
};
 
/* Return non-zero iff NAME is the mangled form of a destructor name
401,8 → 403,17
DEMANGLE_COMPONENT_DEFAULT_ARG,
/* An unnamed type. */
DEMANGLE_COMPONENT_UNNAMED_TYPE,
/* A transactional clone. This has one subtree, the encoding for
which it is providing alternative linkage. */
DEMANGLE_COMPONENT_TRANSACTION_CLONE,
/* A non-transactional clone entry point. In the i386/x86_64 abi,
the unmangled symbol of a tm_callable becomes a thunk and the
non-transactional function version is mangled thus. */
DEMANGLE_COMPONENT_NONTRANSACTION_CLONE,
/* A pack expansion. */
DEMANGLE_COMPONENT_PACK_EXPANSION
DEMANGLE_COMPONENT_PACK_EXPANSION,
/* A cloned function. */
DEMANGLE_COMPONENT_CLONE
};
 
/* Types which are only used internally. */
/elf/rx.h
116,7 → 116,8
 
/* Values for the e_flags field in the ELF header. */
#define E_FLAG_RX_64BIT_DOUBLES (1 << 0)
#define E_FLAG_RX_DSP (1 << 1) /* Defined in the RX CPU Object file specification, but not explained. */
#define E_FLAG_RX_DSP (1 << 1) /* Defined in the RX CPU Object file specification, but not explained. */
#define E_FLAG_RX_PID (1 << 2) /* Unofficial - DJ */
 
/* These define the addend field of R_RX_RH_RELAX relocations. */
#define RX_RELAXA_IMM6 0x00000010 /* Imm8/16/24/32 at bit offset 6. */
/elf/rl78.h
0,0 → 1,118
/* RL78 ELF support for BFD.
Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
 
This file is part of BFD, the Binary File Descriptor library.
 
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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
 
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
 
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
 
#ifndef _ELF_RL78_H
#define _ELF_RL78_H
 
#include "elf/reloc-macros.h"
 
/* Note that there are a few internal relocation types used by the
linker to do link-time relaxation. If you update this file, please
check elf32-rl78.c to see if any of the internal relocations need to
be, er, relocated. */
 
/* Preliminary relocations. */
START_RELOC_NUMBERS (elf_rl78_reloc_type)
 
RELOC_NUMBER (R_RL78_NONE, 0x00)
/* These are for data, and are bi-endian. */
RELOC_NUMBER (R_RL78_DIR32, 0x01) /* Was: R_RL78_32. */
RELOC_NUMBER (R_RL78_DIR24S, 0x02) /* Was: R_RL78_24. */
RELOC_NUMBER (R_RL78_DIR16, 0x03)
RELOC_NUMBER (R_RL78_DIR16U, 0x04) /* Was: R_RL78_16_UNS. */
RELOC_NUMBER (R_RL78_DIR16S, 0x05) /* Was: R_RL78_16. */
RELOC_NUMBER (R_RL78_DIR8, 0x06)
RELOC_NUMBER (R_RL78_DIR8U, 0x07) /* Was: R_RL78_8_UNS. */
RELOC_NUMBER (R_RL78_DIR8S, 0x08) /* Was: R_RL78_8. */
 
/* Signed pc-relative values. */
RELOC_NUMBER (R_RL78_DIR24S_PCREL, 0x09) /* Was: R_RL78_24_PCREL. */
RELOC_NUMBER (R_RL78_DIR16S_PCREL, 0x0a) /* Was: R_RL78_16_PCREL. */
RELOC_NUMBER (R_RL78_DIR8S_PCREL, 0x0b) /* Was: R_RL78_8_PCREL. */
 
/* These are for fields in the instructions. */
RELOC_NUMBER (R_RL78_DIR16UL, 0x0c)
RELOC_NUMBER (R_RL78_DIR16UW, 0x0d)
RELOC_NUMBER (R_RL78_DIR8UL, 0x0e)
RELOC_NUMBER (R_RL78_DIR8UW, 0x0f)
RELOC_NUMBER (R_RL78_DIR32_REV, 0x10)
RELOC_NUMBER (R_RL78_DIR16_REV, 0x11)
RELOC_NUMBER (R_RL78_DIR3U_PCREL, 0x12)
 
/* These are for complex relocs. */
RELOC_NUMBER (R_RL78_ABS32, 0x41)
RELOC_NUMBER (R_RL78_ABS24S, 0x42)
RELOC_NUMBER (R_RL78_ABS16, 0x43)
RELOC_NUMBER (R_RL78_ABS16U, 0x44)
RELOC_NUMBER (R_RL78_ABS16S, 0x45)
RELOC_NUMBER (R_RL78_ABS8, 0x46)
RELOC_NUMBER (R_RL78_ABS8U, 0x47)
RELOC_NUMBER (R_RL78_ABS8S, 0x48)
RELOC_NUMBER (R_RL78_ABS24S_PCREL, 0x49)
RELOC_NUMBER (R_RL78_ABS16S_PCREL, 0x4a)
RELOC_NUMBER (R_RL78_ABS8S_PCREL, 0x4b)
RELOC_NUMBER (R_RL78_ABS16UL, 0x4c)
RELOC_NUMBER (R_RL78_ABS16UW, 0x4d)
RELOC_NUMBER (R_RL78_ABS8UL, 0x4e)
RELOC_NUMBER (R_RL78_ABS8UW, 0x4f)
RELOC_NUMBER (R_RL78_ABS32_REV, 0x50)
RELOC_NUMBER (R_RL78_ABS16_REV, 0x51)
 
RELOC_NUMBER (R_RL78_SYM, 0x80)
RELOC_NUMBER (R_RL78_OPneg, 0x81)
RELOC_NUMBER (R_RL78_OPadd, 0x82)
RELOC_NUMBER (R_RL78_OPsub, 0x83)
RELOC_NUMBER (R_RL78_OPmul, 0x84)
RELOC_NUMBER (R_RL78_OPdiv, 0x85)
RELOC_NUMBER (R_RL78_OPshla, 0x86)
RELOC_NUMBER (R_RL78_OPshra, 0x87)
RELOC_NUMBER (R_RL78_OPsctsize, 0x88)
RELOC_NUMBER (R_RL78_OPscttop, 0x8d)
RELOC_NUMBER (R_RL78_OPand, 0x90)
RELOC_NUMBER (R_RL78_OPor, 0x91)
RELOC_NUMBER (R_RL78_OPxor, 0x92)
RELOC_NUMBER (R_RL78_OPnot, 0x93)
RELOC_NUMBER (R_RL78_OPmod, 0x94)
RELOC_NUMBER (R_RL78_OPromtop, 0x95)
RELOC_NUMBER (R_RL78_OPramtop, 0x96)
 
END_RELOC_NUMBERS (R_RL78_max)
 
#define EF_RL78_CPU_RL78 0x00000079 /* FIXME: correct value? */
#define EF_RL78_CPU_MASK 0x0000007F /* specific cpu bits. */
#define EF_RL78_ALL_FLAGS (EF_RL78_CPU_MASK)
 
/* Values for the e_flags field in the ELF header. */
#define E_FLAG_RL78_64BIT_DOUBLES (1 << 0)
#define E_FLAG_RL78_DSP (1 << 1) /* Defined in the RL78 CPU Object file specification, but not explained. */
 
/* These define the addend field of R_RL78_RH_RELAX relocations. */
#define RL78_RELAXA_IMM6 0x00000010 /* Imm8/16/24/32 at bit offset 6. */
#define RL78_RELAXA_IMM12 0x00000020 /* Imm8/16/24/32 at bit offset 12. */
#define RL78_RELAXA_DSP4 0x00000040 /* Dsp0/8/16 at bit offset 4. */
#define RL78_RELAXA_DSP6 0x00000080 /* Dsp0/8/16 at bit offset 6. */
#define RL78_RELAXA_DSP14 0x00000100 /* Dsp0/8/16 at bit offset 14. */
#define RL78_RELAXA_BRA 0x00000200 /* Any type of branch (must be decoded). */
#define RL78_RELAXA_RNUM 0x0000000f /* Number of associated relocations. */
/* These mark the place where alignment is requested, and the place where the filler bytes end. */
#define RL78_RELAXA_ALIGN 0x10000000 /* Start alignment; the remaining bits are the alignment value. */
#define RL78_RELAXA_ELIGN 0x20000000 /* End alignment; the remaining bits are the alignment value. */
#define RL78_RELAXA_ANUM 0x00ffffff /* Alignment amount, in bytes (i.e. .balign). */
 
#endif /* _ELF_RL78_H */
/elf/ChangeLog
1,3 → 1,26
2011-11-01 DJ Delorie <dj@redhat.com>
 
* common.h (EM_RL78, EM_78K0R): New.
* rl78.h: New.
 
2011-10-25 Joern Rennecke <joern.rennecke@embecosm.com>
 
* epiphany.h: New file.
* common.h (EM_ADAPTEVA_EPIPHANY): Define.
 
2011-10-10 Alan Modra <amodra@gmail.com>
 
* ppc64.h (R_PPC64_TOCSAVE): Add.
 
2011-10-05 DJ Delorie <dj@redhat.com>
 
* rx.h (E_FLAG_RX_PID): New.
 
2011-09-21 David S. Miller <davem@davemloft.net>
 
* sparc.h (Tag_GNU_Sparc_HWCAPS): New object attribute.
(ELF_SPARC_HWCAP_*): New HWCAPS bitmask values.
 
2011-08-12 H.J. Lu <hongjiu.lu@intel.com>
 
PR ld/13082
/elf/sparc.h
1,5 → 1,6
/* SPARC ELF support for BFD.
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2008, 2010
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2008, 2010,
2011
Free Software Foundation, Inc.
By Doug Evans, Cygnus Support, <dje@cygnus.com>.
 
185,4 → 186,31
 
#define DT_SPARC_REGISTER 0x70000001
 
/* Object attribute tags. */
enum
{
/* 0-3 are generic. */
Tag_GNU_Sparc_HWCAPS = 4,
};
 
/* These values match the AV_SPARC_* hwcap bits defined under Solaris. */
#define ELF_SPARC_HWCAP_MUL32 0x00000001 /* umul/umulcc/smul/smulcc insns */
#define ELF_SPARC_HWCAP_DIV32 0x00000002 /* udiv/udivcc/sdiv/sdivcc insns */
#define ELF_SPARC_HWCAP_FSMULD 0x00000004 /* 'fsmuld' insn */
#define ELF_SPARC_HWCAP_V8PLUS 0x00000008 /* v9 insns available to 32bit */
#define ELF_SPARC_HWCAP_POPC 0x00000010 /* 'popc' insn */
#define ELF_SPARC_HWCAP_VIS 0x00000020 /* VIS insns */
#define ELF_SPARC_HWCAP_VIS2 0x00000040 /* VIS2 insns */
#define ELF_SPARC_HWCAP_ASI_BLK_INIT \
0x00000080 /* block init ASIs */
#define ELF_SPARC_HWCAP_FMAF 0x00000100 /* fused multiply-add */
#define ELF_SPARC_HWCAP_VIS3 0x00000400 /* VIS3 insns */
#define ELF_SPARC_HWCAP_HPC 0x00000800 /* HPC insns */
#define ELF_SPARC_HWCAP_RANDOM 0x00001000 /* 'random' insn */
#define ELF_SPARC_HWCAP_TRANS 0x00002000 /* transaction insns */
#define ELF_SPARC_HWCAP_FJFMAU 0x00004000 /* unfused multiply-add */
#define ELF_SPARC_HWCAP_IMA 0x00008000 /* integer multiply-add */
#define ELF_SPARC_HWCAP_ASI_CACHE_SPARING \
0x00010000 /* cache sparing ASIs */
 
#endif /* _ELF_SPARC_H */
/elf/epiphany.h
0,0 → 1,59
/* Adapteva EPIPHANY ELF support for BFD.
Copyright (C) 2009, 2011 Free Software Foundation, Inc.
Contributed by Embecosm on behalf of Adapteva, Inc.
 
This file is part of BFD, the Binary File Descriptor library.
 
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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
 
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
 
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
 
#ifndef _ELF_EPIPHANY_H
#define _ELF_EPIPHANY_H
 
#include "elf/reloc-macros.h"
 
/* Relocations. */
START_RELOC_NUMBERS (elf_epiphany_reloc_type)
RELOC_NUMBER (R_EPIPHANY_NONE, 0)
 
/* Absolute address relocations. */
RELOC_NUMBER (R_EPIPHANY_8, 1)
RELOC_NUMBER (R_EPIPHANY_16, 2)
RELOC_NUMBER (R_EPIPHANY_32, 3)
 
/* PC-relative relocations. */
RELOC_NUMBER (R_EPIPHANY_8_PCREL, 4)
RELOC_NUMBER (R_EPIPHANY_16_PCREL,5)
RELOC_NUMBER (R_EPIPHANY_32_PCREL,6)
 
/* special forms for 8/24 bit branch displacements. */
RELOC_NUMBER (R_EPIPHANY_SIMM8, 7)
RELOC_NUMBER (R_EPIPHANY_SIMM24, 8)
 
/* HIGH and LOW relocations taking part of a 32 bit address and
depositing it into the IMM16 field of a destination. */
RELOC_NUMBER (R_EPIPHANY_HIGH, 9)
RELOC_NUMBER (R_EPIPHANY_LOW,10)
 
/* 11 bit signed immediate value. */
RELOC_NUMBER (R_EPIPHANY_SIMM11, 11)
/* 11 bit magnitude addressing displacement. */
RELOC_NUMBER (R_EPIPHANY_IMM11, 12)
 
/* 8 bit immediate for MOV.S R,IMM8. */
RELOC_NUMBER (R_EPIPHANY_IMM8, 13)
 
END_RELOC_NUMBERS(R_EPIPHANY_max)
 
#endif /* _ELF_EPIPHANY_H */
elf/epiphany.h Property changes : Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Index: elf/ppc64.h =================================================================== --- elf/ppc64.h (revision 161) +++ elf/ppc64.h (revision 163) @@ -1,5 +1,5 @@ /* PPC64 ELF support for BFD. - Copyright 2003, 2005, 2009, 2010 Free Software Foundation, Inc. + Copyright 2003, 2005, 2009, 2010, 2011 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -139,6 +139,7 @@ RELOC_NUMBER (R_PPC64_DTPREL16_HIGHESTA, 106) RELOC_NUMBER (R_PPC64_TLSGD, 107) RELOC_NUMBER (R_PPC64_TLSLD, 108) + RELOC_NUMBER (R_PPC64_TOCSAVE, 109) #ifndef RELOC_MACROS_GEN_FUNC /* Fake relocation only used internally by ld. */
/elf/common.h
297,6 → 297,8
#define EM_CUDA 190 /* NVIDIA CUDA architecture */
#define EM_TILEGX 191 /* Tilera TILE-Gx multicore architecture family */
#define EM_OPEN8 196 /* Open8/ARClite/V8 architecture. */
#define EM_RL78 197 /* Renesas RL78 family. */
#define EM_78K0R 199 /* Renesas 78K0R. */
 
/* If it is necessary to assign new unofficial EM_* values, please pick large
random numbers (0x8523, 0xa7f2, etc.) to minimize the chances of collision
402,6 → 404,8
 
#define EM_MICROBLAZE_OLD 0xbaab /* Old MicroBlaze */
 
#define EM_ADAPTEVA_EPIPHANY 0x1223 /* Adapteva's Epiphany architecture. */
 
/* See the above comment before you add a new EM_* value here. */
 
/* Values for e_version. */
/ansidecl.h
416,10 → 416,12
#define EXPORTED_CONST const
#endif
 
/* Be conservative and only use enum bitfields with GCC.
/* Be conservative and only use enum bitfields with C++ or GCC.
FIXME: provide a complete autoconf test for buggy enum bitfields. */
 
#if (GCC_VERSION > 2000)
#ifdef __cplusplus
#define ENUM_BITFIELD(TYPE) enum TYPE
#elif (GCC_VERSION > 2000)
#define ENUM_BITFIELD(TYPE) __extension__ enum TYPE
#else
#define ENUM_BITFIELD(TYPE) unsigned int
/opcode/rl78.h
0,0 → 1,168
/* Opcode decoder for the Renesas RL78
Copyright 2011
Free Software Foundation, Inc.
Written by DJ Delorie <dj@redhat.com>
 
This file is part of GDB, the GNU Debugger and GAS, the GNU Assembler.
 
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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
 
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
 
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
02110-1301, USA. */
 
/* The RL78 decoder in libopcodes is used by the simulator, gdb's
analyzer, and the disassembler. Given an opcode data source, it
decodes the next opcode into the following structures. */
 
#ifndef RL78_OPCODES_H_INCLUDED
#define RL78_OPCODES_H_INCLUDED
 
/* For the purposes of these structures, the RL78 registers are as
follows, despite most of these being memory-mapped and
bank-switched: */
typedef enum {
RL78_Reg_None,
/* The order of these matches the encodings. */
RL78_Reg_X,
RL78_Reg_A,
RL78_Reg_C,
RL78_Reg_B,
RL78_Reg_E,
RL78_Reg_D,
RL78_Reg_L,
RL78_Reg_H,
/* The order of these matches the encodings. */
RL78_Reg_AX,
RL78_Reg_BC,
RL78_Reg_DE,
RL78_Reg_HL,
/* Unordered. */
RL78_Reg_SP,
RL78_Reg_PSW,
RL78_Reg_CS,
RL78_Reg_ES,
RL78_Reg_PMC,
RL78_Reg_MEM
} RL78_Register;
 
typedef enum
{
RL78_Byte = 0,
RL78_Word
} RL78_Size;
 
typedef enum {
RL78_Condition_T,
RL78_Condition_F,
RL78_Condition_C,
RL78_Condition_NC,
RL78_Condition_H,
RL78_Condition_NH,
RL78_Condition_Z,
RL78_Condition_NZ
} RL78_Condition;
 
typedef enum {
RL78_Operand_None = 0,
RL78_Operand_Immediate, /* #addend */
RL78_Operand_Register, /* reg */
RL78_Operand_Indirect, /* [reg + reg2 + addend] */
RL78_Operand_Bit, /* reg.bit */
RL78_Operand_BitIndirect, /* [reg+reg2+addend].bit */
RL78_Operand_PreDec, /* [--reg] = push */
RL78_Operand_PostInc /* [reg++] = pop */
} RL78_Operand_Type;
 
typedef enum
{
RLO_unknown,
RLO_add, /* d += s */
RLO_addc, /* d += s + CY */
RLO_and, /* d &= s (byte, word, bit) */
RLO_branch, /* pc = d */
RLO_branch_cond, /* pc = d if cond(src) */
RLO_branch_cond_clear, /* pc = d if cond(src), and clear(src) */
RLO_break, /* BRK */
RLO_call, /* call */
RLO_cmp, /* cmp d, s */
RLO_divhu, /* DIVHU */
RLO_divwu, /* DIVWU */
RLO_halt, /* HALT */
RLO_mov, /* d = s */
RLO_mach, /* MACH */
RLO_machu, /* MACHU */
RLO_mulu, /* MULU */
RLO_mulh, /* MULH */
RLO_mulhu, /* MULHU */
RLO_nop, /* NOP */
RLO_or, /* d |= s */
RLO_ret, /* RET */
RLO_reti, /* RETI */
RLO_rol, /* d <<= s, MSB to LSB and CY */
RLO_rolc, /* d <<= s, MSB to CY, CY, to LSB */
RLO_ror, /* d >>= s, LSB to MSB and CY */
RLO_rorc, /* d >>= s, LSB to CY, CY, to MSB */
RLO_sar, /* d >>= s, signed */
RLO_sel, /* rb = s */
RLO_shr, /* d >>= s, unsigned */
RLO_shl, /* d <<= s */
RLO_skip, /* skip next insn is cond(s) */
RLO_stop, /* STOP */
RLO_sub, /* d -= s */
RLO_subc, /* d -= s - CY */
RLO_xch, /* swap d, s */
RLO_xor, /* d ^= s */
} RL78_Opcode_ID;
 
typedef struct {
RL78_Operand_Type type;
int addend;
RL78_Register reg : 8;
RL78_Register reg2 : 8;
unsigned char bit_number : 4;
unsigned char condition : 3;
unsigned char use_es : 1;
} RL78_Opcode_Operand;
 
/* PSW flag bits */
#define RL78_PSW_IE 0x80
#define RL78_PSW_Z 0x40
#define RL78_PSW_RBS1 0x20
#define RL78_PSW_AC 0x10
#define RL78_PSW_RBS0 0x08
#define RL78_PSW_ISP1 0x04
#define RL78_PSW_ISP0 0x02
#define RL78_PSW_CY 0x01
 
#define RL78_SFR_SP 0xffff8
#define RL78_SFR_PSW 0xffffa
#define RL78_SFR_CS 0xffffc
#define RL78_SFR_ES 0xffffd
#define RL78_SFR_PMC 0xffffe
#define RL78_SFR_MEM 0xfffff
 
typedef struct
{
int lineno;
RL78_Opcode_ID id:24;
unsigned flags:8; /* PSW mask, for side effects only */
int n_bytes;
char * syntax;
RL78_Size size;
/* By convention, these are destination, source. */
RL78_Opcode_Operand op[2];
} RL78_Opcode_Decoded;
 
int rl78_decode_opcode (unsigned long, RL78_Opcode_Decoded *, int (*)(void *), void *);
 
#endif
/opcode/ChangeLog
1,3 → 1,18
2011-11-01 DJ Delorie <dj@redhat.com>
 
* rl78.h: New file.
 
2011-10-24 Maciej W. Rozycki <macro@codesourcery.com>
 
* mips.h: Fix a typo in description.
 
2011-09-21 David S. Miller <davem@davemloft.net>
 
* sparc.h (struct sparc_opcode): Expand 'flags' to unsigned int.
(F_MUL32, F_DIV32, F_FSMULD, F_V8PLUS, F_POPC, F_VIS, F_VIS2,
F_ASI_BLK_INIT, F_FMAF, F_VIS3, F_HPC, F_RANDOM, F_TRANS,
F_FJFMAU, F_IMA, F_ASI_CACHE_SPARING): New flag bits.
 
2011-08-09 Chao-ying Fu <fu@mips.com>
Maciej W. Rozycki <macro@codesourcery.com>
 
/opcode/mips.h
1616,7 → 1616,7
"c" 10-bit higher breakpoint code (MICROMIPSOP_*_CODE)
"d" 5-bit destination register specifier (MICROMIPSOP_*_RD)
"h" 5-bit PREFX hint (MICROMIPSOP_*_PREFX)
"i" 16 bit unsigned immediate (MICROMIPSOP_*_IMMEDIATE)
"i" 16-bit unsigned immediate (MICROMIPSOP_*_IMMEDIATE)
"j" 16-bit signed immediate (MICROMIPSOP_*_DELTA)
"k" 5-bit cache opcode in target register position (MICROMIPSOP_*_CACHE)
"n" register list for 32-bit LWM/SWM instruction (MICROMIPSOP_*_RT)
/opcode/sparc.h
1,6 → 1,6
/* Definitions for opcode table for the sparc.
Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 2000, 2002,
2003, 2005, 2010 Free Software Foundation, Inc.
2003, 2005, 2010, 2011 Free Software Foundation, Inc.
 
This file is part of GAS, the GNU Assembler, GDB, the GNU debugger, and
the GNU Binutils.
98,19 → 98,38
unsigned long lose; /* Bits that must not be set. */
const char *args;
/* This was called "delayed" in versions before the flags. */
char flags;
unsigned int flags;
short architecture; /* Bitmask of sparc_opcode_arch_val's. */
} sparc_opcode;
 
#define F_DELAYED 1 /* Delayed branch. */
#define F_ALIAS 2 /* Alias for a "real" instruction. */
#define F_UNBR 4 /* Unconditional branch. */
#define F_CONDBR 8 /* Conditional branch. */
#define F_JSR 16 /* Subroutine call. */
#define F_FLOAT 32 /* Floating point instruction (not a branch). */
#define F_FBR 64 /* Floating point branch. */
/* FIXME: Add F_ANACHRONISTIC flag for v9. */
#define F_DELAYED 0x00000001 /* Delayed branch. */
#define F_ALIAS 0x00000002 /* Alias for a "real" instruction. */
#define F_UNBR 0x00000004 /* Unconditional branch. */
#define F_CONDBR 0x00000008 /* Conditional branch. */
#define F_JSR 0x00000010 /* Subroutine call. */
#define F_FLOAT 0x00000020 /* Floating point instruction (not a branch). */
#define F_FBR 0x00000040 /* Floating point branch. */
#define F_MUL32 0x00000100 /* umul/umulcc/smul/smulcc insns */
#define F_DIV32 0x00000200 /* udiv/udivcc/sdiv/sdivcc insns */
#define F_FSMULD 0x00000400 /* 'fsmuld' insn */
#define F_V8PLUS 0x00000800 /* v9 insns available to 32bit */
#define F_POPC 0x00001000 /* 'popc' insn */
#define F_VIS 0x00002000 /* VIS insns */
#define F_VIS2 0x00004000 /* VIS2 insns */
#define F_ASI_BLK_INIT 0x00008000 /* block init ASIs */
#define F_FMAF 0x00010000 /* fused multiply-add */
#define F_VIS3 0x00020000 /* VIS3 insns */
#define F_HPC 0x00040000 /* HPC insns */
#define F_RANDOM 0x00080000 /* 'random' insn */
#define F_TRANS 0x00100000 /* transaction insns */
#define F_FJFMAU 0x00200000 /* unfused multiply-add */
#define F_IMA 0x00400000 /* integer multiply-add */
#define F_ASI_CACHE_SPARING \
0x00800000 /* cache sparing ASIs */
 
#define F_HWCAP_MASK 0x00ffff00
 
/* All sparc opcodes are 32 bits, except for the `set' instruction (really a
macro), which is 64 bits. It is handled as a special case.
 
/libiberty.h
91,6 → 91,10
 
extern int writeargv PARAMS ((char **, FILE *));
 
/* Return the number of elements in argv. */
 
extern int countargv (char**);
 
/* Return the last component of a path name. Note that we can't use a
prototype here because the parameter is declared inconsistently
across different systems, sometimes as "char *" and sometimes as

powered by: WebSVN 2.1.0

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