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 |