diff options
author | obrien <obrien@FreeBSD.org> | 2004-06-16 05:45:41 +0000 |
---|---|---|
committer | obrien <obrien@FreeBSD.org> | 2004-06-16 05:45:41 +0000 |
commit | 2504df11e1275f63f4c53377bf91eee996360cb5 (patch) | |
tree | 04848ae93445e503c4190ca1748abe15eabc9e11 /contrib/binutils/include | |
parent | 6b4c52b743ec5e2e9f65d42b517feefad5017901 (diff) | |
download | FreeBSD-src-2504df11e1275f63f4c53377bf91eee996360cb5.zip FreeBSD-src-2504df11e1275f63f4c53377bf91eee996360cb5.tar.gz |
Import of Binutils from the FSF 2.15 branch (just post-.0 release).
These bits are taken from the FSF anoncvs repo on 23-May-2004 04:41:00 UTC.
Diffstat (limited to 'contrib/binutils/include')
66 files changed, 10926 insertions, 7158 deletions
diff --git a/contrib/binutils/include/ChangeLog b/contrib/binutils/include/ChangeLog index 2353d99..9ea1d2a 100644 --- a/contrib/binutils/include/ChangeLog +++ b/contrib/binutils/include/ChangeLog @@ -1,38 +1,191 @@ -2002-10-28 Daniel Jacobowitz <drow@mvista.com> +2004-04-08 Alan Modra <amodra@bigpond.net.au> - Merge from mainline: - 2002-10-24 Nathan Tallent <eraxxon@alumni.rice.edu> - * ansidecl.h (__STDC__): Add (__alpha && __cplusplus) to the - list of platform compilers that may look, smell and act - like __STDC__ but that may not define it. + Apply from mainline. + 2004-03-20 H.J. Lu <hongjiu.lu@intel.com> + * bfdlink.h (bfd_link_info): Correct comments for the + unresolved_syms_in_objects field. + +2004-03-23 Alan Modra <amodra@bigpond.net.au> + + PR 51. + * bfdlink.h (struct bfd_link_info): Add wrap_char. + +2004-01-12 Ian Lance Taylor <ian@wasabisystems.com> + + * demangle.h: Instead of checking ANSI_PROTOTYPES, just include + "libiberty.h". + + * demangle.h: If ANSI_PROTOTYPES is defined, include <stddef.h>. + + * demangle.h (enum demangle_component_type): Define. + (struct demangle_operator_info): Declare. + (struct demangle_builtin_type_info): Declare. + (struct demangle_component): Define. + (cplus_demangle_fill_component): Declare. + (cplus_demangle_fill_name): Declare. + (cplus_demangle_fill_builtin_type): Declare. + (cplus_demangle_fill_operator): Declare. + (cplus_demangle_fill_extended_operator): Declare. + (cplus_demangle_fill_ctor, cplus_demangle_fill_dtor): Declare. + (cplus_demangle_v3_components): Declare. + (cplus_demangle_print): Declare. + +2003-12-19 Andreas Tobler <a.tobler@schweiz.ch> + + * include/fibheap.h (fibnode): Use __extension__ for + bit-fields mark and degree if __GNUC__. + +2003-12-18 Kazu Hirata <kazu@cs.umass.edu> + + * include/fibheap.h (fibnode): Use unsigned long int for + bit-fields if __GNUC__ is defined. + +2003-10-22 Joseph S. Myers <jsm@polyomino.org.uk> + + * obstack.h: Merge the following change from gnulib: + 2003-10-21 Paul Eggert <eggert@twinsun.com> + * obstack.h (obstack_1grow_fast): Properly parenthesize arg. + (obstack_ptr_grow_fast, obstack_int_grow_fast): + Don't use lvalue casts, as GCC plans to remove support for them + in GCC 3.5. Reported by Joseph S. Myers. This bug + was also present in the non-GCC version, indicating that this + code had always been buggy and had never been widely used. + (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank): + Use the fast variant of each macro, rather than copying the + definiens of the fast variant; that way, we'll be more likely to + catch future bugs in the fast variants. + +2003-09-22 Andrew Cagney <cagney@redhat.com> + + * floatformat.h (struct floatformat): Add field "is_valid". + +2003-09-15 Andrew Cagney <cagney@redhat.com> + + * floatformat.h (floatformat_to_double): Make input buffer constant. + (floatformat_from_double, floatformat_is_valid): Ditto. + +2003-09-15 Andrew Cagney <cagney@redhat.com> + + * floatformat.h (struct floatformat): Make "exp_bias" signed. + +2003-09-15 Daniel Jacobowitz <drow@mvista.com> + + * floatformat.h (floatformat_is_valid): Add prototype. + +2003-07-09 Bob Wilson <bob.wilson@acm.org> + + * xtensa-config.h: Undef all macros before defining them. + +2003-07-06 H.J. Lu <hongjiu.lu@intel.com> + + * demangle.h: Support C++. + +2003-07-01 Zack Weinberg <zack@codesourcery.com> + + * filenames.h: New file imported from binutils. + +2003-06-30 Bob Wilson <bob.wilson@acm.org> + + * xtensa-config.h: New file imported from binutils. -2002-09-23 Daniel Jacobowitz <drow@mvista.com> +2003-06-22 Zack Weinberg <zack@codesourcery.com> - Merge from mainline: - 2002-09-19 Jakub Jelinek <jakub@redhat.com> - * elf/i386.h (R_386_TLS_TPOFF, R_386_TLS_IE, R_386_TLS_GOTIE): - Define. + * safe-ctype.h (HC_UNKNOWN, HC_ASCII, HC_EBCDIC): Rename to + HOST_CHARSET_UNKNOWN, HOST_CHARSET_ASCII, HOST_CHARSET_EBCDIC + respectively. - 2002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu> - * dis-asm.h: Remove (errant) trailing semicolon (;) from the - extern "C" { } declaration. +2003-06-21 Zack Weinberg <zack@codesourcery.com> - 2002-09-04 Nick Clifton <nickc@redhat.com> - * dis-asm.h (print_ppc_disassembler_options): Prototype. + * safe-ctype.h (HC_UNKNOWN, HC_ASCII, HC_EBCDIC, HOST_CHARSET): + New #defines. - 2002-08-06 H.J. Lu <hjl@gnu.org> - * bfdlink.h (bfd_link_info): Add allow_undefined_version. - (bfd_elf_version_expr): Add symver and script. +2003-06-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * ansidecl.h: Delete HAVE_LONG_DOUBLE GCC bootstrap support. + +2003-05-15 Jim Blandy <jimb@redhat.com> + + * libiberty.h (hex_value): Make the value an unsigned int, to + avoid unexpected sign-extension when cast to unsigned types larger + than int --- like bfd_vma, on some platforms. + (_hex_value): Update declaration. + +2003-05-07 Jason Merrill <jason@redhat.com> + + * hashtab.h (iterative_hash): Prototype. + (iterative_hash_object): New macro. + +2003-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * ansidecl.h (ATTRIBUTE_NONNULL, ATTRIBUTE_NULL_PRINTF, + ATTRIBUTE_NULL_PRINTF_1, ATTRIBUTE_NULL_PRINTF_2, + ATTRIBUTE_NULL_PRINTF_3, ATTRIBUTE_NULL_PRINTF_4, + ATTRIBUTE_NULL_PRINTF_5): New. + (ATTRIBUTE_PRINTF): Add ATTRIBUTE_NONNULL. + +2003-03-17 Jan Hubicka <jh@suse.cz> + + * hashtab.h (htab_traverse_noresize): Declare. + +2003-02-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * libiberty.h: Document return value of physmem routines. + +2003-02-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * libiberty.h (physmem_total, physmem_available): Prototype. + +2003-02-20 Daniel Jacobowitz <drow@mvista.com> + + * libiberty.h (lrealpath): Add declaration. + +2003-01-26 Daniel Jacobowitz <drow@mvista.com> + + * hashtab.h (htab_alloc_with_arg, htab_free_with_arg): Add new types. + (struct htab): Add alloc_arg, alloc_with_arg_f, free_with_arg_f. + (htab_create_alloc_ex): New prototype. + (htab_set_functions_ex): New prototype. + +2002-07-17 Geoffrey Keating <geoffk@redhat.com> + + * splay-tree.h (GTY): Define if undefined. + (splay_tree_allocate_fn): Return PTR for compatibility, not void *. + (struct splay_tree_node_s): Support gengtype. + (struct splay_tree_s): Likewise. Make allocate_data a PTR, + not a void *. + +2002-11-23 Simon Burge <simonb@wasabisystems.com> + + * libiberty.h (basename): Add NetBSD to the list. + +2002-11-22 Daniel Jacobowitz <drow@mvista.com> + + * libiberty.h (make_relative_prefix): Add prototype. + +2002-10-26 Roger Sayle <roger@eyesopen.com> + + * partition.h: Close the extern "C" scope when compiling with C++. + +2002-10-26 Roger Sayle <roger@eyesopen.com> + DJ Delorie <dj@redhat.com> + + PR bootstrap/8351 + * getopt.h: Avoid prototyping getopt with no arguments in C++. + +2002-10-24 Nathan Tallent <eraxxon@alumni.rice.edu> + + * ansidecl.h (__STDC__): Add (__alpha && __cplusplus) to the + list of platform compilers that may look, smell and act + like __STDC__ but that may not define it. -2002-07-10 Jakub Jelinek <jakub@redhat.com> +2002-10-11 David O'Brien <obrien@FreeBSD.org> - * elf/common.h (SHT_GNU_LIBLIST, DT_GNU_PRELINKED, - DT_GNU_CONFLICT*, DT_GNU_LIBLIST*): Define. + * getopt.h: getopt is in unistd.h (based on SUSv2). -2002-07-01 Alan Modra <amodra@bigpond.net.au> +2002-09-19 Alexandre Oliva <aoliva@redhat.com> - * bfdlink.h (struct bfd_sym_chain): Declare. - (struct bfd_link_info): Add gc_sym_list. Formatting fixes. + * libiberty.h (asprintf, vasprintf): Don't declare them if the + corresponding HAVE_DECL_ macro is 1. 2002-06-25 Alan Modra <amodra@bigpond.net.au> @@ -48,22 +201,6 @@ * libiberty.h (basename): Don't declare if HAVE_DECL_BASENAME. * getopt.h (getopt): Don't declare if HAVE_DECL_GETOPT. -2002-06-18 Dave Brolley <brolley@redhat.com> - - From Catherine Moore: - * dis-asm.h (print_insn_frv): New prototype. - -2002-06-09 Andrew Cagney <cagney@redhat.com> - - * remote-sim.h: Move to directory gdb/. - * callback.h: Move to directory gdb/. - -2002-06-07 Charles Wilson <cwilson@ece.gatech.edu> - - * bfdlink.h (struct bfd_link_info): Change type of - pei386_auto_import field to int so that -1 can mean enabled by - default and 1 can mean enabled by command line switch. - 2002-06-06 DJ Delorie <dj@redhat.com> * hashtab.h (htab): Rearrange new members for backward @@ -91,33 +228,6 @@ (htab_create): Replace with #define. (htab_try_create): Delete. -2002-05-31 Michal Ludvig <mludvig@suse.cz> - - * elf/dwarf2.h (DW_CFA_low_user, DW_CFA_high_user): Renamed - to DW_CFA_lo_user, DW_CFA_hi_user respectively. - -2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net> - - * dis-asm.h: Prototype print_insn_dlx. - -2002-05-23 Andrew Cagney <ac131313@redhat.com> - - * sim-d10v.h: Delete file. Moved to include/gdb/. - -2002-05-23 Jakub Jelinek <jakub@redhat.com> - - * elf/common.h (PT_TLS, SHF_TLS, STT_TLS, DF_STATIC_TLS): Define. - * elf/ia64.h (R_IA64_LTOFF_TPREL22): Renamed from R_IA64_LTOFF_TP22. - * elf/i386.h: Add TLS relocs. - -2002-05-21 H.J. Lu (hjl@gnu.org) - - * bfdlink.h (bfd_link_info): Add allow_multiple_definition. - -2002-05-17 J"orn Rennecke <joern.rennecke@superh.com> - - * dis-asm.h (print_insn_shl, print_insn_sh64l): Remove prototype. - 2002-04-16 David S. Miller <davem@redhat.com> * xregex2.h (__restrict_arr): Define to __restrict on GCC @@ -127,15 +237,11 @@ * dyn-string.h: Also allow IN_GLIBCPP_V3 to redefine names. -2002-03-10 Daniel Jacobowitz <drow@mvista.com> - - * gdb: New directory. - 2002-03-06 Andrew Cagney <ac131313@redhat.com> * floatformat.h (floatformat_arm_ext): Delete declaration. -2002-02-21 Jim Blandy <jimb@redhat.com> +2002-02-22 Jim Blandy <jimb@redhat.com> Allow the user to specify functions for allocating memory for splay tree roots and nodes. @@ -145,25 +251,6 @@ `allocate_data'. (splay_tree_new_with_allocator): New function declaration. -2002-02-15 Alan Modra <amodra@bigpond.net.au> - - Support arbitrary length fill patterns. - * bfdlink.h (enum bfd_link_order_type): Remove bfd_fill_link_order. - (struct bfd_link_order): Remove fill. Add data.size. - -2002-02-08 Alexandre Oliva <aoliva@redhat.com> - - Contribute sh64-elf. - 2000-11-25 Hans-Peter Nilsson <hpn@cygnus.com> - * dis-asm.h (print_insn_sh64): New prototype. - (print_insn_sh64l): New prototype. - (print_insn_sh64x_media): New prototype. - -2002-02-05 Frank Ch. Eigler <fche@redhat.com> - - * dis-asm.h (disassemble_info): New field `insn_sets'. - (INIT_DISASSEMBLE_INFO): Clear it. - 2002-02-05 Jason Merrill <jason@redhat.com> * demangle.h (cplus_demangle_v3): Add "options" parm. @@ -175,48 +262,15 @@ * demangle.h (cplus_demangle_v3_type): New prototype. -2002-01-31 Ivan Guzvinec <ivang@opencores.org> - - * dis-asm.h : Add support for or32 targets - 2002-01-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * libiberty.h (C_alloca): Add ATTRIBUTE_MALLOC. -2002-01-27 David O'Brien <obrien@FreeBSD.org> - - * cgen.h (BFD_VERSION): Use BFD_VERSION_DATE instead. - -2001-12-14 Nick Clifton <nickc@cambridge.redhat.com> - - * dis-asm.h (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialise the - disassembler_options field (to NULL). - -2001-12-13 Jakub Jelinek <jakub@redhat.com> - - * bfdlink.h (struct bfd_link_info): Add eh_frame_hdr field. - -2001-12-07 Geoffrey Keating <geoffk@redhat.com> - - * dis-asm.h (print_insn_xstormy16): Declare. - 2001-12-06 Richard Henderson <rth@redhat.com> * demangle.h (no_demangling): New. (NO_DEMANGLING_STYLE_STRING): New. -2001-11-14 Alan Modra <amodra@bigpond.net.au> - - * dis-asm.h (print_insn_i386): Declare. - -2001-11-11 Timothy Wall <twall@alum.mit.edu> - - * dis-asm.h: Fix comment to refer to octets rather than bytes. - -2001-10-30 Hans-Peter Nilsson <hp@bitrange.com> - - * dis-asm.h (print_insn_mmix): Add prototype. - 2001-10-24 Neil Booth <neil@daikokuya.demon.co.uk> * safe-ctype.h (_sch_isbasic, IS_ISOBASIC): New. @@ -228,19 +282,11 @@ * libiberty.h (_hex_value): Const-ify. (hex_init): Delete. -2001-10-16 Christopher Faylor <cgf@redhat.com> - - * filenames.h: Add cygwin to the list of dosish style path systems. - 2001-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * demangle.h (demangler_engine): Const-ify. * libiberty.h (buildargv): Likewise. -2001-10-03 Vassili Karpov <malc@pulsesoft.com> - - * bfdlink.h (struct bfd_link_info): Add nocopyreloc field. - 2001-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * libiberty.h (reconcat): New function. @@ -270,24 +316,6 @@ * ansidecl.h (VA_OPEN, VA_CLOSE): Allow multiple uses. -2001-08-25 Nick Clifton <nickc@cambridge.redhat.com> - - * bfdlink.h (struct bfd_link_info): Change 'spare_dynamic_tags' to - unsigned to remove a compile time warning message. - -2001-08-24 H.J. Lu <hjl@gnu.org> - - * bfdlink.h (bfd_link_hash_table_type): New. The linker hash - table type, bfd_link_generic_hash_table and - bfd_link_elf_hash_table. - (bfd_link_hash_table): Add a new field, type, for the linker - hash table type. - -2001-08-23 Jakub Jelinek <jakub@redhat.com> - - * bfdlink.h (struct bfd_link_info): Add combreloc and - spare_dynamic_tags fields. - 2001-08-23 Lars Brinkhoff <lars@nocrew.org> * dyn-string.h, fibheap.h, partition.h, sort.h, splay-tree.h: @@ -298,10 +326,6 @@ * fibheap.h: Tidy formatting. (fibnode_t): Limit degree to 31 bits to avoid warning. -2001-08-20 Daniel Berlin <dan@cgsoftware.com> - - * fibheap.h: New file. Fibonacci heap. - 2001-08-20 Andrew Cagney <ac131313@redhat.com> * floatformat.h (floatformat_arm_ext): Document as deprecated. @@ -310,6 +334,10 @@ (floatformat_ia64_spill_big, floatformat_ia64_quad_big) (floatformat_m88110_harris_ext): Declare. +2001-08-20 Daniel Berlin <dan@cgsoftware.com> + + * fibheap.h: New file. Fibonacci heap. + 2001-08-18 Zack Weinberg <zackw@panix.com> * ansidecl.h: Reorganize for readability, remove documentation @@ -332,11 +360,6 @@ (re_comp): Define to xre_comp. (re_exec): Define to xre_exec. -2001-08-02 Charles Wilson <cwilson@ece.gatech.edu> - - * bfdlink.h (struct bfd_link_info): add new boolean - field pei386_auto_import. - 2001-07-18 Andreas Jaeger <aj@suse.de> * xregex2.h: Place under LGPL version 2.1. @@ -346,10 +369,6 @@ * xregex.h: New file to support libiberty regex. * xregex2.h: Ditto. -2001-06-15 Hans-Peter Nilsson <hp@axis.com> - - * bfdlink.h (struct bfd_link_info): New member export_dynamic. - 2001-05-16 Matt Kraai <kraai@alumni.carnegiemellon.edu> * partition.h: Fix misspelling of `implementation'. @@ -369,18 +388,10 @@ * splay-tree.h (splay_tree_max): New function. (splay_tree_min): Likewise. -2001-04-27 Johan Rydberg <jrydberg@opencores.org> - - * dis-asm.h (print_insn_openrisc): Add prototype. - 2001-04-15 Daniel Berlin <dan@cgsoftware.com> * ternary.h: New file - Ternary search tree header. -2001-04-13 Jakub Jelinek <jakub@redhat.com> - - * bfdlink.h (bfd_link_discard): Add discard_sec_merge. - 2001-04-03 Zack Weinberg <zackw@stanford.edu> * ansidecl.h: All logic from gcc/gansidecl.h moved here. @@ -422,46 +433,17 @@ * safe-ctype.h (_sch_test): Cast enum bit to unsigned short int for pcc compatibility. -2001-02-18 lars brinkhoff <lars@nocrew.org> - - * dis-asm.h: Add PDP-11 target. - -2001-02-09 Martin Schwidefsky <schwidefsky@de.ibm.com> - - * dis-asm.h: Add linux target for S/390. - -2001-01-11 Peter Targett <peter.targett@arccores.com> - - * dis-asm.h (arc_get_disassembler): Correct declaration. - -2001-01-09 Philip Blundell <philb@gnu.org> - - * bin-bugs.h (REPORT_BUGS_TO): Set to `bug-binutils@gnu.org'. - 2000-12-18 Joseph S. Myers <jsm28@cam.ac.uk> * COPYING: Update to current ftp://ftp.gnu.org/pub/gnu/Licenses/COPYING-2.0 (fixes references to 19yy as example year in copyright notice). -2000-12-19 Hans-Peter Nilsson <hp@bitrange.com> - - * dis-asm.h (struct disassemble_info): New member "section". - (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialize private_data member. - Initialize section member. - 2000-12-16 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> * safe-ctype.h: Make code work on all targets and not just on targets where a char is 8 bits. -2000-12-10 Fred Fish <fnf@be.com> - - * bfdlink.h (struct bfd_link_info): Add new allow_shlib_undefined - member to struct for systems where it is normal to have undefined - symbols in shared libraries at runtime and the runtime linker - takes care of redirecting them. - 2000-12-07 Zack Weinberg <zack@wolery.stanford.edu> * safe-ctype.h: New file. @@ -492,19 +474,10 @@ * hashtab.h: Change void * to PTR where necessary. -2000-10-11 Mark Mitchell <mark@codesourcery.com> +2000-09-10 Mark Mitchell <mark@codesourcery.com> * splay-tree.h (splay_tree_predecessor): Declare. -2000-09-29 Hans-Peter Nilsson <hp@axis.com> - - * dis-asm.h: Declare cris_get_disassembler, not print_insn_cris. - Fix typo in comment. - -2000-09-28 John David Anglin <dave@hiauly1.hia.nrc.ca> - - * alloca-conf.h: New file (copied from libiberty). - 2000-09-05 John David Anglin <dave@hiauly1.hia.nrc.ca> * md5.h (md5_uint32): Choose via INT_MAX instead of UINT_MAX. @@ -522,31 +495,6 @@ * libiberty.h (ARRAY_SIZE): New macro. -2000-07-29 Nick Clifton <nickc@cygnus.com> - - * os9k.h: Add copyright notice. - Fix formatting. - -2000-07-22 Jason Eckhardt <jle@cygnus.com> - - * dis-asm.h (print_insn_i860): Add prototype. - -2000-07-20 H.J. Lu <hjl@gnu.org> - - * bfdlink.h (bfd_link_info): Add new_dtags. - -2000-07-20 Hans-Peter Nilsson <hp@axis.com> - - * dis-asm.h (print_insn_cris): Declare. - -2000-07-19 H.J. Lu (hjl@gnu.org) - - * bfdlink.h (bfd_link_info): Add flags and flags_1. - -2000-06-05 DJ Delorie <dj@redhat.com> - - * MAINTAINERS: new - 2000-06-21 Alex Samuel <samuel@codesourcery.com> * dyn-string.h (dyn_string_init, dyn_string_new, @@ -562,16 +510,6 @@ dyn_string_append_char, dyn_string_substring): Change return type to int. -2000-06-18 Stephane Carrez <stcarrez@worldnet.fr> - - * dis-asm.h (print_insn_m68hc12): Define. - (print_insn_m68hc11): Likewise. - -2000-06-18 Nick Clifton <nickc@redhat.com> - - * os9k.h: Change values of MODSYNC and CRCCON due to bug report - from Russ Magee <rmagee@home.com>. - 2000-06-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * demangle.h (demangling_styles): Remove trailing comma in enum. @@ -594,31 +532,16 @@ Tue May 30 16:53:34 2000 Andrew Cagney <cagney@b1.cygnus.com> * floatformat.h (struct floatformat): Add field name. -2000-05-26 Eli Zaretskii <eliz@is.elta.co.il> - - * filenames.h: New file. - (HAVE_DOS_BASED_FILE_SYSTEM, IS_DIR_SEPARATOR) - (IS_ABSOLUTE_PATH, FILENAME_CMP): New macros. - 2000-05-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * getopt.h (getopt): Also check HAVE_DECL_* when prototyping. * libiberty.h (basename): Likewise. -2000-05-17 S. Bharadwaj Yadavalli <sby@scrugs.lkg.dec.com> - Rick Gorton <gorton@scrugs.lkg.dec.com> - - * bfdlink.h (struct bfd_link_info): Add emitrelocations flag. - -2000-05-08 Alan Modra <alan@linuxcare.com.au> - - * dis-asm.h (print_insn_tic54x): Declare. - 2000-05-06 Zack Weinberg <zack@wolery.cumb.org> - * ansidecl.h: #define __extension__ to nothing if - GCC_VERSION < 2008. + * ansidecl.h: #define __extension__ to nothing if + GCC_VERSION < 2008. 2000-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> @@ -636,9 +559,9 @@ Thu May 4 17:15:26 2000 Philippe De Muyter <phdm@macqel.be> 2000-04-28 Kenneth Block <block@zk3.dec.com> Jason Merrill <jason@casey.cygnus.com> - * demangle.h (libiberty_demanglers): new table for different styles. - (cplus_demangle_set_style): New function for setting style. - (cplus_demangle_name_to_style): New function to translate name. + * demangle.h (libiberty_demanglers): new table for different styles. + (cplus_demangle_set_style): New function for setting style. + (cplus_demangle_name_to_style): New function to translate name. 2000-04-24 Mark Mitchell <mark@codesourcery.com> @@ -649,11 +572,6 @@ Thu May 4 17:15:26 2000 Philippe De Muyter <phdm@macqel.be> * sort.h: New file. -Fri Apr 21 13:20:53 2000 Richard Henderson <rth@cygnus.com> - David Mosberger <davidm@hpl.hp.com> - - * dis-asm.h (print_insn_ia64): Declare. - Tue Apr 18 16:22:30 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * hashtab.h (enum insert_option): New type. @@ -668,24 +586,12 @@ Tue Apr 18 16:22:30 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * splay-tree.h (splay_tree_remove): Declare. -2000-04-04 Alan Modra <alan@linuxcare.com.au> - - * bin-bugs.h (REPORT_BUGS_TO): Remove translated part. - -2000-04-03 Alan Modra <alan@linuxcare.com.au> - - * bin-bugs.h: New file. - 2000-03-30 Mark Mitchell <mark@codesourcery.com> * hashtab.h (hashval_t): New type. (htab_find_with_hash): Use it as an argument. (htab_find_slot_with_hash): Likewise. -2000-03-27 Denis Chertykov <denisc@overta.ru> - - * dis-asm.h (print_insn_avr): Declare. - 2000-03-14 Bernd Schmidt <bernds@cygnus.co.uk> * hashtab.h (htab_trav): Modify type so that first arg is of type @@ -713,66 +619,11 @@ Tue Apr 18 16:22:30 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> (hash_table_entry_t): Discard; just use void * for element type. -2000-03-01 H.J. Lu <hjl@gnu.org> - - * bfdlink.h (bfd_link_callbacks): Add a boolean arg to - the undefined_symbol callback. - -2000-02-23 Linas Vepstas <linas@linas.org> - - * dis-asm.h (print_insn_i370): Declare. - -Tue Feb 22 15:19:54 2000 Andrew Cagney <cagney@b1.cygnus.com> - - * remote-sim.h (sim_trace): Document return values. - (sim_set_trace): Declare. Deprecate. - -2000-02-21 Alan Modra <alan@spri.levels.unisa.edu.au> - - * dis-asm.h (struct disassemble_info): Change `length' param of - read_memory_func to unsigned. Change type of `buffer_length' and - `octets_per_byte' to unsigned. - (buffer_read_memory): Change `length' param to unsigned. - -2000-02-16 Nick Clifton <nickc@cygnus.com> - - * dis-asm.h: Add prototypes for ARM register name functions. - -Wed Feb 9 18:45:49 2000 Andrew Cagney <cagney@b1.cygnus.com> - - * wait.h: Delete. No longer used by GDB. - -Tue Feb 8 17:01:13 2000 Andrew Cagney <cagney@b1.cygnus.com> - - * remote-sim.h (sim_resume): Clarify use of SIGGNAL. - (sim_stop_reason): Clarify meaning of sim_signalled. - -2000-02-03 Timothy Wall <twall@redhat.com> - - * dis-asm.h (struct disassemble_info): Added octets_per_byte - field and initialize it to one (1). - -2000-01-27 Nick Clifton <nickc@redhat.com> - - * dis-asm.h: Add prototype for disassembler_usage(). - Add prototype for arm_disassembler_options(). - Remove prototype for arm_toggle_regnames(). - Add prototype for parse_arm_disassembler_option(). - Sat Jan 1 19:06:52 2000 Hans-Peter Nilsson <hp@bitrange.com> * symcat.h (STRINGX) [!__STDC__ || ALMOST_STDC]: Change "?" to "s" to stringify argument s. -Wed Dec 15 11:22:56 1999 Jeffrey A Law (law@cygnus.com) - - * hp-symtab.h (HP_LANGUAGE_FORTRAN): New enumeration constant. - (HP_LANGUAGE_F77): Define using HP_LANGUAGE_FORTRAN. - -1999-12-15 Doug Evans <dje@transmeta.com> - - * dis-asm.h: Enclose in extern "C" ifdef __cplusplus. - 1999-12-05 Mark Mitchell <mark@codesourcery.com> * splay-tree.h (struct splay_tree_node): Rename to ... @@ -799,26 +650,12 @@ Wed Nov 10 12:43:21 1999 Philippe De Muyter <phdm@macqel.be> * ansidecl.h: Define and test `GCC_VERSION', not `HAVE_GCC_VERSION'. -1999-11-04 Jimmy Guo <guo@cup.hp.com> - - * hp-symtab.h (dntt_type_fparam): Add doc_ranges, misc_kind - fields, change location type to CORE_ADDR from int. - (dntt_type_const): Name the 5th field location_type. - -Sun Oct 24 19:11:32 1999 Andrew Cagney <cagney@b1.cygnus.com> - - * sim-d10v.h (SIM_D10V_TS2_DMAP_REGNUM): Define. - 1999-10-23 08:51 -0700 Zack Weinberg <zack@bitmover.com> * hashtab.h: Give hash_table_t a struct tag. Add prototypes for clear_hash_table_slot and traverse_hash_table. Correct prototype of all_hash_table_collisions. -Sat Oct 23 19:00:13 1999 Andrew Cagney <cagney@b1.cygnus.com> - - * sim-d10v.h: New file. - Fri Oct 15 01:47:51 1999 Vladimir Makarov <vmakarov@loony.cygnus.com> * hashtab.h: New file. @@ -843,10 +680,6 @@ Tue Sep 14 00:35:02 1999 Marc Espie <espie@cvs.openbsd.org> * libiberty.h (xmemdup): Add prototype for new function. -1999-09-04 Steve Chamberlain <sac@pobox.com> - - * dis-asm.h (print_insn_pj): Declare. - 1999-09-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * obstack.h (obstack_grow, obstack_grow0): Move (char*) casts @@ -867,37 +700,6 @@ Tue Sep 14 00:35:02 1999 Marc Espie <espie@cvs.openbsd.org> * ansidecl.h: Copy attribute support macros from egcs. -1999-06-22 Mark Mitchell <mark@codesourcery.com> - - * bfdlink.h (struct bfd_link_hash_entry): Add init_function and - fini_function. - -1999-06-20 Mark Mitchell <mark@codesourcery.com> - - * mips.h (Elf32_Internal_Msym): New structure. - (Elf32_External_Msym): Likewise. - (ELF32_MS_REL_INDEX): New macro. - (ELF32_MS_FLAGS): Likewise. - (ELF32_MS_INFO): Likewise. - -1999-06-14 Nick Clifton <nickc@cygnus.com> - - * dis-asm.h (arm_toggle_regnames): New prototype. - (struct diassemble_info): New field: disassembler_options. - -1999-04-11 Richard Henderson <rth@cygnus.com> - - * bfdlink.h (bfd_elf_version_expr): Rename `match' to `pattern'. - Add `match' callback function. - -1999-04-10 Richard Henderson <rth@cygnus.com> - - * bfdlink.h (bfd_link_info): Add no_undefined. - -1999-04-08 Nick Clifton <nickc@cygnus.com> - - * dis-asm.h: Add prototype for print_insn_mcore. - 1999-04-02 Mark Mitchell <mark@codesourcery.com> * splay-tree.h (splay_tree_compare_pointers): Declare. @@ -910,24 +712,6 @@ Wed Mar 24 12:46:29 1999 Andrew Cagney <cagney@amy.cygnus.com> * libiberty.h (basename): Cygwin{,32} should have the prototype. -1999-02-22 Jim Lemke <jlemke@cygnus.com> - - * bfdlink.h (bfd_link_info): add field "mpc860c0". - -Mon Feb 1 21:05:46 1999 Catherine Moore <clm@cygnus.com> - - * dis-asm.h (print_insn_i386_att): Declare. - (print_insn_i386_intel): Declare. - -1998-12-30 Michael Meissner <meissner@cygnus.com> - - * dis-asm.h (INIT_DISASSEMBLE_INFO_NO_ARCH): Cast STREAM and - FPRINTF_FUNC to avoid compiler warnings. - -Wed Dec 30 16:07:14 1998 David Taylor <taylor@texas.cygnus.com> - - * dis-asm.h: change void * to PTR (two places). - Mon Dec 14 09:53:31 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * demangle.h: Don't check IN_GCC anymore. @@ -935,15 +719,6 @@ Mon Dec 14 09:53:31 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> Tue Dec 8 00:30:31 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com> - The following changes were made by Elena Zannoni - <ezannoni@kwikemart.cygnus.com> and Edith Epstein - <eepstein@sophia.cygnus.com> as part of a project to merge in - changes made by HP; HP did not create ChangeLog entries. - - * dis-asm.h (struct disassemble_info): change the type of stream - from FILE* to void*, for use with gdb's new type GDB_FILE. - (fprintf_ftype): change FILE* parameter type to void*. - * demangle.h: (DMGL_EDG): new macro for Kuck and Associates (DMGL_STYLE_MASK): modify to include Kuck and Assoc style (demangling_styles): add new edg_demangling style @@ -956,12 +731,6 @@ Tue Dec 8 00:30:31 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com> (ARM_DEMANGLING): coerce to int. (HP_DEMANGLING): new macro. - * hp-symtab.h: rewritten, from HP. - (quick_procedure): change type of language field to unsigned int - (quick_module): change type of language field to unsigned int - (struct dntt_type_svar): add field thread_specific. - (hp_language): add languages modcal and dmpascal. - Fri Nov 20 13:14:00 1998 Andrew Cagney <cagney@b1.cygnus.com> * libiberty.h (basename): Add prototype for FreeBSD. @@ -977,19 +746,11 @@ Sun Nov 8 17:42:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * demangle.h: Never define PARAMS(). * splay-tree.h: Likewise. -Sat Nov 7 18:30:20 1998 Peter Schauer <peter.schauer@regent.e-technik.tu-muenchen.de> - - * dis-asm.h (print_insn_vax): Declare. - Sat Nov 7 16:04:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * demangle.h: Don't include gansidecl.h. * splay-tree.h: Likewise. -1998-10-26 16:03 Ulrich Drepper <drepper@cygnus.com> - - * bfdlink.h (struct bfd_link_info): Add new field optimize. - Thu Oct 22 19:58:00 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * splay-tree.h: Wrap function pointer parameter declarations in @@ -1025,8 +786,8 @@ Tue Feb 24 13:05:02 1998 Doug Evans <devans@canuck.cygnus.com> Tue Feb 17 12:32:18 1998 Andrew Cagney <cagney@b1.cygnus.com> * remote-sim.h (sim_fetch_register, sim_store_register): Add - register length parameter. Functions return actual length of - register. + register length parameter. Functions return actual length of + register. Thu Feb 12 16:29:01 1998 Ian Lance Taylor <ian@cygnus.com> @@ -1054,6 +815,10 @@ Tue Dec 2 10:20:53 1997 Nick Clifton <nickc@cygnus.com> * dis-asm.h (disasm_symaddr): New prototype. +Mon Dec 1 20:24:18 1997 J"orn Rennecke <amylaar@cygnus.co.uk> + + * coff/sh.h (R_SH_SWITCH8): New. + Mon Dec 1 11:29:35 1997 Doug Evans <devans@canuck.cygnus.com> * callback.h (CB_SYSCALL): Comment out arg names in prototypes. @@ -1080,7 +845,7 @@ Tue Nov 25 01:35:52 1997 Doug Evans <devans@seba.cygnus.com> Sat Nov 22 23:34:15 1997 Andrew Cagney <cagney@b1.cygnus.com> * remote-sim.h (sim_stop_reason): Clarify sim_signalled SIGRC - argument. + argument. Mon Nov 17 14:00:51 1997 Doug Evans <devans@seba.cygnus.com> @@ -1151,7 +916,7 @@ Tue Jul 22 17:59:54 1997 Ian Lance Taylor <ian@cygnus.com> Fri Jun 6 13:02:33 1997 Andrew Cagney <cagney@b1.cygnus.com> - * remote-sim.h (sim_kill): Mark as depreciated. + * remote-sim.h (sim_kill): Mark as deprecated. Fri May 23 13:43:41 1997 Fred Fish <fnf@cygnus.com> @@ -1160,12 +925,12 @@ Fri May 23 13:43:41 1997 Fred Fish <fnf@cygnus.com> Thu May 22 11:32:49 1997 Andrew Cagney <cagney@b1.cygnus.com> * remote-sim.h: Review documentation. Clarify restrictions on - when functions can be called. + when functions can be called. Wed May 21 16:47:53 1997 Andrew Cagney <cagney@b1.cygnus.com> * remote-sim.h (sim_set_profile_size): Add prototype, document as - depreciated. + deprecated. Tue May 20 09:32:22 1997 Andrew Cagney <cagney@b1.cygnus.com> @@ -1182,6 +947,14 @@ Thu May 15 01:24:16 1997 Mark Alexander <marka@cygnus.com> * obstack.h (obstack_specify_allocation_with_arg, obstack_chunkfun, obstack_freefun): Eliminate compile warnings in gdb. +Tue May 13 10:21:14 1997 Nick Clifton <nickc@cygnus.com> + + * coff/arm.h (constants): Added new flag bits F_APCS_26 and + F_APCS_SET for the f_flags field of the filehdr structure. Added new + flags: F_APCS26, F_ARM_2, F_ARM_3, F_ARM_7, F_ARM_7T to store + information in the flags field of the internal_f structure used by BFD + routines. + Tue Apr 22 10:24:34 1997 Fred Fish <fnf@cygnus.com> * floatformat.h (floatformat_byteorders): Add comments for previous @@ -1191,16 +964,16 @@ Tue Apr 22 10:24:34 1997 Fred Fish <fnf@cygnus.com> Fri Apr 18 13:04:49 1997 Andrew Cagney <cagney@b1.cygnus.com> * remote-sim.h (sim_stop): New interface - asynchronous - notification of a request to stop / suspend the running - simulation. + notification of a request to stop / suspend the running + simulation. * remote-sim.h (enum sim_stop): Add sim_running and sim_polling as - states for use internal to simulators. + states for use internal to simulators. * callback.h (struct host_callback_strut): Put a magic number at - the end of the struct to allow basic checking. + the end of the struct to allow basic checking. (struct host_callback_struct ): Add poll_quit - so - that the console etc can be polled at regular intervals. + that the console etc can be polled at regular intervals. Thu Apr 17 02:17:12 1997 Doug Evans <dje@canuck.cygnus.com> @@ -1211,7 +984,7 @@ Thu Apr 17 02:17:12 1997 Doug Evans <dje@canuck.cygnus.com> Wed Apr 2 17:09:12 1997 Andrew Cagney <cagney@kremvax.cygnus.com> * remote-sim.h (sim_trace, sim_size): Make these global. They - will go away shortly. + will go away shortly. Wed Apr 2 15:23:49 1997 Doug Evans <dje@canuck.cygnus.com> @@ -1241,7 +1014,7 @@ Mon Mar 17 19:22:12 1997 Ian Lance Taylor <ian@cygnus.com> Mon Mar 17 14:57:55 1997 Andrew Cagney <cagney@kremvax.cygnus.com> * remote-sim.h: New file, copied in from gdb/remote-sim.h. One - day this will be placed in a directory of its own. + day this will be placed in a directory of its own. Sat Mar 15 19:00:14 1997 Ian Lance Taylor <ian@cygnus.com> @@ -1250,8 +1023,8 @@ Sat Mar 15 19:00:14 1997 Ian Lance Taylor <ian@cygnus.com> Thu Mar 6 15:46:59 1997 Andrew Cagney <cagney@kremvax.cygnus.com> * callback.h (struct host_callback_struct): Add callbacks - - flush_stdout, write_stderr, flush_stderr, vprintf_filtered, - evprintf_filtered. Delete redundant callbacks - printf_filtered. + flush_stdout, write_stderr, flush_stderr, vprintf_filtered, + evprintf_filtered. Delete redundant callbacks - printf_filtered. Thu Feb 27 23:18:27 1997 Ian Lance Taylor <ian@cygnus.com> @@ -1276,10 +1049,6 @@ Thu Feb 6 14:20:01 1997 Martin M. Hunt <hunt@pizza.cygnus.com> bytes_per_chunk and display_endian to control the display of raw instructions. -Fri Dec 27 22:17:37 1996 Fred Fish <fnf@cygnus.com> - - * dis-asm.h (print_insn_tic80): Declare. - Sun Dec 8 17:11:12 1996 Doug Evans <dje@canuck.cygnus.com> * callback.h (host_callback): New member `error'. @@ -1367,7 +1136,7 @@ Tue Jul 23 17:37:58 1996 Fred Fish <fnf@cygnus.com> can define PRIVATE_XMALLOC and then define xmalloc and xrealloc anyway they want. (basename): Document in source that we can't declare the - parameter type because it is declared inconsistently across + parameter type because it is declared inconsistently across different systems. Mon Jul 22 13:16:13 1996 Richard Henderson <rth@tamu.edu> @@ -1530,7 +1299,13 @@ Thu May 18 04:25:50 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com> Sat May 13 10:14:08 1995 Steve Chamberlain <sac@slash.cygnus.com> + * coff/pe.h: New file. * bfdlink.h (subsytem, stack_heap_parameters): New. + * coff/i386.h (NT_SECTION_ALIGNMENT, NT_FILE_ALIGNMENT, + NT_DEF_RESERVE, NT_DEF_COMMIT): New. + * coff/internal.h (internal_filehdr): New fields for PE. + (IMAGE_DATA_DIRECTORY): New. + (internal_aouthdr): New fields for PE. Thu May 4 14:36:42 1995 Jason Merrill <jason@phydeaux.cygnus.com> @@ -1605,6 +1380,8 @@ Tue Oct 25 11:38:02 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> Sun Sep 04 17:58:10 1994 Richard Earnshaw (rwe@pegasus.esprit.ec.org) + * aout/aout64.h: Only define QMAGIC if it isn't already defined. + * dis-asm.h: Add support for the ARM. Wed Aug 10 12:51:41 1994 Doug Evans (dje@canuck.cygnus.com) @@ -1750,6 +1527,10 @@ Fri Aug 6 17:05:47 1993 David J. Mackenzie (djm@thepub.cygnus.com) * getopt.h, obstack.h: Update to latest FSF version. +Mon Aug 2 16:37:14 1993 Stu Grossman (grossman at cygnus.com) + + * coff/i386.h: Add Lynx magic number. + Mon Aug 2 14:45:29 1993 John Gilmore (gnu@cygnus.com) * dis-asm.h: Move enum outside of struct defn to avoid warnings. @@ -1779,6 +1560,10 @@ Thu Jul 15 12:41:15 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) * dis-asm.h: Added declaration of print_insn_m88k. +Thu Jul 8 09:05:26 1993 Doug Evans (dje@canuck.cygnus.com) + + * opcode/h8300.h: Lots of little fixes for the h8/300h. + Fri Jul 2 10:31:59 1993 Ian Lance Taylor (ian@cygnus.com) * ansidecl.h: Use ANSI macros if __mips and _SYSTYPE_SVR4 are @@ -1803,6 +1588,9 @@ Tue Jun 8 12:16:03 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) Support for H8/300-H * dis-asm.h (print_insn_h8300, print_insn_h8300h): Declare it. + * coff/h8300.h: New magic number. + * coff/internal.h: New relocations. + * opcode/h8300.h: Lots of new opcodes. Tue Jun 1 07:35:03 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) @@ -2081,7 +1869,7 @@ Mon Jan 27 22:01:13 1992 Steve Chamberlain (sac at cygnus.com) Wed Dec 18 17:19:44 1991 Stu Grossman (grossman at cygnus.com) - * bfd.h, ieee.h: ANSIfy enums. + * bfd.h, ieee.h, opcode/m68k.h, opcode/sparc.h: ANSIfy enums. Thu Dec 12 20:59:56 1991 John Gilmore (gnu at cygnus.com) @@ -2143,8 +1931,8 @@ Sat Nov 30 20:46:43 1991 Steve Chamberlain (sac at rtl.cygnus.com) Wed Nov 27 10:38:31 1991 Steve Chamberlain (sac at rtl.cygnus.com) * internalcoff.h: (internal_scnhdr) took out #def dependency, now - s_nreloc and s_nlnno are always long. (internal_reloc): allways - has an offset field now. + s_nreloc and s_nlnno are always long. + (internal_reloc): Always has an offset field now. Fri Nov 22 08:12:58 1991 John Gilmore (gnu at cygnus.com) @@ -2224,7 +2012,7 @@ Fri Oct 25 03:18:20 1991 John Gilmore (gnu at cygnus.com) Thu Oct 24 22:11:11 1991 John Gilmore (gnu at cygnus.com) - RS/6000 support, by Metin G. Ozisik, Mimi Phûông-Thåo Võ, and + RS/6000 support, by Metin G. Ozisik, Mimi Phûông-Thåo Võ, and John Gilmore. * a.out.gnu.h: Update slightly. diff --git a/contrib/binutils/include/ansidecl.h b/contrib/binutils/include/ansidecl.h index d169b4f..d2c8776 100644 --- a/contrib/binutils/include/ansidecl.h +++ b/contrib/binutils/include/ansidecl.h @@ -268,8 +268,21 @@ So instead we use the macro below and test it against specific values. */ #define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) #endif /* ATTRIBUTE_NORETURN */ +/* Attribute `nonnull' was valid as of gcc 3.3. */ +#ifndef ATTRIBUTE_NONNULL +# if (GCC_VERSION >= 3003) +# define ATTRIBUTE_NONNULL(m) __attribute__ ((__nonnull__ (m))) +# else +# define ATTRIBUTE_NONNULL(m) +# endif /* GNUC >= 3.3 */ +#endif /* ATTRIBUTE_NONNULL */ + +/* Use ATTRIBUTE_PRINTF when the format specifier must not be NULL. + This was the case for the `printf' format attribute by itself + before GCC 3.3, but as of 3.3 we need to add the `nonnull' + attribute to retain this behavior. */ #ifndef ATTRIBUTE_PRINTF -#define ATTRIBUTE_PRINTF(m, n) __attribute__ ((__format__ (__printf__, m, n))) +#define ATTRIBUTE_PRINTF(m, n) __attribute__ ((__format__ (__printf__, m, n))) ATTRIBUTE_NONNULL(m) #define ATTRIBUTE_PRINTF_1 ATTRIBUTE_PRINTF(1, 2) #define ATTRIBUTE_PRINTF_2 ATTRIBUTE_PRINTF(2, 3) #define ATTRIBUTE_PRINTF_3 ATTRIBUTE_PRINTF(3, 4) @@ -277,6 +290,21 @@ So instead we use the macro below and test it against specific values. */ #define ATTRIBUTE_PRINTF_5 ATTRIBUTE_PRINTF(5, 6) #endif /* ATTRIBUTE_PRINTF */ +/* Use ATTRIBUTE_NULL_PRINTF when the format specifier may be NULL. A + NULL format specifier was allowed as of gcc 3.3. */ +#ifndef ATTRIBUTE_NULL_PRINTF +# if (GCC_VERSION >= 3003) +# define ATTRIBUTE_NULL_PRINTF(m, n) __attribute__ ((__format__ (__printf__, m, n))) +# else +# define ATTRIBUTE_NULL_PRINTF(m, n) +# endif /* GNUC >= 3.3 */ +# define ATTRIBUTE_NULL_PRINTF_1 ATTRIBUTE_NULL_PRINTF(1, 2) +# define ATTRIBUTE_NULL_PRINTF_2 ATTRIBUTE_NULL_PRINTF(2, 3) +# define ATTRIBUTE_NULL_PRINTF_3 ATTRIBUTE_NULL_PRINTF(3, 4) +# define ATTRIBUTE_NULL_PRINTF_4 ATTRIBUTE_NULL_PRINTF(4, 5) +# define ATTRIBUTE_NULL_PRINTF_5 ATTRIBUTE_NULL_PRINTF(5, 6) +#endif /* ATTRIBUTE_NULL_PRINTF */ + /* We use __extension__ in some places to suppress -pedantic warnings about GCC extensions. This feature didn't work properly before gcc 2.8. */ @@ -284,15 +312,4 @@ So instead we use the macro below and test it against specific values. */ #define __extension__ #endif -/* Bootstrap support: Adjust certain macros defined by Autoconf, - which are only valid for the stage1 compiler. If we detect - a modern version of GCC, we are probably in stage2 or beyond, - so unconditionally reset the values. Note that const, inline, - etc. have been dealt with above. */ -#if (GCC_VERSION >= 2007) -# ifndef HAVE_LONG_DOUBLE -# define HAVE_LONG_DOUBLE 1 -# endif -#endif /* GCC >= 2.7 */ - #endif /* ansidecl.h */ diff --git a/contrib/binutils/include/aout/ChangeLog b/contrib/binutils/include/aout/ChangeLog index d215c59..148a020 100644 --- a/contrib/binutils/include/aout/ChangeLog +++ b/contrib/binutils/include/aout/ChangeLog @@ -1,3 +1,11 @@ +2004-01-06 Mark Kettenis <kettenis@gnu.org> + + * stab.def: Add N_PATCH to DO definition. + +2003-03-06 Elias Athanasopoulos <elathan@phys.uoa.gr> + + * aout64.h (BYTES_IN_WORD): Define if necessary. + 2001-09-18 Alan Modra <amodra@bigpond.net.au> * aout64.h: Formatting fixes. @@ -6,7 +14,7 @@ * hp300hpux.h: Formatting fixes. (N_DATADDR): Avoid negative unsigned warning. -Mon Apr 3 13:29:08 2000 Hans-Peter Nilsson <hp@axis.com> +2000-04-03 Hans-Peter Nilsson <hp@axis.com> * aout64.h (RELOC_EXT_BITS_EXTERN_BIG): Wrap definition in #ifndef. (RELOC_EXT_BITS_EXTERN_LITTLE): Ditto. @@ -20,97 +28,97 @@ Mon Apr 3 13:29:08 2000 Hans-Peter Nilsson <hp@axis.com> * aout64.h (N_SHARED_LIB): Define as 0 if TEXT_START_ADDR is defined as 0. -Sun Jun 28 11:33:48 1998 Peter Schauer <pes@regent.e-technik.tu-muenchen.de> +1998-06-28 Peter Schauer <pes@regent.e-technik.tu-muenchen.de> * stab.def: Add N_ALIAS from SunPro F77. -Mon Mar 11 12:15:52 1996 Ian Lance Taylor <ian@cygnus.com> +1996-03-11 Ian Lance Taylor <ian@cygnus.com> * stab.def: Use __define_stab_duplicate rather than __define_stab for duplicate entries N_BROWS and N_MOD2. * stab_gnu.h (__define_stab_duplicate): Define before including stab.def. -Fri Oct 27 17:47:16 1995 Niklas Hallqvist <niklas@appli.se> +1995-10-27 Niklas Hallqvist <niklas@appli.se> * aout64.h, host.h, hp300hpux.h, sun4.h: Changed PAGE_SIZE to TARGET_PAGE_SIZE. -Tue Sep 12 12:07:02 1995 Ian Lance Taylor <ian@cygnus.com> +1995-09-12 Ian Lance Taylor <ian@cygnus.com> * sun4.h (struct internal_sun4_dynamic_link): Change all fields from long to unsigned long. -Wed Jul 12 00:15:13 1995 Ken Raeburn <raeburn@kr-pc.cygnus.com> +1995-07-12 Ken Raeburn <raeburn@kr-pc.cygnus.com> * sun4.h (PAGE_SIZE): Undefine before defining. -Sun Sep 04 17:58:10 1994 Richard Earnshaw (rwe@pegasus.esprit.ec.org) +1994-09-04 Richard Earnshaw (rwe@pegasus.esprit.ec.org) * aout64.h: Only define QMAGIC if it isn't already defined. -Thu Jun 16 14:22:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) +1994-06-16 Ian Lance Taylor (ian@tweedledumb.cygnus.com) * aout64.h (BMAGIC): Define. -Sat Jun 11 16:16:09 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) +1994-06-11 Ian Lance Taylor (ian@tweedledumb.cygnus.com) Add weak symbols as an extension to a.out. * aout64.h (N_WEAKU, N_WEAKA, N_WEAKT, N_WEAKD, N_WEAKB): Define. * stab.def: Update symbol value table. -Thu Jun 2 17:13:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) +1994-06-02 Ian Lance Taylor (ian@tweedledumb.cygnus.com) * sun4.h (EXTERNAL_SUN4_DYNAMIC_DEBUGGER_SIZE): Correct from 28 to 24. Fix up ld_got comment. -Wed Mar 30 00:31:49 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) +1994-03-30 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) * dynix3.h: Cleanup, adapt to current bfd version. -Sat Feb 26 10:25:53 1994 Ian Lance Taylor (ian@cygnus.com) +1994-02-26 Ian Lance Taylor (ian@cygnus.com) * aout64.h: Add casts to avoid warnings from SVR4 cc. -Fri Feb 11 12:56:04 1994 Stan Shebs (shebs@andros.cygnus.com) +1994-02-11 Stan Shebs (shebs@andros.cygnus.com) * ar.h (ARMAG, ARMAGB, ARFMAG): Change '\n' to '\012', for greater portability. -Fri Jan 21 00:59:06 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) +1994-01-21 Ian Lance Taylor (ian@tweedledumb.cygnus.com) * sun4.h: Added information about SunOS shared libraries. -Fri Jan 7 08:20:13 1994 Jim Kingdon (kingdon@deneb.cygnus.com) +1994-01-07 Jim Kingdon (kingdon@deneb.cygnus.com) * aout64.h (N_TXTADDR): Add comment regarding OMAGIC and NMAGIC. -Sat Dec 25 14:55:41 1993 Jim Kingdon (kingdon@lioth.cygnus.com) +1993-12-25 Jim Kingdon (kingdon@lioth.cygnus.com) * aout64.h (N_DATOFF): Don't pad (revert change of 8 Jul 1993). -Tue Nov 16 15:43:46 1993 Jim Kingdon (kingdon@lioth.cygnus.com) +1993-11-16 Jim Kingdon (kingdon@lioth.cygnus.com) * aout64.h: New macros ZMAGIC_DISK_BLOCK_SIZE and N_DISK_BLOCK_SIZE for Linux ZMAGIC. (N_TXTOFF, N_DATOFF): Use them. -Thu Nov 4 00:33:48 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) +1993-11-04 Ken Raeburn (raeburn@kr-pc.cygnus.com) * aout64.h (RELOC_STD_BITS_RELATIVE_LITTLE): Fixed value to match sun3 system; used to overlap other fields. (RELOC_STD_BITS_JMPTABLE_LITTLE): Likewise. -Wed Nov 3 13:48:27 1993 David J. Mackenzie (djm@thepub.cygnus.com) +1993-11-03 David J. Mackenzie (djm@thepub.cygnus.com) * aout64.h (RELOC_STD_BITS_BASEREL_LITTLE): Make it 0x10 (Ken's suggestion) to avoid conflict with RELOC_STD_BITS_EXTERN_LITTLE. -Fri Oct 29 15:09:52 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) +1993-10-29 Ian Lance Taylor (ian@tweedledumb.cygnus.com) * hp300hpux.h (N_SHARED_LIB): Define to be 0. -Mon Sep 13 21:00:56 1993 John Gilmore (gnu@cygnus.com) +1993-09-13 John Gilmore (gnu@cygnus.com) * ar.h (ARMAP_TIME_OFFSET): Add and describe. @@ -118,30 +126,30 @@ Mon Aug 23 Sean Fagan (sef@cygnus.com) * aout64.h [ARCH_SIZE != 64]: Allow N_BADMAG to be overridden. -Mon Aug 16 14:30:14 1993 Jim Kingdon (kingdon@lioth.cygnus.com) +1993-08-16 Jim Kingdon (kingdon@lioth.cygnus.com) * stab_gnu.h: Include aout/stab.def not just stab.def. -Sun Jul 18 21:41:47 1993 Jim Kingdon (kingdon@rtl.cygnus.com) +1993-07-18 Jim Kingdon (kingdon@rtl.cygnus.com) * dynix3.h: New, for symmetry running dynix. -Thu Jul 8 12:52:22 1993 Jim Kingdon (kingdon@lioth.cygnus.com) +1993-07-08 Jim Kingdon (kingdon@lioth.cygnus.com) * aout64.h (N_BADMAG): Recognize QMAGIC. N_TXTOFF, N_TXTADDR, N_TXTSIZE: Special code for QMAGIC. N_DATOFF: Pad text size if we need to. -Fri Jun 18 19:19:38 1993 Jim Kingdon (kingdon@lioth.cygnus.com) +1993-06-18 Jim Kingdon (kingdon@lioth.cygnus.com) * stab.def (N_ECOML): Fix comment. -Mon May 31 09:21:30 1993 Jim Kingdon (kingdon@cygnus.com) +1993-05-31 Jim Kingdon (kingdon@cygnus.com) * stab.def: Remove Solaris information on N_FUN stabstring grammar; I've transferred it to gdb/doc/stabs.texinfo, where it belongs. -Mon May 10 05:48:43 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) +1993-05-10 Ken Raeburn (raeburn@kr-pc.cygnus.com) * hp300hpux.h: Patch from Glenn Engel for linker problem and compatibility fix: @@ -151,11 +159,11 @@ Mon May 10 05:48:43 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) (_N_BADMAG): Adjusted. (N_HEADER_IN_TEXT, N_DATADDR): New macros. -Thu Apr 29 12:07:37 1993 Ken Raeburn (raeburn@deneb.cygnus.com) +1993-04-29 Ken Raeburn (raeburn@deneb.cygnus.com) * hp300hpux.h: New file from Glenn Engel, glenne@lsid.hp.com. -Tue Apr 27 05:51:04 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) +1993-04-27 Ken Raeburn (raeburn@kr-pc.cygnus.com) * aout64.h (struct external_exec, *MAGIC, N_BADMAG): Don't define if `external_exec' is already defined as a macro. @@ -164,35 +172,35 @@ Tue Apr 27 05:51:04 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) (struct external_nlist, EXTERNAL_NLIST_SIZE): Don't define if `external_nlist' is already defined as a macro. -Sat Aug 15 04:23:02 1992 John Gilmore (gnu@cygnus.com) +1992-08-15 John Gilmore (gnu@cygnus.com) * adobe.h: Add description of a.out.adobe format. -Fri Jul 3 00:36:52 1992 John Gilmore (gnu at cygnus.com) +1992-07-03 John Gilmore (gnu at cygnus.com) * stab.def: Update more Solaris definitions. * stab_gnu.h: Add N_SO language types, and Solaris basic float types. -Sun Jun 14 10:53:53 1992 John Gilmore (gnu at cygnus.com) +1992-06-14 John Gilmore (gnu at cygnus.com) * stab.def: Update descriptions of Solaris-2 stabs; add N_UNDF. -Thu Jun 11 01:12:07 1992 John Gilmore (gnu at cygnus.com) +1992-06-11 John Gilmore (gnu at cygnus.com) * stab.def: Add N_OBJ and N_OPT from Solaris-2. -Thu Jan 30 18:12:44 1992 John Gilmore (gnu at cygnus.com) +1992-01-30 John Gilmore (gnu at cygnus.com) * aout64.h: N_TXTSIZE needs some more parentheses. I don't trust C precedence. -Wed Dec 18 14:32:01 1991 Per Bothner (bothner at cygnus.com) +1991-12-18 Per Bothner (bothner at cygnus.com) * aout64.h: Move common sunos-specific test to recognize shared libraries into new macro N_SHARED_LIB. Use it to simplify & reformat N_TXTADDR, N_TXTOFF, N_TXTSIZE. -Sat Nov 30 20:34:52 1991 Steve Chamberlain (sac at rtl.cygnus.com) +1991-11-30 Steve Chamberlain (sac at rtl.cygnus.com) * aout64.h, ar.h, encap.h, host.h, hp.h, ranlib.h, reloc.h, stab.def, stab_gnu.h, sun4.h: All moved from the devo/include diff --git a/contrib/binutils/include/aout/aout64.h b/contrib/binutils/include/aout/aout64.h index bc96d2a..4843410 100644 --- a/contrib/binutils/include/aout/aout64.h +++ b/contrib/binutils/include/aout/aout64.h @@ -1,6 +1,6 @@ /* `a.out' object-file definitions, including extensions to 64-bit fields - Copyright 2001 Free Software Foundation, Inc. + Copyright 2001, 2003 Free Software Foundation, Inc. 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 @@ -19,27 +19,31 @@ #ifndef __A_OUT_64_H__ #define __A_OUT_64_H__ -/* This is the layout on disk of the 32-bit or 64-bit exec header. */ +#ifndef BYTES_IN_WORD +#define BYTES_IN_WORD 4 +#endif + +/* This is the layout on disk of the 32-bit or 64-bit exec header. */ #ifndef external_exec struct external_exec { - bfd_byte e_info[4]; /* magic number and stuff */ - bfd_byte e_text[BYTES_IN_WORD]; /* length of text section in bytes */ - bfd_byte e_data[BYTES_IN_WORD]; /* length of data section in bytes */ - bfd_byte e_bss[BYTES_IN_WORD]; /* length of bss area in bytes */ - bfd_byte e_syms[BYTES_IN_WORD]; /* length of symbol table in bytes */ - bfd_byte e_entry[BYTES_IN_WORD]; /* start address */ - bfd_byte e_trsize[BYTES_IN_WORD]; /* length of text relocation info */ - bfd_byte e_drsize[BYTES_IN_WORD]; /* length of data relocation info */ + bfd_byte e_info[4]; /* Magic number and stuff. */ + bfd_byte e_text[BYTES_IN_WORD]; /* Length of text section in bytes. */ + bfd_byte e_data[BYTES_IN_WORD]; /* Length of data section in bytes. */ + bfd_byte e_bss[BYTES_IN_WORD]; /* Length of bss area in bytes. */ + bfd_byte e_syms[BYTES_IN_WORD]; /* Length of symbol table in bytes. */ + bfd_byte e_entry[BYTES_IN_WORD]; /* Start address. */ + bfd_byte e_trsize[BYTES_IN_WORD]; /* Length of text relocation info. */ + bfd_byte e_drsize[BYTES_IN_WORD]; /* Length of data relocation info. */ }; #define EXEC_BYTES_SIZE (4 + BYTES_IN_WORD * 7) -/* Magic numbers for a.out files */ +/* Magic numbers for a.out files. */ #if ARCH_SIZE==64 -#define OMAGIC 0x1001 /* Code indicating object file */ +#define OMAGIC 0x1001 /* Code indicating object file. */ #define ZMAGIC 0x1002 /* Code indicating demand-paged executable. */ #define NMAGIC 0x1003 /* Code indicating pure executable. */ @@ -49,7 +53,7 @@ struct external_exec && N_MAGIC(x) != NMAGIC \ && N_MAGIC(x) != ZMAGIC) #else -#define OMAGIC 0407 /* ...object file or impure executable. */ +#define OMAGIC 0407 /* Object file or impure executable. */ #define NMAGIC 0410 /* Code indicating pure executable. */ #define ZMAGIC 0413 /* Code indicating demand-paged executable. */ #define BMAGIC 0415 /* Used by a b.out object. */ @@ -125,8 +129,7 @@ struct external_exec * QMAGIC is always like a ZMAGIC for which N_HEADER_IN_TEXT is true, and for which the starting address is TARGET_PAGE_SIZE (or should this be - SEGMENT_SIZE?) (TEXT_START_ADDR only applies to ZMAGIC, not to QMAGIC). - */ + SEGMENT_SIZE?) (TEXT_START_ADDR only applies to ZMAGIC, not to QMAGIC). */ /* This macro is only relevant for ZMAGIC files; QMAGIC always has the header in the text. */ @@ -152,12 +155,12 @@ struct external_exec #ifndef N_TXTADDR #define N_TXTADDR(x) \ - (/* The address of a QMAGIC file is always one page in, */ \ - /* with the header in the text. */ \ + (/* The address of a QMAGIC file is always one page in, \ + with the header in the text. */ \ N_IS_QMAGIC (x) \ ? (bfd_vma) TARGET_PAGE_SIZE + EXEC_BYTES_SIZE \ : (N_MAGIC (x) != ZMAGIC \ - ? (bfd_vma) 0 /* object file or NMAGIC */ \ + ? (bfd_vma) 0 /* Object file or NMAGIC. */ \ : (N_SHARED_LIB (x) \ ? (bfd_vma) 0 \ : (N_HEADER_IN_TEXT (x) \ @@ -187,8 +190,8 @@ struct external_exec : (N_SHARED_LIB (x) \ ? 0 \ : (N_HEADER_IN_TEXT (x) \ - ? EXEC_BYTES_SIZE /* no padding */ \ - : ZMAGIC_DISK_BLOCK_SIZE /* a page of padding */))) + ? EXEC_BYTES_SIZE /* No padding. */ \ + : ZMAGIC_DISK_BLOCK_SIZE /* A page of padding. */))) #endif /* Size of the text section. It's always as stated, except that we offset it to `undo' the adjustment to N_TXTADDR and N_TXTOFF @@ -203,12 +206,12 @@ struct external_exec : ((N_MAGIC (x) != ZMAGIC || N_SHARED_LIB (x)) \ ? (x).a_text \ : (N_HEADER_IN_TEXT (x) \ - ? (x).a_text - EXEC_BYTES_SIZE /* no padding */ \ - : (x).a_text /* a page of padding */ ))) + ? (x).a_text - EXEC_BYTES_SIZE /* No padding. */ \ + : (x).a_text /* A page of padding. */ ))) #endif /* The address of the data segment in virtual memory. It is the text segment address, plus text segment size, rounded - up to a N_SEGSIZE boundary for pure or pageable files. */ + up to a N_SEGSIZE boundary for pure or pageable files. */ #ifndef N_DATADDR #define N_DATADDR(x) \ (N_MAGIC (x) == OMAGIC \ @@ -235,57 +238,59 @@ struct external_exec for NMAGIC. */ #ifndef N_DATOFF -#define N_DATOFF(x) ( N_TXTOFF (x) + N_TXTSIZE (x) ) +#define N_DATOFF(x) (N_TXTOFF (x) + N_TXTSIZE (x)) #endif #ifndef N_TRELOFF -#define N_TRELOFF(x) ( N_DATOFF (x) + (x).a_data ) +#define N_TRELOFF(x) (N_DATOFF (x) + (x).a_data) #endif #ifndef N_DRELOFF -#define N_DRELOFF(x) ( N_TRELOFF (x) + (x).a_trsize ) +#define N_DRELOFF(x) (N_TRELOFF (x) + (x).a_trsize) #endif #ifndef N_SYMOFF -#define N_SYMOFF(x) ( N_DRELOFF (x) + (x).a_drsize ) +#define N_SYMOFF(x) (N_DRELOFF (x) + (x).a_drsize) #endif #ifndef N_STROFF -#define N_STROFF(x) ( N_SYMOFF (x) + (x).a_syms ) +#define N_STROFF(x) (N_SYMOFF (x) + (x).a_syms) #endif /* Symbols */ #ifndef external_nlist -struct external_nlist { - bfd_byte e_strx[BYTES_IN_WORD]; /* index into string table of name */ - bfd_byte e_type[1]; /* type of symbol */ - bfd_byte e_other[1]; /* misc info (usually empty) */ - bfd_byte e_desc[2]; /* description field */ - bfd_byte e_value[BYTES_IN_WORD]; /* value of symbol */ +struct external_nlist +{ + bfd_byte e_strx[BYTES_IN_WORD]; /* Index into string table of name. */ + bfd_byte e_type[1]; /* Type of symbol. */ + bfd_byte e_other[1]; /* Misc info (usually empty). */ + bfd_byte e_desc[2]; /* Description field. */ + bfd_byte e_value[BYTES_IN_WORD]; /* Value of symbol. */ }; #define EXTERNAL_NLIST_SIZE (BYTES_IN_WORD+4+BYTES_IN_WORD) #endif -struct internal_nlist { - unsigned long n_strx; /* index into string table of name */ - unsigned char n_type; /* type of symbol */ - unsigned char n_other; /* misc info (usually empty) */ - unsigned short n_desc; /* description field */ - bfd_vma n_value; /* value of symbol */ +struct internal_nlist +{ + unsigned long n_strx; /* Index into string table of name. */ + unsigned char n_type; /* Type of symbol. */ + unsigned char n_other; /* Misc info (usually empty). */ + unsigned short n_desc; /* Description field. */ + bfd_vma n_value; /* Value of symbol. */ }; /* The n_type field is the symbol type, containing: */ -#define N_UNDF 0 /* Undefined symbol */ -#define N_ABS 2 /* Absolute symbol -- defined at particular addr */ -#define N_TEXT 4 /* Text sym -- defined at offset in text seg */ -#define N_DATA 6 /* Data sym -- defined at offset in data seg */ -#define N_BSS 8 /* BSS sym -- defined at offset in zero'd seg */ -#define N_COMM 0x12 /* Common symbol (visible after shared lib dynlink) */ -#define N_FN 0x1f /* File name of .o file */ -#define N_FN_SEQ 0x0C /* N_FN from Sequent compilers (sigh) */ +#define N_UNDF 0 /* Undefined symbol. */ +#define N_ABS 2 /* Absolute symbol -- defined at particular addr. */ +#define N_TEXT 4 /* Text sym -- defined at offset in text seg. */ +#define N_DATA 6 /* Data sym -- defined at offset in data seg. */ +#define N_BSS 8 /* BSS sym -- defined at offset in zero'd seg. */ +#define N_COMM 0x12 /* Common symbol (visible after shared lib dynlink). */ +#define N_FN 0x1f /* File name of .o file. */ +#define N_FN_SEQ 0x0C /* N_FN from Sequent compilers (sigh). */ /* Note: N_EXT can only be usefully OR-ed with N_UNDF, N_ABS, N_TEXT, N_DATA, or N_BSS. When the low-order bit of other types is set, (e.g. N_WARNING versus N_FN), they are two different types. */ -#define N_EXT 1 /* External symbol (as opposed to local-to-this-file) */ +#define N_EXT 1 /* External symbol (as opposed to local-to-this-file). */ #define N_TYPE 0x1e -#define N_STAB 0xe0 /* If any of these bits are on, it's a debug symbol */ +#define N_STAB 0xe0 /* If any of these bits are on, it's a debug symbol. */ #define N_INDR 0x0a @@ -301,10 +306,10 @@ struct internal_nlist { in that it can satisfy undefined external references. */ /* These appear as input to LD, in a .o file. */ -#define N_SETA 0x14 /* Absolute set element symbol */ -#define N_SETT 0x16 /* Text set element symbol */ -#define N_SETD 0x18 /* Data set element symbol */ -#define N_SETB 0x1A /* Bss set element symbol */ +#define N_SETA 0x14 /* Absolute set element symbol. */ +#define N_SETT 0x16 /* Text set element symbol. */ +#define N_SETD 0x18 /* Data set element symbol. */ +#define N_SETB 0x1A /* Bss set element symbol. */ /* This is output from LD. */ #define N_SETV 0x1C /* Pointer to set vector in data area. */ @@ -335,18 +340,18 @@ struct internal_nlist { instructions. Eg, on the 68k, each move instruction can reference the target with a displacement of 16 or 32 bits. On the sparc, move instructions use an offset of 14 bits, so the offset is stored in - the reloc field, and the data in the section is ignored. -*/ + the reloc field, and the data in the section is ignored. */ /* This structure describes a single relocation to be performed. The text-relocation section of the file is a vector of these structures, all of which apply to the text section. Likewise, the data-relocation section applies to the data section. */ -struct reloc_std_external { - bfd_byte r_address[BYTES_IN_WORD]; /* offset of of data to relocate */ - bfd_byte r_index[3]; /* symbol table index of symbol */ - bfd_byte r_type[1]; /* relocation type */ +struct reloc_std_external +{ + bfd_byte r_address[BYTES_IN_WORD]; /* Offset of of data to relocate. */ + bfd_byte r_index[3]; /* Symbol table index of symbol. */ + bfd_byte r_type[1]; /* Relocation type. */ }; #define RELOC_STD_BITS_PCREL_BIG ((unsigned int) 0x80) @@ -369,7 +374,7 @@ struct reloc_std_external { #define RELOC_STD_BITS_RELATIVE_BIG ((unsigned int) 0x02) #define RELOC_STD_BITS_RELATIVE_LITTLE ((unsigned int) 0x40) -#define RELOC_STD_SIZE (BYTES_IN_WORD + 3 + 1) /* Bytes per relocation entry */ +#define RELOC_STD_SIZE (BYTES_IN_WORD + 3 + 1) /* Bytes per relocation entry. */ struct reloc_std_internal { @@ -392,21 +397,22 @@ struct reloc_std_internal unsigned int r_extern:1; /* The next three bits are for SunOS shared libraries, and seem to be undocumented. */ - unsigned int r_baserel:1; /* Linkage table relative */ - unsigned int r_jmptable:1; /* pc-relative to jump table */ - unsigned int r_relative:1; /* "relative relocation" */ + unsigned int r_baserel:1; /* Linkage table relative. */ + unsigned int r_jmptable:1; /* pc-relative to jump table. */ + unsigned int r_relative:1; /* "relative relocation". */ /* unused */ - unsigned int r_pad:1; /* Padding -- set to zero */ + unsigned int r_pad:1; /* Padding -- set to zero. */ }; -/* EXTENDED RELOCS */ +/* EXTENDED RELOCS. */ -struct reloc_ext_external { - bfd_byte r_address[BYTES_IN_WORD]; /* offset of of data to relocate */ - bfd_byte r_index[3]; /* symbol table index of symbol */ - bfd_byte r_type[1]; /* relocation type */ - bfd_byte r_addend[BYTES_IN_WORD]; /* datum addend */ +struct reloc_ext_external +{ + bfd_byte r_address[BYTES_IN_WORD]; /* Offset of of data to relocate. */ + bfd_byte r_index[3]; /* Symbol table index of symbol. */ + bfd_byte r_type[1]; /* Relocation type. */ + bfd_byte r_addend[BYTES_IN_WORD]; /* Datum addend. */ }; #ifndef RELOC_EXT_BITS_EXTERN_BIG @@ -433,20 +439,20 @@ struct reloc_ext_external { #define RELOC_EXT_BITS_TYPE_SH_LITTLE 3 #endif -/* Bytes per relocation entry */ +/* Bytes per relocation entry. */ #define RELOC_EXT_SIZE (BYTES_IN_WORD + 3 + 1 + BYTES_IN_WORD) enum reloc_type { - /* simple relocations */ + /* Simple relocations. */ RELOC_8, /* data[0:7] = addend + sv */ RELOC_16, /* data[0:15] = addend + sv */ RELOC_32, /* data[0:31] = addend + sv */ - /* pc-rel displacement */ + /* PC-rel displacement. */ RELOC_DISP8, /* data[0:7] = addend - pc + sv */ RELOC_DISP16, /* data[0:15] = addend - pc + sv */ RELOC_DISP32, /* data[0:31] = addend - pc + sv */ - /* Special */ + /* Special. */ RELOC_WDISP30, /* data[0:29] = (addend + sv - pc)>>2 */ RELOC_WDISP22, /* data[0:21] = (addend + sv - pc)>>2 */ RELOC_HI22, /* data[0:21] = (addend + sv)>>10 */ @@ -455,16 +461,16 @@ enum reloc_type RELOC_LO10, /* data[0:9] = (addend + sv) */ RELOC_SFA_BASE, RELOC_SFA_OFF13, - /* P.I.C. (base-relative) */ + /* P.I.C. (base-relative). */ RELOC_BASE10, /* Not sure - maybe we can do this the */ RELOC_BASE13, /* right way now */ RELOC_BASE22, - /* for some sort of pc-rel P.I.C. (?) */ + /* For some sort of pc-rel P.I.C. (?) */ RELOC_PC10, RELOC_PC22, - /* P.I.C. jump table */ + /* P.I.C. jump table. */ RELOC_JMP_TBL, - /* reputedly for shared libraries somehow */ + /* Reputedly for shared libraries somehow. */ RELOC_SEGOFF16, RELOC_GLOB_DAT, RELOC_JMP_SLOT, @@ -476,13 +482,12 @@ enum reloc_type RELOC_HHI22, /* data[0:21] = (addend + sv) >> 42 */ RELOC_HLO10, /* data[0:9] = (addend + sv) >> 32 */ - /* 29K relocation types */ + /* 29K relocation types. */ RELOC_JUMPTARG, RELOC_CONST, RELOC_CONSTH, - /* All the new ones I can think of, for sparc v9 */ - + /* All the new ones I can think of, for sparc v9. */ RELOC_64, /* data[0:63] = addend + sv */ RELOC_DISP64, /* data[0:63] = addend - pc + sv */ RELOC_WDISP21, /* data[0:20] = (addend + sv - pc)>>2 */ @@ -492,25 +497,23 @@ enum reloc_type What are the other ones, Since this is a clean slate, can we throw away the ones we dont understand ? Should we sort the values ? What about using a - microcode format like the 68k ? - */ + microcode format like the 68k ? */ NO_RELOC }; -struct reloc_internal { - bfd_vma r_address; /* offset of of data to relocate */ - long r_index; /* symbol table index of symbol */ - enum reloc_type r_type; /* relocation type */ - bfd_vma r_addend; /* datum addend */ +struct reloc_internal +{ + bfd_vma r_address; /* Offset of of data to relocate. */ + long r_index; /* Symbol table index of symbol. */ + enum reloc_type r_type; /* Relocation type. */ + bfd_vma r_addend; /* Datum addend. */ }; /* Q. Should the length of the string table be 4 bytes or 8 bytes ? Q. - What about archive indexes ? - - */ + What about archive indexes ? */ #endif /* __A_OUT_64_H__ */ diff --git a/contrib/binutils/include/aout/stab.def b/contrib/binutils/include/aout/stab.def index 67bde35..8188b84 100644 --- a/contrib/binutils/include/aout/stab.def +++ b/contrib/binutils/include/aout/stab.def @@ -1,20 +1,20 @@ /* Table of DBX symbol codes for the GNU system. - Copyright 1988, 1991, 1992, 1993, 1994, 1996, 1998 + Copyright 1988, 1991, 1992, 1993, 1994, 1996, 1998, 2004 Free Software Foundation, Inc. -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 2 of the License, or -(at your option) any later version. + 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 2 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. + 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* New stab from Solaris 2. This uses an n_type of 0, which in a.out files overlaps the N_UNDF used for ordinary symbols. In ELF files, the @@ -181,6 +181,9 @@ __define_stab (N_EXCL, 0xc2, "EXCL") /* Modula-2 scope information. Can someone say what info it contains? */ __define_stab (N_SCOPE, 0xc4, "SCOPE") +/* Solaris2: Patch Run Time Checker. */ +__define_stab (N_PATCH, 0xd0, "PATCH") + /* End of a lexical block. Desc matches the N_LBRAC's desc. The value is the address of the end of the text for the block. On Solaris2, the value is relative to the start of the current function. */ @@ -256,7 +259,7 @@ __define_stab (N_LENG, 0xfe, "LENG") | B8 | BA | BC | BE | | C0 LBRAC | C2 EXCL | C4 SCOPE | C6 | | C8 | CA | CC | CE | - | D0 | D2 | D4 | D6 | + | D0 PATCH | D2 | D4 | D6 | | D8 | DA | DC | DE | | E0 RBRAC | E2 BCOMM | E4 ECOMM | E6 | | E8 ECOML | EA WITH | EC | EE | diff --git a/contrib/binutils/include/bfdlink.h b/contrib/binutils/include/bfdlink.h index d83ff94..cc2043e 100644 --- a/contrib/binutils/include/bfdlink.h +++ b/contrib/binutils/include/bfdlink.h @@ -1,6 +1,6 @@ /* bfdlink.h -- header file for BFD link routines - Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002 - Free Software Foundation, Inc. + Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, + 2004 Free Software Foundation, Inc. Written by Steve Chamberlain and Ian Lance Taylor, Cygnus Support. This file is part of BFD, the Binary File Descriptor library. @@ -66,6 +66,14 @@ enum bfd_link_hash_type bfd_link_hash_warning /* Like indirect, but warn if referenced. */ }; +enum bfd_link_common_skip_ar_aymbols +{ + bfd_link_common_skip_none, + bfd_link_common_skip_text, + bfd_link_common_skip_data, + bfd_link_common_skip_all +}; + /* The linking routines use a hash table which uses this structure for its elements. */ @@ -73,6 +81,7 @@ struct bfd_link_hash_entry { /* Base hash table entry structure. */ struct bfd_hash_entry root; + /* Type of this entry. */ enum bfd_link_hash_type type; @@ -94,7 +103,8 @@ struct bfd_link_hash_entry symbol is undefined and becomes defined, this field will automatically be non-NULL since the symbol will have been on the undefined symbol list. */ - struct bfd_link_hash_entry *next; + struct bfd_link_hash_entry *und_next; + /* A union of information depending upon the type. */ union { @@ -120,14 +130,14 @@ struct bfd_link_hash_entry struct { /* The linker needs to know three things about common - symbols: the size, the alignment, and the section in - which the symbol should be placed. We store the size - here, and we allocate a small structure to hold the - section and the alignment. The alignment is stored as a - power of two. We don't store all the information - directly because we don't want to increase the size of - the union; this structure is a major space user in the - linker. */ + symbols: the size, the alignment, and the section in + which the symbol should be placed. We store the size + here, and we allocate a small structure to hold the + section and the alignment. The alignment is stored as a + power of two. We don't store all the information + directly because we don't want to increase the size of + the union; this structure is a major space user in the + linker. */ bfd_size_type size; /* Common symbol size. */ struct bfd_link_hash_common_entry { @@ -155,34 +165,34 @@ struct bfd_link_hash_table struct bfd_link_hash_entry *undefs; /* Entries are added to the tail of the undefs list. */ struct bfd_link_hash_entry *undefs_tail; - /* The type of the ink hash table. */ + /* The type of the link hash table. */ enum bfd_link_hash_table_type type; }; -/* Look up an entry in a link hash table. If FOLLOW is true, this +/* Look up an entry in a link hash table. If FOLLOW is TRUE, this follows bfd_link_hash_indirect and bfd_link_hash_warning links to the real symbol. */ extern struct bfd_link_hash_entry *bfd_link_hash_lookup - PARAMS ((struct bfd_link_hash_table *, const char *, boolean create, - boolean copy, boolean follow)); + (struct bfd_link_hash_table *, const char *, bfd_boolean create, + bfd_boolean copy, bfd_boolean follow); /* Look up an entry in the main linker hash table if the symbol might be wrapped. This should only be used for references to an undefined symbol, not for definitions of a symbol. */ extern struct bfd_link_hash_entry *bfd_wrapped_link_hash_lookup - PARAMS ((bfd *, struct bfd_link_info *, const char *, boolean, boolean, - boolean)); + (bfd *, struct bfd_link_info *, const char *, bfd_boolean, + bfd_boolean, bfd_boolean); /* Traverse a link hash table. */ extern void bfd_link_hash_traverse - PARAMS ((struct bfd_link_hash_table *, - boolean (*) (struct bfd_link_hash_entry *, PTR), - PTR)); + (struct bfd_link_hash_table *, + bfd_boolean (*) (struct bfd_link_hash_entry *, void *), + void *); /* Add an entry to the undefs list. */ extern void bfd_link_add_undef - PARAMS ((struct bfd_link_hash_table *, struct bfd_link_hash_entry *)); + (struct bfd_link_hash_table *, struct bfd_link_hash_entry *); struct bfd_sym_chain { @@ -190,72 +200,118 @@ struct bfd_sym_chain const char *name; }; +/* How to handle unresolved symbols. + There are four possibilities which are enumerated below: */ +enum report_method +{ + /* This is the initial value when then link_info structure is created. + It allows the various stages of the linker to determine whether they + allowed to set the value. */ + RM_NOT_YET_SET = 0, + RM_IGNORE, + RM_GENERATE_WARNING, + RM_GENERATE_ERROR +}; + /* This structure holds all the information needed to communicate between BFD and the linker when doing a link. */ struct bfd_link_info { - /* Function callbacks. */ - const struct bfd_link_callbacks *callbacks; - - /* true if BFD should generate a relocateable object file. */ - boolean relocateable; + /* TRUE if BFD should generate a relocatable object file. */ + unsigned int relocatable: 1; - /* true if BFD should generate relocation information in the final + /* TRUE if BFD should generate relocation information in the final executable. */ - boolean emitrelocations; + unsigned int emitrelocations: 1; - /* true if BFD should generate a "task linked" object file, + /* TRUE if BFD should generate a "task linked" object file, similar to relocatable but also with globals converted to statics. */ - boolean task_link; + unsigned int task_link: 1; - /* true if BFD should generate a shared object. */ - boolean shared; + /* TRUE if BFD should generate a shared object. */ + unsigned int shared: 1; - /* true if BFD should pre-bind symbols in a shared object. */ - boolean symbolic; + /* TRUE if BFD should pre-bind symbols in a shared object. */ + unsigned int symbolic: 1; - /* true if BFD should export all symbols in the dynamic symbol table + /* TRUE if BFD should export all symbols in the dynamic symbol table of an executable, rather than only those used. */ - boolean export_dynamic; + unsigned int export_dynamic: 1; - /* true if shared objects should be linked directly, not shared. */ - boolean static_link; + /* TRUE if shared objects should be linked directly, not shared. */ + unsigned int static_link: 1; - /* true if the output file should be in a traditional format. This + /* TRUE if the output file should be in a traditional format. This is equivalent to the setting of the BFD_TRADITIONAL_FORMAT flag on the output file, but may be checked when reading the input files. */ - boolean traditional_format; + unsigned int traditional_format: 1; - /* true if we want to produced optimized output files. This might + /* TRUE if we want to produced optimized output files. This might need much more time and therefore must be explicitly selected. */ - boolean optimize; - - /* true if BFD should generate errors for undefined symbols - even if generating a shared object. */ - boolean no_undefined; - - /* true if BFD should allow undefined symbols in shared objects even - when no_undefined is set to disallow undefined symbols. The net - result will be that undefined symbols in regular objects will - still trigger an error, but undefined symbols in shared objects - will be ignored. The implementation of no_undefined makes the - assumption that the runtime linker will choke on undefined - symbols. However there is at least one system (BeOS) where - undefined symbols in shared libraries is normal since the kernel - patches them at load time to select which function is most - appropriate for the current architecture. I.E. dynamically - select an appropriate memset function. Apparently it is also - normal for HPPA shared libraries to have undefined symbols. */ - boolean allow_shlib_undefined; - - /* true if ok to have multiple definition. */ - boolean allow_multiple_definition; - - /* true if ok to have version with no definition. */ - boolean allow_undefined_version; + unsigned int optimize: 1; + + /* TRUE if ok to have multiple definition. */ + unsigned int allow_multiple_definition: 1; + + /* TRUE if ok to have version with no definition. */ + unsigned int allow_undefined_version: 1; + + /* TRUE if symbols should be retained in memory, FALSE if they + should be freed and reread. */ + unsigned int keep_memory: 1; + + /* TRUE if every symbol should be reported back via the notice + callback. */ + unsigned int notice_all: 1; + + /* TRUE if executable should not contain copy relocs. + Setting this true may result in a non-sharable text segment. */ + unsigned int nocopyreloc: 1; + + /* TRUE if the new ELF dynamic tags are enabled. */ + unsigned int new_dtags: 1; + + /* TRUE if non-PLT relocs should be merged into one reloc section + and sorted so that relocs against the same symbol come together. */ + unsigned int combreloc: 1; + + /* TRUE if .eh_frame_hdr section and PT_GNU_EH_FRAME ELF segment + should be created. */ + unsigned int eh_frame_hdr: 1; + + /* TRUE if global symbols in discarded sections should be stripped. */ + unsigned int strip_discarded: 1; + + /* TRUE if the final relax pass is needed. */ + unsigned int need_relax_finalize: 1; + + /* TRUE if generating a position independent executable. */ + unsigned int pie: 1; + + /* TRUE if generating an executable, position independent or not. */ + unsigned int executable : 1; + + /* TRUE if PT_GNU_STACK segment should be created with PF_R|PF_W|PF_X + flags. */ + unsigned int execstack: 1; + + /* TRUE if PT_GNU_STACK segment should be created with PF_R|PF_W + flags. */ + unsigned int noexecstack: 1; + + /* What to do with unresolved symbols in an object file. + When producing executables the default is GENERATE_ERROR. + When producing shared libraries the default is IGNORE. The + assumption with shared libraries is that the reference will be + resolved at load/execution time. */ + enum report_method unresolved_syms_in_objects; + + /* What to do with unresolved symbols in a shared library. + The same defaults apply. */ + enum report_method unresolved_syms_in_shared_libs; /* Which symbols to strip. */ enum bfd_link_strip strip; @@ -263,24 +319,17 @@ struct bfd_link_info /* Which local symbols to discard. */ enum bfd_link_discard discard; - /* true if symbols should be retained in memory, false if they - should be freed and reread. */ - boolean keep_memory; - - /* The list of input BFD's involved in the link. These are chained - together via the link_next field. */ - bfd *input_bfds; + /* Criteria for skipping symbols when detemining + whether to include an object from an archive. */ + enum bfd_link_common_skip_ar_aymbols common_skip_ar_aymbols; - /* If a symbol should be created for each input BFD, this is section - where those symbols should be placed. It must be a section in - the output BFD. It may be NULL, in which case no such symbols - will be created. This is to support CREATE_OBJECT_SYMBOLS in the - linker command language. */ - asection *create_object_symbols_section; + /* Char that may appear as the first char of a symbol, but should be + skipped (like symbol_leading_char) when looking up symbols in + wrap_hash. Used by PowerPC Linux for 'dot' symbols. */ + char wrap_char; - /* List of global symbol names that are starting points for marking - sections against garbage collection. */ - struct bfd_sym_chain *gc_sym_list; + /* Function callbacks. */ + const struct bfd_link_callbacks *callbacks; /* Hash table handled by BFD. */ struct bfd_link_hash_table *hash; @@ -289,12 +338,8 @@ struct bfd_link_info strip_some. */ struct bfd_hash_table *keep_hash; - /* true if every symbol should be reported back via the notice - callback. */ - boolean notice_all; - /* Hash table of symbols to report back via the notice callback. If - this is NULL, and notice_all is false, then no symbols are + this is NULL, and notice_all is FALSE, then no symbols are reported back. */ struct bfd_hash_table *notice_hash; @@ -302,13 +347,23 @@ struct bfd_link_info option). If this is NULL, no symbols are being wrapped. */ struct bfd_hash_table *wrap_hash; - /* If a base output file is wanted, then this points to it */ - PTR base_file; + /* The list of input BFD's involved in the link. These are chained + together via the link_next field. */ + bfd *input_bfds; - /* If non-zero, specifies that branches which are problematic for the - MPC860 C0 (or earlier) should be checked for and modified. It gives the - number of bytes that should be checked at the end of each text page. */ - int mpc860c0; + /* If a symbol should be created for each input BFD, this is section + where those symbols should be placed. It must be a section in + the output BFD. It may be NULL, in which case no such symbols + will be created. This is to support CREATE_OBJECT_SYMBOLS in the + linker command language. */ + asection *create_object_symbols_section; + + /* List of global symbol names that are starting points for marking + sections against garbage collection. */ + struct bfd_sym_chain *gc_sym_list; + + /* If a base output file is wanted, then this points to it */ + void *base_file; /* The function to call when the executable or shared object is loaded. */ @@ -318,40 +373,30 @@ struct bfd_link_info unloaded. */ const char *fini_function; - /* true if the new ELF dynamic tags are enabled. */ - boolean new_dtags; - - /* May be used to set DT_FLAGS for ELF. */ - bfd_vma flags; - - /* May be used to set DT_FLAGS_1 for ELF. */ - bfd_vma flags_1; - - /* Non-zero if auto-import thunks for DATA items in pei386 DLLs + /* Non-zero if auto-import thunks for DATA items in pei386 DLLs should be generated/linked against. Set to 1 if this feature is explicitly requested by the user, -1 if enabled by default. */ int pei386_auto_import; - /* True if non-PLT relocs should be merged into one reloc section - and sorted so that relocs against the same symbol come together. */ - boolean combreloc; - - /* True if executable should not contain copy relocs. - Setting this true may result in a non-sharable text segment. */ - boolean nocopyreloc; - - /* True if .eh_frame_hdr section and PT_GNU_EH_FRAME ELF segment - should be created. */ - boolean eh_frame_hdr; + /* Non-zero if runtime relocs for DATA items with non-zero addends + in pei386 DLLs should be generated. Set to 1 if this feature + is explicitly requested by the user, -1 if enabled by default. */ + int pei386_runtime_pseudo_reloc; /* How many spare .dynamic DT_NULL entries should be added? */ unsigned int spare_dynamic_tags; + + /* May be used to set DT_FLAGS for ELF. */ + bfd_vma flags; + + /* May be used to set DT_FLAGS_1 for ELF. */ + bfd_vma flags_1; }; /* This structures holds a set of callback functions. These are called by the BFD linker routines. The first argument to each callback function is the bfd_link_info structure being used. Each - function returns a boolean value. If the function returns false, + function returns a boolean value. If the function returns FALSE, then the BFD function which called it will return with a failure indication. */ @@ -361,23 +406,18 @@ struct bfd_link_callbacks archive. ABFD is the archive element being added. NAME is the name of the symbol which caused the archive element to be pulled in. */ - boolean (*add_archive_element) PARAMS ((struct bfd_link_info *, - bfd *abfd, - const char *name)); + bfd_boolean (*add_archive_element) + (struct bfd_link_info *, bfd *abfd, const char *name); /* A function which is called when a symbol is found with multiple definitions. NAME is the symbol which is defined multiple times. OBFD is the old BFD, OSEC is the old section, OVAL is the old value, NBFD is the new BFD, NSEC is the new section, and NVAL is the new value. OBFD may be NULL. OSEC and NSEC may be bfd_com_section or bfd_ind_section. */ - boolean (*multiple_definition) PARAMS ((struct bfd_link_info *, - const char *name, - bfd *obfd, - asection *osec, - bfd_vma oval, - bfd *nbfd, - asection *nsec, - bfd_vma nval)); + bfd_boolean (*multiple_definition) + (struct bfd_link_info *, const char *name, + bfd *obfd, asection *osec, bfd_vma oval, + bfd *nbfd, asection *nsec, bfd_vma nval); /* A function which is called when a common symbol is defined multiple times. NAME is the symbol appearing multiple times. OBFD is the BFD of the existing symbol; it may be NULL if this is @@ -389,34 +429,28 @@ struct bfd_link_callbacks symbol, one of bfd_link_hash_defined, bfd_link_hash_common, or bfd_link_hash_indirect. If NTYPE is bfd_link_hash_common, NSIZE is the size of the new symbol. */ - boolean (*multiple_common) PARAMS ((struct bfd_link_info *, - const char *name, - bfd *obfd, - enum bfd_link_hash_type otype, - bfd_vma osize, - bfd *nbfd, - enum bfd_link_hash_type ntype, - bfd_vma nsize)); + bfd_boolean (*multiple_common) + (struct bfd_link_info *, const char *name, + bfd *obfd, enum bfd_link_hash_type otype, bfd_vma osize, + bfd *nbfd, enum bfd_link_hash_type ntype, bfd_vma nsize); /* A function which is called to add a symbol to a set. ENTRY is the link hash table entry for the set itself (e.g., __CTOR_LIST__). RELOC is the relocation to use for an entry in - the set when generating a relocateable file, and is also used to + the set when generating a relocatable file, and is also used to get the size of the entry when generating an executable file. ABFD, SEC and VALUE identify the value to add to the set. */ - boolean (*add_to_set) PARAMS ((struct bfd_link_info *, - struct bfd_link_hash_entry *entry, - bfd_reloc_code_real_type reloc, - bfd *abfd, asection *sec, bfd_vma value)); + bfd_boolean (*add_to_set) + (struct bfd_link_info *, struct bfd_link_hash_entry *entry, + bfd_reloc_code_real_type reloc, bfd *abfd, asection *sec, bfd_vma value); /* A function which is called when the name of a g++ constructor or destructor is found. This is only called by some object file - formats. CONSTRUCTOR is true for a constructor, false for a + formats. CONSTRUCTOR is TRUE for a constructor, FALSE for a destructor. This will use BFD_RELOC_CTOR when generating a - relocateable file. NAME is the name of the symbol found. ABFD, + relocatable file. NAME is the name of the symbol found. ABFD, SECTION and VALUE are the value of the symbol. */ - boolean (*constructor) PARAMS ((struct bfd_link_info *, - boolean constructor, - const char *name, bfd *abfd, asection *sec, - bfd_vma value)); + bfd_boolean (*constructor) + (struct bfd_link_info *, bfd_boolean constructor, const char *name, + bfd *abfd, asection *sec, bfd_vma value); /* A function which is called to issue a linker warning. For example, this is called when there is a reference to a warning symbol. WARNING is the warning to be issued. SYMBOL is the name @@ -424,20 +458,17 @@ struct bfd_link_callbacks there is none. ABFD, SECTION and ADDRESS identify the location which trigerred the warning; either ABFD or SECTION or both may be NULL if the location is not known. */ - boolean (*warning) PARAMS ((struct bfd_link_info *, - const char *warning, const char *symbol, - bfd *abfd, asection *section, - bfd_vma address)); + bfd_boolean (*warning) + (struct bfd_link_info *, const char *warning, const char *symbol, + bfd *abfd, asection *section, bfd_vma address); /* A function which is called when a relocation is attempted against an undefined symbol. NAME is the symbol which is undefined. ABFD, SECTION and ADDRESS identify the location from which the reference is made. FATAL indicates whether an undefined symbol is a fatal error or not. In some cases SECTION may be NULL. */ - boolean (*undefined_symbol) PARAMS ((struct bfd_link_info *, - const char *name, bfd *abfd, - asection *section, - bfd_vma address, - boolean fatal)); + bfd_boolean (*undefined_symbol) + (struct bfd_link_info *, const char *name, bfd *abfd, + asection *section, bfd_vma address, bfd_boolean fatal); /* A function which is called when a reloc overflow occurs. NAME is the name of the symbol or section the reloc is against, RELOC_NAME is the name of the relocation, and ADDEND is any @@ -445,11 +476,9 @@ struct bfd_link_callbacks location at which the overflow occurs; if this is the result of a bfd_section_reloc_link_order or bfd_symbol_reloc_link_order, then ABFD will be NULL. */ - boolean (*reloc_overflow) PARAMS ((struct bfd_link_info *, - const char *name, - const char *reloc_name, bfd_vma addend, - bfd *abfd, asection *section, - bfd_vma address)); + bfd_boolean (*reloc_overflow) + (struct bfd_link_info *, const char *name, const char *reloc_name, + bfd_vma addend, bfd *abfd, asection *section, bfd_vma address); /* A function which is called when a dangerous reloc is performed. The canonical example is an a29k IHCONST reloc which does not follow an IHIHALF reloc. MESSAGE is an appropriate message. @@ -457,26 +486,33 @@ struct bfd_link_callbacks problem occurred; if this is the result of a bfd_section_reloc_link_order or bfd_symbol_reloc_link_order, then ABFD will be NULL. */ - boolean (*reloc_dangerous) PARAMS ((struct bfd_link_info *, - const char *message, - bfd *abfd, asection *section, - bfd_vma address)); + bfd_boolean (*reloc_dangerous) + (struct bfd_link_info *, const char *message, + bfd *abfd, asection *section, bfd_vma address); /* A function which is called when a reloc is found to be attached to a symbol which is not being written out. NAME is the name of the symbol. ABFD, SECTION and ADDRESS identify the location of the reloc; if this is the result of a bfd_section_reloc_link_order or bfd_symbol_reloc_link_order, then ABFD will be NULL. */ - boolean (*unattached_reloc) PARAMS ((struct bfd_link_info *, - const char *name, - bfd *abfd, asection *section, - bfd_vma address)); + bfd_boolean (*unattached_reloc) + (struct bfd_link_info *, const char *name, + bfd *abfd, asection *section, bfd_vma address); /* A function which is called when a symbol in notice_hash is defined or referenced. NAME is the symbol. ABFD, SECTION and ADDRESS are the value of the symbol. If SECTION is bfd_und_section, this is a reference. */ - boolean (*notice) PARAMS ((struct bfd_link_info *, const char *name, - bfd *abfd, asection *section, bfd_vma address)); + bfd_boolean (*notice) + (struct bfd_link_info *, const char *name, + bfd *abfd, asection *section, bfd_vma address); + /* A function which is called for reporting a linker error. ID is the + error identifier. The remaining input is the same as einfo () in + ld. */ + bfd_boolean (*error_handler) + (int id, const char *fmt, ...); + +/* Identifiers of linker error messages used by error_handler. */ +#define LD_DEFINITION_IN_DISCARDED_SECTION 1 }; /* The linker builds link_order structures which tell the code how to @@ -496,20 +532,20 @@ enum bfd_link_order_type /* This is the link_order structure itself. These form a chain attached to the section whose contents they are describing. */ -struct bfd_link_order +struct bfd_link_order { /* Next link_order in chain. */ struct bfd_link_order *next; /* Type of link_order. */ enum bfd_link_order_type type; /* Offset within output section. */ - bfd_vma offset; + bfd_vma offset; /* Size within output section. */ bfd_size_type size; /* Type specific information. */ - union + union { - struct + struct { /* Section to include. If this is used, then section->output_section must be the section the @@ -576,27 +612,44 @@ struct bfd_link_order_reloc }; /* Allocate a new link_order for a section. */ -extern struct bfd_link_order *bfd_new_link_order PARAMS ((bfd *, asection *)); +extern struct bfd_link_order *bfd_new_link_order (bfd *, asection *); /* These structures are used to describe version information for the ELF linker. These structures could be manipulated entirely inside BFD, but it would be a pain. Instead, the regular linker sets up these structures, and then passes them into BFD. */ -/* Regular expressions for a version. */ +/* Glob pattern for a version. */ struct bfd_elf_version_expr { - /* Next regular expression for this version. */ + /* Next glob pattern for this version. */ struct bfd_elf_version_expr *next; - /* Regular expression. */ + /* Glob pattern. */ const char *pattern; - /* Matching function. */ - int (*match) PARAMS((struct bfd_elf_version_expr *, const char *)); + /* NULL for a glob pattern, otherwise a straight symbol. */ + const char *symbol; /* Defined by ".symver". */ - unsigned int symver: 1; + unsigned int symver : 1; /* Defined by version script. */ unsigned int script : 1; + /* Pattern type. */ +#define BFD_ELF_VERSION_C_TYPE 1 +#define BFD_ELF_VERSION_CXX_TYPE 2 +#define BFD_ELF_VERSION_JAVA_TYPE 4 + unsigned int mask : 3; +}; + +struct bfd_elf_version_expr_head +{ + /* List of all patterns, both wildcards and non-wildcards. */ + struct bfd_elf_version_expr *list; + /* Hash table for non-wildcards. */ + void *htab; + /* Remaining patterns. */ + struct bfd_elf_version_expr *remaining; + /* What kind of pattern types are present in list (bitmask). */ + unsigned int mask; }; /* Version dependencies. */ @@ -620,15 +673,19 @@ struct bfd_elf_version_tree /* Version number. */ unsigned int vernum; /* Regular expressions for global symbols in this version. */ - struct bfd_elf_version_expr *globals; + struct bfd_elf_version_expr_head globals; /* Regular expressions for local symbols in this version. */ - struct bfd_elf_version_expr *locals; + struct bfd_elf_version_expr_head locals; /* List of versions which this version depends upon. */ struct bfd_elf_version_deps *deps; /* Index of the version name. This is used within BFD. */ unsigned int name_indx; /* Whether this version tree was used. This is used within BFD. */ int used; + /* Matching hook. */ + struct bfd_elf_version_expr *(*match) + (struct bfd_elf_version_expr_head *head, + struct bfd_elf_version_expr *prev, const char *sym); }; #endif diff --git a/contrib/binutils/include/coff/ChangeLog b/contrib/binutils/include/coff/ChangeLog index 23b0627..3316383 100644 --- a/contrib/binutils/include/coff/ChangeLog +++ b/contrib/binutils/include/coff/ChangeLog @@ -1,1090 +1,9 @@ -2002-03-18 Tom Rix <trix@redhat.com> - - * rs6k64.h: Add U64_TOCMAGIC, AIX 5 64 bit magic number. - -2002-02-01 Tom Rix <trix@redhat.com> - - * xcoff.h: Conditionally support <aiaff> for pre AIX 4.3. - -2002-01-31 Ivan Guzvinec <ivang@opencores.org> - - * or32.h: New file. - -2001-12-24 Tom Rix <trix@redhat.com> - - * xcoff.h (xcoff_big_format_p): Make <bigaf> the default archive - format. - (XCOFFARMAG_ELEMENT_SIZE, XCOFFARMAGBIG_ELEMENT_SIZE): Define for - archive header ascii elements. - -2001-12-17 Tom Rix <trix@redhat.com> - - * xcoff.h : Add .except and .typchk section string and styp flags. - Fix xcoff_big_format_p macro. - -2001-12-16 Tom Rix <trix@redhat.com> - - * xcoff.h : Clean up formatting. - -2002-01-15 Richard Earnshaw <rearnsha@arm.com> - - * arm.h (F_VFP_FLOAT): Define. - -2001-11-11 Timothy Wall <twall@alum.mit.edu> - - * ti.h: Move arch-specific stuff from here... - (COFF_ADJUST_SYM_IN/OUT): Optionally put page flag into symbol - value. - * tic54x.h: ...to here. - -2001-10-26 Christian Groessler <cpg@aladdin.de> - - * external.h (GET_LINENO_LNNO): Fix usage of H_GET_32/16. - (PUT_LINENO_LNNO): Likewise with H_PUT_32/16. - -2001-09-21 Nick Clifton <nickc@cambridge.redhat.com> - - * ti.h (GET_SCNHDR_PAGE): Fix compile time warning. - -2001-09-18 Alan Modra <amodra@bigpond.net.au> - - * external.h (GET_LINENO_LNNO): Use H_GET_32/16. - (PUT_LINENO_LNNO): Use H_PUT_32/16. - * m88k.h (GET_LNSZ_SIZE, GET_LNSZ_LNNO, GET_SCN_NRELOC, - GET_SCN_NLINNO): Use H_GET_32. - (PUT_LNSZ_LNNO, PUT_LNSZ_SIZE, PUT_SCN_NRELOC, PUT_SCN_NLINNO): - Use H_PUT_32. - * ti.h: Formatting fixes. Make use of H_GET_* and H_PUT_* throughout. - * xcoff.h: White space changes. - -2001-09-05 Tom Rix <trix@redhat.com> - - * xcoff.h : Add XCOFF_SYSCALL32 and XCOFF_SYSCALL64 hash table flags. - -2001-08-27 Andreas Jaeger <aj@suse.de> - - * xcoff.h (struct __rtinit): Make proper prototype for rtl. - -Fri Aug 24 01:18:51 2001 J"orn Rennecke <amylaar@redhat.com> - - * internal.h (R_JMP2, R_JMPL2, R_MOVL2): Comment spelling fix. - -2001-04-05 Tom Rix <trix@redhat.com> - - * rs6000.h : move xcoff32 external structures from xcofflink. - * rs6k64.h : move xcoff64 external structures from xcofflink. - * internal.h : promote 32 bit structure elements to 64 bit - for xcoff64 support - * xcoff.h : New file. - -2001-03-23 Nick Clifton <nickc@redhat.com> - - * a29k.h: Fix compile time warning. - * external.h: Fix compile time warning. - * m88k.h: Fix compile time warning. - -2001-03-13 Nick Clifton <nickc@redhat.com> - - * external.h: New file. Common structure definitions found in - other COFF header files. - - * a29k.h: Use external.h. - * apollo.h: Use external.h. - * arm.h: Use external.h. - * h8300.h: Use external.h. - * h8500.h: Use external.h. - * i386.h: Use external.h. - * i860.h: Use external.h. - * ia64.h: Use external.h. - * m68k.h: Use external.h. - * m88k.h: Use external.h. - * mcore.h: Use external.h. - * mips.h: Use external.h. - * mipspe.h: Use external.h. - * powerpc.h: Use external.h. - * rs6000.h: Use external.h. - * rs6k64.h: Use external.h. - * sh.h: Use external.h. - * sparc.h: Use external.h. - * tic30.h: Use external.h. - * tic80.h: Use external.h. - * w65.h: Use external.h. - * we32k.h: Use external.h. - * z8k.h: Use external.h. - -2001-02-09 David Mosberger <davidm@hpl.hp.com> - - * pe.h (PEPAOUTSZ): Rename from PEP64AOUTSZ. - Rename from PEPAOUTHDR. - -2001-01-23 H.J. Lu <hjl@gnu.org> - - * pe.h (struct external_PEI_DOS_hdr): New. - (struct external_PEI_IMAGE_hdr): New. - -2000-12-11 Alan Modra <alan@linuxcare.com.au> - - * ti.h (OCTETS_PER_BYTE_POWER): Change #warning to #error. - -2000-12-08 Alan Modra <alan@linuxcare.com.au> - - * ti.h (OCTETS_PER_BYTE_POWER): Change #warn to #warning. - -2000-06-30 DJ Delorie <dj@cygnus.com> - - * pe.h: Clarify a comment. - -2000-05-05 Clinton Popetz <cpopetz@cygnus.com> - - * rs6k64.h (U802TOC64MAGIC): Change to U803XTOCMAGIC. - -2000-04-24 Clinton Popetz <cpopetz@cygnus.com> - - * rs6k64.h: New file. - -2000-04-17 Timothy Wall <twall@cygnus.com> - - * ti.h: Load page cleanup. - * intental.h: Add load page field. - -Mon Apr 17 16:44:01 2000 David Mosberger <davidm@hpl.hp.com> - - * pe.h (PEP64AOUTHDR): New header for PE+. - (PEP64AOUTSZ): New macro. - (IMAGE_SUBSYSTEM_UNKNOWN): New macro. - (IMAGE_SUBSYSTEM_NATIVE): Ditto. - (IMAGE_SUBSYSTEM_WINDOWS_GUI): Ditto. - (IMAGE_SUBSYSTEM_WINDOWS_CUI): Ditto. - (IMAGE_SUBSYSTEM_POSIX_CUI): Ditto. - (IMAGE_SUBSYSTEM_WINDOWS_CE_GUI): Ditto. - (IMAGE_SUBSYSTEM_EFI_APPLICATION): Ditto. - (IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER): Ditto. - (IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER): Ditto. - * internal.h (PE_DEF_FILE_ALIGNMENT): Define only if not defined - already. - * ia64.h: New file. - -2000-04-13 Alan Modra <alan@linuxcare.com.au> - - * ti.h (ADDR_MASK): Don't use ul suffix on constants. - (PG_MASK): Ditto. - -2000-04-11 Timothy Wall <twall@cygnus.com> - - * ti.h: Remove load page references until load pages are - reimplemented. - * tic54x.h: Ditto. - -2000-04-07 Timothy Wall <twall@cygnus.com> - - * internal.h: Fix some comments related to TI COFF (instead of tic80). - * ti.h: New. - * tic54x.h: New. - -Wed Apr 5 22:08:41 2000 J"orn Rennecke <amylaar@cygnus.co.uk> - - * sh.h (R_SH_LOOP_START, R_SH_LOOP_END): Define. - -2000-03-15 Kazu Hirata <kazu@hxi.com> - - * internal.h: Fix a typo in the comment for R_MOVL2. - -2000-02-28 Nick Clifton <nickc@cygnus.com> - - * mipspe.h (MIPS_PE_MAGIC): Define. - * sh.h (SH_PE_MAGIC): Define. - -2000-02-22 Nick Clifton <nickc@cygnus.com> DJ Delorie <dj@cygnus.com> - - * sh.h: Add Windows CE definitions. - * arm.h: Add Windows CE definitions. - * mipspe.h: New file: Windows CE definitions for MIPS. - * pe.h: Add constants for ILF support. - -2000-01-05 Nick Clifton <nickc@cygnus.com> - - * pe.h: Fix formatting of comments. - (IMAGE_FILE_AGGRESSIVE_WS_TRIM): Define. - (IMAGE_FILE_LARGE_ADDRESS_AWARE): Define. - (IMAGE_FILE_16BIT_MACHINE): Define. - (IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP): Define. - (IMAGE_FILE_UP_SYSTEM_ONLY): Define. - (IMAGE_FILE_MACHINE_UNKNOWN): Define. - (IMAGE_FILE_MACHINE_ALPHA): Define. - (IMAGE_FILE_MACHINE_ALPHA64): Define. - (IMAGE_FILE_MACHINE_I386): Define. - (IMAGE_FILE_MACHINE_IA64): Define. - (IMAGE_FILE_MACHINE_M68K): Define. - (IMAGE_FILE_MACHINE_MIPS16): Define. - (IMAGE_FILE_MACHINE_MIPSFPU): Define. - (IMAGE_FILE_MACHINE_MIPSFPU16): Define. - (IMAGE_FILE_MACHINE_POWERPC): Define. - (IMAGE_FILE_MACHINE_R3000): Define. - (IMAGE_FILE_MACHINE_R4000): Define. - (IMAGE_FILE_MACHINE_R10000): Define. - (IMAGE_FILE_MACHINE_SH3): Define. - (IMAGE_FILE_MACHINE_SH4): Define. - (IMAGE_FILE_MACHINE_THUMB): Define. - -1999-09-20 Alan Modra <alan@spri.levels.unisa.edu.au> - - * internal.h: Delete bogus R_PCLONG, duplicate R_RELBYTE and - R_RELWORD, and rewrite some R_* as decimal. - -1999-09-06 Donn Terry <donn@interix.com> - - * internal.h (DTYPE): Define. - * pe.h (struct external_PEI_filehdr): Rename from - external_PE_filehdr. Define even if COFF_IMAGE_WITH_PE is not - defined. - -1999-07-17 Nick Clifton <nickc@cygnus.com> - - * arm.h (F_SOFT_FLOAT): Rename from F_SOFTFLOAT. - -1999-06-21 Philip Blundell <pb@nexus.co.uk> - - * arm.h (F_SOFTFLOAT): Define. - -1999-07-05 Nick Clifton <nickc@cygnus.com> - - * arm.h (F_ARM_5): Define. - -Wed Jun 2 18:08:18 1999 Richard Henderson <rth@cygnus.com> - - * internal.h (BEOS_EXE_IMAGE_BASE, BEOS_DLL_IMAGE_BASE): New. - -Mon May 17 13:35:35 1999 Stan Cox <scox@cygnus.com> - - * arm.h (F_PIC, F_ARM_2, F_ARM_2a, F_ARM_3, F_ARM_3M, - F_ARM_4, F_ARM_4T, F_APCS26): Changed values to distinguish - F_ARM_2a, F_ARM_3M, F_ARM_4T. - -1999-05-15 Nick Clifton <nickc@cygnus.com> - - * mcore.h (IMAGE_REL_MCORE_RVA): Define. - -1999-04-21 Nick Clifton <nickc@cygnus.com> - - * mcore.h (GET_LINENO_LNNO): New macro. - (PUT_LINENO_LNNO): New macro. - -1999-04-08 Nick Clifton <nickc@cygnus.com> - - * mcore.h: New header file. Defines for Motorola's MCore - processor. - -Sun Dec 6 21:36:37 1998 Mark Elbrecht <snowball3@usa.net> - - * internal.h (C_WEAKEXT): Define. - -Wed Jan 27 13:35:35 1999 Stan Cox <scox@cygnus.com> - - * arm.h (F_PIC_INT, F_ARM_2, F_ARM_3, F_ARM_4, F_APCS26): - Changed values to avoid clashing with IMAGE_FILE_* coff header - flag values. - -Wed Apr 1 16:06:15 1998 Nick Clifton <nickc@cygnus.com> - - * internal.h: Document numbers associated with Thumb symbol - types. - -Fri Mar 27 17:16:57 1998 Ian Lance Taylor <ian@cygnus.com> - - * internal.h (ISPTR, ISFCN, ISARY): Add casts to unsigned long. - -Mon Feb 2 17:10:38 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU> - - * tic30.h: New file. - -Fri Dec 12 11:49:07 1997 Fred Fish <fnf@cygnus.com> - - * tic80.h (R_MPPCR15W): New relocation type, for 15 bit PC relative - offsets. - -Tue Dec 2 10:21:40 1997 Nick Clifton <nickc@cygnus.com> - - * arm.h (COFFARM): New define. - -Mon Dec 1 20:24:18 1997 J"orn Rennecke <amylaar@cygnus.co.uk> - - * sh.h (R_SH_SWITCH8): New. - -Sat Nov 22 15:10:14 1997 Nick Clifton <nickc@cygnus.com> - - * internal.h (C_THUMBEXTFUNC, C_THUMBSTATFUNC): Constants to - define static and external functions. - - * arm.h: Add bits to support PIC and APCS-FLOAT type binaries, - when implemented. - -Fri Oct 3 14:25:17 1997 Fred Fish <fnf@cygnus.com> - - * tic80.h (R_PPL16B): Make constant uppercase for consistency. - -Tue Jul 22 18:18:58 1997 Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE> - - * go32exe.h: New file. - -Tue Jul 8 12:23:55 1997 Fred Fish <fnf@cygnus.com> - - * tic80.h (TIC80_TARGET_ID): Add define. - * internal.h (struct internal_filehdr): Add f_target_id field. - -Tue Jun 3 16:44:18 1997 Nick Clifton <nickc@cygnus.com> - - * internal.h: Add storage classes for Thumb symbols - -Mon May 26 14:07:55 1997 Ian Lance Taylor <ian@cygnus.com> - - * tic80.h (R_PPL16B): Correct value. - -Tue May 13 10:21:14 1997 Nick Clifton <nickc@cygnus.com> - - * arm.h (constants): Added new flag bits F_APCS_26 and - F_APCS_SET for the f_flags field of the filehdr structure. Added new - flags: F_APCS26, F_ARM_2, F_ARM_3, F_ARM_7, F_ARM_7T to store - information in the flags field of the internal_f structure used by BFD - routines. - -Sat May 3 08:24:59 1997 Fred Fish <fnf@cygnus.com> - - * internal.h (C_UEXT, C_STATLAB, C_EXTLAB, C_SYSTEM): - New storage classes for TIc80. - -Fri Apr 18 11:52:55 1997 Niklas Hallqvist <niklas@appli.se> - - * alpha.h (ALPHA_ECOFF_BADMAG): Recognize *BSD/alpha magic too. - (ALPHA_R_LITERALSLEAZY): Define. - * ecoff.h (ALPHA_MAGIC_BSD): Define. - -Wed Jan 29 11:31:51 1997 Ian Lance Taylor <ian@cygnus.com> - - * i960.h (R_IPR13, R_ALIGN): Define. - -Mon Jan 27 13:34:30 1997 Ian Lance Taylor <ian@cygnus.com> - - * internal.h (R_IPRMED, R_OPTCALL, R_OPTCALLX): Move definitions - from here... - * i960.h (R_IPRMED, R_OPTCALL, R_OPTCALLX): ...to here. - -Wed Jan 22 20:10:47 1997 Fred Fish <fnf@cygnus.com> - - * tic80.h (TIC80MAGIC): Renamed to TIC80_AOUTHDR_MAGIC. - -Fri Dec 27 22:05:45 1996 Fred Fish <fnf@cygnus.com> - - * tic80.h: New file for TIc80 support. - -Thu Dec 19 16:18:11 1996 Ian Lance Taylor <ian@cygnus.com> - - * arm.h (_LIT): Define. - -Fri Jun 28 12:54:38 1996 Ian Lance Taylor <ian@cygnus.com> - - * pe.h (FILHSZ): Define. - -Wed Jun 26 16:24:26 1996 Ian Lance Taylor <ian@cygnus.com> - - * All files: Define FILHSZ, AOUTSZ, AOUTHDRSZ, SCNHSZ, SYMESZ, - AUXESZ, LINESZ, RELSZ as numeric constants rather than uses of - sizeof. Define AOUTHDRSZ in all files. - * pe.h (AOUTSZ): Define by adding to AOUTHDRSZ. - -Fri Jun 21 11:17:46 1996 Richard Henderson <rth@tamu.edu> - - * alpha.h: Add declarations for relocation types added for Alpha - OSF/1 3.0. - -Tue Jun 18 16:04:29 1996 Jeffrey A. Law <law@rtl.cygnus.com> - - * h8300.h (H8300SMAGIC): Define. - (H8300SBADMAG): Define. - -Mon Jun 10 11:53:28 1996 Jeffrey A Law (law@cygnus.com) - - * internal.h (R_BCC_INV, R_JMP_DEL): New relocations for - relaxing in the H8/300 series. - -Thu May 16 15:49:22 1996 Ian Lance Taylor <ian@cygnus.com> - - * sh.h (R_SH_CODE, R_SH_DATA, R_SH_LABEL): Define. - -Tue May 7 00:36:39 1996 Jeffrey A Law (law@cygnus.com) - - * internal.h (R_JMPL2): Renamed from R_JMPL_B8 to be - consistent with other similar relocs. - - * internal.h (H8/300 specific relocs): Add comments better - explaining what each reloc is used for. - (R_MOV16B1, R_MOV16B2): Renamed from R_MOVB1 and R_MOVB2. - (R_MOV24B1, R_MOV24B2): Renamed from R_MOVLB1 and R_MOVLB2. - (R_MOVL1, R_MOVL2): New relocs. - -Fri May 3 13:01:12 1996 Jeffrey A Law (law@cygnus.com) - - * internal.h (R_PCRWORD_B): Define for the h8300 relaxing - linker. - -Wed May 1 19:21:03 1996 Ian Lance Taylor <ian@cygnus.com> - - * internal.h (SCNNMLEN): Define. - (struct internal_scnhdr): Use SCNNMLEN for s_name field. - -Fri Mar 29 13:41:25 1996 Ian Lance Taylor <ian@cygnus.com> - - * pe.h: Define IMAGE_COMDAT codes. - -Wed Mar 27 17:29:42 1996 Ian Lance Taylor <ian@cygnus.com> - - * arm.h (union external_auxent): Add x_checksum, x_associated, and - x_comdat fields to x_scn struct. - * i386.h (union external_auxent): Likewise. - * powerpc.h (union external_auxent): Likewise. - * internal.h (union internal_auxent): Likewise. - -Thu Mar 21 16:25:57 1996 David Mosberger-Tang <davidm@azstarnet.com> - - * ecoff.h (struct ecoff_find_line): Add caching fields. - -Thu Mar 14 15:22:44 1996 Jeffrey A Law (law@cygnus.com) - - * internal.h (R_MEM_INDIRECT): New reloc for the h8300. - -Fri Feb 9 10:44:11 1996 Ian Lance Taylor <ian@cygnus.com> - - * aux-coff.h: Rename from aux.h, to avoid problems on hapless DOS - systems which think that aux is a com port. - -Mon Feb 5 18:35:00 1996 Ian Lance Taylor <ian@cygnus.com> - - * i960.h (F_I960HX): Define. - -Wed Jan 31 13:11:54 1996 Richard Henderson <rth@tamu.edu> - - * aux.h: New file. - * internal.h, m68k.h: Protect against multiple inclusion. - -Wed Nov 22 13:48:39 1995 Ian Lance Taylor <ian@cygnus.com> - - * ecoff.h (_RCONST, STYP_RCONST, RELOC_SECTION_RCONST): Define. - (NUM_RELOC_SECTIONS): Update. - * symconst.h (scRConst): Define. - -Tue Nov 14 18:54:29 1995 Ian Lance Taylor <ian@cygnus.com> - - * internal.h (C_NT_WEAK): Define. - -Thu Nov 9 14:08:30 1995 Ian Lance Taylor <ian@cygnus.com> - - * rs6000.h (STYP_OVRFLO): Define. - -Tue Nov 7 14:38:45 1995 Kim Knuttila <krk@cygnus.com> - - * powerpc.h (IMAGE_NT_OPTIONAL_HDR_MAGIC): Added define. - * pe.h: Added defines for file level flags - -Mon Nov 6 17:28:01 1995 Harry Dolan <dolan@ssd.intel.com> - - * i860.h: New file, based on i386.h. - -Wed Nov 1 15:25:18 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de> - - * m68k.h (PAGEMAGICEXECSWAPPED): Define. - (PAGEMAGICPEXECSWAPPED): Define. - (PAGEMAGICPEXECTSHLIB): Define. - (PAGEMAGICPEXECPAGED): Define. - (_COMMENT): DEFINE. - * m88k.h (_COMMENT): Define. - -Wed Oct 18 18:36:19 1995 Geoffrey Noer <noer@cygnus.com> - - * sym.h: #if 0'd out runtime_pdr struct because it chokes - Visual C++ and there aren't any references to it elsewhere in gdb. - -Mon Oct 16 11:12:24 1995 Ian Lance Taylor <ian@cygnus.com> - - * rs6000.h (SMALL_AOUTSZ): Define. - - * internal.h (XMC_TD): Define. - -Tue Oct 10 18:41:03 1995 Ian Lance Taylor <ian@cygnus.com> - - * internal.h (struct internal_aouthdr): Add o_cputype field. - * rs6000.h (AOUTHDR): Rename o_resv1 to o_cputype. - -Mon Oct 9 14:45:46 1995 Ian Lance Taylor <ian@cygnus.com> - - * rs6000.h (AOUTHDR): Add o_maxdata field. Add comments. - (_PAD, _LOADER): Define. - (STYP_LOADER): Define. - * internal.h (struct internal_aouthdr): Add o_maxdata field. - -Thu Oct 5 10:02:57 1995 Ian Lance Taylor <ian@cygnus.com> - - * ecoff.h: Define section name macros and STYP macros for various - Alpha sections: .got, .hash, .dynsym, .dynstr, .rel.dyn, .conflic, - .comment, .liblist, .dynamic. - -Wed Oct 4 10:56:35 1995 Kim Knuttila <krk@cygnus.com> - - * pe.h: Moved DOSMAGIC and NT_SIGNATURE defines here - * powerpc.h: removed DOSMAGIC, NT_SIGNATURE, and DEFAULT_* defines - Also removed other unused defines (various MAGIC ones) - * i386.h: removed DOSMAGIC, NT_SIGNATURE, and DEFAULT_* defines - * arm.h: removed DOSMAGIC, NT_SIGNATURE, and DEFAULT_* defines - * apollo.h: removed unused DEFAULT_* defines - * alpha.h: removed unused DEFAULT_* defines - * h8500.h: removed unused DEFAULT_* defines - * h8300.h: removed unused DEFAULT_* defines - * i960.h: removed unused DEFAULT_* defines - * m88k.h: removed unused DEFAULT_* defines - * we32k.h: removed unused DEFAULT_* defines - * rs6000.h: removed unused DEFAULT_* defines - * mips.h: removed unused DEFAULT_* defines - * m68k.h: removed unused DEFAULT_* defines - * z8k.h: removed unused DEFAULT_* defines - * w65.h: removed unused DEFAULT_* defines - * sparc.h: removed unused DEFAULT_* defines - * sh.h: removed unused DEFAULT_* defines - -Fri Sep 29 08:40:08 1995 Kim Knuttila <krk@cygnus.com> - - * powerpc.h: Reformatted to GNU coding conventions. - -Wed Sep 27 06:50:50 1995 Kim Knuttila <krk@nellie> - - * pe.h: added defines for more section characteristics - * powerpc.h (new file): base coff definitions for ppc PE - -Tue Sep 12 12:08:20 1995 Ian Lance Taylor <ian@cygnus.com> - - * internal.h (struct internal_syment): Change n_numaux field from - char to unsigned char. - -Fri Sep 1 15:39:36 1995 Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp> - - * mips.h (struct rpdr_ext): Define. - -Thu Aug 31 16:51:50 1995 steve chamberlain <sac@slash.cygnus.com> - - * internal.h (internal_aouthdr, internal_filehdr): - don't indirect the pe stuff. - -Tue Aug 29 14:16:07 1995 steve chamberlain <sac@slash.cygnus.com> - - * i386.h (NT_DEF_RESERVE, NT_DEF_COMMIT): Make the same - as 'the other' compiler. - * internal.h (NT_IMAGE_BASE): Deleted. - (NT_EXE_IMAGE_BASE, NT_DLL_IMAGE_BASE): New. - (PE_DEF_SECTION_ALIGNMENT, PE_DEF_FILE_ALIGNMENT): New. - (R_IMAGEBASE): New. - -Mon Aug 21 18:12:19 1995 steve chamberlain <sac@slash.cygnus.com> - - * internal.h: (internal_filehdr): Moved PE stuff into - internal_extra_pe_filehdr. - (internal_aouthdr): Moved PE stuff into - interanl_extra_pe_aouthdr. - -Mon Jul 24 14:05:39 1995 Ian Lance Taylor <ian@cygnus.com> - - * internal.h: Move R_SH_* relocs from here... - * sh.h: ...to here. - (R_SH_SWITCH16, R_SH_SWITCH32): Define. - (R_SH_USES, R_SH_COUNT, R_SH_ALIGN): Define. - -Thu Jun 29 00:04:25 1995 Steve Chamberlain <sac@slash.cygnus.com> - - * internal.h (NT_DEF_RESERVE, NT_DEF_COMMIT): Increase a lot. - -Tue May 16 15:08:20 1995 Ken Raeburn <raeburn@cujo.cygnus.com> - - * internal.h (NT_subsystem, NT_stack_heap): Delete - -Tue May 16 15:08:20 1995 Ken Raeburn <raeburn@cujo.cygnus.com> - - * internal.h (NT_subsystem, NT_stack_heap): Now extern. - -Sat May 13 10:14:08 1995 Steve Chamberlain <sac@slash.cygnus.com> - - * pe.h: New file. - * i386.h (NT_SECTION_ALIGNMENT, NT_FILE_ALIGNMENT, - NT_DEF_RESERVE, NT_DEF_COMMIT): New. - * internal.h (internal_filehdr): New fields for PE. - (IMAGE_DATA_DIRECTORY): New. - (internal_aouthdr): New fields for PE. - -Tue Feb 14 17:59:37 1995 Ian Lance Taylor <ian@cygnus.com> - - * ecoff.h (struct ecoff_fdrtab_entry): Define. - (struct ecoff_find_line): Define. - -Sat Feb 4 14:38:03 1995 David Mosberger-Tang <davidm@piston.cs.arizona.edu> - - * sym.h (struct pdr): field "prof" added. - - * alpha.h (PDR_BITS1_PROF_*): added, macros for PDR_BITS*_RESERVED_* - updated accordingly. - -Sun Jan 15 18:38:33 1995 Steve Chamberlain <sac@splat> - - * w65.h: New file. - -Wed Nov 23 22:43:38 1994 Steve Chamberlain (sac@jonny.cygnus.com) - - * sh.h (SH_ARCH_MAGIC_BIG, SH_ARCH_MAGIC_LITTLE): New. - (SHBADMAG): Changed to suit. - -Tue Jul 26 17:46:08 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * i960.h (F_I960JX): New macro. - -Wed Jul 6 00:48:57 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * alpha.h: Add definitions for alpha file header flags, encoding - the object type of the file. - -Mon Jun 20 13:47:01 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) - - * ecoff.h (ecoff_swap_tir_in): Remove declaration. - (ecoff_swap_tir_out): Likewise. - (ecoff_swap_rndx_in, ecoff_swap_rndx_out): Likewise. - (struct ecoff_debug_swap): Add new fields: swap_tir_in, - swap_rndx_in, swap_tir_out, swap_rndx_out, read_debug_info. - -Sun Jun 12 03:51:52 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * symconst.h: Pick up SGI define for stIndirect. - -Fri Apr 22 13:05:28 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * ecoff.h (REGINFO): Don't define. - (struct ecoff_reginfo): Don't define. - - * sh.h (SH_ARCH_MAGIC): Rename from SHMAGIC. SHMAGIC is used by - several targets to mean a shared library. - (SHBADMAG): Corresponding change. - -Thu Apr 14 13:00:53 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * mips.h (RELOC_BITS3_TYPE_BIG): Changed from 0x1e to 0x3e. - (RELOC_BITS3_TYPEHI_LITTLE): Define. - (RELOC_BITS3_TYPEHI_SH_LITTLE): Define. - (MIPS_R_PCREL16): Change value from 8 to 12 to match Irix 4. - (MIPS_R_RELHI): Define. - (MIPS_R_RELLO): Define. - (MIPS_R_SWITCH): Change value from 9 to 22. - -Thu Apr 7 14:19:35 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * mips.h (MIPS_R_SWITCH): Define. - -Thu Mar 31 19:28:33 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * internal.h (internal_aouthdr): Added comments for Apollo fields. - -Thu Mar 31 16:28:02 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * ecoff.h (STYP_ECOFF_LIB): Define as used on Irix 4. - -Fri Mar 25 17:16:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * ecoff.h (struct ecoff_debug_info): Add adjust field. - (struct ecoff_value_adjust): Define. - -Tue Mar 22 13:22:47 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * mips.h (MIPS_R_PCREL16): Define. - -Sat Feb 26 10:26:38 1994 Ian Lance Taylor (ian@cygnus.com) - - * ecoff.h: Add casts to avoid warnings from SVR4 cc. - -Mon Feb 21 09:48:46 1994 Ian Lance Taylor (ian@lisa.cygnus.com) - - * sym.h (struct runtime_pdr): Make field adr bfd_vma, not unsigned - long. - (SYMR): Make field value bfd_vma, not long. - -Fri Feb 4 23:35:53 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * rs6000.h (STYP_DEBUG): Define. - -Wed Feb 2 14:31:37 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * internal.h (union internal_auxent): Change x_csect.x_scnlen into - a union of a long and a pointer to a symbol. XCOFF sometimes uses - this field as a symbol index. - -Mon Jan 10 23:54:25 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * ecoff.h (ecoff_debug_info): Remove fields line_end, - external_dnr_end, external_pdr_end, external_sym_end, - external_opt_end, external_aux_end, ss_end, external_fdr_end. - Replace ifdbase with ifdmap. - -Wed Jan 5 17:05:36 1994 Ken Raeburn (raeburn@deneb.cygnus.com) - - * ecoff.h (STYP_EXTENDESC, STYP_COMMENT, STYP_XDATA, STYP_PDATA): - Define. - -Wed Jan 5 16:58:24 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * ecoff.h (NUM_RELOC_SECTIONS): Define. - -Tue Dec 21 09:24:56 1993 Ken Raeburn (raeburn@rtl.cygnus.com) - - * sparc.h (struct external_reloc): Rename field r_addend to - r_offset. - -Sat Dec 11 16:12:32 1993 Steve Chamberlain (sac@thepub.cygnus.com) - - * internal.h (R_DISP7, R_SH_IMM16): New reloc types. - -Tue Nov 23 14:23:19 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * ecoff.h (struct ecoff_debug_swap): Added *_end fields for all - the symbolic information pointers. - - * sym.h: Named the EXTR structure ecoff_extr. - -Fri Nov 19 08:21:18 1993 Ken Raeburn (raeburn@rover.cygnus.com) - - * sparc.h (RELSZ): Use correct size. - -Wed Nov 17 17:18:16 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * mips.h (struct ecoff_debug_info): Define. - -Tue Nov 2 17:56:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * ecoff.h (struct ecoff_debug_swap): Define. - -Thu Oct 28 17:07:50 1993 Stan Shebs (shebs@rtl.cygnus.com) - - * i386.h (I386LYNXMAGIC): Rename to LYNXCOFFMAGIC. - * m68k.h (LYNXCOFFMAGIC): Define. - * sparc.h: New file. - -Tue Oct 19 15:34:50 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * alpha.h (external_aouthdr): Split four byte padding field into - two byte bldrev field and two byte padding field. - - * ecoff.h (_LITA, _PDATA, _XDATA, STYP_LITA): Defined. - -Wed Oct 13 15:52:34 1993 Ken Raeburn (raeburn@cygnus.com) - - Sun Oct 10 17:27:10 1993 Troy Rollo (troy@cbme.unsw.edu.au) - - * internal.h: Added o_sri, o_inlib and o_vid for Apollos as well - as R_DIR16. - - * apollo.h: New file - -Mon Oct 11 17:16:48 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * ecoff.h (REGINFO, struct ecoff_reginfo): Define. - -Tue Oct 5 10:52:53 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * rs6000.h: Change non-ASCII characters in comment to octal - escapes. - -Tue Sep 28 03:27:04 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * ecoff.h (_FINI, STYP_ECOFF_FINI): Add to support .fini section. - -Fri Sep 24 11:53:53 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * mips.h (BADMAG): Recognize MIPS_MAGIC_LITTLE3 and MIPS_MAGIC_BIG3. - * ecoff.h: Define MIPS_MAGIC_LITTLE3 and MIPS_MAGIC_BIG3. - -Thu Sep 23 21:07:14 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * mips.h (BADMAG): Recognize MIPS_MAGIC_LITTLE2 and MIPS_MAGIC_BIG2. - * ecoff.h: Define MIPS_MAGIC_LITTLE2 and MIPS_MAGIC_BIG2. - -Thu Sep 16 20:27:21 1993 Jim Kingdon (kingdon@cirdan.cygnus.com) - - * sym.h, symconst.h: Add comment stating these files are not part - of GDB, GAS, etc. In 1991, when we asked rms whether we could - include these files in GDB (although they are copyrighted by - someone besides the FSF), he said it was OK if they were not - considered part of GDB. - -Fri Sep 10 17:40:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * ecoff.h (AUX_PUT_ANY): Cast val argument to bfd_vma. - - * alpha.c (external_aouthdr): Need four bytes of padding between - vstamp and tsize. - -Tue Sep 7 14:20:43 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * ecoff.h (AUX_GET_ANY, AUX_PUT_ANY): Changed to reflect further - change in bfd swapping routine names. - -Tue Sep 7 10:15:17 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * ecoff.h (AUX_GET_ANY): Change name of _do_getb32 to reflect bfd - changes. - -Fri Aug 13 14:30:32 1993 Ian Lance Taylor (ian@cygnus.com) - - * ecoff.h (RELOC_SECTION_NONE): Define. - -Thu Aug 12 11:24:42 1993 Ian Lance Taylor (ian@cygnus.com) - - * alpha.h (struct external_reloc): Add r_symndx field. - (RELSZ): Correct. - (RELOC_BITS*): Correct. - (ALPHA_R_*): Define. - * ecoff.h (RELOC_SECTION_{XDATA,PDATA,FINI,LITA,ABS}): Define. - (r_extern): Undefine. - * internal.h (struct internal_reloc): Make r_vaddr bfd_vma rather - than long. Add r_extern field. - - * alpha.h (PDR_BITS*): Define. - * sym.h (PDR): Give correct names to new fields. - - * ecoff.h: Moved MIPS reloc definitions from here... - * mips.h: to here. - -Mon Aug 2 16:37:14 1993 Stu Grossman (grossman at cygnus.com) - - * i386.h: Add Lynx magic number. - -Tue Aug 3 11:17:53 1993 Ian Lance Taylor (ian@cygnus.com) - - * alpha.h: Corrected external symbolic debugging structures to - match actual usage. - * internal.h (internal_filehdr, internal_aouthdr, - internal_scnhdr): Changed type of some fields to bfd_vma so they - can hold 64 bits. - * sym.h (HDRR, FDR, PDR, EXTR): Likewise. - (PDR): Added new fields found on Alpha. - * symconst.h (magicSym2): Define; new value found on Alpha. - - * ecoff.h: New file. - * alpha.h, mips.h: Moved common information into ecoff.h. Moved - external structure definitions in from ecoff-ext.h. - * ecoff-ext.h: Removed; information now in alpha.h and mips.h. - -Sun Jul 18 21:43:59 1993 Jim Kingdon (kingdon@rtl.cygnus.com) - - * i386.h: Recognize I386PTXMAGIC. - -Fri Jul 16 09:54:35 1993 Ian Lance Taylor (ian@cygnus.com) - - * mips.h (MIPS_AOUT_{OZ}MAGIC): Renamed from {OZ}MAGIC. - -Thu Jul 15 12:23:55 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * m88k.h (union external_auxent): Move x_fcn back inside x_fcnary. - ({GET,PUT}_FCN_{LNNOPTR,ENDNDX}): Adjust accordingly. - -Sun Jul 11 18:00:18 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * m68k.h: Define MC68KBCSMAGIC. - -Thu Jun 10 11:46:28 1993 Ian Lance Taylor (ian@cygnus.com) - - * mips.h (_INIT, STYP_MIPS_INIT): Define (used on Irix4). - (STYP_OTHER_LOAD): Define as STYP_MIPS_INIT. - -Wed Jun 9 15:09:09 1993 Ian Lance Taylor (ian@cygnus.com) - - * mips.h (OMAGIC): Define. - -Tue Jun 8 12:16:03 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) - - Support for H8/300-H - * h8300.h: New magic number. - * internal.h: New relocations. - -Mon Apr 26 18:04:47 1993 Steve Chamberlain (sac@thepub.cygnus.com) - - * internal.h, sh.h: Support for SH. - -Sat Apr 24 21:34:59 1993 Jim Kingdon (kingdon@cygnus.com) - - * a29k.h: Define _LIT. - -Fri Apr 23 18:41:23 1993 Steve Chamberlain (sac@thepub.cygnus.com) - - * alpha.h: New file. - -Thu Apr 8 12:36:34 1993 Ian Lance Taylor (ian@cygnus.com) - - * internal.h (C_SHADOW, C_VERSION): Copied in from m88k.h. - * m88k.h, i386.h, we32k.h: Don't define all the storage classes; - they're already in internal.h. - -Wed Apr 7 11:51:24 1993 Jim Kingdon (kingdon@cygnus.com) - - * internal.h: Change n_sclass to unsigned char. - Change C_EFCN to 0xff, change RS/6000 dbx symbols - to no longer be signed. - -Fri Mar 19 14:52:56 1993 Steve Chamberlain (sac@thepub.cygnus.com) - - * internal.h: Add H8/500 reloc types. - -Wed Mar 17 09:46:03 1993 Ian Lance Taylor (ian@cygnus.com) - - * ecoff-ext.h (AUX_PUT_ANY): Don't use void values in branches of - conditional expression. - -Thu Mar 4 14:12:06 1993 Ian Lance Taylor (ian@cygnus.com) - - * ecoff-ext.h (AUX_GET_*): Rewrote to use new macro AUX_GET_ANY. - (AUX_PUT_*): New macros corresponding to the AUX_GET macros. - (ecoff_swap_tir_out): Added prototype. - - * mips.h (N_BTMASK, N_TMASK, N_BTSHFT, N_TSHIFT): Define; these - are needed to interpret gcc debugging output. - -Tue Feb 9 07:43:27 1993 Ian Lance Taylor (ian@cygnus.com) - - * we32k.h (BTYPE, ISPTR, ISFCN, ISARY, DECREF): Removed - more definitions duplicated in internal.h. - -Wed Feb 3 09:18:24 1993 Ian Lance Taylor (ian@cygnus.com) - - * mips.h (RELOC_BITS3_TYPE_*): Correct for big endian machines. - -Mon Jan 25 11:35:51 1993 Ian Lance Taylor (ian@cygnus.com) - - * internal.h (internal_aouthdr): Added additional fields used only - by MIPS ECOFF. - -Thu Jan 21 10:28:38 1993 Ian Lance Taylor (ian@cygnus.com) - - * mips.h (AOUTHDR): Added additional fields used by ECOFF. - -Tue Jan 19 12:21:19 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * i386.h, we32k.h (N_*, T_*, DT_*): Removed still more definitions - duplicated in internal.h. - - * mips.h (RELOC_SECTION_*, ECOFF_R_*): Defined constants for ECOFF - relocs. - -Fri Jan 15 18:17:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * ecoff-ext.h: Added prototypes for new ECOFF swapping functions. - (opt_ext): New structure. - * mips.h (ZMAGIC): Defined to be 0413. - (_LIB): Defined to be ".lib" - (external_reloc): MIPS ECOFF relocs are only 8 bytes. Added - macros to aid in swapping. - -Fri Jan 8 16:19:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * ecoff-ext.h: Added prototypes for ECOFF swapping functions. - * internal.h (internal_scnhdr): Always provide s_align field, not - just on i960. - (internal_reloc): Always provide r_size field, not just on - RS/6000. - * mips.h (_RDATA, _SDATA, _SBSS, _LIT4, _LIT8, STYP_RDATA, - STYP_SDATA, STYP_SBSS, STYP_LIT4, STYP_LIT8): Defined. - (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB, - STABS_SYMBOL): Moved in from gdb/mipsread.c. - -Wed Jan 6 14:01:46 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * i386.h, we32k.h: removed STYP_* defines, since they duplicated - those in internal.h. - -Tue Dec 29 15:40:07 1992 Ian Lance Taylor (ian@cygnus.com) - - * i386.h: define I386AIXMAGIC for Danbury AIX PS/2 compiler. - -Sat Dec 12 16:07:57 1992 Ian Lance Taylor (ian@cygnus.com) - - * i386.h: don't define BTYPE, ISPTR, ISFCN, ISARY, DECREF: they - are defined in internal.h. - -Thu Nov 12 09:52:01 1992 Steve Chamberlain (sac@thepub.cygnus.com) - - * internal.h: (internal_reloc): r_offset is now a long. - * z8k.h: slight comment enhancement - -Wed Sep 30 07:46:08 1992 Steve Chamberlain (sac@thepub.cygnus.com) - - * internal.h: changed z8k reloc types - -Fri Aug 28 10:16:31 1992 Brendan Kehoe (brendan@cygnus.com) - - * we32k.h: new file - -Thu Aug 27 13:00:01 1992 Brendan Kehoe (brendan@cygnus.com) - - * symconst.h: comment out cruft at the end of #endif - -Tue Aug 25 15:06:49 1992 Steve Chamberlain (sac@thepub.cygnus.com) - - * internal.h: added #define for STYP_LIT, removed from a29k and - h8300. - - * z8k.h: added z8000 support - -Thu Jul 16 16:32:00 1992 Steve Chamberlain (sac@thepub.cygnus.com) - - * internal.h: added R_RELLONG_NEG reloc type - -Fri Jun 12 20:11:04 1992 John Gilmore (gnu at cygnus.com) - - * symconst.h: Fix unterminated comment. - -Wed Jun 10 07:57:49 1992 Steve Chamberlain (sac@thepub.cygnus.com) - - * i386.h: a.out magic numbers from - mohring@informatik.tu-muenchen.de - -Mon Jun 8 20:13:33 1992 John Gilmore (gnu at cygnus.com) - - * ecoff-ext.h, mips.h: Use unsigned chars everywhere. - (Suggested by Antti Miettinen.) - -Tue Apr 14 15:18:44 1992 John Gilmore (gnu at cygnus.com) - - * sym.h: Add comments. - * symconst.h: Merge with Fred's changes. - -Tue Apr 14 14:30:05 1992 Fred Fish (fnf@cygnus.com) - - * symconst.h: Pick up SGI defines for stStruct, stUnion, stEnum, - langCplusplus, and langCplusplusV2. - -Thu Apr 2 19:47:43 1992 John Gilmore (gnu at cygnus.com) - - * sym.h, symconst.h: MIPS has provided redistributable versions - of these files. Thanks! - * ecoff-ext.h: Add weakext bit to match new sym.h. - -Fri Mar 6 00:10:46 1992 John Gilmore (gnu at cygnus.com) - - * ecoff-ext.h: Add relative file descriptors. - -Thu Feb 27 11:53:04 1992 John Gilmore (gnu at cygnus.com) - - * ecoff-ext.h: New file for external (in-file) form of ecoff - symbol structures. - -Thu Feb 6 11:33:32 1992 Steve Chamberlain (sac at rtl.cygnus.com) - - * h8300.h: made the external_lineno l_lnno field 4 bytes wide. - andded GET/PUT_LINENO_LNNO macros - -Sat Nov 30 20:38:35 1991 Steve Chamberlain (sac at rtl.cygnus.com) - - * a29k.h, h8300.h, i386.h, i960.h, internal.h, m68k.h, m88k.h, - mips.h, rs6000.h: Move from above coff-<foo>.h. +For older changes see ChangeLog-9103 Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 version-control: never End: diff --git a/contrib/binutils/include/coff/arm.h b/contrib/binutils/include/coff/arm.h index bcfdcbe..8b90228 100644 --- a/contrib/binutils/include/coff/arm.h +++ b/contrib/binutils/include/coff/arm.h @@ -124,3 +124,5 @@ struct external_reloc #define RELOC struct external_reloc #define RELSZ 14 #endif + +#define ARM_NOTE_SECTION ".note" diff --git a/contrib/binutils/include/coff/ecoff.h b/contrib/binutils/include/coff/ecoff.h index 076fdf5..3a7aa4f 100644 --- a/contrib/binutils/include/coff/ecoff.h +++ b/contrib/binutils/include/coff/ecoff.h @@ -2,22 +2,22 @@ This does not include symbol information, found in sym.h and symconst.h. - Copyright 2001 Free Software Foundation, Inc. + Copyright 2001, 2002, 2003 Free Software Foundation, Inc. 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 2 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - + #ifndef ECOFF_H #define ECOFF_H @@ -296,21 +296,21 @@ struct ecoff_debug_info fields are also used by the assembler to output ECOFF debugging information. */ unsigned char *line; - PTR external_dnr; /* struct dnr_ext */ - PTR external_pdr; /* struct pdr_ext */ - PTR external_sym; /* struct sym_ext */ - PTR external_opt; /* struct opt_ext */ + void *external_dnr; /* struct dnr_ext */ + void *external_pdr; /* struct pdr_ext */ + void *external_sym; /* struct sym_ext */ + void *external_opt; /* struct opt_ext */ union aux_ext *external_aux; char *ss; char *ssext; - PTR external_fdr; /* struct fdr_ext */ - PTR external_rfd; /* struct rfd_ext */ - PTR external_ext; /* struct ext_ext */ + void *external_fdr; /* struct fdr_ext */ + void *external_rfd; /* struct rfd_ext */ + void *external_ext; /* struct ext_ext */ /* These fields are used when linking. They may disappear at some point. */ char *ssext_end; - PTR external_ext_end; + void *external_ext_end; /* When linking, this field holds a mapping from the input FDR numbers to the output numbers, and is used when writing out the @@ -406,32 +406,31 @@ struct ecoff_debug_swap bfd_size_type external_rfd_size; bfd_size_type external_ext_size; /* Functions to swap in external symbolic data. */ - void (*swap_hdr_in) PARAMS ((bfd *, PTR, HDRR *)); - void (*swap_dnr_in) PARAMS ((bfd *, PTR, DNR *)); - void (*swap_pdr_in) PARAMS ((bfd *, PTR, PDR *)); - void (*swap_sym_in) PARAMS ((bfd *, PTR, SYMR *)); - void (*swap_opt_in) PARAMS ((bfd *, PTR, OPTR *)); - void (*swap_fdr_in) PARAMS ((bfd *, PTR, FDR *)); - void (*swap_rfd_in) PARAMS ((bfd *, PTR, RFDT *)); - void (*swap_ext_in) PARAMS ((bfd *, PTR, EXTR *)); - void (*swap_tir_in) PARAMS ((int, const struct tir_ext *, TIR *)); - void (*swap_rndx_in) PARAMS ((int, const struct rndx_ext *, RNDXR *)); + void (*swap_hdr_in) (bfd *, void *, HDRR *); + void (*swap_dnr_in) (bfd *, void *, DNR *); + void (*swap_pdr_in) (bfd *, void *, PDR *); + void (*swap_sym_in) (bfd *, void *, SYMR *); + void (*swap_opt_in) (bfd *, void *, OPTR *); + void (*swap_fdr_in) (bfd *, void *, FDR *); + void (*swap_rfd_in) (bfd *, void *, RFDT *); + void (*swap_ext_in) (bfd *, void *, EXTR *); + void (*swap_tir_in) (int, const struct tir_ext *, TIR *); + void (*swap_rndx_in) (int, const struct rndx_ext *, RNDXR *); /* Functions to swap out external symbolic data. */ - void (*swap_hdr_out) PARAMS ((bfd *, const HDRR *, PTR)); - void (*swap_dnr_out) PARAMS ((bfd *, const DNR *, PTR)); - void (*swap_pdr_out) PARAMS ((bfd *, const PDR *, PTR)); - void (*swap_sym_out) PARAMS ((bfd *, const SYMR *, PTR)); - void (*swap_opt_out) PARAMS ((bfd *, const OPTR *, PTR)); - void (*swap_fdr_out) PARAMS ((bfd *, const FDR *, PTR)); - void (*swap_rfd_out) PARAMS ((bfd *, const RFDT *, PTR)); - void (*swap_ext_out) PARAMS ((bfd *, const EXTR *, PTR)); - void (*swap_tir_out) PARAMS ((int, const TIR *, struct tir_ext *)); - void (*swap_rndx_out) PARAMS ((int, const RNDXR *, struct rndx_ext *)); + void (*swap_hdr_out) (bfd *, const HDRR *, void *); + void (*swap_dnr_out) (bfd *, const DNR *, void *); + void (*swap_pdr_out) (bfd *, const PDR *, void *); + void (*swap_sym_out) (bfd *, const SYMR *, void *); + void (*swap_opt_out) (bfd *, const OPTR *, void *); + void (*swap_fdr_out) (bfd *, const FDR *, void *); + void (*swap_rfd_out) (bfd *, const RFDT *, void *); + void (*swap_ext_out) (bfd *, const EXTR *, void *); + void (*swap_tir_out) (int, const TIR *, struct tir_ext *); + void (*swap_rndx_out) (int, const RNDXR *, struct rndx_ext *); /* Function to read symbol data and set up pointers in ecoff_debug_info structure. The section argument is used for ELF, not straight ECOFF. */ - boolean (*read_debug_info) PARAMS ((bfd *, asection *, - struct ecoff_debug_info *)); + bfd_boolean (*read_debug_info) (bfd *, asection *, struct ecoff_debug_info *); }; #endif /* ! defined (ECOFF_H) */ diff --git a/contrib/binutils/include/coff/internal.h b/contrib/binutils/include/coff/internal.h index 4babbd4..2d41bf9 100644 --- a/contrib/binutils/include/coff/internal.h +++ b/contrib/binutils/include/coff/internal.h @@ -235,7 +235,11 @@ struct internal_aouthdr #define C_ALIAS 105 /* duplicate tag */ #define C_HIDDEN 106 /* ext symbol in dmert public lib */ -#define C_WEAKEXT 127 /* weak symbol -- GNU extension */ +#if defined _AIX52 || defined AIX_WEAK_SUPPORT +#define C_WEAKEXT 111 /* weak symbol -- AIX standard. */ +#else +#define C_WEAKEXT 127 /* weak symbol -- GNU extension. */ +#endif /* New storage classes for TI COFF */ #define C_UEXT 19 /* Tentative external definition */ @@ -600,6 +604,7 @@ struct internal_reloc }; #define R_DIR16 1 +#define R_REL24 5 #define R_DIR32 6 #define R_IMAGEBASE 7 #define R_RELBYTE 15 @@ -608,12 +613,15 @@ struct internal_reloc #define R_PCRBYTE 18 #define R_PCRWORD 19 #define R_PCRLONG 20 +#define R_PCR24 21 #define R_IPRSHORT 24 #define R_IPRLONG 26 #define R_GETSEG 29 #define R_GETPA 30 #define R_TAGWORD 31 #define R_JUMPTARG 32 /* strange 29k 00xx00xx reloc */ +#define R_PARTLS16 32 +#define R_PARTMS8 33 #define R_PCR16L 128 #define R_PCR26L 129 diff --git a/contrib/binutils/include/coff/pe.h b/contrib/binutils/include/coff/pe.h index ff37875..363d307 100644 --- a/contrib/binutils/include/coff/pe.h +++ b/contrib/binutils/include/coff/pe.h @@ -1,6 +1,6 @@ /* pe.h - PE COFF header information - Copyright 2000, 2001 Free Software Foundation, Inc. + Copyright 2000, 2001, 2003 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -32,6 +32,7 @@ #define IMAGE_FILE_32BIT_MACHINE 0x0100 #define IMAGE_FILE_DEBUG_STRIPPED 0x0200 #define IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP 0x0400 +#define IMAGE_FILE_NET_RUN_FROM_SWAP 0x0800 #define IMAGE_FILE_SYSTEM 0x1000 #define IMAGE_FILE_DLL 0x2000 #define IMAGE_FILE_UP_SYSTEM_ONLY 0x4000 @@ -88,24 +89,37 @@ /* Machine numbers. */ -#define IMAGE_FILE_MACHINE_UNKNOWN 0x0 -#define IMAGE_FILE_MACHINE_ALPHA 0x184 -#define IMAGE_FILE_MACHINE_ARM 0x1c0 -#define IMAGE_FILE_MACHINE_ALPHA64 0x284 -#define IMAGE_FILE_MACHINE_I386 0x14c -#define IMAGE_FILE_MACHINE_IA64 0x200 -#define IMAGE_FILE_MACHINE_M68K 0x268 -#define IMAGE_FILE_MACHINE_MIPS16 0x266 -#define IMAGE_FILE_MACHINE_MIPSFPU 0x366 -#define IMAGE_FILE_MACHINE_MIPSFPU16 0x466 -#define IMAGE_FILE_MACHINE_POWERPC 0x1f0 -#define IMAGE_FILE_MACHINE_R3000 0x162 -#define IMAGE_FILE_MACHINE_R4000 0x166 -#define IMAGE_FILE_MACHINE_R10000 0x168 -#define IMAGE_FILE_MACHINE_SH3 0x1a2 -#define IMAGE_FILE_MACHINE_SH4 0x1a6 -#define IMAGE_FILE_MACHINE_THUMB 0x1c2 - +#define IMAGE_FILE_MACHINE_UNKNOWN 0x0000 +#define IMAGE_FILE_MACHINE_ALPHA 0x0184 +#define IMAGE_FILE_MACHINE_ALPHA64 0x0284 +#define IMAGE_FILE_MACHINE_AM33 0x01d3 +#define IMAGE_FILE_MACHINE_AMD64 0x8664 +#define IMAGE_FILE_MACHINE_ARM 0x01c0 +#define IMAGE_FILE_MACHINE_AXP64 IMAGE_FILE_MACHINE_ALPHA64 +#define IMAGE_FILE_MACHINE_CEE 0xc0ee +#define IMAGE_FILE_MACHINE_CEF 0x0cef +#define IMAGE_FILE_MACHINE_EBC 0x0ebc +#define IMAGE_FILE_MACHINE_I386 0x014c +#define IMAGE_FILE_MACHINE_IA64 0x0200 +#define IMAGE_FILE_MACHINE_M32R 0x9041 +#define IMAGE_FILE_MACHINE_M68K 0x0268 +#define IMAGE_FILE_MACHINE_MIPS16 0x0266 +#define IMAGE_FILE_MACHINE_MIPSFPU 0x0366 +#define IMAGE_FILE_MACHINE_MIPSFPU16 0x0466 +#define IMAGE_FILE_MACHINE_POWERPC 0x01f0 +#define IMAGE_FILE_MACHINE_POWERPCFP 0x01f1 +#define IMAGE_FILE_MACHINE_R10000 0x0168 +#define IMAGE_FILE_MACHINE_R3000 0x0162 +#define IMAGE_FILE_MACHINE_R4000 0x0166 +#define IMAGE_FILE_MACHINE_SH3 0x01a2 +#define IMAGE_FILE_MACHINE_SH3DSP 0x01a3 +#define IMAGE_FILE_MACHINE_SH3E 0x01a4 +#define IMAGE_FILE_MACHINE_SH4 0x01a6 +#define IMAGE_FILE_MACHINE_SH5 0x01a8 +#define IMAGE_FILE_MACHINE_THUMB 0x01c2 +#define IMAGE_FILE_MACHINE_TRICORE 0x0520 +#define IMAGE_FILE_MACHINE_WCEMIPSV2 0x0169 + #define IMAGE_SUBSYSTEM_UNKNOWN 0 #define IMAGE_SUBSYSTEM_NATIVE 1 #define IMAGE_SUBSYSTEM_WINDOWS_GUI 2 diff --git a/contrib/binutils/include/coff/sh.h b/contrib/binutils/include/coff/sh.h index c77316e..d20834c 100644 --- a/contrib/binutils/include/coff/sh.h +++ b/contrib/binutils/include/coff/sh.h @@ -1,6 +1,6 @@ -/* coff information for Hitachi SH +/* coff information for Renesas SH - Copyright 2001 Free Software Foundation, Inc. + Copyright 2001, 2003 Free Software Foundation, Inc. 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 diff --git a/contrib/binutils/include/coff/ti.h b/contrib/binutils/include/coff/ti.h index d98fc89..a15fe71 100644 --- a/contrib/binutils/include/coff/ti.h +++ b/contrib/binutils/include/coff/ti.h @@ -2,7 +2,7 @@ customized in a target-specific file, and then this file included (see tic54x.h for an example). - Copyright 2001 Free Software Foundation, Inc. + Copyright 2001, 2003 Free Software Foundation, Inc. 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 @@ -57,6 +57,14 @@ struct external_filehdr #error "TICOFF_TARGET_ARCH needs to be defined for your CPU" #endif +#ifndef TICOFF_TARGET_MACHINE_GET +#define TICOFF_TARGET_MACHINE_GET(FLAGS) 0 +#endif + +#ifndef TICOFF_TARGET_MACHINE_SET +#define TICOFF_TARGET_MACHINE_SET(FLAGSP, MACHINE) +#endif + /* Default to COFF2 for file output */ #ifndef TICOFF_DEFAULT_MAGIC #define TICOFF_DEFAULT_MAGIC TICOFF2MAGIC @@ -118,6 +126,7 @@ struct external_filehdr #define F_RELFLG (0x0001) #define F_EXEC (0x0002) #define F_LNNO (0x0004) +#define F_VERS (0x0010) /* TMS320C4x code */ /* F_LSYMS needs to be redefined in your source file */ #define F_LSYMS_TICOFF (0x0010) /* normal COFF is 0x8 */ @@ -206,25 +215,25 @@ struct external_scnhdr { Assume we're dealing with the COFF2 scnhdr structure, and adjust accordingly */ -#define GET_SCNHDR_NRELOC(ABFD, PTR) \ - (COFF2_P (ABFD) ? H_GET_32 (ABFD, PTR) : H_GET_16 (ABFD, PTR)) -#define PUT_SCNHDR_NRELOC(ABFD, VAL, PTR) \ - (COFF2_P (ABFD) ? H_PUT_32 (ABFD, VAL, PTR) : H_PUT_16 (ABFD, VAL, PTR)) -#define GET_SCNHDR_NLNNO(ABFD, PTR) \ - (COFF2_P (ABFD) ? H_GET_32 (ABFD, PTR) : H_GET_16 (ABFD, (PTR) -2)) -#define PUT_SCNHDR_NLNNO(ABFD, VAL, PTR) \ - (COFF2_P (ABFD) ? H_PUT_32 (ABFD, VAL, PTR) : H_PUT_16 (ABFD, VAL, (PTR) -2)) -#define GET_SCNHDR_FLAGS(ABFD, PTR) \ - (COFF2_P (ABFD) ? H_GET_32 (ABFD, PTR) : H_GET_16 (ABFD, (PTR) -4)) -#define PUT_SCNHDR_FLAGS(ABFD, VAL, PTR) \ - (COFF2_P (ABFD) ? H_PUT_32 (ABFD, VAL, PTR) : H_PUT_16 (ABFD, VAL, (PTR) -4)) -#define GET_SCNHDR_PAGE(ABFD, PTR) \ - (COFF2_P (ABFD) ? H_GET_16 (ABFD, PTR) : (unsigned) H_GET_8 (ABFD, (PTR) -7)) +#define GET_SCNHDR_NRELOC(ABFD, LOC) \ + (COFF2_P (ABFD) ? H_GET_32 (ABFD, LOC) : H_GET_16 (ABFD, LOC)) +#define PUT_SCNHDR_NRELOC(ABFD, VAL, LOC) \ + (COFF2_P (ABFD) ? H_PUT_32 (ABFD, VAL, LOC) : H_PUT_16 (ABFD, VAL, LOC)) +#define GET_SCNHDR_NLNNO(ABFD, LOC) \ + (COFF2_P (ABFD) ? H_GET_32 (ABFD, LOC) : H_GET_16 (ABFD, (LOC) - 2)) +#define PUT_SCNHDR_NLNNO(ABFD, VAL, LOC) \ + (COFF2_P (ABFD) ? H_PUT_32 (ABFD, VAL, LOC) : H_PUT_16 (ABFD, VAL, (LOC) - 2)) +#define GET_SCNHDR_FLAGS(ABFD, LOC) \ + (COFF2_P (ABFD) ? H_GET_32 (ABFD, LOC) : H_GET_16 (ABFD, (LOC) - 4)) +#define PUT_SCNHDR_FLAGS(ABFD, VAL, LOC) \ + (COFF2_P (ABFD) ? H_PUT_32 (ABFD, VAL, LOC) : H_PUT_16 (ABFD, VAL, (LOC) - 4)) +#define GET_SCNHDR_PAGE(ABFD, LOC) \ + (COFF2_P (ABFD) ? H_GET_16 (ABFD, LOC) : (unsigned) H_GET_8 (ABFD, (LOC) - 7)) /* on output, make sure that the "reserved" field is zero */ -#define PUT_SCNHDR_PAGE(ABFD, VAL, PTR) \ +#define PUT_SCNHDR_PAGE(ABFD, VAL, LOC) \ (COFF2_P (ABFD) \ - ? H_PUT_16 (ABFD, VAL, PTR) \ - : H_PUT_8 (ABFD, VAL, (PTR) -7), H_PUT_8 (ABFD, 0, (PTR) -8)) + ? H_PUT_16 (ABFD, VAL, LOC) \ + : H_PUT_8 (ABFD, VAL, (LOC) - 7), H_PUT_8 (ABFD, 0, (LOC) - 8)) /* TI COFF stores section size as number of bytes (address units, not octets), so adjust to be number of octets, which is what BFD expects */ diff --git a/contrib/binutils/include/demangle.h b/contrib/binutils/include/demangle.h index 21e9dd3..6e995e4 100644 --- a/contrib/binutils/include/demangle.h +++ b/contrib/binutils/include/demangle.h @@ -1,6 +1,6 @@ /* Defs for interface to demanglers. - Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002 - Free Software Foundation, Inc. + Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002, + 2003, 2004 Free Software Foundation, Inc. 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 @@ -21,7 +21,11 @@ #if !defined (DEMANGLE_H) #define DEMANGLE_H -#include "ansidecl.h" +#include "libiberty.h" + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ /* Options passed to cplus_demangle (in 2nd parameter). */ @@ -160,4 +164,370 @@ enum gnu_v3_dtor_kinds { extern enum gnu_v3_dtor_kinds is_gnu_v3_mangled_dtor PARAMS ((const char *name)); +/* The V3 demangler works in two passes. The first pass builds a tree + representation of the mangled name, and the second pass turns the + tree representation into a demangled string. Here we define an + interface to permit a caller to build their own tree + representation, which they can pass to the demangler to get a + demangled string. This can be used to canonicalize user input into + something which the demangler might output. It could also be used + by other demanglers in the future. */ + +/* These are the component types which may be found in the tree. Many + component types have one or two subtrees, referred to as left and + right (a component type with only one subtree puts it in the left + subtree). */ + +enum demangle_component_type +{ + /* A name, with a length and a pointer to a string. */ + DEMANGLE_COMPONENT_NAME, + /* A qualified name. The left subtree is a class or namespace or + some such thing, and the right subtree is a name qualified by + that class. */ + DEMANGLE_COMPONENT_QUAL_NAME, + /* A local name. The left subtree describes a function, and the + right subtree is a name which is local to that function. */ + DEMANGLE_COMPONENT_LOCAL_NAME, + /* A typed name. The left subtree is a name, and the right subtree + describes that name as a function. */ + DEMANGLE_COMPONENT_TYPED_NAME, + /* A template. The left subtree is a template name, and the right + subtree is a template argument list. */ + DEMANGLE_COMPONENT_TEMPLATE, + /* A template parameter. This holds a number, which is the template + parameter index. */ + DEMANGLE_COMPONENT_TEMPLATE_PARAM, + /* A constructor. This holds a name and the kind of + constructor. */ + DEMANGLE_COMPONENT_CTOR, + /* A destructor. This holds a name and the kind of destructor. */ + DEMANGLE_COMPONENT_DTOR, + /* A vtable. This has one subtree, the type for which this is a + vtable. */ + DEMANGLE_COMPONENT_VTABLE, + /* A VTT structure. This has one subtree, the type for which this + is a VTT. */ + DEMANGLE_COMPONENT_VTT, + /* A construction vtable. The left subtree is the type for which + this is a vtable, and the right subtree is the derived type for + which this vtable is built. */ + DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE, + /* A typeinfo structure. This has one subtree, the type for which + this is the tpeinfo structure. */ + DEMANGLE_COMPONENT_TYPEINFO, + /* A typeinfo name. This has one subtree, the type for which this + is the typeinfo name. */ + DEMANGLE_COMPONENT_TYPEINFO_NAME, + /* A typeinfo function. This has one subtree, the type for which + this is the tpyeinfo function. */ + DEMANGLE_COMPONENT_TYPEINFO_FN, + /* A thunk. This has one subtree, the name for which this is a + thunk. */ + DEMANGLE_COMPONENT_THUNK, + /* A virtual thunk. This has one subtree, the name for which this + is a virtual thunk. */ + DEMANGLE_COMPONENT_VIRTUAL_THUNK, + /* A covariant thunk. This has one subtree, the name for which this + is a covariant thunk. */ + DEMANGLE_COMPONENT_COVARIANT_THUNK, + /* A Java class. This has one subtree, the type. */ + DEMANGLE_COMPONENT_JAVA_CLASS, + /* A guard variable. This has one subtree, the name for which this + is a guard variable. */ + DEMANGLE_COMPONENT_GUARD, + /* A reference temporary. This has one subtree, the name for which + this is a temporary. */ + DEMANGLE_COMPONENT_REFTEMP, + /* A standard substitution. This holds the name of the + substitution. */ + DEMANGLE_COMPONENT_SUB_STD, + /* The restrict qualifier. The one subtree is the type which is + being qualified. */ + DEMANGLE_COMPONENT_RESTRICT, + /* The volatile qualifier. The one subtree is the type which is + being qualified. */ + DEMANGLE_COMPONENT_VOLATILE, + /* The const qualifier. The one subtree is the type which is being + qualified. */ + DEMANGLE_COMPONENT_CONST, + /* The restrict qualifier modifying a member function. The one + subtree is the type which is being qualified. */ + DEMANGLE_COMPONENT_RESTRICT_THIS, + /* The volatile qualifier modifying a member function. The one + subtree is the type which is being qualified. */ + DEMANGLE_COMPONENT_VOLATILE_THIS, + /* The const qualifier modifying a member function. The one subtree + is the type which is being qualified. */ + DEMANGLE_COMPONENT_CONST_THIS, + /* A vendor qualifier. The left subtree is the type which is being + qualified, and the right subtree is the name of the + qualifier. */ + DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL, + /* A pointer. The one subtree is the type which is being pointed + to. */ + DEMANGLE_COMPONENT_POINTER, + /* A reference. The one subtree is the type which is being + referenced. */ + DEMANGLE_COMPONENT_REFERENCE, + /* A complex type. The one subtree is the base type. */ + DEMANGLE_COMPONENT_COMPLEX, + /* An imaginary type. The one subtree is the base type. */ + DEMANGLE_COMPONENT_IMAGINARY, + /* A builtin type. This holds the builtin type information. */ + DEMANGLE_COMPONENT_BUILTIN_TYPE, + /* A vendor's builtin type. This holds the name of the type. */ + DEMANGLE_COMPONENT_VENDOR_TYPE, + /* A function type. The left subtree is the return type. The right + subtree is a list of ARGLIST nodes. Either or both may be + NULL. */ + DEMANGLE_COMPONENT_FUNCTION_TYPE, + /* An array type. The left subtree is the dimension, which may be + NULL, or a string (represented as DEMANGLE_COMPONENT_NAME), or an + expression. The right subtree is the element type. */ + DEMANGLE_COMPONENT_ARRAY_TYPE, + /* A pointer to member type. The left subtree is the class type, + and the right subtree is the member type. CV-qualifiers appear + on the latter. */ + DEMANGLE_COMPONENT_PTRMEM_TYPE, + /* An argument list. The left subtree is the current argument, and + the right subtree is either NULL or another ARGLIST node. */ + DEMANGLE_COMPONENT_ARGLIST, + /* A template argument list. The left subtree is the current + template argument, and the right subtree is either NULL or + another TEMPLATE_ARGLIST node. */ + DEMANGLE_COMPONENT_TEMPLATE_ARGLIST, + /* An operator. This holds information about a standard + operator. */ + DEMANGLE_COMPONENT_OPERATOR, + /* An extended operator. This holds the number of arguments, and + the name of the extended operator. */ + DEMANGLE_COMPONENT_EXTENDED_OPERATOR, + /* A typecast, represented as a unary operator. The one subtree is + the type to which the argument should be cast. */ + DEMANGLE_COMPONENT_CAST, + /* A unary expression. The left subtree is the operator, and the + right subtree is the single argument. */ + DEMANGLE_COMPONENT_UNARY, + /* A binary expression. The left subtree is the operator, and the + right subtree is a BINARY_ARGS. */ + DEMANGLE_COMPONENT_BINARY, + /* Arguments to a binary expression. The left subtree is the first + argument, and the right subtree is the second argument. */ + DEMANGLE_COMPONENT_BINARY_ARGS, + /* A trinary expression. The left subtree is the operator, and the + right subtree is a TRINARY_ARG1. */ + DEMANGLE_COMPONENT_TRINARY, + /* Arguments to a trinary expression. The left subtree is the first + argument, and the right subtree is a TRINARY_ARG2. */ + DEMANGLE_COMPONENT_TRINARY_ARG1, + /* More arguments to a trinary expression. The left subtree is the + second argument, and the right subtree is the third argument. */ + DEMANGLE_COMPONENT_TRINARY_ARG2, + /* A literal. The left subtree is the type, and the right subtree + is the value, represented as a DEMANGLE_COMPONENT_NAME. */ + DEMANGLE_COMPONENT_LITERAL, + /* A negative literal. Like LITERAL, but the value is negated. + This is a minor hack: the NAME used for LITERAL points directly + to the mangled string, but since negative numbers are mangled + using 'n' instead of '-', we want a way to indicate a negative + number which involves neither modifying the mangled string nor + allocating a new copy of the literal in memory. */ + DEMANGLE_COMPONENT_LITERAL_NEG +}; + +/* Types which are only used internally. */ + +struct demangle_operator_info; +struct demangle_builtin_type_info; + +/* A node in the tree representation is an instance of a struct + demangle_component. Note that the field names of the struct are + not well protected against macros defined by the file including + this one. We can fix this if it ever becomes a problem. */ + +struct demangle_component +{ + /* The type of this component. */ + enum demangle_component_type type; + + union + { + /* For DEMANGLE_COMPONENT_NAME. */ + struct + { + /* A pointer to the name (which need not NULL terminated) and + its length. */ + const char *s; + int len; + } s_name; + + /* For DEMANGLE_COMPONENT_OPERATOR. */ + struct + { + /* Operator. */ + const struct demangle_operator_info *op; + } s_operator; + + /* For DEMANGLE_COMPONENT_EXTENDED_OPERATOR. */ + struct + { + /* Number of arguments. */ + int args; + /* Name. */ + struct demangle_component *name; + } s_extended_operator; + + /* For DEMANGLE_COMPONENT_CTOR. */ + struct + { + /* Kind of constructor. */ + enum gnu_v3_ctor_kinds kind; + /* Name. */ + struct demangle_component *name; + } s_ctor; + + /* For DEMANGLE_COMPONENT_DTOR. */ + struct + { + /* Kind of destructor. */ + enum gnu_v3_dtor_kinds kind; + /* Name. */ + struct demangle_component *name; + } s_dtor; + + /* For DEMANGLE_COMPONENT_BUILTIN_TYPE. */ + struct + { + /* Builtin type. */ + const struct demangle_builtin_type_info *type; + } s_builtin; + + /* For DEMANGLE_COMPONENT_SUB_STD. */ + struct + { + /* Standard substitution string. */ + const char* string; + /* Length of string. */ + int len; + } s_string; + + /* For DEMANGLE_COMPONENT_TEMPLATE_PARAM. */ + struct + { + /* Template parameter index. */ + long number; + } s_number; + + /* For other types. */ + struct + { + /* Left (or only) subtree. */ + struct demangle_component *left; + /* Right subtree. */ + struct demangle_component *right; + } s_binary; + + } u; +}; + +/* People building mangled trees are expected to allocate instances of + struct demangle_component themselves. They can then call one of + the following functions to fill them in. */ + +/* Fill in most component types with a left subtree and a right + subtree. Returns non-zero on success, zero on failure, such as an + unrecognized or inappropriate component type. */ + +extern int +cplus_demangle_fill_component PARAMS ((struct demangle_component *fill, + enum demangle_component_type, + struct demangle_component *left, + struct demangle_component *right)); + +/* Fill in a DEMANGLE_COMPONENT_NAME. Returns non-zero on success, + zero for bad arguments. */ + +extern int +cplus_demangle_fill_name PARAMS ((struct demangle_component *fill, + const char *, int)); + +/* Fill in a DEMANGLE_COMPONENT_BUILTIN_TYPE, using the name of the + builtin type (e.g., "int", etc.). Returns non-zero on success, + zero if the type is not recognized. */ + +extern int +cplus_demangle_fill_builtin_type PARAMS ((struct demangle_component *fill, + const char *typename)); + +/* Fill in a DEMANGLE_COMPONENT_OPERATOR, using the name of the + operator and the number of arguments which it takes (the latter is + used to disambiguate operators which can be both binary and unary, + such as '-'). Returns non-zero on success, zero if the operator is + not recognized. */ + +extern int +cplus_demangle_fill_operator PARAMS ((struct demangle_component *fill, + const char *opname, int args)); + +/* Fill in a DEMANGLE_COMPONENT_EXTENDED_OPERATOR, providing the + number of arguments and the name. Returns non-zero on success, + zero for bad arguments. */ + +extern int +cplus_demangle_fill_extended_operator PARAMS ((struct demangle_component *fill, + int numargs, + struct demangle_component *nm)); + +/* Fill in a DEMANGLE_COMPONENT_CTOR. Returns non-zero on success, + zero for bad arguments. */ + +extern int +cplus_demangle_fill_ctor PARAMS ((struct demangle_component *fill, + enum gnu_v3_ctor_kinds kind, + struct demangle_component *name)); + +/* Fill in a DEMANGLE_COMPONENT_DTOR. Returns non-zero on success, + zero for bad arguments. */ + +extern int +cplus_demangle_fill_dtor PARAMS ((struct demangle_component *fill, + enum gnu_v3_dtor_kinds kind, + struct demangle_component *name)); + +/* This function translates a mangled name into a struct + demangle_component tree. The first argument is the mangled name. + The second argument is DMGL_* options. This returns a pointer to a + tree on success, or NULL on failure. On success, the third + argument is set to a block of memory allocated by malloc. This + block should be passed to free when the tree is no longer + needed. */ + +extern struct demangle_component * +cplus_demangle_v3_components PARAMS ((const char *mangled, + int options, + void **mem)); + +/* This function takes a struct demangle_component tree and returns + the corresponding demangled string. The first argument is DMGL_* + options. The second is the tree to demangle. The third is a guess + at the length of the demangled string, used to initially allocate + the return buffer. The fourth is a pointer to a size_t. On + success, this function returns a buffer allocated by malloc(), and + sets the size_t pointed to by the fourth argument to the size of + the allocated buffer (not the length of the returned string). On + failure, this function returns NULL, and sets the size_t pointed to + by the fourth argument to 0 for an invalid tree, or to 1 for a + memory allocation error. */ + +extern char * +cplus_demangle_print PARAMS ((int options, + const struct demangle_component *tree, + int estimated_length, + size_t *p_allocated_size)); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + #endif /* DEMANGLE_H */ diff --git a/contrib/binutils/include/dis-asm.h b/contrib/binutils/include/dis-asm.h index fa72608..3670c51 100644 --- a/contrib/binutils/include/dis-asm.h +++ b/contrib/binutils/include/dis-asm.h @@ -1,6 +1,6 @@ /* Interface between the opcode library and its callers. - Copyright 2001, 2002 Free Software Foundation, Inc. + Copyright 2001, 2002, 2003 Free Software Foundation, Inc. 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 @@ -34,7 +34,7 @@ extern "C" { #include <stdio.h> #include "bfd.h" -typedef int (*fprintf_ftype) PARAMS((PTR, const char*, ...)); +typedef int (*fprintf_ftype) (void *, const char*, ...); enum dis_insn_type { dis_noninsn, /* Not a valid instruction */ @@ -59,8 +59,8 @@ enum dis_insn_type { typedef struct disassemble_info { fprintf_ftype fprintf_func; - PTR stream; - PTR application_data; + void *stream; + void *application_data; /* Target description. We could replace this with a pointer to the bfd, but that would require one. There currently isn't any such requirement @@ -98,7 +98,7 @@ typedef struct disassemble_info { The bottom 16 bits are for the internal use of the disassembler. */ unsigned long flags; #define INSN_HAS_RELOC 0x80000000 - PTR private_data; + void *private_data; /* Function used to get bytes to disassemble. MEMADDR is the address of the stuff to be disassembled, MYADDR is the address to @@ -106,19 +106,19 @@ typedef struct disassemble_info { INFO is a pointer to this struct. Returns an errno value or 0 for success. */ int (*read_memory_func) - PARAMS ((bfd_vma memaddr, bfd_byte *myaddr, unsigned int length, - struct disassemble_info *info)); + (bfd_vma memaddr, bfd_byte *myaddr, unsigned int length, + struct disassemble_info *info); /* Function which should be called if we get an error that we can't recover from. STATUS is the errno value from read_memory_func and MEMADDR is the address that we were trying to read. INFO is a pointer to this struct. */ void (*memory_error_func) - PARAMS ((int status, bfd_vma memaddr, struct disassemble_info *info)); + (int status, bfd_vma memaddr, struct disassemble_info *info); /* Function called to print ADDR. */ void (*print_address_func) - PARAMS ((bfd_vma addr, struct disassemble_info *info)); + (bfd_vma addr, struct disassemble_info *info); /* Function called to determine if there is a symbol at the given ADDR. If there is, the function returns 1, otherwise it returns 0. @@ -128,8 +128,14 @@ typedef struct disassemble_info { address, (normally because there is a symbol associated with that address), but sometimes we want to mask out the overlay bits. */ int (* symbol_at_address_func) - PARAMS ((bfd_vma addr, struct disassemble_info * info)); - + (bfd_vma addr, struct disassemble_info * info); + + /* Function called to check if a SYMBOL is can be displayed to the user. + This is used by some ports that want to hide special symbols when + displaying debugging outout. */ + bfd_boolean (* symbol_is_valid) + (asymbol *, struct disassemble_info * info); + /* These are for buffer_read_memory. */ bfd_byte *buffer; bfd_vma buffer_vma; @@ -141,7 +147,7 @@ typedef struct disassemble_info { the same value in order to get reasonable looking output. */ int bytes_per_line; - /* the next two variables control the way objdump displays the raw data */ + /* The next two variables control the way objdump displays the raw data. */ /* For example, if bytes_per_line is 8 and bytes_per_chunk is 4, the */ /* output will look like this: 00: 00000000 00000000 @@ -177,82 +183,92 @@ typedef struct disassemble_info { /* Standard disassemblers. Disassemble one instruction at the given target address. Return number of octets processed. */ -typedef int (*disassembler_ftype) - PARAMS((bfd_vma, disassemble_info *)); - -extern int print_insn_big_mips PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_little_mips PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_i386 PARAMS ((bfd_vma, disassemble_info *)); -extern int print_insn_i386_att PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_i386_intel PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_ia64 PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_i370 PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_m68hc11 PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_m68hc12 PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_m68k PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_z8001 PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_z8002 PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_h8300 PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_h8300h PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_h8300s PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_h8500 PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_alpha PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_big_arm PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_little_arm PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_sparc PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_big_a29k PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_little_a29k PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_avr PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_d10v PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_d30v PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_dlx PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_fr30 PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_hppa PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_i860 PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_i960 PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_m32r PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_m88k PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_mcore PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_mmix PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_mn10200 PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_mn10300 PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_ns32k PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_openrisc PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_big_or32 PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_little_or32 PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_pdp11 PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_pj PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_big_powerpc PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_little_powerpc PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_rs6000 PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_s390 PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_sh PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_tic30 PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_tic54x PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_tic80 PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_v850 PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_vax PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_w65 PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_xstormy16 PARAMS ((bfd_vma, disassemble_info*)); -extern int print_insn_sh64 PARAMS ((bfd_vma, disassemble_info *)); -extern int print_insn_sh64x_media PARAMS ((bfd_vma, disassemble_info *)); -extern int print_insn_frv PARAMS ((bfd_vma, disassemble_info *)); - -extern disassembler_ftype arc_get_disassembler PARAMS ((void *)); -extern disassembler_ftype cris_get_disassembler PARAMS ((bfd *)); - -extern void print_ppc_disassembler_options PARAMS ((FILE *)); -extern void print_arm_disassembler_options PARAMS ((FILE *)); -extern void parse_arm_disassembler_option PARAMS ((char *)); -extern int get_arm_regname_num_options PARAMS ((void)); -extern int set_arm_regname_option PARAMS ((int)); -extern int get_arm_regnames PARAMS ((int, const char **, const char **, const char ***)); +typedef int (*disassembler_ftype) (bfd_vma, disassemble_info *); + +extern int print_insn_big_mips (bfd_vma, disassemble_info *); +extern int print_insn_little_mips (bfd_vma, disassemble_info *); +extern int print_insn_i386 (bfd_vma, disassemble_info *); +extern int print_insn_i386_att (bfd_vma, disassemble_info *); +extern int print_insn_i386_intel (bfd_vma, disassemble_info *); +extern int print_insn_ia64 (bfd_vma, disassemble_info *); +extern int print_insn_i370 (bfd_vma, disassemble_info *); +extern int print_insn_m68hc11 (bfd_vma, disassemble_info *); +extern int print_insn_m68hc12 (bfd_vma, disassemble_info *); +extern int print_insn_m68k (bfd_vma, disassemble_info *); +extern int print_insn_z8001 (bfd_vma, disassemble_info *); +extern int print_insn_z8002 (bfd_vma, disassemble_info *); +extern int print_insn_h8300 (bfd_vma, disassemble_info *); +extern int print_insn_h8300h (bfd_vma, disassemble_info *); +extern int print_insn_h8300s (bfd_vma, disassemble_info *); +extern int print_insn_h8500 (bfd_vma, disassemble_info *); +extern int print_insn_alpha (bfd_vma, disassemble_info *); +extern int print_insn_big_arm (bfd_vma, disassemble_info *); +extern int print_insn_little_arm (bfd_vma, disassemble_info *); +extern int print_insn_sparc (bfd_vma, disassemble_info *); +extern int print_insn_big_a29k (bfd_vma, disassemble_info *); +extern int print_insn_little_a29k (bfd_vma, disassemble_info *); +extern int print_insn_avr (bfd_vma, disassemble_info *); +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_fr30 (bfd_vma, disassemble_info *); +extern int print_insn_hppa (bfd_vma, disassemble_info *); +extern int print_insn_i860 (bfd_vma, disassemble_info *); +extern int print_insn_i960 (bfd_vma, disassemble_info *); +extern int print_insn_ip2k (bfd_vma, disassemble_info *); +extern int print_insn_m32r (bfd_vma, disassemble_info *); +extern int print_insn_m88k (bfd_vma, disassemble_info *); +extern int print_insn_mcore (bfd_vma, disassemble_info *); +extern int print_insn_mmix (bfd_vma, disassemble_info *); +extern int print_insn_mn10200 (bfd_vma, disassemble_info *); +extern int print_insn_mn10300 (bfd_vma, disassemble_info *); +extern int print_insn_msp430 (bfd_vma, disassemble_info *); +extern int print_insn_ns32k (bfd_vma, disassemble_info *); +extern int print_insn_openrisc (bfd_vma, disassemble_info *); +extern int print_insn_big_or32 (bfd_vma, disassemble_info *); +extern int print_insn_little_or32 (bfd_vma, disassemble_info *); +extern int print_insn_pdp11 (bfd_vma, disassemble_info *); +extern int print_insn_pj (bfd_vma, disassemble_info *); +extern int print_insn_big_powerpc (bfd_vma, disassemble_info *); +extern int print_insn_little_powerpc (bfd_vma, disassemble_info *); +extern int print_insn_rs6000 (bfd_vma, disassemble_info *); +extern int print_insn_s390 (bfd_vma, disassemble_info *); +extern int print_insn_sh (bfd_vma, disassemble_info *); +extern int print_insn_tic30 (bfd_vma, disassemble_info *); +extern int print_insn_tic4x (bfd_vma, disassemble_info *); +extern int print_insn_tic54x (bfd_vma, disassemble_info *); +extern int print_insn_tic80 (bfd_vma, disassemble_info *); +extern int print_insn_v850 (bfd_vma, disassemble_info *); +extern int print_insn_vax (bfd_vma, disassemble_info *); +extern int print_insn_w65 (bfd_vma, disassemble_info *); +extern int print_insn_xstormy16 (bfd_vma, disassemble_info *); +extern int print_insn_xtensa (bfd_vma, disassemble_info *); +extern int print_insn_sh64 (bfd_vma, disassemble_info *); +extern int print_insn_sh64x_media (bfd_vma, disassemble_info *); +extern int print_insn_frv (bfd_vma, disassemble_info *); +extern int print_insn_iq2000 (bfd_vma, disassemble_info *); + +extern disassembler_ftype arc_get_disassembler (void *); +extern disassembler_ftype cris_get_disassembler (bfd *); + +extern void print_mips_disassembler_options (FILE *); +extern void print_ppc_disassembler_options (FILE *); +extern void print_arm_disassembler_options (FILE *); +extern void parse_arm_disassembler_option (char *); +extern int get_arm_regname_num_options (void); +extern int set_arm_regname_option (int); +extern int get_arm_regnames (int, const char **, const char **, const char ***); +extern bfd_boolean arm_symbol_is_valid (asymbol *, struct disassemble_info *); /* Fetch the disassembler for a given BFD, if that support is available. */ -extern disassembler_ftype disassembler PARAMS ((bfd *)); +extern disassembler_ftype disassembler (bfd *); + +/* Amend the disassemble_info structure as necessary for the target architecture. + Should only be called after initialising the info->arch field. */ +extern void disassemble_init_for_target (struct disassemble_info * info); /* Document any target specific options available from the disassembler. */ -extern void disassembler_usage PARAMS ((FILE *)); +extern void disassembler_usage (FILE *); /* This block of definitions is for particular callers who read instructions @@ -261,59 +277,38 @@ extern void disassembler_usage PARAMS ((FILE *)); /* Here is a function which callers may wish to use for read_memory_func. It gets bytes from a buffer. */ extern int buffer_read_memory - PARAMS ((bfd_vma, bfd_byte *, unsigned int, struct disassemble_info *)); + (bfd_vma, bfd_byte *, unsigned int, struct disassemble_info *); /* This function goes with buffer_read_memory. It prints a message using info->fprintf_func and info->stream. */ -extern void perror_memory PARAMS ((int, bfd_vma, struct disassemble_info *)); +extern void perror_memory (int, bfd_vma, struct disassemble_info *); /* Just print the address in hex. This is included for completeness even though both GDB and objdump provide their own (to print symbolic addresses). */ extern void generic_print_address - PARAMS ((bfd_vma, struct disassemble_info *)); + (bfd_vma, struct disassemble_info *); /* Always true. */ extern int generic_symbol_at_address - PARAMS ((bfd_vma, struct disassemble_info *)); - -/* Macro to initialize a disassemble_info struct. This should be called - by all applications creating such a struct. */ + (bfd_vma, struct disassemble_info *); + +/* Also always true. */ +extern bfd_boolean generic_symbol_is_valid + (asymbol *, struct disassemble_info *); + +/* Method to initialize a disassemble_info struct. This should be + called by all applications creating such a struct. */ +extern void init_disassemble_info (struct disassemble_info *info, void *stream, + fprintf_ftype fprintf_func); + +/* For compatibility with existing code. */ #define INIT_DISASSEMBLE_INFO(INFO, STREAM, FPRINTF_FUNC) \ - (INFO).flavour = bfd_target_unknown_flavour, \ - (INFO).arch = bfd_arch_unknown, \ - (INFO).mach = 0, \ - (INFO).insn_sets = 0, \ - (INFO).endian = BFD_ENDIAN_UNKNOWN, \ - (INFO).octets_per_byte = 1, \ - INIT_DISASSEMBLE_INFO_NO_ARCH(INFO, STREAM, FPRINTF_FUNC) - -/* Call this macro to initialize only the internal variables for the - disassembler. Architecture dependent things such as byte order, or machine - variant are not touched by this macro. This makes things much easier for - GDB which must initialize these things separately. */ - + init_disassemble_info (&(INFO), (STREAM), (fprintf_ftype) (FPRINTF_FUNC)) #define INIT_DISASSEMBLE_INFO_NO_ARCH(INFO, STREAM, FPRINTF_FUNC) \ - (INFO).fprintf_func = (fprintf_ftype)(FPRINTF_FUNC), \ - (INFO).stream = (PTR)(STREAM), \ - (INFO).section = NULL, \ - (INFO).symbols = NULL, \ - (INFO).num_symbols = 0, \ - (INFO).private_data = NULL, \ - (INFO).buffer = NULL, \ - (INFO).buffer_vma = 0, \ - (INFO).buffer_length = 0, \ - (INFO).read_memory_func = buffer_read_memory, \ - (INFO).memory_error_func = perror_memory, \ - (INFO).print_address_func = generic_print_address, \ - (INFO).symbol_at_address_func = generic_symbol_at_address, \ - (INFO).flags = 0, \ - (INFO).bytes_per_line = 0, \ - (INFO).bytes_per_chunk = 0, \ - (INFO).display_endian = BFD_ENDIAN_UNKNOWN, \ - (INFO).disassembler_options = NULL, \ - (INFO).insn_info_valid = 0 + init_disassemble_info (&(INFO), (STREAM), (fprintf_ftype) (FPRINTF_FUNC)) + #ifdef __cplusplus } diff --git a/contrib/binutils/include/elf/ChangeLog b/contrib/binutils/include/elf/ChangeLog index 3e64a32..ea008d6 100644 --- a/contrib/binutils/include/elf/ChangeLog +++ b/contrib/binutils/include/elf/ChangeLog @@ -1,1544 +1,39 @@ -2002-07-01 Matt Thomas <matt@3am-software.com> +2004-01-28 Roland McGrath <roland@redhat.com> - * vax.h: Rename EF_* to EF_VAX_*. + * common.h (AT_SECURE): New macro. -2002-06-18 Dave Brolley <brolley@redhat.com> +2004-01-21 Roland McGrath <roland@redhat.com> - From Catherine Moore, Michael Meissner, Dave Brolley: - * common.h (EM_CYGNUS_FRV): New macro. - * frv.h: New file. + * common.h (AT_SUN_UID, AT_SUN_RUID, AT_SUN_GID): New macros. + (AT_SUN_RGID, AT_SUN_LDELF, AT_SUN_LDSHDR, AT_SUN_LDNAME, + AT_SUN_LPAGESZ, AT_SUN_PLATFORM, AT_SUN_HWCAP, AT_SUN_IFLUSH, + AT_SUN_CPU, AT_SUN_EMUL_ENTRY, AT_SUN_EMUL_EXECFD, + AT_SUN_EXECNAME) AT_SUN_MMU, AT_SUN_LDDATA): Likewise. -2002-06-06 Lars Brinkhoff <lars@nocrew.org> +2004-01-17 Mark Kettenis <kettenis@gnu.org> - * common.h: Change registry@sco.com to registry@caldera.com. - (EM_PDP10, EM_PDP11): Define. + * common.h (NT_OPENBSD_IDENT): Define. -2002-06-04 Jason Thorpe <thorpej@wasabisystems.com> +2004-01-06 Alexandre Oliva <aoliva@redhat.com> - * sh.h (_bfd_sh64_crange_qsort_cmpb, _bfd_sh64_crange_qsort_cmpl) - (_bfd_sh64_crange_bsearch_cmpb, _bfd_sh64_crange_bsearch_cmpl): New - prototypes. + 2003-09-18 Alexandre Oliva <aoliva@redhat.com> + * frv.h (EF_FRV_FDPIC): New macro. + (EF_FRV_PIC_FLAGS): Adjust. + 2003-08-08 Alexandre Oliva <aoliva@redhat.com> + * frv.h (R_FRV_FUNCDESC_VALUE, R_FRV_FUNCDESC_GOTOFF12, + R_FRV_FUNCDESC_GOTOFFLO, R_FRV_FUNCDESC_GOTOFFHI, R_FRV_GOTOFF12, + R_FRV_GOTOFFLO, R_FRV_GOTOFFHI): New. + 2003-08-04 Alexandre Oliva <aoliva@redhat.com> + * frv.h (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO, R_FRV_FUNCDESC, + R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI, R_FRV_FUNCDESC_GOTLO): + New. -2002-06-01 Richard Henderson <rth@redhat.com> - - * alpha.h (LITUSE_ALPHA_ADDR, LITUSE_ALPHA_BASE, LITUSE_ALPHA_BYTOFF, - LITUSE_ALPHA_JSR, LITUSE_ALPHA_TLSGD, LITUSE_ALPHA_TLSLDM): New. - -2002-05-30 Richard Henderson <rth@redhat.com> - - * alpha.h (R_ALPHA_TLSGD, R_ALPHA_TLSLDM, R_ALPHA_DTPMOD64, - R_ALPHA_GOTDTPREL, R_ALPHA_DTPREL64, R_ALPHA_DTPRELHI, - R_ALPHA_DTPRELLO, R_ALPHA_DTPREL16, R_ALPHA_GOTTPREL, R_ALPHA_TPREL64, - R_ALPHA_TPRELHI, R_ALPHA_TPRELLO, R_ALPHA_TPREL16): New. - -2002-05-29 Matt Thomas <matt@3am-software.com> - - * vax.h: New file - -2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net> - - * common.h (EM_DLX): Define. - * dlx.h: New file. - -2002-05-08 Jason Thorpe <thorpej@wasabisystems.com> - - * common.h (NT_GNU_ABI_TAG): Define. - (GNU_ABI_TAG_LINUX): Define. - (GNU_ABI_TAG_HURD): Define. - (GNU_ABI_TAG_SOLARIS): Define. - (NT_NETBSD_IDENT): Define. - (NT_FREEBSD_ABI_TAG): Define. - -2002-04-24 Elena Zannoni <ezannoni@redhat.com> - - * dwarf2.h: Add DW_AT_GNU_vector. - -2002-02-13 Matt Fredette <fredette@netbsd.org> - - * m68k.h (EF_M68000): Define. - -2002-02-12 Alan Modra <amodra@bigpond.net.au> - - * ppc.h (DT_PPC64_OPD, DT_PPC64_OPDSZ): Define. - -2002-02-09 Richard Henderson <rth@redhat.com> - - * alpha.h (R_ALPHA_BRSGP): New. - -2002-02-08 Alexandre Oliva <aoliva@redhat.com> - - Contribute sh64-elf. - 2002-01-23 Alexandre Oliva <aoliva@redhat.com> - * sh.h (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16, - R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16, - R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16, - R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16, - R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16, - R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16, - R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16, - R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8, - R_SH_GOTPLT10BY8, R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64, - R_SH_RELATIVE64): New relocs. - (R_SH_FIRST_INVALID_RELOC_4): Adjust. - 2001-05-16 Alexandre Oliva <aoliva@redhat.com> - * sh.h: Renumbered and renamed some SH5 relocations to match - official numbers and names; moved unmaching ones to the range - 0xf2-0xff. - 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com> - * sh.h (sh64_get_contents_type): Declare. - (sh64_address_is_shmedia): Likewise. - 2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com> - * sh.h (sh64_elf_crange): New type. - (struct sh64_section_data): New. - (sh64_elf_section_data): New macro. - (EF_SH5): Rename back from EF_SH64. - 2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com> - * sh.h (SHF_SH5_ISA32_MIXED, SHT_SH5_CR_SORTED, - SH64_CRANGES_SECTION_NAME, SH64_CRANGE_SIZE, - SH64_CRANGE_CR_ADDR_OFFSET, SH64_CRANGE_CR_SIZE_OFFSET, - SH64_CRANGE_CR_TYPE_OFFSET): New macros. - 2000-12-12 Hans-Peter Nilsson <hpn@cygnus.com> - * sh.h (EF_SH64): Don't define EF_SH64_ABI64. - 2000-11-27 Hans-Peter Nilsson <hpn@cygnus.com> - * sh.h (EF_SH64_32BIT_ABI, EF_SH64_64BIT_ABI): Delete. - (EF_SH64_ABI64): New. - 2000-11-23 Hans-Peter Nilsson <hpn@cygnus.com> - * sh.h (EF_SH64): Rename from EF_SH5. - (EF_SH64_32BIT_ABI): New. - (EF_SH64_64BIT_ABI): New. - (R_SH_PT_16, R_SH_SHMEDIA_CODE - R_SH_IMMU5, R_SH_IMMS6, R_SH_IMMU6, R_SH_IMMS10, R_SH_IMMS10BY2, - R_SH_IMMS10BY4, R_SH_IMMS10BY8, R_SH_IMMS16, R_SH_IMMU16, - R_SH_IMM_LOW16, R_SH_IMM_LOW16_PCREL, R_SH_IMM_MEDLOW16, - R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16_PCREL, - R_SH_IMM_HI16, R_SH_IMM_HI16_PCREL, R_SH_64, R_SH_64_PCREL): New - relocs. - 2000-09-01 Ben Elliston <bje@redhat.com> - * sh.h (EF_SH5): Define. - -2002-02-01 Hans-Peter Nilsson <hp@bitrange.com> - - * mmix.h: Tweak comments. - (MMIX_LD_ALLOCATED_REG_CONTENTS_SECTION_NAME): New. - [BFD_ARCH_SIZE] (_bfd_mmix_prepare_linker_allocated_gregs, - _bfd_mmix_finalize_linker_allocated_gregs, - _bfd_mmix_check_all_relocs): Provide prototypes. - -2002-01-31 Ivan Guzvinec <ivang@opencores.org> - - * or32.h: New file. - * common.h: Add support for or32 targets. - -2002-01-28 Jason Merrill <jason@redhat.com> - - * dwarf2.h: Sync with gcc version. - -2002-01-16 Alan Modra <amodra@bigpond.net.au> - - * ppc.h (DT_PPC64_GLINK): Define. - -2002-01-15 Richard Earnshaw <rearnsha@arm.com> - - * arm.h (F_VFP_FLOAT, EF_ARM_VFP_FLOAT): Define. - -2002-01-09 Jason Thorpe <thorpej@wasabisystems.com> - - * common.h: Update copyright years. - (NT_NETBSDCORE_PROCINFO): Define. - (NT_NETBSDCORE_FIRSTMACH): Define. - -2002-01-06 Steve Ellcey <sje@cup.hp.com> - - * ia64.h (ELF_STRING_ia64_unwind_hdr): New Macro for HP-UX. - (SHT_IA_64_HP_OPT_ANOT): Ditto - (PT_IA_64_HP_OPT_ANOT): Ditto - (PT_IA_64_HP_HSL_ANOT): Ditto - (PT_IA_64_HP_STACK): Ditto - (SHN_IA_64_ANSI_COMMON): Ditto - -2001-12-17 Alan Modra <amodra@bigpond.net.au> - - * external.h (Elf_External_Sym_Shndx): Declare. - * internal.h (struct elf_internal_sym <st_shndx>): Make it an - unsigned int. - * common.h (SHN_BAD): Define. - -2001-12-13 Jakub Jelinek <jakub@redhat.com> - - * elf/common.h (PT_GNU_EH_FRAME): Define. - -2001-12-11 Alan Modra <amodra@bigpond.net.au> - - * common.h (SHN_XINDEX): Comment typo fix. - * internal.h (Elf_Internal_Ehdr): Change existing "unsigned short" - size, count and index fields to "unsigned int". - -2001-12-07 Geoffrey Keating <geoffk@redhat.com> - Richard Henderson <rth@redhat.com> - - * common.h (EM_XSTORMY16): Define. - * xstormy16.h: New file. - -2001-11-15 Alan Modra <amodra@bigpond.net.au> - - * common.h (NT_ARCH): Define. Remove incorrect comment. - -2001-11-11 Geoffrey Keating <geoffk@redhat.com> - - * dwarf2.h (dwarf_line_number_ops): Add DWARF 3 opcodes. - -2001-10-30 Hans-Peter Nilsson <hp@bitrange.com> - - * mmix.h: New file. - -2001-10-23 Alan Modra <amodra@bigpond.net.au> - - * internal.h: White space changes to keep lines under 80 chars. - -2001-10-16 Jeff Holcomb <jeffh@redhat.com> - - * internal.h (elf_internal_shdr): Make contents a unsigned char *. - -2001-09-18 Alan Modra <amodra@bigpond.net.au> - - * internal.h (elf_internal_rela): Make r_addend a bfd_vma. - -2001-09-13 Alexandre Oliva <aoliva@redhat.com> - - * common.h (EM_OPENRISC_OLD): Renamed the old EM_OPENRISC entry. - -2001-09-12 Alexandre Oliva <aoliva@redhat.com> - - * common.h (EM_AVR_OLD): Renamed from... - (EM_AVR): this, redefined as in the current ELF standard. - (EM_PJ_OLD): Renamed from... - (EM_PJ): this, redefined as in the current ELF standard. - (EM_R30, EM_D10V, EM_D30V, EM_V850, EM_M32R, EM_MN10300, - EM_MN10200, EM_OPENRISC, EM_ARC_A5, EM_XTENSA): Defined as in - the current ELF standard. - (EM_CYGNUS_ARC): Removed, unused for a long time. - -2001-09-04 Richard Henderson <rth@redhat.com> - - * alpha.h (R_ALPHA_OP*, R_ALPHA_IMMED*, R_ALPHA_GPVALUE): Remove. - (R_ALPHA_GPREL16): Rename from R_ALPHA_IMMED_GP_16. - -2001-08-30 Eric Christopher <echristo@redhat.com> - - * mips.h: Remove E_MIPS_MACH_MIPS32_4K. - -2001-08-29 Jeff Law <law@redhat.com> - - * h8.h (EF_H8_MACH): New mask for encoded machine type. - (E_H8_MACH_H8300, E_H8_MACH_H8300H, E_H8_MACH_H8300S): New - machine types. - -2001-08-26 J"orn Rennecke <amylaar@redhat.com> - - * h8.h: New file. - -2001-08-27 Staffan Ulfberg <staffanu@swox.se> - - * ppc.h: Add relocs from the 64-bit PowerPC ELF ABI revision 1.2. - -2001-06-30 Daniel Berlin <dan@cgsoftware.com> - - * dwarf2.h: Remerge with gcc version, - including all new DWARF 2.1 extensions. - -2001-06-29 James Cownie <jcownie@etnus.com> - - * dwarf2.h: Add DWARF 2.1 attribues. - -2001-06-15 Per Bothner <per@bothner.com> - - * dwarf2.h: Partial merge with gcc version. - (enum dwarf_descrim_list): Fix typo -> dwarf_discrim_list. - (DW_LANG_Java): Use value from dwarf 2.1 draft (also used in gcc). - -2001-05-15 Ralf Baechle <ralf@gnu.org> - - * common.h: Remove definition of EM_MIPS_RS4_BE. The constant was - never in active use and is used otherwise by the ABI. - -2001-05-11 Jakub Jelinek <jakub@redhat.com> - - * ia64.h (ELF_STRING_ia64_unwind_once): Define. - (ELF_STRING_ia64_unwind_info_once): Define. - -2001-05-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> - - * external.h: Fix typo. - * mips.h: Add/Extend many comments with reference to the MIPS ELF64 - spec v. 2.4, available at e.g. - ftp://oss.sgi.com/pub/linux/mips/doc/ABI/ELF64.ps. - (EF_MIPS_UCODE): Define. - (EF_MIPS_OPTIONS_FIRST): Define. - (EF_MIPS_ARCH_ASE): Define. - (EF_MIPS_ARCH_ASE_MDMX): Define. - (EF_MIPS_ARCH_ASE_M16): Define. - (SHF_MIPS_ADDR): Renamed SHF_MIPS_ADDR32. - (SHF_MIPS_STRING): Renamed SHF_MIPS_ADDR64. - (SHF_MIPS_NODUPES): Define. - (ELF64_MIPS_R_SSYM): New MIPS ELF 64 relocation info access macro. - (ELF64_MIPS_R_TYPE3): Likewise. - (ELF64_MIPS_R_TYPE2): Likewise. - (ELF64_MIPS_R_TYPE): Likewise. - (OHW_R10KLDL): Define. - -2001-04-24 Todd Fries <todd@fries.net> - - * sparc.h: Fix typo. - -2001-04-20 Johan Rydberg <jrydberg@opencores.org> - - * openrisc.h: New file. - * common.h (EM_OPENRISC): New constant. - -2001-04-23 Bo Thorsen <bo@suse.de> - - * x86-64.h: Add vtable support. - -2001-03-23 Nick Clifton <nickc@redhat.com> - - * mips.h: Remove extraneous whitespace. - -2001-03-22 Hans-Peter Nilsson <hp@axis.com> - - * cris.h: Add leading comment about PC-relative location. - (R_CRIS_COPY, R_CRIS_GLOB_DAT, R_CRIS_JUMP_SLOT, R_CRIS_RELATIVE, - R_CRIS_16_GOT, R_CRIS_32_GOT, R_CRIS_16_GOTPLT, R_CRIS_32_GOTPLT, - R_CRIS_32_GOTREL, R_CRIS_32_PLT_GOTREL, R_CRIS_32_PLT_PCREL): - New relocs. - -2001-02-27 Philip Blundell <pb@futuretv.com> - - * arm.h: Add new definitions from ARM document SWS ESPC 0003 B-01. - (EF_PIC, et al.): Rename to EF_ARM_xx. - -2001-02-09 Martin Schwidefsky <schwidefsky@de.ibm.com> - - * common.h: Add linux target for S/390. - * s390.h: New file. - -2001-01-11 Peter Targett <peter.targett@arccores.com> - - * arc.h (E_ARC_MACH_ARC5, E_ARC_MACH_ARC6, E_ARC_MACH_ARC7, - E_ARC_MACH_ARC8): New definitions for cpu types. - - * common.h (EM_ARC): Change comment. - -2000-12-12 Nick Clifton <nickc@redhat.com> - - * mips.h: Fix formatting. - -2000-12-11 Jeffrey A Law (law@cygnus.com) - - * hppa.h (DT_HP_*): Define relative to OLD_DT_LOOS for hpux - compatibility. - -2000-10-16 Chris Demetriou <cgd@sibyte.com> - - * mips.h (E_MIPS_ARCH_32): New constant. - (E_MIPS_MACH_MIPS32, E_MIPS_MACH_MIPS32_4K): Replace the - former with the latter. - - * mips.h (E_MIPS_ARCH_5, E_MIPS_ARCH_64): New definitions. - - * mips.h (E_MIPS_MACH_SB1): New constant. - -2000-11-30 Jan Hubicka <jh@suse.cz> - - * common.h (EM_X86_64): New macro. - * x86-64.h: New file. - -2000-11-27 Hans-Peter Nilsson <hp@axis.com> - - * common.h (e_machine numbers): Clarify comments to describe how - EM_* constants are assigned. Move EM_PJ from official section to - ad-hoc section. - (EM_CRIS): Correct comment to match official description. - (EM_MMIX): Ditto. - -2000-11-22 Nick Clifton <nickc@redhat.com> - - * common.h (EM_JAVELIN): New machine number. - (EM_FIREPATH): New machine number. - (EM_ZSP): New machine number. - (EM_MMIX): New machine number. - (EM_HUANY): New machine number. - (EM_PRISM): New machine number. - (SHT_GROUP): New section type. - (SHT_SYMTAB_SHNDX): New section type. - (SHF_GROUP): New section flag. - (SHN_XINDEX): New section index. - (GRP_COMDAT): New section group flag. - -2000-11-20 H.J. Lu <hjl@gnu.org> - - * common.h (ELFOSABI_MONTEREY): Renamed to ... - (ELFOSABI_AIX): This. - -2000-11-16 Richard Henderson <rth@redhat.com> - - Update relocations per August psABI docs. - * ia64.h (R_IA64_SEGBASE): Remove. - (R_IA64_LTV*): Renumber to 0x74 to 0x77. - (R_IA64_EPLTMSB, R_IA64_EPLTLSB): Remove. - (R_IA64_TPREL14, R_IA64_TPREL64I): New. - (R_IA64_DTPMOD*): New. - (R_IA64_DTPREL*): New. - -2000-09-29 Hans-Peter Nilsson <hp@axis.com> - - * cris.h (EF_CRIS_UNDERSCORE): New. - -2000-09-27 Alan Modra <alan@linuxcare.com.au> - - * hppa.h (R_PARISC_DIR14F): Add. - -2000-09-14 Alexandre Oliva <aoliva@redhat.com> - - * sh.h (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT, - R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): Change - numbers to the range from 160 to 167. - (R_SH_FIRST_INVALID_RELOC): Adjust. - (R_SH_FIRST_INVALID_RELOC_2, R_SH_LAST_INVALID_RELOC_2): - New relocs to fill in the gap. - -2000-09-13 Anders Norlander <anorland@acc.umu.se> - - * mips.h (E_MIPS_MACH_4K): New define. - -2000-09-05 Alan Modra <alan@linuxcare.com.au> - - * hppa.h: Fix a comment. - (R_PARISC_PCREL12F): Define. - (R_PARISC_GNU_VTENTRY): Define. - (R_PARISC_GNU_VTINHERIT): Define. - -2000-09-01 Alexandre Oliva <aoliva@redhat.com> - - * sh.h (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT, - R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): New relocs. - (R_SH_FIRST_INVALID_RELOC): Adjust. - -2000-08-14 Jim Wilson <wilson@cygnus.com> - - * ia64.h (EF_IA_64_REDUCEDFP, EF_IA_64_CONS_GP, - EF_IA_64_NOFUNCDESC_CONS_GP, EF_IA_64_ABSOLUTE): Define. - -2000-08-07 Nick Clifton <nickc@cygnus.com> - - * ppc.h: Remove spurious CYGNUS LOCAL comments. - * v850.h: Likewise. - -2000-07-22 Jason Eckhardt <jle@cygnus.com> - - * i860.h: New file. - (elf_i860_reloc_type): Defined ELF32 i860 relocations. - -2000-07-20 Hans-Peter Nilsson <hp@axis.com> - - common.h (EM_CRIS): New machine number. - cris.h: New file. - -2000-07-19 H.J. Lu <hjl@gnu.org> - - * common.h (DF_1_NODEFLIB): Renamed from DF_1_NODEPLIB. - -2000-07-19 H.J. Lu <hjl@gnu.org> - - * common.h (DT_CHECKSUM): Set to 0x6ffffdf8. - (DTF_1_CONFEXP): It is 0x00000002 as suspected. - -2000-07-19 H.J. Lu <hjl@gnu.org> - - * common.h (DT_FEATURE): Renamed from DT_FEATURE_1. - (DT_CONFIG): New. From Solaris 8. - (DT_DEPAUDIT): Likewise. - (DT_AUDIT): Likewise. - (DT_PLTPAD): Likewise. - (DT_MOVETAB): Likewise. - (DF_1_NODEPLIB): Likewise. - (DF_1_NODUMP): Likewise. - (DF_1_CONLFAT): Likewise. - (DT_CHECKSUM): Likewise. FIXME. Check the value on Solaris 8. - (DTF_1_CONFEXP): Likewise. - -2000-07-18 H.J. Lu <hjl@gnu.org> - - * common.h (DT_FLAGS_1): Renamed from DT_1_FLAGS. - -2000-07-12 Alan Modra <alan@linuxcare.com.au> - - * internal.h (struct elf_internal_sym): Update comment for st_other. - -2000-07-10 Alan Modra <alan@linuxcare.com.au> - - * hppa.h: Add comments to all the relocs. - -2000-06-26 Marek Michalkiewicz <marekm@linux.org.pl> - - * avr.h (E_AVR_MACH_AVR5): Define. - -2000-06-18 Stephane Carrez <stcarrez@worldnet.fr> - - * m68hc11.h: New file, definitions for the Motorola 68hc11. - -2000-06-06 Alan Modra <alan@linuxcare.com.au> - - * reloc-macros.h (START_RELOC_NUMBERS): Don't define initial dummy - -1 valued enum. - (RELOC_NUMBER, FAKE_RELOC, EMPTY_RELOC): Append rather than - prepend comma. - (END_RELOC_NUMBERS): Give macro an arg to define as last enum. - - * alpha.h (R_ALPHA_max): Define via END_RELOC_NUMBERS rather than - with EMPTY_RELOC. - * arc.h (R_ARC_max): Likewise. - * avr.h (R_AVR_max): Likewise. - * fr30.h (R_FR30_max): Likewise. - * hppa.h (R_PARISC_UNIMPLEMENTED): Likewise. - * i960.h (R_960_max): Likewise. - * m32r.h (R_M32R_max): Likewise. - * m68k.h (R_68K_max): Likewise. - * mcore.h (R_MCORE_max): Likewise. - * mn10300.h (R_MN10300_MAX): Likewise. - * pj.h (R_PJ_max): Likewise. - * ppc.h (R_PPC_max): Likewise. - * sh.h (R_SH_max): Likewise. - * sparc.h (R_SPARC_max): Likewise. - * v850.h (R_V850_max): Likewise. - - * arm.h (R_ARM_max): Define via END_RELOC_NUMBERS. - * d10v.h (R_D10V_max): Likewise. - * d30v.h (R_D30V_max): Likewise. - * ia64.h (R_IA64_max): Likewise. - * mips.h (R_MIPS_maxext): Likewise. - * mn10200.h (R_MN10200_max): Likewise. - - * i386.h (R_386_max): Remove old RELOC_NUMBER definition, and - define via END_RELOC_NUMBERS. - -2000-06-03 Alan Modra <alan@linuxcare.com.au> - - * reloc-macros.h (START_RELOC_NUMBERS): Fix name clash for - !__STDC__ case. - (RELOC_NUMBER): Use ansi stringify if ALMOST_STDC defined. - -2000-05-22 Richard Henderson <rth@cygnus.com> - - * ia64.h (R_IA64_PCREL60B, R_IA64_PCREL21BI): New. - (R_IA64_PCREL22, R_IA64_PCREL64I): New. - -2000-05-02 H.J. Lu <hjl@gnu.org> - - * common.h (ELFOSABI_NONE): Renamed from ELFOSABI_SYSV. - (ELFOSABI_MODESTO): Defined. - (ELFOSABI_OPENBSD): Likewise. - -2000-04-21 Richard Henderson <rth@cygnus.com> - David Mosberger <davidm@hpl.hp.com> - - * ia64.h: New file. - -2000-04-14 H.J. Lu <hjl@gnu.org> - - * common.h (ELFOSABI_TRUE64): Renamed to ELFOSABI_TRU64. - -2000-04-14 H.J. Lu <hjl@gnu.org> - - * common.h (ELFOSABI_NETBSD): Defined. - (ELFOSABI_HURD): Likewise. - (ELFOSABI_SOLARIS): Likewise. - (ELFOSABI_MONTEREY): Likewise. - (ELFOSABI_IRIX): Likewise. - (ELFOSABI_FREEBSD): Likewise. - (ELFOSABI_TRUE64): Likewise. - -2000-04-07 Nick Clifton <nickc@cygnus.com> - - * arm-oabi.h: Delete. - * arm.h: Merge in definitions of old reloc numbers from - arm-oabi.h. - -2000-04-06 Nick Clifton <nickc@cygnus.com> - - * arm.h (EF_ARM_SYMSARESORTED): Define. - (EF_ARM_EABIMASK): Define. - (EF_ARM_EABI_VERSION): Define. - (EF_ARM_EABI_UNKNOWN): Define. - (EF_ARM_EABI_VER1): Define. - (PF_ARM_PI): Define. - (PF_ARM_ABS): Define. - -2000-04-05 J"orn Rennecke <amylaar@cygnus.co.uk> - - * sh.h (R_SH_LOOP_START, R_SH_LOOP_END): New RELOC_NUMBERs. - -2000-03-27 Denis Chertykov <denisc@overta.ru> - - * avr.h: New file. AVR ELF support for BFD. - * common.h: Add AVR magic number. - -2000-03-10 Geoffrey Keating <geoffk@cygnus.com> - - * mips.h: Add R_MIPS_GNU_REL_HI16, R_MIPS_GNU_REL_LO16, - R_MIPS_GNU_REL16_S2, R_MIPS_PC64 and R_MIPS_PC32 relocation - numbers. - -2000-02-23 Linas Vepstas <linas@linas.org> - - * i370.h: New file. - -2000-02-22 Nick Clifton <nickc@cygnus.com> - - * common.h (ELF_ST_OTHER): Remove definition. - (ELF32_ST_OTHER): Remove definition. - (ELF64_ST_OTHER): Remove definition. - -2000-02-22 H.J. Lu <hjl@gnu.org> - - * common.h (ELFOSABI_LINUX): Define. - -2000-02-17 J"orn Rennecke <amylaar@cygnus.co.uk> - - * sh.h: (EF_SH_MACH_MASK, EF_SH_UNKNOWN, EF_SH1, EF_SH2): New macros. - (EF_SH3, EF_SH_HAS_DSP, EF_SH_DSP, EF_SH3_DSP): Likewise. - (EF_SH_HAS_FP, EF_SH3E, EF_SH4, EF_SH_MERGE_MACH): Likewise. - -2000-02-03 H.J. Lu <hjl@gnu.org> - - * arm-oabi.h: Duplicate changes made to arm.h on Jan. 27, - 2000 by Thomas de Lellis <tdel@windriver.com>. - -2000-01-27 Thomas de Lellis <tdel@windriver.com> - - * arm.h (STT_ARM_TFUNC): Define in terms of STT_LOPROC. - (STT_ARM_16BIT): New flag. Denotes a label that was defined in - Thumb block but was does not identify a function. - -2000-01-20 Nick Clifton <nickc@cygnus.com> - - * common.h (EM_MCORE): Fix spelling of Motorola. - * mcore.h (EM_MCORE): Fix spelling of Motorola. - -2000-01-13 Nick Clifton <nickc@cygnus.com> - - * common.h (EM_S370): Change comment - this is now the IBM - System/370. - (EM_IA_64): Change comment - this is now the IA-64. - -2000-01-11 Nick Clifton <nickc@cygnus.com> - - * common.h (DT_ENCODING): Fix definition of this value. - (DT_LOOS): Fix definition of this value. - (DT_HIOS): Fix definition of this value. - (OLD_DT_LOOS): Value of DT_LOOS before Oct 4, 1999 draft - of ELF spec changed it. - (OLD_DT_HIOS): Value of DT_HIOS before Oct 4, 1999 draft - of ELF spec changed it. - -2000-01-10 Egor Duda <deo@logos-m.ru> - - * common.h (NT_WIN32PSTATUS): Define. (cygwin elf core dumps). - -1999-12-28 Nick Clifton <nickc@cygnus.com> - - * mips.h (STO_*): Redefine in terms of STV_* values now in - common.h. - -1999-12-27 Nick Clifton <nickc@cygnus.com> - - * common.h: Upgrade to match Oct4, 1999 Draft ELF ABI Spec. - (EM_MIPS_RS3_LE): New machine number. - (EM_RCE): New machine number. - (EM_MMA): New machine number. - (EM_PCP): New machine number. - (EM_NCPU): New machine number. - (EM_NDR1): New machine number. - (EM_STARCORE): New machine number. - (EM_ME16): New machine number. - (EM_ST100): New machine number. - (EM_TINYJ): New machine number. - (EM_FX66): New machine number. - (EM_ST9PLUS): New machine number. - (EM_ST7): New machine number. - (EM_68HC16): New machine number. - (EM_68HC11): New machine number. - (EM_68HC08): New machine number. - (EM_68HC05): New machine number. - (EM_SVX): New machine number. - (EM_VAX): New machine number. - (PF_MASKOS): Change value. - (SHT_INIT_ARRAY): New value for sh_type field. - (SHT_FINI_ARRAY): New value for sh_type field. - (SHT_PREINIT_ARRAY): New value for sh_type field. - (SHT_HIUSER): Change value. - (SHF_MERGE): New valye for sh_flags field. - (SHF_STRINGS): New valye for sh_flags field. - (SHF_INFO_LINK): New valye for sh_flags field. - (SHF_OS_NONCONFORMING): New valye for sh_flags field. - (SHF_MASKOS): Change value. - (ELF_ST_VISIBILITY): New macro. - (ELF_ST_OTHER): New macro. - (STT_COMMON): New symbol type. - (STV_DEFAULT): Value for symbol visibility. - (STV_INTERNAL): Value for symbol visibility. - (STV_HIDDEN): Value for symbol visibility. - (STV_PROTECTED): Value for symbol visibility. - (DT_RUNPATH): New dynamic section tag. - (DT_FLAGS): New dynamic section tag. - (DT_ENCODING): New dynamic section tag. - (DT_PREINIT_ARRAY): New dynamic section tag. - (DT_PREINIT_ARRAYSZ): New dynamic section tag. - (DT_LOPROC): New dynamic section tag index. - (DT_HIPROC): New dynamic section tag index. - (DF_ORIGIN): Value for dynamic section flag. - (DF_SYMBOLIC): Value for dynamic section flag. - (DF_TEXTREL): Value for dynamic section flag. - (DF_BIND_NOW): Value for dynamic section flag. - -1999-12-09 Fred Fish <fnf@cygnus.com> - - * i960.h (reloc-macros.h): Include using relative dir elf/. - * i386.h (reloc-macros.h): Include using relative dir elf/. - * hppa.h (reloc-macros.h): Include using relative dir elf/. - -1999-12-07 Jim Blandy <jimb@cygnus.com> - - * common.h (NT_PRXFPREG): New definition. - -Wed Dec 1 03:02:15 1999 Jeffrey A Law (law@cygnus.com) - - * mn10300.h (E_MN10300_MACH_AM33): Define. - -Mon Oct 11 22:42:37 1999 Jeffrey A Law (law@cygnus.com) - - * hppa.h (PF_HP_PAGE_SIZE): Define. - (PF_HP_FAR_SHARED, PF_HP_NEAR_SHARED, PF_HP_CODE): Likewise. - (PF_HP_MODIFY, PF_HP_LAZYSWAP, PF_HP_SBP): Likewise. - -Mon Oct 4 17:42:38 1999 Doug Evans <devans@canuck.cygnus.com> - - * m32r.h (E_M32RX_ARCH): Define. - -1999-09-15 Ulrich Drepper <drepper@cygnus.com> - - * hppa.h: Add DT_HP_GST_SIZE, DT_HP_GST_VERSION, and DT_HP_GST_HASHVAL. - -1999-09-04 Steve Chamberlain <sac@pobox.com> - - * pj.h: New file. - * common.h (EM_PJ): Define. - -1999-09-02 Ulrich Drepper <drepper@cygnus.com> - - * hppa.h: Add HPUX specific symbol type definitions. - - * hppa.h: Add HPUX specific dynamic and program header table - specific definitions. - -1999-08-31 Scott Bambrough <scottb@netwinder.org> - - * common.h (NT_TASKSTRUCT): Define. - -1999-07-16 Jakub Jelinek <jj@ultra.linux.cz> - - * sparc.h (EF_SPARC_SUN_US3): Define in Cheetah extensions - flag (as per SCD2.4.1). - -1999-07-16 Jakub Jelinek <jj@ultra.linux.cz> - - * sparc.h (ELF64_R_TYPE_DATA): Only use ELF64_R_TYPE bits, not - ELF64_R_SYM bits. - -1999-06-21 Philip Blundell <pb@nexus.co.uk> - - * arm.h (EF_SOFT_FLOAT, F_SOFT_FLOAT): Define. - -1999-07-13 Andreas Schwab <schwab@suse.de> - - * m68k.h (EF_CPU32): Move definition inside multiple inclusion - guard. - -1999-07-08 Richard Henderson <rth@cygnus.com> - - * sparc.h (ELF64_R_TYPE_DATA): Sign extend the value. - (ELF64_R_TYPE_INFO): Mask out all but low 24 bits of data. - (DT_SPARC_PLTFMT): Delete. - Based on a patch from Jakub Jelinek. - -Mon Jun 21 16:36:02 1999 Jeffrey A Law (law@cygnus.com) - - * hppa.h (elf_hppa_reloc_type): Renamed from elf32_hppa_reloc_type. - -1999-06-10 Jakub Jelinek <jj@ultra.linux.cz> - - * sparc.h (R_SPARC_max_std): Define. - -Wed Jun 9 15:16:34 1999 Jeffrey A Law (law@cygnus.com) - - * hppa.h: Update with various changes from newest PA ELF - specifications. - -1999-06-03 Ian Lance Taylor <ian@zembu.com> - - * common.h (EM_PPC64): Define. - -1999-06-02 Stu Grossman <grossman@babylon-5.cygnus.com> - - * dwarf.h: Add LANG_JAVA. - * dwarf2.h: Add DW_LANG_Java. - -1999-05-29 Nick Clifton <nickc@cygnus.com> - - * common.h (ELFOSABI_ARM): Define. - -1999-05-28 Nick Clifton <nickc@cygnus.com> - - * reloc-macros.h: Update comment. - -1999-05-28 Ian Lance Taylor <ian@zembu.com> - - * i960.h: New file. - -1999-05-16 Nick Clifton <nickc@cygnus.com> - - * mcore.h (R_MCORE_COPY): Define. - (R_MCORE_GLOB_DAT): Define. - (R_MCORE_JUMP_SLOT): Define. - -1999-05-15 Nick Clifton <nickc@cygnus.com> - - * mcore.h (R_MCORE_RELATIVE): Define. - -1999-05-05 Catherine Moore <clm@cygnus.com> - - * m68k.h (EF_CPU32): Define. - -1999-04-21 Nick Clifton <nickc@cygnus.com> - - * reloc-macros.h (START_RELOC_NUMBERS): Prepend an underscore to - fake reloc entry name (if possible), in order to avoid conflicts - with typedefs of the same name. - -1999-04-16 Gavin Romig-Koch <gavin@cygnus.com> - - * mips.h (EF_MIPS_32BITMODE): New. - -1999-04-08 Nick Clifton <nickc@cygnus.com> - - * mcore.h: New header file. Defines for Motorola's MCore - processor. - -1999-04-08 Nick Clifton <nickc@cygnus.com> - - * common.h: Add new constants defined in: "System V Application - Binary Interface - DRAFT - April 29, 1998" found at the web site: - http://www.sco.com/developer/gabi/contents.html - - (EM_MMA): Removed. Replaced with EM_MCORE as Motorolla own this - value. - -1999-03-31 Nick Clifton <nickc@cygnus.com> - - * reloc-macros.h: Fixed to not generate an enum with a trailing - comma. - -1999-03-16 Gavin Romig-Koch <gavin@cygnus.com> - - * mips.h (E_MIPS_MACH_5000): New. - -1999-03-10 Ulrich Drepper <drepper@cygnus.com> - - * common.h: Add definitions for a few more Solaris ELF extensions. - -Thu Feb 18 18:58:26 1999 Ian Lance Taylor <ian@cygnus.com> - - * external.h: Only use attribute if __GNUC__ is defined. - -1999-02-17 Nick Clifton <nickc@cygnus.com> - - Patch submitted by: Scott Bambrough <scottb@corelcomputer.com> - - * external.h: struct Elf_External_Versym must be packed on - ARM. Code uses sizeof(Elf_External_Versym) and assumes it is - equal to sizeof(char[2]). Reported by Jim Pick <jim@jimpick.com> - -1999-02-02 Nick Clifton <nickc@cygnus.com> - - * dwarf2.h (DWARF2_External_ARange): New structure. - (DWARF2_Internal_ARange): New structure. - -Mon Feb 1 11:33:56 1999 Catherine Moore <clm@cygnus.com> - - * arm.h: Renumber relocs to conform to standard. - (EF_NEW_ABI): Define. - (EF_OLD_ABI): Define. - * arm-oabi.h: New file. - -1999-01-28 Nick Clifton <nickc@cygnus.com> - - * fr30.h: Add R_FR30_GNU_VT{INHERIT,ENTRY} relocs. - -1999-01-27 Nick Clifton <nickc@cygnus.com> - - * dwarf2.h: Add typedefs for structures found in dwarf2 sections. - -1998-12-16 Gavin Romig-Koch <gavin@cygnus.com> - - * mips.h (E_MIPS_MACH_4111): New. - -1998-12-15 Gavin Romig-Koch <gavin@cygnus.com> - - * mips.h (EF_MIPS_ABI,E_MIPS_ABI_O32,E_MIPS_ABI_O64, - E_MIPS_ABI_EABI32,E_MIPS_ABI_EABI64): - -1998-12-03 Nick Clifton <nickc@cygnus.com> - - * fr30.h: Add R_FR30_48 reloc. - -1998-12-02 Ulrich Drepper <drepper@cygnus.com> - - * mips.h: Add external data type for conflict section. - - * mips.h: Add more LL_* options from Irix 6.5. - - * mips.h: Add R_MIPS_JALR and adjust R_MIPS_max appropriately. - -Mon Nov 30 15:25:58 1998 J"orn Rennecke <amylaar@cygnus.co.uk> - - * sh.h (elf_sh_reloc_type): Add R_SH_FIRST_INVALID_RELOC, - R_SH_LAST_INVALID_RELOC, R_SH_SWITCH8 and R_SH_max. - -Tue Nov 10 15:12:28 1998 Nick Clifton <nickc@cygnus.com> - - * common.h (EM_CYGNUS_FR30): Reduce to a 16 bit value. - -Tue Nov 10 15:17:28 1998 Catherine Moore <clm@cygnus.com> - - * d10v.h: Add vtable relocs. - -Wed Nov 4 15:56:50 1998 Nick Clifton <nickc@cygnus.com> - - * common.h (EM_CYGNUS_FR30): New machine number. - - * fr30.h: New file: Definitions for the FR30. - -Fri Oct 30 11:54:15 1998 Catherine Moore <clm@cygnus.com> - - From Philip Blundell <pb@nexus.co.uk>: - * arm.h (R_ARM_COPY, et al.): New relocs, used by Linux for PIC. - (EF_ALIGN8): New flag. - -Tue Oct 20 11:19:50 1998 Ian Lance Taylor <ian@cygnus.com> - - * common.h (NT_LWPSTATUS): Close comment accidentally left open. - -Mon Oct 19 20:24:11 1998 Catherine Moore <clm@cygnus.com> - - * sh.h: Add vtable relocs. - -Mon Oct 19 01:44:42 1998 Felix Lee <flee@cygnus.com> - - * common.h (NT_PSTATUS, NT_FPREGS, NT_PSINFO, - NT_LWPSTATUS,NT_LWPSINFO): added. - * internal.h (Elf_Internal_Note): new structure members. - -Fri Oct 16 14:11:25 1998 Catherine Moore <clm@cygnus.com> - - * m32r.h: Add vtable relocs. - -Tue Oct 6 09:22:22 1998 Catherine Moore <clm@cygnus.com> - - * sparc.h: Add vtable relocs. - -Mon Oct 5 09:39:22 1998 Catherine Moore <clm@cygnus.com> - - * v850.h: Add vtable relocs. - -Sun Oct 4 21:17:51 1998 Ian Lance Taylor <ian@cygnus.com> - - * i386.h (R_386_max): Change from 252 to 24. - -Mon Sep 21 12:24:44 1998 Catherine Moore <clm@cygnus.com> - - * i386.h: Change vtable reloc numbers. - -Sun Sep 20 00:54:22 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - * m68k.h: Add vtable relocs and R_68K_max. - -Tue Sep 15 09:56:49 CDT 1998 Catherine Moore <clm@cygnus.com> - - * arm.h: Add vtable relocs. - -Mon Aug 31 11:25:27 1998 Catherine Moore <clm@cygnus.com> - - * arm.h: Define STT_ARM_TFUNC. Remove ST_THUMB_xxxx - definitions. - -Sat Aug 29 22:25:51 1998 Richard Henderson <rth@cygnus.com> - - * i386.h: Add vtable relocs. - -1998-08-25 16:42 Ulrich Drepper <drepper@cygnus.com> - - * common.h: Add SYMINFO_* macros to access Elf*_Syminfo information. - - * external.h: Add Elf_External_Syminfo definition. - - * internal.h: Add Elf_Internal_Syminfo, Elf32_Internal_Syminfo, - and Elf64_Syminfo definitions. - -Sun Aug 9 20:26:49 CDT 1998 Catherine Moore <clm@cygnus.com> - - * arm.h: Add ST_THUMB definitions. - -Wed Aug 5 15:52:35 1998 Nick Clifton <nickc@cygnus.com> - - * arm.h: Add ELF header flags to specify compile time optins: - EF_INTERWORK: New flag. - EF_APCS_26: New flag. - EF_APCS_FLOAT: New flag. - EF_PIC: New flag. - -1998-07-31 21:28 Ulrich Drepper <drepper@cygnus.com> - - * mips.h: Add missing RHF_* constants. - -Fri Jul 31 10:01:40 1998 Catherine Moore <clm@cygnus.com> - - * arm.h: Add R_ARM_THM_PC9 relocation. - -1998-07-30 16:25 Ulrich Drepper <drepper@cygnus.com> - - * common.h: Add new DT_* entries and there flag macros from Solaris. - -Tue Jul 28 18:14:07 1998 Stan Cox <scox@equinox.cygnus.com> - - * sparc.h: (R_SPARC_REV32): Added for little endian data e.g. sparc 86x. - -Fri Jul 24 11:22:06 1998 Jeffrey A Law (law@cygnus.com) - - * mn10300.h: Add R_MN10300_24 relocation. - -1998-07-24 Ulrich Drepper <drepper@cygnus.com> - - * mips.h: Add MIPS64 relocation names and values. - -Wed Jul 22 19:29:00 Catherine Moore <clm@cygnus.com> - - * arm.h: Rename relocations. - -1998-07-22 Ulrich Drepper <drepper@cygnus.com> - - * ppc.h: Define enum as elf_ppc_reloc_type. - -Wed Jul 22 16:22:11 1998 Nick Clifton <nickc@cygnus.com> - - * reloc-macros.h: New file. Provides relocation macros: - START_RELOC_NUMBERS, RELOC_NUMBER, FAKE_RELOC, EMPTY_RELOC and - END_RELOC_NUMBERS used by other elf header files. - - * alpha.h: Use reloc-macros.h. - * arc.h: Use reloc-macros.h. - * arm.h: Use reloc-macros.h. - * d10v.h: Use reloc-macros.h. - * d30v.h: Use reloc-macros.h. - * hppa.h: Use reloc-macros.h. - * i386.h: Use reloc-macros.h. - * m32r.h: Use reloc-macros.h. - * m68k.h: Use reloc-macros.h. - * mips.h: Use reloc-macros.h. - * mn10200.h: Use reloc-macros.h. - * mn10300.h: Use reloc-macros.h. - * ppc.h: Use reloc-macros.h. - * sh.h: Use reloc-macros.h. - * sparc.h: Use reloc-macros.h. - * v850.h: Use reloc-macros.h. - -1998-07-22 13:07 Ulrich Drepper <drepper@cygnus.com> - - * mn10300.h: Rewrite relocation definition using macros. - * mips.h: Likewise. - * ppc.h: Likewise. - * alpha.h: Likewise. - * arm.h: Likewise. - * d10v.h: Likewise. - * d30v.h: Likewise. - * m32r.h: Likewise. - * m68k.h: Likewise. - * mn10200.h: Likewise. - * sh.h: Likewise. - * sparc.h: Likewise. - -1998-07-21 13:07 Ulrich Drepper <drepper@cygnus.com> - - * arm.h: New file. - * d10v.h: New file. - * d30v.h: New file. - * i386.h: New file. - * m68k.h: New file. - * mn10200.h: New file. - * sh.h: New file. - - * mips.h: Add R_MIPS_* and SHT_MIPS_* entries. - - * mn10300.h: Add R_MN10300_* entries. - - * ppc.h: Add R_PPC_* entries. - -1998-07-20 07:11 Ulrich Drepper <drepper@cygnus.com> - - * mips.h: Add ODK_*, OEX_*, OPAD_*, OHW_*, and OGP_* constants. - Define Elf32_External_Lib. - -1998-07-19 15:24 Ulrich Drepper <drepper@cygnus.com> - - * mips.h (PT_MIPS_OPTIONS): New symbol. - Add lots of DT_MIPS_* symbols. - -Fri Jun 26 10:46:35 1998 Jeffrey A Law (law@cygnus.com) - - * mn10300.h: New file. - -Thu Jun 18 19:27:56 1998 Nick Clifton <nickc@cygnus.com> - - * common.h (EM_960, EM_V800, EM_FR20, EM_RH32, EM_MMA, - EM_OLD_ALPHA): Add these constants. - -Thu Jun 11 17:59:01 1998 Nick Clifton <nickc@cygnus.com> - - * common.h (EM_486, EM_S370): Add these constants. - -Tue Jun 9 09:35:29 1998 Nick Clifton <nickc@cygnus.com> - - * common.h (EM_ARM): Add this constant. - -Wed May 6 09:45:30 1998 Gavin Koch <gavin@cygnus.com> - - * mips.h (EF_MIPS_MACH,E_MIPS_MACH_*): Added. - -Sat Apr 25 18:35:06 1998 Richard Henderson <rth@cygnus.com> - - * alpha.h (STO_ALPHA_NOPV, STO_ALPHA_STD_GPLOAD): New. - -Wed Apr 15 15:42:45 1998 Richard Henderson <rth@cygnus.com> - - * common.h (EM_SPARC64): Move and rename to EM_OLD_SPARCV9. - (EM_SPARCV9): New. This is the official ABI name and number. - -Sat Feb 28 17:04:41 1998 Richard Henderson <rth@cygnus.com> - - * alpha.h (EF_ALPHA_32BIT, EF_ALPHA_CANRELAX): New. - -Mon Dec 15 15:07:49 1997 Nick Clifton <nickc@cygnus.com> - - * m32r.h (EF_M32R_ARCH, E_M32R_ARCH): New flags to - specify machine architecture. - -Fri Dec 5 11:20:08 1997 Nick Clifton <nickc@cygnus.com> - - * v850.h: New constants: SHN_V850_SCOMMON, SHN_V850_TCOMMON, - SHN_V850_ZCOMMON, SHT_V850_SCOMMON, SHT_V850_TCOMMON, - SHT_V850_ZCOMMON to handle v850 common sections. - enum reloc_type renamed to v850_reloc_type to avoid name - conflict. - -Thu Oct 23 13:55:24 1997 Richard Henderson <rth@cygnus.com> - - * sparc.h (enum elf_sparc_reloc_type): Add UA64 & UA16. - -Thu Oct 23 00:42:04 1997 Richard Henderson <rth@dot.cygnus.com> - - * sparc.h (DT_SPARC_REGISTER): New macro. - (DT_SPARC_PLTFMT): In support of old sparc64-linux .plts; will - go away soon. - -Tue Sep 30 13:26:58 1997 Doug Evans <dje@canuck.cygnus.com> - - * sparc.h (EF_SPARC_HAL_R1, EF_SPARC_EXT_MASK): New macros. - (EF_SPARCV9_{MM,TSO,PSO,RMO}): New macros. - (SHN_BEFORE,SHN_AFTER): New macros. - (SHF_EXCLUDE,SHF_ORDERED): New macros. - (STT_REGISTER): New macro. - (R_SPARC_GLOB_JMP): Deleted, but slot reserved. - (R_SPARC_{DISP64,PLT64,HIX22,LOX10}): New relocations. - (R_SPARC_{H44,M44,L44,REGISTER}): New relocations. - (ELF64_R_TYPE_{DATA,ID,INFO}): New macros. - -Wed Sep 17 16:41:42 1997 Nick Clifton <nickc@cygnus.com> - - * v850.h: Add R_V850_CALLT_6_7_OFFSET and R_V850_CALLT_16_16_OFFSET. - -Tue Sep 16 14:16:17 1997 Nick Clifton <nickc@cygnus.com> - - * v850.h (reloc_type): Add R_V850_TDA_16_16_OFFSET. - -Wed Sep 3 15:11:14 1997 Richard Henderson <rth@cygnus.com> - - * mips.h: Correct typo in comment. - -Wed Sep 3 11:25:57 1997 Nick Clifton <nickc@cygnus.com> - - * v850.h (reloc_type): Remove R_V850_16_PCREL. - -Tue Sep 2 17:41:05 1997 Nick Clifton <nickc@cygnus.com> - - * common.h: Remove magic number for V850E. - * common.h: Remove magic number for V850EA. - * v850.h: Add new flags for e_flags field in elf header. - -Mon Aug 25 16:06:47 1997 Nick Clifton <nickc@cygnus.com> - - * common.h (EM_CYGNUS_V850E): backend magic number for v850e. - * common.h (EM_CYGNUS_V850EA): backend magic number for v850ea. - -Mon Aug 18 11:05:23 1997 Nick Clifton <nickc@cygnus.com> - - * v850.h (reloc_type): Add 16 bit PC relative relocation. - -Fri Aug 15 05:10:09 1997 Doug Evans <dje@canuck.cygnus.com> - - * arc.h (enum reloc): Move here from elf32-arc.c. - -Fri Aug 8 17:05:29 1997 Doug Evans <dje@canuck.cygnus.com> - - * arc.h: New file. - * common.h (EM_CYGNUS_ARC): Define. - -Mon Jun 16 14:46:12 1997 Ian Lance Taylor <ian@cygnus.com> - - * internal.h (Elf_Internal_Ehdr): Change e_phoff and e_shoff from - bfd_signed_vma to bfd_size_type, as they are not signed. - -Wed Mar 5 15:35:26 1997 Doug Evans <dje@seba.cygnus.com> - - * m32r.h (SHF_M32R_CAN_RELAX): Define. - -Mon Feb 24 17:49:01 1997 Ian Lance Taylor <ian@cygnus.com> - - * external.h: Dump the 32/64 bit specific forms of the version - structures, and just define them as size independent. - - * common.h (VERSYM_HIDDEN, VERSYM_VERSION): Define. - -Fri Feb 21 13:00:34 1997 Doug Evans <dje@canuck.cygnus.com> - - * m32r.h (enum reloc_type): Add R_M32R_SDA16. - (SHN_M32R_SCOMMON): Define. - -Wed Feb 19 15:35:31 1997 Ian Lance Taylor <ian@cygnus.com> - - From Eric Youngdale <eric@andante.jic.com>: - * external.h, internal.h, common.h: Added new structures and - definitions for ELF versions. - -Tue Feb 18 17:40:36 1997 Martin M. Hunt <hunt@pizza.cygnus.com> - - * common.h (EM_CYGNUS_D30V): Define. - -Mon Jan 27 11:54:44 1997 Doug Evans <dje@seba.cygnus.com> - - * m32r.h (enum reloc_type): Add R_M32R_HI16_[SU]LO,R_M32R_LO16. - -Fri Jan 3 11:32:51 1997 Michael Meissner <meissner@tiktok.cygnus.com> - - * v850.h (V850_OTHER_{TDA_BYTE,ERROR}): New bits for the st_other - field. - (SHN_V850_*): Remove v850 specific section indexes, which are not - needed. - (enum reloc_type): Move the v850 relocations here from - elf32-v850.c - -Thu Jan 2 19:30:23 1997 Michael Meissner <meissner@tiktok.cygnus.com> - - * v850.h: New file, provide V850 specific definitions. - -Tue Dec 31 14:44:32 1996 Ian Lance Taylor <ian@cygnus.com> - - * common.h (DT_AUXILIARY): Define. - (DT_FILTER): Define. - -Wed Dec 4 05:03:37 1996 Jason Merrill <jason@yorick.cygnus.com> - - * dwarf2.h: Update. - -Tue Nov 26 10:44:47 1996 Ian Lance Taylor <ian@cygnus.com> - - * mips.h (STO_MIPS16): Define. - -Tue Nov 12 15:45:42 1996 Martin M. Hunt <hunt@pizza.cygnus.com> - - * d10v.h: Remove empty file. - -Tue Oct 8 11:31:24 1996 Ian Lance Taylor <ian@cygnus.com> - - * mips.h (EF_MIPS_ABI2): Define. - -Thu Oct 3 10:01:40 1996 Jeffrey A Law (law@cygnus.com) - - * common.h: Break mn10x00 support into mn10200 and mn10300. - -Wed Oct 2 21:26:43 1996 Jeffrey A Law (law@cygnus.com) - - * common.h (EM_CYGNUS_MN10x00): Define. - -Mon Sep 23 09:18:04 1996 Doug Evans <dje@seba.cygnus.com> - - * m32r.h: New file. - -Fri Aug 30 17:06:21 1996 Ian Lance Taylor <ian@cygnus.com> - - * common.h (EM_SH): Define. - -Tue Aug 20 14:47:54 1996 J.T. Conklin <jtc@hippo.cygnus.com> - - * common.h (EM_CYGNUS_V850): Define. - -Mon Aug 19 10:59:10 1996 Doug Evans <dje@canuck.cygnus.com> - - * common.h (EM_CYGNUS_M32R): Define. - -Mon Jul 22 18:59:55 1996 Ian Lance Taylor <ian@cygnus.com> - - * mips.h (SHT_MIPS_IFACE, SHT_MIPS_CONTENT): Define. - (SHT_MIPS_SYMBOL_LIB): Define. - (SHF_MIPS_MERGE, SHF_MIPS_ADDR32, SHF_MIPS_ADDR64): Define. - (SHF_MIPS_NOSTRIP, SHF_MIPS_LOCAL, SHF_MIPS_NAMES): Define. - -Thu Jul 18 19:12:15 1996 Stan Shebs <shebs@andros.cygnus.com> - - * dwarf2.h: New file. - -Jul 18 13:20:39 1996 Martin M. Hunt <hunt@pizza.cygnus.com> - - * common.h (EM_CYGNUS_D10V): Define. - * d10v.h: New file. - -Fri Jun 21 12:33:24 1996 Richard Henderson <rth@tamu.edu> - - * alpha.h: New file. - * common.h (EM_ALPHA): Define. - -Fri May 31 17:28:05 1996 Ian Lance Taylor <ian@cygnus.com> - - * mips.h (Elf_External_Options, Elf_Internal_Options): Define. - (bfd_mips_elf_swap_options_in): Declare. - (bfd_mips_elf_swap_options_out): Declare. - (ODK_*): Define. - (Elf64_External_RegInfo, Elf64_Internal_RegInfo): Define. - (bfd_mips_elf64_swap_reginfo_in): Declare. - (bfd_mips_elf64_swap_reginfo_out): Declare. - -Thu May 30 12:35:57 1996 Ian Lance Taylor <ian@cygnus.com> - - * mips.h (E_MIPS_ARCH_4): Define. - -Wed May 29 15:35:33 1996 Ian Lance Taylor <ian@cygnus.com> - - * mips.h (Elf64_Mips_External_Rel): Define. - (Elf64_Mips_Internal_Rel): Define. - (Elf64_Mips_External_Rela, Elf64_Mips_Internal_Rela): Define. - (RSS_*): Define. - -Mon Apr 22 18:26:30 1996 Doug Evans <dje@canuck.cygnus.com> - - * sparc.h (R_SPARC_[56]): Always define. - -Mon Feb 19 01:55:56 1996 Doug Evans <dje@charmed.cygnus.com> - - * sparc.h (R_SPARC_{PLT32,HIPLT22,LOPLT10,PCPLT32,PCPLT22, - PCPLT10,5,6}): Don't define ifdef SPARC64_OLD_RELOCS. - -Tue Feb 6 11:33:58 1996 Doug Evans <dje@charmed.cygnus.com> - - * sparc.h (enum sparc_elf_reloc_type): Define. - -Wed Jan 17 09:09:16 1996 Doug Evans <dje@canuck.cygnus.com> - - * common.h: Define EM_SPARC32PLUS. - * sparc.h: New file. - -Thu Jan 11 16:27:34 1996 Michael Meissner <meissner@tiktok.cygnus.com> - - * ppc.h (SHF_EXCLUDE, SHT_ORDERED): New fields from the abi. - -Thu Nov 30 16:47:18 1995 Ian Lance Taylor <ian@cygnus.com> - - * internal.h (struct elf_segment_map): Add includes_filehdr and - includes_phdrs fields. - -Tue Nov 28 16:58:10 1995 Ian Lance Taylor <ian@cygnus.com> - - * internal.h (struct elf_segment_map): Define. - -Tue Oct 31 15:19:36 1995 Fred Fish <fnf@cygnus.com> - - * common.h, dwarf.h, external.h, hppa.h, internal.h, - mips.h, ppc.h: Protect against multiple inclusions. - -Thu Sep 21 13:51:58 1995 Michael Meissner <meissner@tiktok.cygnus.com> - - * ppc.h (EF_PPC_RELOCATABLE_LIB): Add new flag bit. - -Fri Sep 1 15:32:17 1995 Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp> - - * mips.h: Add some definitions used on Irix 5. - -Tue Jun 20 10:18:28 1995 Jeff Law (law@snake.cs.utah.edu) - - * hppa.h (CPU_PA_RISC1_0): Protect from redefinitions. - (CPU_PA_RISC1_1): Likewise. - -Wed Mar 8 18:14:37 1995 Michael Meissner <meissner@tiktok.cygnus.com> - - * ppc.h: New file for PowerPC support. - -Tue Feb 14 13:59:13 1995 Michael Meissner <meissner@tiktok.cygnus.com> - - * common.h (EM_PPC): Use offical value of 20, not 17. - (EM_PPC_OLD): Define this to be the old value of EM_PPC. - -Tue Jan 24 09:40:59 1995 Michael Meissner <meissner@tiktok.cygnus.com> - - * common.h (EM_PPC): New macro, PowerPC machine id. - -Tue Jan 17 10:51:38 1995 Ian Lance Taylor <ian@sanguine.cygnus.com> - - * mips.h (SHT_MIPS_MSYM, SHT_MIPS_DWARF, SHT_MIPS_EVENTS): Define. - -Mon Oct 17 13:43:59 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> - - * internal.h (Elf_Internal_Shdr): Remove rawdata and size fields. - Add bfd_section field. - -Tue May 24 16:11:50 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * mips.h (Elf32_External_gptab): Define. - -Mon May 16 13:22:04 1994 Jeff Law (law@snake.cs.utah.edu) - - * common.h (EM_HPPA): Delete. - (EM_PARISC): Add. - * hppa.h: New file. - -Mon May 9 13:27:03 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * common.h (SHN_LORESERVE): Rename from SHN_LORESERV. - (ELF32_R_TYPE, ELF32_R_INFO): Don't rely on size of unsigned char. - (ELF64_R_TYPE): Don't rely on size of unsigned long. - -Mon Apr 25 15:53:09 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * internal.h (Elf_Internal_Shdr): Use PTR, not void *. - -Fri Mar 11 00:34:59 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * mips.h (SHN_MIPS_TEXT, SHN_MIPS_DATA): Define. - -Sat Mar 5 14:08:54 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * internal.h: Remove Elf32_*, Elf64_* typedefs. These names - cause conflicts with system headers, e.g. link.h in gdb/solib.c. - Combine 32- and 64-bit versions of *_Internal_Dyn. - * common.h: Replace uses of Elf64_Word, Elf64_Xword typedefs - by their expansion. - * mips.h: Replace uses of Elf32_Word, Elf32_Sword, Elf32_Addr - typedefs by their expansion. Add DT_MIPS_RLD_MAP definition. - -Fri Feb 18 10:39:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * common.h (EM_CYGNUS_POWERPC): Define. This may be temporary, - depending upon how quickly I can find a real PowerPC ABI. - -Mon Feb 7 08:27:13 1994 Jim Kingdon (kingdon@lioth.cygnus.com) - - * internal.h: Change HOST_64_BIT to BFD_HOST_64_BIT. - -Wed Feb 2 14:12:18 1994 Jim Kingdon (kingdon@lioth.cygnus.com) - - * common.h: Add comments regarding value of EM_HPPA and how to - pick an unofficial value. - -Wed Nov 17 17:14:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * mips.h (SHT_MIPS_OPTIONS): Define. - -Mon Nov 8 17:57:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * mips.h: Added some more MIPS ABI macro definitions. - -Wed Nov 3 22:07:17 1993 Ken Raeburn (raeburn@rtl.cygnus.com) - - * common.h (EM_MIPS_RS4_BE): New macro. - -Tue Oct 12 07:28:18 1993 Ian Lance Taylor (ian@cygnus.com) - - * mips.h: New file. MIPS ABI specific information. - -Mon Jun 21 13:13:43 1993 Ken Raeburn (raeburn@poseidon.cygnus.com) - - * internal.h: Combined 32- and 64-bit versions of all structures - except *_Internal_Dyn. This will simply the assembler interface, - and some bfd code. - -Tue May 25 02:00:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * external.h, internal.h, common.h: Added 64-bit versions of some - structures and macros. Renamed old versions to put "32" in the - name. Some are unchanged. - -Thu Apr 29 12:12:20 1993 Ken Raeburn (raeburn@deneb.cygnus.com) - - * common.h (EM_HPPA, NT_VERSION, STN_UNDEF, DT_*): New macros. - * external.h (Elf_External_Dyn): New type. - - * internal.h (Elf_Intenral_Shdr): New field `size'. - (Elf_Internal_Dyn): New type. - -Tue Apr 20 16:03:45 1993 Fred Fish (fnf@cygnus.com) - - * dwarf.h (LANG_CHILL): Change value to one randomly picked in - the user defined range, to reduce probability of collisions. - -Sun Nov 15 09:34:02 1992 Fred Fish (fnf@cygnus.com) - - * dwarf.h (AT_src_coords): Whitespace change only. - * dwarf.h (AT_body_begin, AT_body_end, LANG_MODULA2): - Add from latest gcc. - * dwarf.h (LANG_CHILL): Add as GNU extension. - -Sat Aug 1 13:46:53 1992 Fred Fish (fnf@cygnus.com) - - * dwarf.h: Replace with current version from gcc distribution. - -Fri Jun 19 19:05:09 1992 John Gilmore (gnu at cygnus.com) - - * internal.h: Add real struct tags to all the Type_Defs, so they - can be used in prototypes where the Type_Defs are not known. - -Fri Apr 3 20:58:58 1992 Mark Eichin (eichin at cygnus.com) - - * common.h: added ELF_R_{SYM,TYPE,INFO} for handling relocation - info - added EM_MIPS, and corrected value of EM_860 based on System V ABI - manual. - - * external.h: added Elf_External_{Rel,Rela}. - - * internal.h: added Elf_Internal_{Rel,Rela}. - added rawdata to Elf_Internal_Shdr. - -Sat Nov 30 20:43:59 1991 Steve Chamberlain (sac at rtl.cygnus.com) - - * common.h, dwarf.h, external.h, internal.h, ChangeLog; moved from - ../elf-<foo> +For older changes see ChangeLog-9103 Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 version-control: never End: diff --git a/contrib/binutils/include/elf/ChangeLog-9103 b/contrib/binutils/include/elf/ChangeLog-9103 new file mode 100644 index 0000000..713d80d --- /dev/null +++ b/contrib/binutils/include/elf/ChangeLog-9103 @@ -0,0 +1,1914 @@ +2003-12-19 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> + + * elf/m32r.h : Added m32r-linux and PIC support. Add new ABI that + uses RELA. + (R_M32R_16_RELA, R_M32R_32_RELA, R_M32R_24_RELA, + R_M32R_10_PCREL_RELA, R_M32R_18_PCREL_RELA, + R_M32R_26_PCREL_RELA, R_M32R_HI16_ULO_RELA, + R_M32R_HI16_SLO_RELA, R_M32R_LO16_RELA, + R_M32R_SDA16_RELA, R_M32R_RELA_GNU_VTINHERIT, + R_M32R_RELA_GNU_VTENTRY, R_M32R_GOT24, + R_M32R_26_PLTREL, R_M32R_COPY, R_M32R_GLOB_DAT, + R_M32R_JMP_SLOT, R_M32R_RELATIVE, R_M32R_GOTOFF, + R_M32R_GOTPC24, R_M32R_GOT16_HI_ULO, + R_M32R_GOT16_HI_SLO, R_M32R_GOT16_LO, + R_M32R_GOTPC_HI_ULO, R_M32R_GOTPC_HI_SLO, + R_M32R_GOTPC_LO): New relocs. + +2003-12-06 Alan Modra <amodra@bigpond.net.au> + + From Jan Beulich <JBeulich@novell.com> + * common.h (DT_HIOS): Correct value. + +2003-12-03 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> + + * elf/m32r.h: Add new machine type m32r2 and instruction modes. + +2003-11-06 Alan Modra <amodra@bigpond.net.au> + + * ppc.h (R_PPC_RELAX32PC): Define. + +2003-10-22 Alexandre Oliva <aoliva@redhat.com>, + Michael Snyder <msnyder@redhat.com> + + * sh.h (EF_SH4A, EF_SH4AL_DSP, EF_SH4_NOFPU, EF_SH4A_NOFPU): New. + (EF_SH_MERGE_MACH): Combine them. + +2003-10-18 Hans-Peter Nilsson <hp@bitrange.com> + + * mmix.h (R_MMIX_PUSHJ_STUBBABLE): New reloc number. + (_bfd_mmix_before_linker_allocation): Rename from + _bfd_mmix_prepare_linker_allocated_gregs. + (_bfd_mmix_after_linker_allocation): Rename from + _bfd_mmix_finalize_linker_allocated_gregs. + +2003-10-06 Dave Brolley <brolley@redhat.com> + + * frv.h (EF_FRV_CPU_FR550): New macro. + +2003-09-30 Chris Demetriou <cgd@broadcom.com> + + * mips.h (E_MIPS_ARCH_64R2): New define. + +2003-09-23 DJ Delorie <dj@redhat.com> + + * sh.h (R_SH_SWITCH8, R_SH_GNU_VTINHERIT, R_SH_GNU_VTENTRY, + R_SH_LOOP_START,R_SH_LOOP_END): Move to "reserved" spaces. + (R_SH_DIR16, R_SH_DIR8, R_SH_DIR8UL, R_SH_DIR8UW, R_SH_DIR8U, + R_SH_DIR8SW, R_SH_DIR8S, R_SH_DIR4UL, R_SH_DIR4UW, R_SH_DIR4U, + R_SH_PSHA, R_SH_PSHL): New. + +2003-09-11 James Cownie <jcownie@etnus.com> + + * dwarf2.h: Add HP dwarf extensions from their hacked gdb + header files (ftp://ftp.hp.com/pub/lang/tools/WDB/wdb-4.0.tar.gz). + +2003-09-04 Nick Clifton <nickc@redhat.com> + + * v850.h (E_V850E1_ARCH): Define. + +2003-08-21 James Cownie <jcownie@etnus.com> + + * dwarf2.h: Add PGI dwarf extensions. + +2003-08-08 Dmitry Diky <diwil@mail.ru> + + * msp430.h: Add xW42 and xE42 parts. Sort MPU list according to + gcc order. + +2003-08-07 Alan Modra <amodra@bigpond.net.au> + + * reloc-macros.h (START_RELOC_NUMBERS) : Remove PARAMS macro. Use + C90 function definition. Formatting. + (RELOC_NUMBER): Remove !__STDC__ code. + +2003-07-28 Eric Christopher <echristo@redhat.com> + + * ppc.h (R_PPC_RELAX32): New. Fake relocation. + +2003-07-25 H.J. Lu <hongjiu.lu@intel.com> + + * v850.h (SHF_V850_GPREL): New. + (SHF_V850_EPREL): Likewise. + (SHF_V850_R0REL): Likewise. + +2003-07-09 Alexandre Oliva <aoliva@redhat.com> + + 2001-05-16 Alexandre Oliva <aoliva@redhat.com> + * mn10300.h: Introduce GOTPC16, GOTOFF24, GOTOFF16 and + PLT16, and rename GOTPC to GOTPC32 and GOTOFF to GOTOFF32. + Renumbered all relocs. + 2001-04-12 Alexandre Oliva <aoliva@redhat.com> + * mn10300.h (R_MN10300_GOTPC, R_MN10300_GOTOFF, + R_MN10300_PLT32, R_MN10300_GOT32, R_MN10300_GOT24, + R_MN10300_GOT16, R_MN10300_COPY, R_MN10300_GLOB_DAT, + R_MN10300_JMP_SLOT, R_MN10300_RELATIVE): New relocs. + +2003-07-09 Alexandre Oliva <aoliva@redhat.com> + + 2000-04-01 Alexandre Oliva <aoliva@cygnus.com> + * mn10300.h (E_MN10300_MACH_AM33_2): Renamed from + E_MN10300_MACH_AM332. + 2000-03-31 Alexandre Oliva <aoliva@cygnus.com> + * mn10300.h (E_MN10300_MACH_AM332): Defined. + +2003-07-01 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * s390.h (elf_s390_reloc_type): Add long displacement relocations + R_390_20, R_390_GOT20, R_390_GOTPLT20 and R_390_TLS_GOTIE20. + +2003-06-29 Andreas Jaeger <aj@suse.de> + + * mmix.h: Convert to ISO C90 prototypes. + * mips.h: Likewise. + +2003-06-13 Robert Millan <zeratul2@wanadoo.es> + + * common.h (GNU_ABI_TAG_NETBSD): New tag. + (GNU_ABI_TAG_FREEBSD): New tag. + +2003-06-10 Richard Sandiford <rsandifo@redhat.com> + + * h8.h (E_H8_MACH_H8300SXN): New flag. + +2003-06-03 Nick Clifton <nickc@redhat.com> + + * v850.h (R_V850_32): Rename to R_V850_ABS32. + Add R_V850_REL32. + +2003-05-15 Roland McGrath <roland@redhat.com> + + * common.h (NT_AUXV, AT_*): New macros. + * external.h (Elf32_External_Auxv, Elf64_External_Auxv): New types. + * internal.h (Elf_Internal_Auxv): New type. + +2003-05-14 Michael Snyder <msnyder@redhat.com> + From Bernd Schmidt <bernds@redhat.com> + * h8.h (E_H8_MACH_H8300SX): New. + +2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com> + + * elf/h8.h (E_H8_MACH_H8300HN, E_H8_MACH_H8300SN): New + +2003-04-23 J"orn Rennecke <joern.rennecke@superh.com> + + * common.h (EM_SH): Amend comment to refer to SuperH. + +2003-04-22 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> + + * common.h: Replace references to Mitsubishi M32R with + references to Renesas M32R. + +2003-04-15 Rohit Kumar Srivastava <rohits@kpitcummins.com> + + * common.h: Replace occurrances of 'Hitachi' with 'Renesas'. + +2003-04-01 Bob Wilson <bob.wilson@acm.org> + + * elf/common.h (EM_XTENSA_OLD): Define. + * elf/xtensa.h: New file. + +2003-04-01 Nick Clifton <nickc@redhat.com> + + * arm.h (ARM_NOTE_SECTION): Include .gnu in the string. + +2003-03-25 Stan Cox <scox@redhat.com> + Nick Clifton <nickc@redhat.com> + + Contribute support for Intel's iWMMXt chip - an ARM variant: + + * arm.h (ARM_NOTE_SECTION): Define. + +2003-03-03 J"orn Rennecke <joern.rennecke@superh.com> + + * sh.h (EF_SH_MERGE_MACH): Make sure SH2E & SH3/SH3E merge to SH3E, + and SH2E & SH4 merge to SH4, not SH2E. + +2003-02-21 Ian Wienand <ianw@gelato.unsw.edu.au> + + * ia64.h (SHT_IA_64_LOPSREG, SHT_IA_64_HIPSREG, + SHT_IA_64_PRIORITY_INIT): Define. + +2003-02-18 Alan Modra <amodra@bigpond.net.au> + + * ppc64.h (IS_PPC64_TLS_RELOC): Rename from IS_TLS_RELOC. + + * ppc.h: Replace DTPMOD64, TPREL64, DTPREL64 with DTPMOD32 etc. + (IS_PPC_TLS_RELOC): Define. + +2003-02-10 Nick Clifton <nickc@redhat.com> + + * arm.h (EF_ARM_MAVERICK_FLOAT): Define. + +2003-02-05 Alan Modra <amodra@bigpond.net.au> + + * ppc.h: Add TLS relocs. Format. + * ppc64.h: Likewise. + +2003-01-27 Alexandre Oliva <aoliva@redhat.com> + + * mips.h (EF_MIPS_XGOT): Define. + +2003-01-24 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * s390.h: Add s390 TLS relocations. + +2003-01-23 Nick Clifton <nickc@redhat.com> + + * Add sh2e support: + + 2002-04-02 Alexandre Oliva <aoliva@redhat.com> + + * sh.h (EF_SH_MERGE_MACH): Handle SH2E. + + 2002-04-02 Elena Zannoni <ezannoni@redhat.com> + + * sh.h (EF_SH2E): New. + +2003-01-23 Alan Modra <amodra@bigpond.net.au> + + * sh.h: Split out various bits to bfd/elf32-sh64.h. + +2003-01-20 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * s390.h: Rename R_390_GOTOFF to R_390_GOTOFF32. Add new gotoff, + gotplt and pltoff relocations. + +2003-01-17 Alan Modra <amodra@bigpond.net.au> + + * common.h: Formatting, typo fixes. + (DT_ENCODING): Correct value. + +2003-01-17 Fabio Alemagna <falemagn@aros.org> + + * common.h (ELFOSABI_AROS): Define. + (ELFOSABI_OPENVMS): Likewise. + (ELFOSABI_NSK): Likewise. + +2003-01-16 Alan Modra <amodra@bigpond.net.au> + + * ppc.h: Split out ppc64 definitions to.. + * pcc64.h: ..here. New file. + (R_PPC64_REL30): Rename from R_PPC64_ADDR30. + +2003-01-13 Dmitry Diky <diwil@mail.ru> + + * elf/common.h (EM_MSP430): Change e_machine value to officially + assigned. + +2003-01-02 Ben Elliston <bje@redhat.com> + + * common.h (EM_IQ2000): Define. + * iq2000.h: New file. + +2002-12-30 Chris Demetriou <cgd@broadcom.com> + + * mips.h (E_MIPS_ARCH_32R2): New define. + +2002-12-24 Dmitry Diky <diwil@mail.ru> + + * common.h: Define msp430 machine numbers. + * msp430.h: New file. Define msp430 relocs. + +2002-12-20 DJ Delorie <dj@redhat.com> + + * xstormy16.h: Add XSTORMY16_12. + +2002-12-16 Andrew MacLeod <amacleod@redhat.com> + + * xstormy16.h (START_RELOC_NUMBERS) Add relocation numbers + for R_XSTORMY16_LO16 and R_XSTORMY16_HI16. + +2002-12-10 James Cownie <jcownie@etnus.com> + + * dwarf2.h (DW_TAG_upc_shared_type, DW_TAG_upc_strict_type, + DW_TAG_upc_relaxed_type, DW_AT_upc_threads_scaled, DW_LANG_Upc): + Define. + +2002-12-01 Stephane Carrez <stcarrez@nerim.fr> + + * m68hc11.h (EF_M68HC12_MACH, EF_M68HCS12_MACH): Define. + (EF_M68HC11_MACH_MASK, EF_M68HC11_MACH): Define. + (EF_M68HC11_MERGE_MACH, EF_M68HC11_CAN_MERGE_MACH): Define. + +2002-11-30 Alan Modra <amodra@bigpond.net.au> + + * mmix.h: Replace boolean with bfd_boolean. + * sh.h: Likewise. + +2002-11-28 Alan Modra <amodra@bigpond.net.au> + + * internal.h (elf32_internal_ehdr, Elf32_Internal_Ehdr, + elf64_internal_ehdr, Elf64_Internal_Ehdr, elf32_internal_phdr, + Elf32_Internal_Phdr, elf64_internal_phdr, Elf64_Internal_Phdr, + elf32_internal_shdr, Elf32_Internal_Shdr, elf64_internal_shdr, + Elf64_Internal_Shdr, elf32_internal_sym, elf64_internal_sym, + Elf32_Internal_Sym, Elf64_Internal_Sym, Elf32_Internal_Note, + elf32_internal_note, elf32_internal_rel, Elf32_Internal_Rel, + elf64_internal_rel, Elf64_Internal_Rel, elf32_internal_rela, + elf64_internal_rela, Elf32_Internal_Rela, Elf64_Internal_Rela, + elf32_internal_dyn, elf64_internal_dyn, Elf32_Internal_Dyn, + Elf64_Internal_Dyn, elf32_internal_verdef, elf64_internal_verdef, + elf32_internal_verdaux, elf64_internal_verdaux, elf32_internal_verneed, + elf64_internal_verneed, elf32_internal_vernaux, elf64_internal_vernaux, + elf32_internal_versym, elf64_internal_versym, Elf32_Internal_Verdef, + Elf64_Internal_Verdef, Elf32_Internal_Verdaux, Elf64_Internal_Verdaux, + Elf32_Internal_Verneed, Elf64_Internal_Verneed, Elf32_Internal_Vernaux, + Elf64_Internal_Vernaux, Elf32_Internal_Versym, Elf64_Internal_Versym, + Elf32_Internal_Syminfo, Elf64_Internal_Syminfo): Delete. + (Elf_Internal_Rel): Delete. + +2002-10-11 Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * sh.h: Add SH TLS relocs. + +2002-09-30 Gavin Romig-Koch <gavin@redhat.com> + Ken Raeburn <raeburn@cygnus.com> + Aldy Hernandez <aldyh@redhat.com> + Eric Christopher <echristo@redhat.com> + Richard Sandiford <rsandifo@redhat.com> + + * mips.h (E_MIPS_MACH_4120, E_MIPS_MACH_5400, E_MIPS_MACH_5500): New. + +2002-09-12 Roland McGrath <roland@redhat.com> + + * dwarf2.h: Updates from GCC version of thie file: + (enum dwarf_location_atom): DW_OP_calli -> DW_OP_call_ref. + Add DW_OP_GNU_push_tls_address. + (DW_OP_lo_user): Change to 0xe0. + +2002-08-28 Catherine Moore <clm@redhat.com> + + * elf/v850.h (R_V850_LONGCALL, R_V850_ALIGN, + R_V850_LONGJUMP): New relocations. + +2002-08-15 Alan Modra <amodra@bigpond.net.au> + + * i370.h: Define relocs using reloc-macros.h. + +2002-08-13 Stephane Carrez <stcarrez@nerim.fr> + + * m68hc11.h (E_M68HC12_BANKS, E_M68HC11_I32, E_M68HC11_F64, + EF_M68HC11_ABI): Define for ABI specification. + (STO_M68HC12_FAR, STO_M68HC12_INTERRUPT): Symbol flags for + linker and debugger. + (R_M68HC11_24, R_M68HC11_LO16, R_M68HC11_PAGE): New relocs. + (R_M68HC11_RL_JUMP, R_M68HC11_RL_GROUP): New reloc for linker + relaxation. + +2002-07-15 Denis Chertykov <denisc@overta.ru> + Frank Ch. Eigler <fche@redhat.com> + Ben Elliston <bje@redhat.com> + Alan Lehotsky <alehotsky@cygnus.com> + John Healy <jhealy@redhat.com> + Graham Stott <grahams@redhat.com> + Jeff Johnston <jjohnstn@redhat.com> + + * common.h (EM_IP2K): New macro. + (EM_IP2K_OLD): New macro. + * ip2k.h: New file. + +2002-07-01 Matt Thomas <matt@3am-software.com> + + * vax.h: Rename EF_* to EF_VAX_*. + +2002-06-18 Dave Brolley <brolley@redhat.com> + + From Catherine Moore, Michael Meissner, Dave Brolley: + * common.h (EM_CYGNUS_FRV): New macro. + * frv.h: New file. + +2002-06-06 Lars Brinkhoff <lars@nocrew.org> + + * common.h: Change registry@sco.com to registry@caldera.com. + (EM_PDP10, EM_PDP11): Define. + +2002-06-04 Jason Thorpe <thorpej@wasabisystems.com> + + * sh.h (_bfd_sh64_crange_qsort_cmpb, _bfd_sh64_crange_qsort_cmpl) + (_bfd_sh64_crange_bsearch_cmpb, _bfd_sh64_crange_bsearch_cmpl): New + prototypes. + +2002-06-01 Richard Henderson <rth@redhat.com> + + * alpha.h (LITUSE_ALPHA_ADDR, LITUSE_ALPHA_BASE, LITUSE_ALPHA_BYTOFF, + LITUSE_ALPHA_JSR, LITUSE_ALPHA_TLSGD, LITUSE_ALPHA_TLSLDM): New. + +2002-05-30 Richard Henderson <rth@redhat.com> + + * alpha.h (R_ALPHA_TLSGD, R_ALPHA_TLSLDM, R_ALPHA_DTPMOD64, + R_ALPHA_GOTDTPREL, R_ALPHA_DTPREL64, R_ALPHA_DTPRELHI, + R_ALPHA_DTPRELLO, R_ALPHA_DTPREL16, R_ALPHA_GOTTPREL, R_ALPHA_TPREL64, + R_ALPHA_TPRELHI, R_ALPHA_TPRELLO, R_ALPHA_TPREL16): New. + +2002-05-29 Matt Thomas <matt@3am-software.com> + + * vax.h: New file + +2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net> + + * common.h (EM_DLX): Define. + * dlx.h: New file. + +2002-05-08 Jason Thorpe <thorpej@wasabisystems.com> + + * common.h (NT_GNU_ABI_TAG): Define. + (GNU_ABI_TAG_LINUX): Define. + (GNU_ABI_TAG_HURD): Define. + (GNU_ABI_TAG_SOLARIS): Define. + (NT_NETBSD_IDENT): Define. + (NT_FREEBSD_ABI_TAG): Define. + +2002-04-24 Elena Zannoni <ezannoni@redhat.com> + + * dwarf2.h: Add DW_AT_GNU_vector. + +2002-02-13 Matt Fredette <fredette@netbsd.org> + + * m68k.h (EF_M68000): Define. + +2002-02-12 Alan Modra <amodra@bigpond.net.au> + + * ppc.h (DT_PPC64_OPD, DT_PPC64_OPDSZ): Define. + +2002-02-09 Richard Henderson <rth@redhat.com> + + * alpha.h (R_ALPHA_BRSGP): New. + +2002-02-08 Alexandre Oliva <aoliva@redhat.com> + + Contribute sh64-elf. + 2002-01-23 Alexandre Oliva <aoliva@redhat.com> + * sh.h (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16, + R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16, + R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16, + R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16, + R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16, + R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16, + R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16, + R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8, + R_SH_GOTPLT10BY8, R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64, + R_SH_RELATIVE64): New relocs. + (R_SH_FIRST_INVALID_RELOC_4): Adjust. + 2001-05-16 Alexandre Oliva <aoliva@redhat.com> + * sh.h: Renumbered and renamed some SH5 relocations to match + official numbers and names; moved unmaching ones to the range + 0xf2-0xff. + 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com> + * sh.h (sh64_get_contents_type): Declare. + (sh64_address_is_shmedia): Likewise. + 2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com> + * sh.h (sh64_elf_crange): New type. + (struct sh64_section_data): New. + (sh64_elf_section_data): New macro. + (EF_SH5): Rename back from EF_SH64. + 2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com> + * sh.h (SHF_SH5_ISA32_MIXED, SHT_SH5_CR_SORTED, + SH64_CRANGES_SECTION_NAME, SH64_CRANGE_SIZE, + SH64_CRANGE_CR_ADDR_OFFSET, SH64_CRANGE_CR_SIZE_OFFSET, + SH64_CRANGE_CR_TYPE_OFFSET): New macros. + 2000-12-12 Hans-Peter Nilsson <hpn@cygnus.com> + * sh.h (EF_SH64): Don't define EF_SH64_ABI64. + 2000-11-27 Hans-Peter Nilsson <hpn@cygnus.com> + * sh.h (EF_SH64_32BIT_ABI, EF_SH64_64BIT_ABI): Delete. + (EF_SH64_ABI64): New. + 2000-11-23 Hans-Peter Nilsson <hpn@cygnus.com> + * sh.h (EF_SH64): Rename from EF_SH5. + (EF_SH64_32BIT_ABI): New. + (EF_SH64_64BIT_ABI): New. + (R_SH_PT_16, R_SH_SHMEDIA_CODE + R_SH_IMMU5, R_SH_IMMS6, R_SH_IMMU6, R_SH_IMMS10, R_SH_IMMS10BY2, + R_SH_IMMS10BY4, R_SH_IMMS10BY8, R_SH_IMMS16, R_SH_IMMU16, + R_SH_IMM_LOW16, R_SH_IMM_LOW16_PCREL, R_SH_IMM_MEDLOW16, + R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16_PCREL, + R_SH_IMM_HI16, R_SH_IMM_HI16_PCREL, R_SH_64, R_SH_64_PCREL): New + relocs. + 2000-09-01 Ben Elliston <bje@redhat.com> + * sh.h (EF_SH5): Define. + +2002-02-01 Hans-Peter Nilsson <hp@bitrange.com> + + * mmix.h: Tweak comments. + (MMIX_LD_ALLOCATED_REG_CONTENTS_SECTION_NAME): New. + [BFD_ARCH_SIZE] (_bfd_mmix_prepare_linker_allocated_gregs, + _bfd_mmix_finalize_linker_allocated_gregs, + _bfd_mmix_check_all_relocs): Provide prototypes. + +2002-01-31 Ivan Guzvinec <ivang@opencores.org> + + * or32.h: New file. + * common.h: Add support for or32 targets. + +2002-01-28 Jason Merrill <jason@redhat.com> + + * dwarf2.h: Sync with gcc version. + +2002-01-16 Alan Modra <amodra@bigpond.net.au> + + * ppc.h (DT_PPC64_GLINK): Define. + +2002-01-15 Richard Earnshaw <rearnsha@arm.com> + + * arm.h (F_VFP_FLOAT, EF_ARM_VFP_FLOAT): Define. + +2002-01-09 Jason Thorpe <thorpej@wasabisystems.com> + + * common.h: Update copyright years. + (NT_NETBSDCORE_PROCINFO): Define. + (NT_NETBSDCORE_FIRSTMACH): Define. + +2002-01-06 Steve Ellcey <sje@cup.hp.com> + + * ia64.h (ELF_STRING_ia64_unwind_hdr): New Macro for HP-UX. + (SHT_IA_64_HP_OPT_ANOT): Ditto + (PT_IA_64_HP_OPT_ANOT): Ditto + (PT_IA_64_HP_HSL_ANOT): Ditto + (PT_IA_64_HP_STACK): Ditto + (SHN_IA_64_ANSI_COMMON): Ditto + +2001-12-17 Alan Modra <amodra@bigpond.net.au> + + * external.h (Elf_External_Sym_Shndx): Declare. + * internal.h (struct elf_internal_sym <st_shndx>): Make it an + unsigned int. + * common.h (SHN_BAD): Define. + +2001-12-13 Jakub Jelinek <jakub@redhat.com> + + * elf/common.h (PT_GNU_EH_FRAME): Define. + +2001-12-11 Alan Modra <amodra@bigpond.net.au> + + * common.h (SHN_XINDEX): Comment typo fix. + * internal.h (Elf_Internal_Ehdr): Change existing "unsigned short" + size, count and index fields to "unsigned int". + +2001-12-07 Geoffrey Keating <geoffk@redhat.com> + Richard Henderson <rth@redhat.com> + + * common.h (EM_XSTORMY16): Define. + * xstormy16.h: New file. + +2001-11-15 Alan Modra <amodra@bigpond.net.au> + + * common.h (NT_ARCH): Define. Remove incorrect comment. + +2001-11-11 Geoffrey Keating <geoffk@redhat.com> + + * dwarf2.h (dwarf_line_number_ops): Add DWARF 3 opcodes. + +2001-10-30 Hans-Peter Nilsson <hp@bitrange.com> + + * mmix.h: New file. + +2001-10-23 Alan Modra <amodra@bigpond.net.au> + + * internal.h: White space changes to keep lines under 80 chars. + +2001-10-16 Jeff Holcomb <jeffh@redhat.com> + + * internal.h (elf_internal_shdr): Make contents a unsigned char *. + +2001-09-18 Alan Modra <amodra@bigpond.net.au> + + * internal.h (elf_internal_rela): Make r_addend a bfd_vma. + +2001-09-13 Alexandre Oliva <aoliva@redhat.com> + + * common.h (EM_OPENRISC_OLD): Renamed the old EM_OPENRISC entry. + +2001-09-12 Alexandre Oliva <aoliva@redhat.com> + + * common.h (EM_AVR_OLD): Renamed from... + (EM_AVR): this, redefined as in the current ELF standard. + (EM_PJ_OLD): Renamed from... + (EM_PJ): this, redefined as in the current ELF standard. + (EM_R30, EM_D10V, EM_D30V, EM_V850, EM_M32R, EM_MN10300, + EM_MN10200, EM_OPENRISC, EM_ARC_A5, EM_XTENSA): Defined as in + the current ELF standard. + (EM_CYGNUS_ARC): Removed, unused for a long time. + +2001-09-04 Richard Henderson <rth@redhat.com> + + * alpha.h (R_ALPHA_OP*, R_ALPHA_IMMED*, R_ALPHA_GPVALUE): Remove. + (R_ALPHA_GPREL16): Rename from R_ALPHA_IMMED_GP_16. + +2001-08-30 Eric Christopher <echristo@redhat.com> + + * mips.h: Remove E_MIPS_MACH_MIPS32_4K. + +2001-08-29 Jeff Law <law@redhat.com> + + * h8.h (EF_H8_MACH): New mask for encoded machine type. + (E_H8_MACH_H8300, E_H8_MACH_H8300H, E_H8_MACH_H8300S): New + machine types. + +2001-08-26 J"orn Rennecke <amylaar@redhat.com> + + * h8.h: New file. + +2001-08-27 Staffan Ulfberg <staffanu@swox.se> + + * ppc.h: Add relocs from the 64-bit PowerPC ELF ABI revision 1.2. + +2001-06-30 Daniel Berlin <dan@cgsoftware.com> + + * dwarf2.h: Remerge with gcc version, + including all new DWARF 2.1 extensions. + +2001-06-29 James Cownie <jcownie@etnus.com> + + * dwarf2.h: Add DWARF 2.1 attribues. + +2001-06-15 Per Bothner <per@bothner.com> + + * dwarf2.h: Partial merge with gcc version. + (enum dwarf_descrim_list): Fix typo -> dwarf_discrim_list. + (DW_LANG_Java): Use value from dwarf 2.1 draft (also used in gcc). + +2001-05-15 Ralf Baechle <ralf@gnu.org> + + * common.h: Remove definition of EM_MIPS_RS4_BE. The constant was + never in active use and is used otherwise by the ABI. + +2001-05-11 Jakub Jelinek <jakub@redhat.com> + + * ia64.h (ELF_STRING_ia64_unwind_once): Define. + (ELF_STRING_ia64_unwind_info_once): Define. + +2001-05-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * external.h: Fix typo. + * mips.h: Add/Extend many comments with reference to the MIPS ELF64 + spec v. 2.4, available at e.g. + ftp://oss.sgi.com/pub/linux/mips/doc/ABI/ELF64.ps. + (EF_MIPS_UCODE): Define. + (EF_MIPS_OPTIONS_FIRST): Define. + (EF_MIPS_ARCH_ASE): Define. + (EF_MIPS_ARCH_ASE_MDMX): Define. + (EF_MIPS_ARCH_ASE_M16): Define. + (SHF_MIPS_ADDR): Renamed SHF_MIPS_ADDR32. + (SHF_MIPS_STRING): Renamed SHF_MIPS_ADDR64. + (SHF_MIPS_NODUPES): Define. + (ELF64_MIPS_R_SSYM): New MIPS ELF 64 relocation info access macro. + (ELF64_MIPS_R_TYPE3): Likewise. + (ELF64_MIPS_R_TYPE2): Likewise. + (ELF64_MIPS_R_TYPE): Likewise. + (OHW_R10KLDL): Define. + +2001-04-24 Todd Fries <todd@fries.net> + + * sparc.h: Fix typo. + +2001-04-20 Johan Rydberg <jrydberg@opencores.org> + + * openrisc.h: New file. + * common.h (EM_OPENRISC): New constant. + +2001-04-23 Bo Thorsen <bo@suse.de> + + * x86-64.h: Add vtable support. + +2001-03-23 Nick Clifton <nickc@redhat.com> + + * mips.h: Remove extraneous whitespace. + +2001-03-22 Hans-Peter Nilsson <hp@axis.com> + + * cris.h: Add leading comment about PC-relative location. + (R_CRIS_COPY, R_CRIS_GLOB_DAT, R_CRIS_JUMP_SLOT, R_CRIS_RELATIVE, + R_CRIS_16_GOT, R_CRIS_32_GOT, R_CRIS_16_GOTPLT, R_CRIS_32_GOTPLT, + R_CRIS_32_GOTREL, R_CRIS_32_PLT_GOTREL, R_CRIS_32_PLT_PCREL): + New relocs. + +2001-02-27 Philip Blundell <pb@futuretv.com> + + * arm.h: Add new definitions from ARM document SWS ESPC 0003 B-01. + (EF_PIC, et al.): Rename to EF_ARM_xx. + +2001-02-09 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * common.h: Add linux target for S/390. + * s390.h: New file. + +2001-01-11 Peter Targett <peter.targett@arccores.com> + + * arc.h (E_ARC_MACH_ARC5, E_ARC_MACH_ARC6, E_ARC_MACH_ARC7, + E_ARC_MACH_ARC8): New definitions for cpu types. + + * common.h (EM_ARC): Change comment. + +2000-12-12 Nick Clifton <nickc@redhat.com> + + * mips.h: Fix formatting. + +2000-12-11 Jeffrey A Law (law@cygnus.com) + + * hppa.h (DT_HP_*): Define relative to OLD_DT_LOOS for hpux + compatibility. + +2000-10-16 Chris Demetriou <cgd@sibyte.com> + + * mips.h (E_MIPS_ARCH_32): New constant. + (E_MIPS_MACH_MIPS32, E_MIPS_MACH_MIPS32_4K): Replace the + former with the latter. + + * mips.h (E_MIPS_ARCH_5, E_MIPS_ARCH_64): New definitions. + + * mips.h (E_MIPS_MACH_SB1): New constant. + +2000-11-30 Jan Hubicka <jh@suse.cz> + + * common.h (EM_X86_64): New macro. + * x86-64.h: New file. + +2000-11-27 Hans-Peter Nilsson <hp@axis.com> + + * common.h (e_machine numbers): Clarify comments to describe how + EM_* constants are assigned. Move EM_PJ from official section to + ad-hoc section. + (EM_CRIS): Correct comment to match official description. + (EM_MMIX): Ditto. + +2000-11-22 Nick Clifton <nickc@redhat.com> + + * common.h (EM_JAVELIN): New machine number. + (EM_FIREPATH): New machine number. + (EM_ZSP): New machine number. + (EM_MMIX): New machine number. + (EM_HUANY): New machine number. + (EM_PRISM): New machine number. + (SHT_GROUP): New section type. + (SHT_SYMTAB_SHNDX): New section type. + (SHF_GROUP): New section flag. + (SHN_XINDEX): New section index. + (GRP_COMDAT): New section group flag. + +2000-11-20 H.J. Lu <hjl@gnu.org> + + * common.h (ELFOSABI_MONTEREY): Renamed to ... + (ELFOSABI_AIX): This. + +2000-11-16 Richard Henderson <rth@redhat.com> + + Update relocations per August psABI docs. + * ia64.h (R_IA64_SEGBASE): Remove. + (R_IA64_LTV*): Renumber to 0x74 to 0x77. + (R_IA64_EPLTMSB, R_IA64_EPLTLSB): Remove. + (R_IA64_TPREL14, R_IA64_TPREL64I): New. + (R_IA64_DTPMOD*): New. + (R_IA64_DTPREL*): New. + +2000-09-29 Hans-Peter Nilsson <hp@axis.com> + + * cris.h (EF_CRIS_UNDERSCORE): New. + +2000-09-27 Alan Modra <alan@linuxcare.com.au> + + * hppa.h (R_PARISC_DIR14F): Add. + +2000-09-14 Alexandre Oliva <aoliva@redhat.com> + + * sh.h (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT, + R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): Change + numbers to the range from 160 to 167. + (R_SH_FIRST_INVALID_RELOC): Adjust. + (R_SH_FIRST_INVALID_RELOC_2, R_SH_LAST_INVALID_RELOC_2): + New relocs to fill in the gap. + +2000-09-13 Anders Norlander <anorland@acc.umu.se> + + * mips.h (E_MIPS_MACH_4K): New define. + +2000-09-05 Alan Modra <alan@linuxcare.com.au> + + * hppa.h: Fix a comment. + (R_PARISC_PCREL12F): Define. + (R_PARISC_GNU_VTENTRY): Define. + (R_PARISC_GNU_VTINHERIT): Define. + +2000-09-01 Alexandre Oliva <aoliva@redhat.com> + + * sh.h (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT, + R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): New relocs. + (R_SH_FIRST_INVALID_RELOC): Adjust. + +2000-08-14 Jim Wilson <wilson@cygnus.com> + + * ia64.h (EF_IA_64_REDUCEDFP, EF_IA_64_CONS_GP, + EF_IA_64_NOFUNCDESC_CONS_GP, EF_IA_64_ABSOLUTE): Define. + +2000-08-07 Nick Clifton <nickc@cygnus.com> + + * ppc.h: Remove spurious CYGNUS LOCAL comments. + * v850.h: Likewise. + +2000-07-22 Jason Eckhardt <jle@cygnus.com> + + * i860.h: New file. + (elf_i860_reloc_type): Defined ELF32 i860 relocations. + +2000-07-20 Hans-Peter Nilsson <hp@axis.com> + + common.h (EM_CRIS): New machine number. + cris.h: New file. + +2000-07-19 H.J. Lu <hjl@gnu.org> + + * common.h (DF_1_NODEFLIB): Renamed from DF_1_NODEPLIB. + +2000-07-19 H.J. Lu <hjl@gnu.org> + + * common.h (DT_CHECKSUM): Set to 0x6ffffdf8. + (DTF_1_CONFEXP): It is 0x00000002 as suspected. + +2000-07-19 H.J. Lu <hjl@gnu.org> + + * common.h (DT_FEATURE): Renamed from DT_FEATURE_1. + (DT_CONFIG): New. From Solaris 8. + (DT_DEPAUDIT): Likewise. + (DT_AUDIT): Likewise. + (DT_PLTPAD): Likewise. + (DT_MOVETAB): Likewise. + (DF_1_NODEPLIB): Likewise. + (DF_1_NODUMP): Likewise. + (DF_1_CONLFAT): Likewise. + (DT_CHECKSUM): Likewise. FIXME. Check the value on Solaris 8. + (DTF_1_CONFEXP): Likewise. + +2000-07-18 H.J. Lu <hjl@gnu.org> + + * common.h (DT_FLAGS_1): Renamed from DT_1_FLAGS. + +2000-07-12 Alan Modra <alan@linuxcare.com.au> + + * internal.h (struct elf_internal_sym): Update comment for st_other. + +2000-07-10 Alan Modra <alan@linuxcare.com.au> + + * hppa.h: Add comments to all the relocs. + +2000-06-26 Marek Michalkiewicz <marekm@linux.org.pl> + + * avr.h (E_AVR_MACH_AVR5): Define. + +2000-06-18 Stephane Carrez <stcarrez@worldnet.fr> + + * m68hc11.h: New file, definitions for the Motorola 68hc11. + +2000-06-06 Alan Modra <alan@linuxcare.com.au> + + * reloc-macros.h (START_RELOC_NUMBERS): Don't define initial dummy + -1 valued enum. + (RELOC_NUMBER, FAKE_RELOC, EMPTY_RELOC): Append rather than + prepend comma. + (END_RELOC_NUMBERS): Give macro an arg to define as last enum. + + * alpha.h (R_ALPHA_max): Define via END_RELOC_NUMBERS rather than + with EMPTY_RELOC. + * arc.h (R_ARC_max): Likewise. + * avr.h (R_AVR_max): Likewise. + * fr30.h (R_FR30_max): Likewise. + * hppa.h (R_PARISC_UNIMPLEMENTED): Likewise. + * i960.h (R_960_max): Likewise. + * m32r.h (R_M32R_max): Likewise. + * m68k.h (R_68K_max): Likewise. + * mcore.h (R_MCORE_max): Likewise. + * mn10300.h (R_MN10300_MAX): Likewise. + * pj.h (R_PJ_max): Likewise. + * ppc.h (R_PPC_max): Likewise. + * sh.h (R_SH_max): Likewise. + * sparc.h (R_SPARC_max): Likewise. + * v850.h (R_V850_max): Likewise. + + * arm.h (R_ARM_max): Define via END_RELOC_NUMBERS. + * d10v.h (R_D10V_max): Likewise. + * d30v.h (R_D30V_max): Likewise. + * ia64.h (R_IA64_max): Likewise. + * mips.h (R_MIPS_maxext): Likewise. + * mn10200.h (R_MN10200_max): Likewise. + + * i386.h (R_386_max): Remove old RELOC_NUMBER definition, and + define via END_RELOC_NUMBERS. + +2000-06-03 Alan Modra <alan@linuxcare.com.au> + + * reloc-macros.h (START_RELOC_NUMBERS): Fix name clash for + !__STDC__ case. + (RELOC_NUMBER): Use ansi stringify if ALMOST_STDC defined. + +2000-05-22 Richard Henderson <rth@cygnus.com> + + * ia64.h (R_IA64_PCREL60B, R_IA64_PCREL21BI): New. + (R_IA64_PCREL22, R_IA64_PCREL64I): New. + +2000-05-02 H.J. Lu <hjl@gnu.org> + + * common.h (ELFOSABI_NONE): Renamed from ELFOSABI_SYSV. + (ELFOSABI_MODESTO): Defined. + (ELFOSABI_OPENBSD): Likewise. + +2000-04-21 Richard Henderson <rth@cygnus.com> + David Mosberger <davidm@hpl.hp.com> + + * ia64.h: New file. + +2000-04-14 H.J. Lu <hjl@gnu.org> + + * common.h (ELFOSABI_TRUE64): Renamed to ELFOSABI_TRU64. + +2000-04-14 H.J. Lu <hjl@gnu.org> + + * common.h (ELFOSABI_NETBSD): Defined. + (ELFOSABI_HURD): Likewise. + (ELFOSABI_SOLARIS): Likewise. + (ELFOSABI_MONTEREY): Likewise. + (ELFOSABI_IRIX): Likewise. + (ELFOSABI_FREEBSD): Likewise. + (ELFOSABI_TRUE64): Likewise. + +2000-04-07 Nick Clifton <nickc@cygnus.com> + + * arm-oabi.h: Delete. + * arm.h: Merge in definitions of old reloc numbers from + arm-oabi.h. + +2000-04-06 Nick Clifton <nickc@cygnus.com> + + * arm.h (EF_ARM_SYMSARESORTED): Define. + (EF_ARM_EABIMASK): Define. + (EF_ARM_EABI_VERSION): Define. + (EF_ARM_EABI_UNKNOWN): Define. + (EF_ARM_EABI_VER1): Define. + (PF_ARM_PI): Define. + (PF_ARM_ABS): Define. + +2000-04-05 J"orn Rennecke <amylaar@cygnus.co.uk> + + * sh.h (R_SH_LOOP_START, R_SH_LOOP_END): New RELOC_NUMBERs. + +2000-03-27 Denis Chertykov <denisc@overta.ru> + + * avr.h: New file. AVR ELF support for BFD. + * common.h: Add AVR magic number. + +2000-03-10 Geoffrey Keating <geoffk@cygnus.com> + + * mips.h: Add R_MIPS_GNU_REL_HI16, R_MIPS_GNU_REL_LO16, + R_MIPS_GNU_REL16_S2, R_MIPS_PC64 and R_MIPS_PC32 relocation + numbers. + +2000-02-23 Linas Vepstas <linas@linas.org> + + * i370.h: New file. + +2000-02-22 Nick Clifton <nickc@cygnus.com> + + * common.h (ELF_ST_OTHER): Remove definition. + (ELF32_ST_OTHER): Remove definition. + (ELF64_ST_OTHER): Remove definition. + +2000-02-22 H.J. Lu <hjl@gnu.org> + + * common.h (ELFOSABI_LINUX): Define. + +2000-02-17 J"orn Rennecke <amylaar@cygnus.co.uk> + + * sh.h: (EF_SH_MACH_MASK, EF_SH_UNKNOWN, EF_SH1, EF_SH2): New macros. + (EF_SH3, EF_SH_HAS_DSP, EF_SH_DSP, EF_SH3_DSP): Likewise. + (EF_SH_HAS_FP, EF_SH3E, EF_SH4, EF_SH_MERGE_MACH): Likewise. + +2000-02-03 H.J. Lu <hjl@gnu.org> + + * arm-oabi.h: Duplicate changes made to arm.h on Jan. 27, + 2000 by Thomas de Lellis <tdel@windriver.com>. + +2000-01-27 Thomas de Lellis <tdel@windriver.com> + + * arm.h (STT_ARM_TFUNC): Define in terms of STT_LOPROC. + (STT_ARM_16BIT): New flag. Denotes a label that was defined in + Thumb block but was does not identify a function. + +2000-01-20 Nick Clifton <nickc@cygnus.com> + + * common.h (EM_MCORE): Fix spelling of Motorola. + * mcore.h (EM_MCORE): Fix spelling of Motorola. + +2000-01-13 Nick Clifton <nickc@cygnus.com> + + * common.h (EM_S370): Change comment - this is now the IBM + System/370. + (EM_IA_64): Change comment - this is now the IA-64. + +2000-01-11 Nick Clifton <nickc@cygnus.com> + + * common.h (DT_ENCODING): Fix definition of this value. + (DT_LOOS): Fix definition of this value. + (DT_HIOS): Fix definition of this value. + (OLD_DT_LOOS): Value of DT_LOOS before Oct 4, 1999 draft + of ELF spec changed it. + (OLD_DT_HIOS): Value of DT_HIOS before Oct 4, 1999 draft + of ELF spec changed it. + +2000-01-10 Egor Duda <deo@logos-m.ru> + + * common.h (NT_WIN32PSTATUS): Define. (cygwin elf core dumps). + +1999-12-28 Nick Clifton <nickc@cygnus.com> + + * mips.h (STO_*): Redefine in terms of STV_* values now in + common.h. + +1999-12-27 Nick Clifton <nickc@cygnus.com> + + * common.h: Upgrade to match Oct4, 1999 Draft ELF ABI Spec. + (EM_MIPS_RS3_LE): New machine number. + (EM_RCE): New machine number. + (EM_MMA): New machine number. + (EM_PCP): New machine number. + (EM_NCPU): New machine number. + (EM_NDR1): New machine number. + (EM_STARCORE): New machine number. + (EM_ME16): New machine number. + (EM_ST100): New machine number. + (EM_TINYJ): New machine number. + (EM_FX66): New machine number. + (EM_ST9PLUS): New machine number. + (EM_ST7): New machine number. + (EM_68HC16): New machine number. + (EM_68HC11): New machine number. + (EM_68HC08): New machine number. + (EM_68HC05): New machine number. + (EM_SVX): New machine number. + (EM_VAX): New machine number. + (PF_MASKOS): Change value. + (SHT_INIT_ARRAY): New value for sh_type field. + (SHT_FINI_ARRAY): New value for sh_type field. + (SHT_PREINIT_ARRAY): New value for sh_type field. + (SHT_HIUSER): Change value. + (SHF_MERGE): New valye for sh_flags field. + (SHF_STRINGS): New valye for sh_flags field. + (SHF_INFO_LINK): New valye for sh_flags field. + (SHF_OS_NONCONFORMING): New valye for sh_flags field. + (SHF_MASKOS): Change value. + (ELF_ST_VISIBILITY): New macro. + (ELF_ST_OTHER): New macro. + (STT_COMMON): New symbol type. + (STV_DEFAULT): Value for symbol visibility. + (STV_INTERNAL): Value for symbol visibility. + (STV_HIDDEN): Value for symbol visibility. + (STV_PROTECTED): Value for symbol visibility. + (DT_RUNPATH): New dynamic section tag. + (DT_FLAGS): New dynamic section tag. + (DT_ENCODING): New dynamic section tag. + (DT_PREINIT_ARRAY): New dynamic section tag. + (DT_PREINIT_ARRAYSZ): New dynamic section tag. + (DT_LOPROC): New dynamic section tag index. + (DT_HIPROC): New dynamic section tag index. + (DF_ORIGIN): Value for dynamic section flag. + (DF_SYMBOLIC): Value for dynamic section flag. + (DF_TEXTREL): Value for dynamic section flag. + (DF_BIND_NOW): Value for dynamic section flag. + +1999-12-09 Fred Fish <fnf@cygnus.com> + + * i960.h (reloc-macros.h): Include using relative dir elf/. + * i386.h (reloc-macros.h): Include using relative dir elf/. + * hppa.h (reloc-macros.h): Include using relative dir elf/. + +1999-12-07 Jim Blandy <jimb@cygnus.com> + + * common.h (NT_PRXFPREG): New definition. + +Wed Dec 1 03:02:15 1999 Jeffrey A Law (law@cygnus.com) + + * mn10300.h (E_MN10300_MACH_AM33): Define. + +Mon Oct 11 22:42:37 1999 Jeffrey A Law (law@cygnus.com) + + * hppa.h (PF_HP_PAGE_SIZE): Define. + (PF_HP_FAR_SHARED, PF_HP_NEAR_SHARED, PF_HP_CODE): Likewise. + (PF_HP_MODIFY, PF_HP_LAZYSWAP, PF_HP_SBP): Likewise. + +Mon Oct 4 17:42:38 1999 Doug Evans <devans@canuck.cygnus.com> + + * m32r.h (E_M32RX_ARCH): Define. + +1999-09-15 Ulrich Drepper <drepper@cygnus.com> + + * hppa.h: Add DT_HP_GST_SIZE, DT_HP_GST_VERSION, and DT_HP_GST_HASHVAL. + +1999-09-04 Steve Chamberlain <sac@pobox.com> + + * pj.h: New file. + * common.h (EM_PJ): Define. + +1999-09-02 Ulrich Drepper <drepper@cygnus.com> + + * hppa.h: Add HPUX specific symbol type definitions. + + * hppa.h: Add HPUX specific dynamic and program header table + specific definitions. + +1999-08-31 Scott Bambrough <scottb@netwinder.org> + + * common.h (NT_TASKSTRUCT): Define. + +1999-07-16 Jakub Jelinek <jj@ultra.linux.cz> + + * sparc.h (EF_SPARC_SUN_US3): Define in Cheetah extensions + flag (as per SCD2.4.1). + +1999-07-16 Jakub Jelinek <jj@ultra.linux.cz> + + * sparc.h (ELF64_R_TYPE_DATA): Only use ELF64_R_TYPE bits, not + ELF64_R_SYM bits. + +1999-06-21 Philip Blundell <pb@nexus.co.uk> + + * arm.h (EF_SOFT_FLOAT, F_SOFT_FLOAT): Define. + +1999-07-13 Andreas Schwab <schwab@suse.de> + + * m68k.h (EF_CPU32): Move definition inside multiple inclusion + guard. + +1999-07-08 Richard Henderson <rth@cygnus.com> + + * sparc.h (ELF64_R_TYPE_DATA): Sign extend the value. + (ELF64_R_TYPE_INFO): Mask out all but low 24 bits of data. + (DT_SPARC_PLTFMT): Delete. + Based on a patch from Jakub Jelinek. + +Mon Jun 21 16:36:02 1999 Jeffrey A Law (law@cygnus.com) + + * hppa.h (elf_hppa_reloc_type): Renamed from elf32_hppa_reloc_type. + +1999-06-10 Jakub Jelinek <jj@ultra.linux.cz> + + * sparc.h (R_SPARC_max_std): Define. + +Wed Jun 9 15:16:34 1999 Jeffrey A Law (law@cygnus.com) + + * hppa.h: Update with various changes from newest PA ELF + specifications. + +1999-06-03 Ian Lance Taylor <ian@zembu.com> + + * common.h (EM_PPC64): Define. + +1999-06-02 Stu Grossman <grossman@babylon-5.cygnus.com> + + * dwarf.h: Add LANG_JAVA. + * dwarf2.h: Add DW_LANG_Java. + +1999-05-29 Nick Clifton <nickc@cygnus.com> + + * common.h (ELFOSABI_ARM): Define. + +1999-05-28 Nick Clifton <nickc@cygnus.com> + + * reloc-macros.h: Update comment. + +1999-05-28 Ian Lance Taylor <ian@zembu.com> + + * i960.h: New file. + +1999-05-16 Nick Clifton <nickc@cygnus.com> + + * mcore.h (R_MCORE_COPY): Define. + (R_MCORE_GLOB_DAT): Define. + (R_MCORE_JUMP_SLOT): Define. + +1999-05-15 Nick Clifton <nickc@cygnus.com> + + * mcore.h (R_MCORE_RELATIVE): Define. + +1999-05-05 Catherine Moore <clm@cygnus.com> + + * m68k.h (EF_CPU32): Define. + +1999-04-21 Nick Clifton <nickc@cygnus.com> + + * reloc-macros.h (START_RELOC_NUMBERS): Prepend an underscore to + fake reloc entry name (if possible), in order to avoid conflicts + with typedefs of the same name. + +1999-04-16 Gavin Romig-Koch <gavin@cygnus.com> + + * mips.h (EF_MIPS_32BITMODE): New. + +1999-04-08 Nick Clifton <nickc@cygnus.com> + + * mcore.h: New header file. Defines for Motorola's MCore + processor. + +1999-04-08 Nick Clifton <nickc@cygnus.com> + + * common.h: Add new constants defined in: "System V Application + Binary Interface - DRAFT - April 29, 1998" found at the web site: + http://www.sco.com/developer/gabi/contents.html + + (EM_MMA): Removed. Replaced with EM_MCORE as Motorolla own this + value. + +1999-03-31 Nick Clifton <nickc@cygnus.com> + + * reloc-macros.h: Fixed to not generate an enum with a trailing + comma. + +1999-03-16 Gavin Romig-Koch <gavin@cygnus.com> + + * mips.h (E_MIPS_MACH_5000): New. + +1999-03-10 Ulrich Drepper <drepper@cygnus.com> + + * common.h: Add definitions for a few more Solaris ELF extensions. + +Thu Feb 18 18:58:26 1999 Ian Lance Taylor <ian@cygnus.com> + + * external.h: Only use attribute if __GNUC__ is defined. + +1999-02-17 Nick Clifton <nickc@cygnus.com> + + Patch submitted by: Scott Bambrough <scottb@corelcomputer.com> + + * external.h: struct Elf_External_Versym must be packed on + ARM. Code uses sizeof(Elf_External_Versym) and assumes it is + equal to sizeof(char[2]). Reported by Jim Pick <jim@jimpick.com> + +1999-02-02 Nick Clifton <nickc@cygnus.com> + + * dwarf2.h (DWARF2_External_ARange): New structure. + (DWARF2_Internal_ARange): New structure. + +Mon Feb 1 11:33:56 1999 Catherine Moore <clm@cygnus.com> + + * arm.h: Renumber relocs to conform to standard. + (EF_NEW_ABI): Define. + (EF_OLD_ABI): Define. + * arm-oabi.h: New file. + +1999-01-28 Nick Clifton <nickc@cygnus.com> + + * fr30.h: Add R_FR30_GNU_VT{INHERIT,ENTRY} relocs. + +1999-01-27 Nick Clifton <nickc@cygnus.com> + + * dwarf2.h: Add typedefs for structures found in dwarf2 sections. + +1998-12-16 Gavin Romig-Koch <gavin@cygnus.com> + + * mips.h (E_MIPS_MACH_4111): New. + +1998-12-15 Gavin Romig-Koch <gavin@cygnus.com> + + * mips.h (EF_MIPS_ABI,E_MIPS_ABI_O32,E_MIPS_ABI_O64, + E_MIPS_ABI_EABI32,E_MIPS_ABI_EABI64): + +1998-12-03 Nick Clifton <nickc@cygnus.com> + + * fr30.h: Add R_FR30_48 reloc. + +1998-12-02 Ulrich Drepper <drepper@cygnus.com> + + * mips.h: Add external data type for conflict section. + + * mips.h: Add more LL_* options from Irix 6.5. + + * mips.h: Add R_MIPS_JALR and adjust R_MIPS_max appropriately. + +Mon Nov 30 15:25:58 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * sh.h (elf_sh_reloc_type): Add R_SH_FIRST_INVALID_RELOC, + R_SH_LAST_INVALID_RELOC, R_SH_SWITCH8 and R_SH_max. + +Tue Nov 10 15:12:28 1998 Nick Clifton <nickc@cygnus.com> + + * common.h (EM_CYGNUS_FR30): Reduce to a 16 bit value. + +Tue Nov 10 15:17:28 1998 Catherine Moore <clm@cygnus.com> + + * d10v.h: Add vtable relocs. + +Wed Nov 4 15:56:50 1998 Nick Clifton <nickc@cygnus.com> + + * common.h (EM_CYGNUS_FR30): New machine number. + + * fr30.h: New file: Definitions for the FR30. + +Fri Oct 30 11:54:15 1998 Catherine Moore <clm@cygnus.com> + + From Philip Blundell <pb@nexus.co.uk>: + * arm.h (R_ARM_COPY, et al.): New relocs, used by Linux for PIC. + (EF_ALIGN8): New flag. + +Tue Oct 20 11:19:50 1998 Ian Lance Taylor <ian@cygnus.com> + + * common.h (NT_LWPSTATUS): Close comment accidentally left open. + +Mon Oct 19 20:24:11 1998 Catherine Moore <clm@cygnus.com> + + * sh.h: Add vtable relocs. + +Mon Oct 19 01:44:42 1998 Felix Lee <flee@cygnus.com> + + * common.h (NT_PSTATUS, NT_FPREGS, NT_PSINFO, + NT_LWPSTATUS,NT_LWPSINFO): added. + * internal.h (Elf_Internal_Note): new structure members. + +Fri Oct 16 14:11:25 1998 Catherine Moore <clm@cygnus.com> + + * m32r.h: Add vtable relocs. + +Tue Oct 6 09:22:22 1998 Catherine Moore <clm@cygnus.com> + + * sparc.h: Add vtable relocs. + +Mon Oct 5 09:39:22 1998 Catherine Moore <clm@cygnus.com> + + * v850.h: Add vtable relocs. + +Sun Oct 4 21:17:51 1998 Ian Lance Taylor <ian@cygnus.com> + + * i386.h (R_386_max): Change from 252 to 24. + +Mon Sep 21 12:24:44 1998 Catherine Moore <clm@cygnus.com> + + * i386.h: Change vtable reloc numbers. + +Sun Sep 20 00:54:22 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * m68k.h: Add vtable relocs and R_68K_max. + +Tue Sep 15 09:56:49 CDT 1998 Catherine Moore <clm@cygnus.com> + + * arm.h: Add vtable relocs. + +Mon Aug 31 11:25:27 1998 Catherine Moore <clm@cygnus.com> + + * arm.h: Define STT_ARM_TFUNC. Remove ST_THUMB_xxxx + definitions. + +Sat Aug 29 22:25:51 1998 Richard Henderson <rth@cygnus.com> + + * i386.h: Add vtable relocs. + +1998-08-25 16:42 Ulrich Drepper <drepper@cygnus.com> + + * common.h: Add SYMINFO_* macros to access Elf*_Syminfo information. + + * external.h: Add Elf_External_Syminfo definition. + + * internal.h: Add Elf_Internal_Syminfo, Elf32_Internal_Syminfo, + and Elf64_Syminfo definitions. + +Sun Aug 9 20:26:49 CDT 1998 Catherine Moore <clm@cygnus.com> + + * arm.h: Add ST_THUMB definitions. + +Wed Aug 5 15:52:35 1998 Nick Clifton <nickc@cygnus.com> + + * arm.h: Add ELF header flags to specify compile time optins: + EF_INTERWORK: New flag. + EF_APCS_26: New flag. + EF_APCS_FLOAT: New flag. + EF_PIC: New flag. + +1998-07-31 21:28 Ulrich Drepper <drepper@cygnus.com> + + * mips.h: Add missing RHF_* constants. + +Fri Jul 31 10:01:40 1998 Catherine Moore <clm@cygnus.com> + + * arm.h: Add R_ARM_THM_PC9 relocation. + +1998-07-30 16:25 Ulrich Drepper <drepper@cygnus.com> + + * common.h: Add new DT_* entries and there flag macros from Solaris. + +Tue Jul 28 18:14:07 1998 Stan Cox <scox@equinox.cygnus.com> + + * sparc.h: (R_SPARC_REV32): Added for little endian data e.g. sparc 86x. + +Fri Jul 24 11:22:06 1998 Jeffrey A Law (law@cygnus.com) + + * mn10300.h: Add R_MN10300_24 relocation. + +1998-07-24 Ulrich Drepper <drepper@cygnus.com> + + * mips.h: Add MIPS64 relocation names and values. + +Wed Jul 22 19:29:00 Catherine Moore <clm@cygnus.com> + + * arm.h: Rename relocations. + +1998-07-22 Ulrich Drepper <drepper@cygnus.com> + + * ppc.h: Define enum as elf_ppc_reloc_type. + +Wed Jul 22 16:22:11 1998 Nick Clifton <nickc@cygnus.com> + + * reloc-macros.h: New file. Provides relocation macros: + START_RELOC_NUMBERS, RELOC_NUMBER, FAKE_RELOC, EMPTY_RELOC and + END_RELOC_NUMBERS used by other elf header files. + + * alpha.h: Use reloc-macros.h. + * arc.h: Use reloc-macros.h. + * arm.h: Use reloc-macros.h. + * d10v.h: Use reloc-macros.h. + * d30v.h: Use reloc-macros.h. + * hppa.h: Use reloc-macros.h. + * i386.h: Use reloc-macros.h. + * m32r.h: Use reloc-macros.h. + * m68k.h: Use reloc-macros.h. + * mips.h: Use reloc-macros.h. + * mn10200.h: Use reloc-macros.h. + * mn10300.h: Use reloc-macros.h. + * ppc.h: Use reloc-macros.h. + * sh.h: Use reloc-macros.h. + * sparc.h: Use reloc-macros.h. + * v850.h: Use reloc-macros.h. + +1998-07-22 13:07 Ulrich Drepper <drepper@cygnus.com> + + * mn10300.h: Rewrite relocation definition using macros. + * mips.h: Likewise. + * ppc.h: Likewise. + * alpha.h: Likewise. + * arm.h: Likewise. + * d10v.h: Likewise. + * d30v.h: Likewise. + * m32r.h: Likewise. + * m68k.h: Likewise. + * mn10200.h: Likewise. + * sh.h: Likewise. + * sparc.h: Likewise. + +1998-07-21 13:07 Ulrich Drepper <drepper@cygnus.com> + + * arm.h: New file. + * d10v.h: New file. + * d30v.h: New file. + * i386.h: New file. + * m68k.h: New file. + * mn10200.h: New file. + * sh.h: New file. + + * mips.h: Add R_MIPS_* and SHT_MIPS_* entries. + + * mn10300.h: Add R_MN10300_* entries. + + * ppc.h: Add R_PPC_* entries. + +1998-07-20 07:11 Ulrich Drepper <drepper@cygnus.com> + + * mips.h: Add ODK_*, OEX_*, OPAD_*, OHW_*, and OGP_* constants. + Define Elf32_External_Lib. + +1998-07-19 15:24 Ulrich Drepper <drepper@cygnus.com> + + * mips.h (PT_MIPS_OPTIONS): New symbol. + Add lots of DT_MIPS_* symbols. + +Fri Jun 26 10:46:35 1998 Jeffrey A Law (law@cygnus.com) + + * mn10300.h: New file. + +Thu Jun 18 19:27:56 1998 Nick Clifton <nickc@cygnus.com> + + * common.h (EM_960, EM_V800, EM_FR20, EM_RH32, EM_MMA, + EM_OLD_ALPHA): Add these constants. + +Thu Jun 11 17:59:01 1998 Nick Clifton <nickc@cygnus.com> + + * common.h (EM_486, EM_S370): Add these constants. + +Tue Jun 9 09:35:29 1998 Nick Clifton <nickc@cygnus.com> + + * common.h (EM_ARM): Add this constant. + +Wed May 6 09:45:30 1998 Gavin Koch <gavin@cygnus.com> + + * mips.h (EF_MIPS_MACH,E_MIPS_MACH_*): Added. + +Sat Apr 25 18:35:06 1998 Richard Henderson <rth@cygnus.com> + + * alpha.h (STO_ALPHA_NOPV, STO_ALPHA_STD_GPLOAD): New. + +Wed Apr 15 15:42:45 1998 Richard Henderson <rth@cygnus.com> + + * common.h (EM_SPARC64): Move and rename to EM_OLD_SPARCV9. + (EM_SPARCV9): New. This is the official ABI name and number. + +Sat Feb 28 17:04:41 1998 Richard Henderson <rth@cygnus.com> + + * alpha.h (EF_ALPHA_32BIT, EF_ALPHA_CANRELAX): New. + +Mon Dec 15 15:07:49 1997 Nick Clifton <nickc@cygnus.com> + + * m32r.h (EF_M32R_ARCH, E_M32R_ARCH): New flags to + specify machine architecture. + +Fri Dec 5 11:20:08 1997 Nick Clifton <nickc@cygnus.com> + + * v850.h: New constants: SHN_V850_SCOMMON, SHN_V850_TCOMMON, + SHN_V850_ZCOMMON, SHT_V850_SCOMMON, SHT_V850_TCOMMON, + SHT_V850_ZCOMMON to handle v850 common sections. + enum reloc_type renamed to v850_reloc_type to avoid name + conflict. + +Thu Oct 23 13:55:24 1997 Richard Henderson <rth@cygnus.com> + + * sparc.h (enum elf_sparc_reloc_type): Add UA64 & UA16. + +Thu Oct 23 00:42:04 1997 Richard Henderson <rth@dot.cygnus.com> + + * sparc.h (DT_SPARC_REGISTER): New macro. + (DT_SPARC_PLTFMT): In support of old sparc64-linux .plts; will + go away soon. + +Tue Sep 30 13:26:58 1997 Doug Evans <dje@canuck.cygnus.com> + + * sparc.h (EF_SPARC_HAL_R1, EF_SPARC_EXT_MASK): New macros. + (EF_SPARCV9_{MM,TSO,PSO,RMO}): New macros. + (SHN_BEFORE,SHN_AFTER): New macros. + (SHF_EXCLUDE,SHF_ORDERED): New macros. + (STT_REGISTER): New macro. + (R_SPARC_GLOB_JMP): Deleted, but slot reserved. + (R_SPARC_{DISP64,PLT64,HIX22,LOX10}): New relocations. + (R_SPARC_{H44,M44,L44,REGISTER}): New relocations. + (ELF64_R_TYPE_{DATA,ID,INFO}): New macros. + +Wed Sep 17 16:41:42 1997 Nick Clifton <nickc@cygnus.com> + + * v850.h: Add R_V850_CALLT_6_7_OFFSET and R_V850_CALLT_16_16_OFFSET. + +Tue Sep 16 14:16:17 1997 Nick Clifton <nickc@cygnus.com> + + * v850.h (reloc_type): Add R_V850_TDA_16_16_OFFSET. + +Wed Sep 3 15:11:14 1997 Richard Henderson <rth@cygnus.com> + + * mips.h: Correct typo in comment. + +Wed Sep 3 11:25:57 1997 Nick Clifton <nickc@cygnus.com> + + * v850.h (reloc_type): Remove R_V850_16_PCREL. + +Tue Sep 2 17:41:05 1997 Nick Clifton <nickc@cygnus.com> + + * common.h: Remove magic number for V850E. + * common.h: Remove magic number for V850EA. + * v850.h: Add new flags for e_flags field in elf header. + +Mon Aug 25 16:06:47 1997 Nick Clifton <nickc@cygnus.com> + + * common.h (EM_CYGNUS_V850E): backend magic number for v850e. + * common.h (EM_CYGNUS_V850EA): backend magic number for v850ea. + +Mon Aug 18 11:05:23 1997 Nick Clifton <nickc@cygnus.com> + + * v850.h (reloc_type): Add 16 bit PC relative relocation. + +Fri Aug 15 05:10:09 1997 Doug Evans <dje@canuck.cygnus.com> + + * arc.h (enum reloc): Move here from elf32-arc.c. + +Fri Aug 8 17:05:29 1997 Doug Evans <dje@canuck.cygnus.com> + + * arc.h: New file. + * common.h (EM_CYGNUS_ARC): Define. + +Mon Jun 16 14:46:12 1997 Ian Lance Taylor <ian@cygnus.com> + + * internal.h (Elf_Internal_Ehdr): Change e_phoff and e_shoff from + bfd_signed_vma to bfd_size_type, as they are not signed. + +Wed Mar 5 15:35:26 1997 Doug Evans <dje@seba.cygnus.com> + + * m32r.h (SHF_M32R_CAN_RELAX): Define. + +Mon Feb 24 17:49:01 1997 Ian Lance Taylor <ian@cygnus.com> + + * external.h: Dump the 32/64 bit specific forms of the version + structures, and just define them as size independent. + + * common.h (VERSYM_HIDDEN, VERSYM_VERSION): Define. + +Fri Feb 21 13:00:34 1997 Doug Evans <dje@canuck.cygnus.com> + + * m32r.h (enum reloc_type): Add R_M32R_SDA16. + (SHN_M32R_SCOMMON): Define. + +Wed Feb 19 15:35:31 1997 Ian Lance Taylor <ian@cygnus.com> + + From Eric Youngdale <eric@andante.jic.com>: + * external.h, internal.h, common.h: Added new structures and + definitions for ELF versions. + +Tue Feb 18 17:40:36 1997 Martin M. Hunt <hunt@pizza.cygnus.com> + + * common.h (EM_CYGNUS_D30V): Define. + +Mon Jan 27 11:54:44 1997 Doug Evans <dje@seba.cygnus.com> + + * m32r.h (enum reloc_type): Add R_M32R_HI16_[SU]LO,R_M32R_LO16. + +Fri Jan 3 11:32:51 1997 Michael Meissner <meissner@tiktok.cygnus.com> + + * v850.h (V850_OTHER_{TDA_BYTE,ERROR}): New bits for the st_other + field. + (SHN_V850_*): Remove v850 specific section indexes, which are not + needed. + (enum reloc_type): Move the v850 relocations here from + elf32-v850.c + +Thu Jan 2 19:30:23 1997 Michael Meissner <meissner@tiktok.cygnus.com> + + * v850.h: New file, provide V850 specific definitions. + +Tue Dec 31 14:44:32 1996 Ian Lance Taylor <ian@cygnus.com> + + * common.h (DT_AUXILIARY): Define. + (DT_FILTER): Define. + +Wed Dec 4 05:03:37 1996 Jason Merrill <jason@yorick.cygnus.com> + + * dwarf2.h: Update. + +Tue Nov 26 10:44:47 1996 Ian Lance Taylor <ian@cygnus.com> + + * mips.h (STO_MIPS16): Define. + +Tue Nov 12 15:45:42 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * d10v.h: Remove empty file. + +Tue Oct 8 11:31:24 1996 Ian Lance Taylor <ian@cygnus.com> + + * mips.h (EF_MIPS_ABI2): Define. + +Thu Oct 3 10:01:40 1996 Jeffrey A Law (law@cygnus.com) + + * common.h: Break mn10x00 support into mn10200 and mn10300. + +Wed Oct 2 21:26:43 1996 Jeffrey A Law (law@cygnus.com) + + * common.h (EM_CYGNUS_MN10x00): Define. + +Mon Sep 23 09:18:04 1996 Doug Evans <dje@seba.cygnus.com> + + * m32r.h: New file. + +Fri Aug 30 17:06:21 1996 Ian Lance Taylor <ian@cygnus.com> + + * common.h (EM_SH): Define. + +Tue Aug 20 14:47:54 1996 J.T. Conklin <jtc@hippo.cygnus.com> + + * common.h (EM_CYGNUS_V850): Define. + +Mon Aug 19 10:59:10 1996 Doug Evans <dje@canuck.cygnus.com> + + * common.h (EM_CYGNUS_M32R): Define. + +Mon Jul 22 18:59:55 1996 Ian Lance Taylor <ian@cygnus.com> + + * mips.h (SHT_MIPS_IFACE, SHT_MIPS_CONTENT): Define. + (SHT_MIPS_SYMBOL_LIB): Define. + (SHF_MIPS_MERGE, SHF_MIPS_ADDR32, SHF_MIPS_ADDR64): Define. + (SHF_MIPS_NOSTRIP, SHF_MIPS_LOCAL, SHF_MIPS_NAMES): Define. + +Thu Jul 18 19:12:15 1996 Stan Shebs <shebs@andros.cygnus.com> + + * dwarf2.h: New file. + +Jul 18 13:20:39 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * common.h (EM_CYGNUS_D10V): Define. + * d10v.h: New file. + +Fri Jun 21 12:33:24 1996 Richard Henderson <rth@tamu.edu> + + * alpha.h: New file. + * common.h (EM_ALPHA): Define. + +Fri May 31 17:28:05 1996 Ian Lance Taylor <ian@cygnus.com> + + * mips.h (Elf_External_Options, Elf_Internal_Options): Define. + (bfd_mips_elf_swap_options_in): Declare. + (bfd_mips_elf_swap_options_out): Declare. + (ODK_*): Define. + (Elf64_External_RegInfo, Elf64_Internal_RegInfo): Define. + (bfd_mips_elf64_swap_reginfo_in): Declare. + (bfd_mips_elf64_swap_reginfo_out): Declare. + +Thu May 30 12:35:57 1996 Ian Lance Taylor <ian@cygnus.com> + + * mips.h (E_MIPS_ARCH_4): Define. + +Wed May 29 15:35:33 1996 Ian Lance Taylor <ian@cygnus.com> + + * mips.h (Elf64_Mips_External_Rel): Define. + (Elf64_Mips_Internal_Rel): Define. + (Elf64_Mips_External_Rela, Elf64_Mips_Internal_Rela): Define. + (RSS_*): Define. + +Mon Apr 22 18:26:30 1996 Doug Evans <dje@canuck.cygnus.com> + + * sparc.h (R_SPARC_[56]): Always define. + +Mon Feb 19 01:55:56 1996 Doug Evans <dje@charmed.cygnus.com> + + * sparc.h (R_SPARC_{PLT32,HIPLT22,LOPLT10,PCPLT32,PCPLT22, + PCPLT10,5,6}): Don't define ifdef SPARC64_OLD_RELOCS. + +Tue Feb 6 11:33:58 1996 Doug Evans <dje@charmed.cygnus.com> + + * sparc.h (enum sparc_elf_reloc_type): Define. + +Wed Jan 17 09:09:16 1996 Doug Evans <dje@canuck.cygnus.com> + + * common.h: Define EM_SPARC32PLUS. + * sparc.h: New file. + +Thu Jan 11 16:27:34 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * ppc.h (SHF_EXCLUDE, SHT_ORDERED): New fields from the abi. + +Thu Nov 30 16:47:18 1995 Ian Lance Taylor <ian@cygnus.com> + + * internal.h (struct elf_segment_map): Add includes_filehdr and + includes_phdrs fields. + +Tue Nov 28 16:58:10 1995 Ian Lance Taylor <ian@cygnus.com> + + * internal.h (struct elf_segment_map): Define. + +Tue Oct 31 15:19:36 1995 Fred Fish <fnf@cygnus.com> + + * common.h, dwarf.h, external.h, hppa.h, internal.h, + mips.h, ppc.h: Protect against multiple inclusions. + +Thu Sep 21 13:51:58 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * ppc.h (EF_PPC_RELOCATABLE_LIB): Add new flag bit. + +Fri Sep 1 15:32:17 1995 Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp> + + * mips.h: Add some definitions used on Irix 5. + +Tue Jun 20 10:18:28 1995 Jeff Law (law@snake.cs.utah.edu) + + * hppa.h (CPU_PA_RISC1_0): Protect from redefinitions. + (CPU_PA_RISC1_1): Likewise. + +Wed Mar 8 18:14:37 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * ppc.h: New file for PowerPC support. + +Tue Feb 14 13:59:13 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * common.h (EM_PPC): Use offical value of 20, not 17. + (EM_PPC_OLD): Define this to be the old value of EM_PPC. + +Tue Jan 24 09:40:59 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * common.h (EM_PPC): New macro, PowerPC machine id. + +Tue Jan 17 10:51:38 1995 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * mips.h (SHT_MIPS_MSYM, SHT_MIPS_DWARF, SHT_MIPS_EVENTS): Define. + +Mon Oct 17 13:43:59 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * internal.h (Elf_Internal_Shdr): Remove rawdata and size fields. + Add bfd_section field. + +Tue May 24 16:11:50 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * mips.h (Elf32_External_gptab): Define. + +Mon May 16 13:22:04 1994 Jeff Law (law@snake.cs.utah.edu) + + * common.h (EM_HPPA): Delete. + (EM_PARISC): Add. + * hppa.h: New file. + +Mon May 9 13:27:03 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * common.h (SHN_LORESERVE): Rename from SHN_LORESERV. + (ELF32_R_TYPE, ELF32_R_INFO): Don't rely on size of unsigned char. + (ELF64_R_TYPE): Don't rely on size of unsigned long. + +Mon Apr 25 15:53:09 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * internal.h (Elf_Internal_Shdr): Use PTR, not void *. + +Fri Mar 11 00:34:59 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * mips.h (SHN_MIPS_TEXT, SHN_MIPS_DATA): Define. + +Sat Mar 5 14:08:54 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * internal.h: Remove Elf32_*, Elf64_* typedefs. These names + cause conflicts with system headers, e.g. link.h in gdb/solib.c. + Combine 32- and 64-bit versions of *_Internal_Dyn. + * common.h: Replace uses of Elf64_Word, Elf64_Xword typedefs + by their expansion. + * mips.h: Replace uses of Elf32_Word, Elf32_Sword, Elf32_Addr + typedefs by their expansion. Add DT_MIPS_RLD_MAP definition. + +Fri Feb 18 10:39:54 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * common.h (EM_CYGNUS_POWERPC): Define. This may be temporary, + depending upon how quickly I can find a real PowerPC ABI. + +Mon Feb 7 08:27:13 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * internal.h: Change HOST_64_BIT to BFD_HOST_64_BIT. + +Wed Feb 2 14:12:18 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * common.h: Add comments regarding value of EM_HPPA and how to + pick an unofficial value. + +Wed Nov 17 17:14:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * mips.h (SHT_MIPS_OPTIONS): Define. + +Mon Nov 8 17:57:00 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * mips.h: Added some more MIPS ABI macro definitions. + +Wed Nov 3 22:07:17 1993 Ken Raeburn (raeburn@rtl.cygnus.com) + + * common.h (EM_MIPS_RS4_BE): New macro. + +Tue Oct 12 07:28:18 1993 Ian Lance Taylor (ian@cygnus.com) + + * mips.h: New file. MIPS ABI specific information. + +Mon Jun 21 13:13:43 1993 Ken Raeburn (raeburn@poseidon.cygnus.com) + + * internal.h: Combined 32- and 64-bit versions of all structures + except *_Internal_Dyn. This will simply the assembler interface, + and some bfd code. + +Tue May 25 02:00:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * external.h, internal.h, common.h: Added 64-bit versions of some + structures and macros. Renamed old versions to put "32" in the + name. Some are unchanged. + +Thu Apr 29 12:12:20 1993 Ken Raeburn (raeburn@deneb.cygnus.com) + + * common.h (EM_HPPA, NT_VERSION, STN_UNDEF, DT_*): New macros. + * external.h (Elf_External_Dyn): New type. + + * internal.h (Elf_Intenral_Shdr): New field `size'. + (Elf_Internal_Dyn): New type. + +Tue Apr 20 16:03:45 1993 Fred Fish (fnf@cygnus.com) + + * dwarf.h (LANG_CHILL): Change value to one randomly picked in + the user defined range, to reduce probability of collisions. + +Sun Nov 15 09:34:02 1992 Fred Fish (fnf@cygnus.com) + + * dwarf.h (AT_src_coords): Whitespace change only. + * dwarf.h (AT_body_begin, AT_body_end, LANG_MODULA2): + Add from latest gcc. + * dwarf.h (LANG_CHILL): Add as GNU extension. + +Sat Aug 1 13:46:53 1992 Fred Fish (fnf@cygnus.com) + + * dwarf.h: Replace with current version from gcc distribution. + +Fri Jun 19 19:05:09 1992 John Gilmore (gnu at cygnus.com) + + * internal.h: Add real struct tags to all the Type_Defs, so they + can be used in prototypes where the Type_Defs are not known. + +Fri Apr 3 20:58:58 1992 Mark Eichin (eichin at cygnus.com) + + * common.h: added ELF_R_{SYM,TYPE,INFO} for handling relocation + info + added EM_MIPS, and corrected value of EM_860 based on System V ABI + manual. + + * external.h: added Elf_External_{Rel,Rela}. + + * internal.h: added Elf_Internal_{Rel,Rela}. + added rawdata to Elf_Internal_Shdr. + +Sat Nov 30 20:43:59 1991 Steve Chamberlain (sac at rtl.cygnus.com) + + * common.h, dwarf.h, external.h, internal.h, ChangeLog; moved from + ../elf-<foo> + + +Local Variables: +version-control: never +End: diff --git a/contrib/binutils/include/elf/arm.h b/contrib/binutils/include/elf/arm.h index 269a225..181a9f0 100644 --- a/contrib/binutils/include/elf/arm.h +++ b/contrib/binutils/include/elf/arm.h @@ -34,6 +34,7 @@ #define EF_ARM_OLD_ABI 0x100 #define EF_ARM_SOFT_FLOAT 0x200 #define EF_ARM_VFP_FLOAT 0x400 +#define EF_ARM_MAVERICK_FLOAT 0x800 /* Other constants defined in the ARM ELF spec. version B-01. */ #define EF_ARM_SYMSARESORTED 0x04 /* NB conflicts with EF_INTERWORK */ @@ -139,4 +140,7 @@ START_RELOC_NUMBERS (elf_arm_reloc_type) RELOC_NUMBER (R_ARM_RBASE, 255) END_RELOC_NUMBERS (R_ARM_max) +/* The name of the note section used to identify arm variants. */ +#define ARM_NOTE_SECTION ".note.gnu.arm.ident" + #endif /* _ELF_ARM_H */ diff --git a/contrib/binutils/include/elf/common.h b/contrib/binutils/include/elf/common.h index 4e1b502..bf233f6 100644 --- a/contrib/binutils/include/elf/common.h +++ b/contrib/binutils/include/elf/common.h @@ -1,80 +1,83 @@ /* ELF support for BFD. Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, - 2001, 2002 + 2001, 2002, 2003 Free Software Foundation, Inc. Written by Fred Fish @ Cygnus Support, from information published in "UNIX System V Release 4, Programmers Guide: ANSI C and Programming Support Tools". -This file is part of BFD, the Binary File Descriptor library. + 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 2 of the License, or -(at your option) any later version. + 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 2 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. + 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* This file is part of ELF support for BFD, and contains the portions that are common to both the internal and external representations. For example, ELFMAG0 is the byte 0x7F in both the internal (in-memory) - and external (in-file) representations. */ + and external (in-file) representations. */ #ifndef _ELF_COMMON_H #define _ELF_COMMON_H -/* Fields in e_ident[] */ +/* Fields in e_ident[]. */ #define EI_MAG0 0 /* File identification byte 0 index */ -#define ELFMAG0 0x7F /* Magic number byte 0 */ +#define ELFMAG0 0x7F /* Magic number byte 0 */ #define EI_MAG1 1 /* File identification byte 1 index */ -#define ELFMAG1 'E' /* Magic number byte 1 */ +#define ELFMAG1 'E' /* Magic number byte 1 */ #define EI_MAG2 2 /* File identification byte 2 index */ -#define ELFMAG2 'L' /* Magic number byte 2 */ +#define ELFMAG2 'L' /* Magic number byte 2 */ #define EI_MAG3 3 /* File identification byte 3 index */ -#define ELFMAG3 'F' /* Magic number byte 3 */ +#define ELFMAG3 'F' /* Magic number byte 3 */ #define EI_CLASS 4 /* File class */ -#define ELFCLASSNONE 0 /* Invalid class */ -#define ELFCLASS32 1 /* 32-bit objects */ -#define ELFCLASS64 2 /* 64-bit objects */ +#define ELFCLASSNONE 0 /* Invalid class */ +#define ELFCLASS32 1 /* 32-bit objects */ +#define ELFCLASS64 2 /* 64-bit objects */ #define EI_DATA 5 /* Data encoding */ -#define ELFDATANONE 0 /* Invalid data encoding */ -#define ELFDATA2LSB 1 /* 2's complement, little endian */ -#define ELFDATA2MSB 2 /* 2's complement, big endian */ +#define ELFDATANONE 0 /* Invalid data encoding */ +#define ELFDATA2LSB 1 /* 2's complement, little endian */ +#define ELFDATA2MSB 2 /* 2's complement, big endian */ #define EI_VERSION 6 /* File version */ -#define EI_OSABI 7 /* Operating System/ABI indication */ -#define ELFOSABI_NONE 0 /* UNIX System V ABI */ -#define ELFOSABI_HPUX 1 /* HP-UX operating system */ -#define ELFOSABI_NETBSD 2 /* NetBSD */ -#define ELFOSABI_LINUX 3 /* GNU/Linux */ -#define ELFOSABI_HURD 4 /* GNU/Hurd */ -#define ELFOSABI_SOLARIS 6 /* Solaris */ -#define ELFOSABI_AIX 7 /* AIX */ -#define ELFOSABI_IRIX 8 /* IRIX */ -#define ELFOSABI_FREEBSD 9 /* FreeBSD */ -#define ELFOSABI_TRU64 10 /* TRU64 UNIX */ -#define ELFOSABI_MODESTO 11 /* Novell Modesto */ -#define ELFOSABI_OPENBSD 12 /* OpenBSD */ -#define ELFOSABI_STANDALONE 255 /* Standalone (embedded) application */ -#define ELFOSABI_ARM 97 /* ARM */ - -#define EI_ABIVERSION 8 /* ABI version */ +#define EI_OSABI 7 /* Operating System/ABI indication */ +#define ELFOSABI_NONE 0 /* UNIX System V ABI */ +#define ELFOSABI_HPUX 1 /* HP-UX operating system */ +#define ELFOSABI_NETBSD 2 /* NetBSD */ +#define ELFOSABI_LINUX 3 /* GNU/Linux */ +#define ELFOSABI_HURD 4 /* GNU/Hurd */ +#define ELFOSABI_SOLARIS 6 /* Solaris */ +#define ELFOSABI_AIX 7 /* AIX */ +#define ELFOSABI_IRIX 8 /* IRIX */ +#define ELFOSABI_FREEBSD 9 /* FreeBSD */ +#define ELFOSABI_TRU64 10 /* TRU64 UNIX */ +#define ELFOSABI_MODESTO 11 /* Novell Modesto */ +#define ELFOSABI_OPENBSD 12 /* OpenBSD */ +#define ELFOSABI_OPENVMS 13 /* OpenVMS */ +#define ELFOSABI_NSK 14 /* Hewlett-Packard Non-Stop Kernel */ +#define ELFOSABI_AROS 15 /* Amiga Research OS */ +#define ELFOSABI_ARM 97 /* ARM */ +#define ELFOSABI_STANDALONE 255 /* Standalone (embedded) application */ + +#define EI_ABIVERSION 8 /* ABI version */ #define EI_PAD 9 /* Start of padding bytes */ @@ -86,8 +89,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define ET_EXEC 2 /* Executable file */ #define ET_DYN 3 /* Shared object file */ #define ET_CORE 4 /* Core file */ -#define ET_LOOS 0xFE00 /* Operating system-specific */ -#define ET_HIOS 0xFEFF /* Operating system-specific */ +#define ET_LOOS 0xFE00 /* Operating system-specific */ +#define ET_HIOS 0xFEFF /* Operating system-specific */ #define ET_LOPROC 0xFF00 /* Processor-specific */ #define ET_HIPROC 0xFFFF /* Processor-specific */ @@ -95,87 +98,89 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ are officially assigned by registry@caldera.com. See below for a list of ad-hoc numbers used during initial development. */ -#define EM_NONE 0 /* No machine */ -#define EM_M32 1 /* AT&T WE 32100 */ -#define EM_SPARC 2 /* SUN SPARC */ -#define EM_386 3 /* Intel 80386 */ -#define EM_68K 4 /* Motorola m68k family */ -#define EM_88K 5 /* Motorola m88k family */ -#define EM_486 6 /* Intel 80486 *//* Reserved for future use */ -#define EM_860 7 /* Intel 80860 */ -#define EM_MIPS 8 /* MIPS R3000 (officially, big-endian only) */ -#define EM_S370 9 /* IBM System/370 */ -#define EM_MIPS_RS3_LE 10 /* MIPS R3000 little-endian (Oct 4 1999 Draft)*/ /* Depreciated */ - -#define EM_PARISC 15 /* HPPA */ - -#define EM_VPP550 17 /* Fujitsu VPP500 */ -#define EM_SPARC32PLUS 18 /* Sun's "v8plus" */ -#define EM_960 19 /* Intel 80960 */ -#define EM_PPC 20 /* PowerPC */ -#define EM_PPC64 21 /* 64-bit PowerPC */ -#define EM_S390 22 /* IBM S/390 */ - -#define EM_V800 36 /* NEC V800 series */ -#define EM_FR20 37 /* Fujitsu FR20 */ -#define EM_RH32 38 /* TRW RH32 */ -#define EM_MCORE 39 /* Motorola M*Core */ /* May also be taken by Fujitsu MMA */ -#define EM_RCE 39 /* Old name for MCore */ -#define EM_ARM 40 /* ARM */ -#define EM_OLD_ALPHA 41 /* Digital Alpha */ -#define EM_SH 42 /* Hitachi SH */ -#define EM_SPARCV9 43 /* SPARC v9 64-bit */ -#define EM_TRICORE 44 /* Siemens Tricore embedded processor */ -#define EM_ARC 45 /* ARC Cores */ -#define EM_H8_300 46 /* Hitachi H8/300 */ -#define EM_H8_300H 47 /* Hitachi H8/300H */ -#define EM_H8S 48 /* Hitachi H8S */ -#define EM_H8_500 49 /* Hitachi H8/500 */ -#define EM_IA_64 50 /* Intel IA-64 Processor */ -#define EM_MIPS_X 51 /* Stanford MIPS-X */ -#define EM_COLDFIRE 52 /* Motorola Coldfire */ -#define EM_68HC12 53 /* Motorola M68HC12 */ -#define EM_MMA 54 /* Fujitsu Multimedia Accelerator */ -#define EM_PCP 55 /* Siemens PCP */ -#define EM_NCPU 56 /* Sony nCPU embedded RISC processor */ -#define EM_NDR1 57 /* Denso NDR1 microprocesspr */ -#define EM_STARCORE 58 /* Motorola Star*Core processor */ -#define EM_ME16 59 /* Toyota ME16 processor */ -#define EM_ST100 60 /* STMicroelectronics ST100 processor */ -#define EM_TINYJ 61 /* Advanced Logic Corp. TinyJ embedded processor */ -#define EM_X86_64 62 /* Advanced Micro Devices X86-64 processor */ - -#define EM_PDP10 64 /* Digital Equipment Corp. PDP-10 */ -#define EM_PDP11 65 /* Digital Equipment Corp. PDP-11 */ -#define EM_FX66 66 /* Siemens FX66 microcontroller */ -#define EM_ST9PLUS 67 /* STMicroelectronics ST9+ 8/16 bit microcontroller */ -#define EM_ST7 68 /* STMicroelectronics ST7 8-bit microcontroller */ -#define EM_68HC16 69 /* Motorola MC68HC16 Microcontroller */ -#define EM_68HC11 70 /* Motorola MC68HC11 Microcontroller */ -#define EM_68HC08 71 /* Motorola MC68HC08 Microcontroller */ -#define EM_68HC05 72 /* Motorola MC68HC05 Microcontroller */ -#define EM_SVX 73 /* Silicon Graphics SVx */ -#define EM_ST19 74 /* STMicroelectronics ST19 8-bit cpu */ -#define EM_VAX 75 /* Digital VAX */ -#define EM_CRIS 76 /* Axis Communications 32-bit embedded processor */ -#define EM_JAVELIN 77 /* Infineon Technologies 32-bit embedded cpu */ -#define EM_FIREPATH 78 /* Element 14 64-bit DSP processor */ -#define EM_ZSP 79 /* LSI Logic's 16-bit DSP processor */ -#define EM_MMIX 80 /* Donald Knuth's educational 64-bit processor */ -#define EM_HUANY 81 /* Harvard's machine-independent format */ -#define EM_PRISM 82 /* SiTera Prism */ -#define EM_AVR 83 /* Atmel AVR 8-bit microcontroller */ -#define EM_FR30 84 /* Fujitsu FR30 */ -#define EM_D10V 85 /* Mitsubishi D10V */ -#define EM_D30V 86 /* Mitsubishi D30V */ -#define EM_V850 87 /* NEC v850 */ -#define EM_M32R 88 /* Mitsubishi M32R */ -#define EM_MN10300 89 /* Matsushita MN10300 */ -#define EM_MN10200 90 /* Matsushita MN10200 */ -#define EM_PJ 91 /* picoJava */ -#define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor */ -#define EM_ARC_A5 93 /* ARC Cores Tangent-A5 */ -#define EM_XTENSA 94 /* Tensilica Xtensa Architecture */ +#define EM_NONE 0 /* No machine */ +#define EM_M32 1 /* AT&T WE 32100 */ +#define EM_SPARC 2 /* SUN SPARC */ +#define EM_386 3 /* Intel 80386 */ +#define EM_68K 4 /* Motorola m68k family */ +#define EM_88K 5 /* Motorola m88k family */ +#define EM_486 6 /* Intel 80486 *//* Reserved for future use */ +#define EM_860 7 /* Intel 80860 */ +#define EM_MIPS 8 /* MIPS R3000 (officially, big-endian only) */ +#define EM_S370 9 /* IBM System/370 */ +#define EM_MIPS_RS3_LE 10 /* MIPS R3000 little-endian (Oct 4 1999 Draft) Deprecated */ + +#define EM_PARISC 15 /* HPPA */ + +#define EM_VPP550 17 /* Fujitsu VPP500 */ +#define EM_SPARC32PLUS 18 /* Sun's "v8plus" */ +#define EM_960 19 /* Intel 80960 */ +#define EM_PPC 20 /* PowerPC */ +#define EM_PPC64 21 /* 64-bit PowerPC */ +#define EM_S390 22 /* IBM S/390 */ + +#define EM_V800 36 /* NEC V800 series */ +#define EM_FR20 37 /* Fujitsu FR20 */ +#define EM_RH32 38 /* TRW RH32 */ +#define EM_MCORE 39 /* Motorola M*Core */ /* May also be taken by Fujitsu MMA */ +#define EM_RCE 39 /* Old name for MCore */ +#define EM_ARM 40 /* ARM */ +#define EM_OLD_ALPHA 41 /* Digital Alpha */ +#define EM_SH 42 /* Renesas (formerly Hitachi) / SuperH SH */ +#define EM_SPARCV9 43 /* SPARC v9 64-bit */ +#define EM_TRICORE 44 /* Siemens Tricore embedded processor */ +#define EM_ARC 45 /* ARC Cores */ +#define EM_H8_300 46 /* Renesas (formerly Hitachi) H8/300 */ +#define EM_H8_300H 47 /* Renesas (formerly Hitachi) H8/300H */ +#define EM_H8S 48 /* Renesas (formerly Hitachi) H8S */ +#define EM_H8_500 49 /* Renesas (formerly Hitachi) H8/500 */ +#define EM_IA_64 50 /* Intel IA-64 Processor */ +#define EM_MIPS_X 51 /* Stanford MIPS-X */ +#define EM_COLDFIRE 52 /* Motorola Coldfire */ +#define EM_68HC12 53 /* Motorola M68HC12 */ +#define EM_MMA 54 /* Fujitsu Multimedia Accelerator */ +#define EM_PCP 55 /* Siemens PCP */ +#define EM_NCPU 56 /* Sony nCPU embedded RISC processor */ +#define EM_NDR1 57 /* Denso NDR1 microprocesspr */ +#define EM_STARCORE 58 /* Motorola Star*Core processor */ +#define EM_ME16 59 /* Toyota ME16 processor */ +#define EM_ST100 60 /* STMicroelectronics ST100 processor */ +#define EM_TINYJ 61 /* Advanced Logic Corp. TinyJ embedded processor */ +#define EM_X86_64 62 /* Advanced Micro Devices X86-64 processor */ + +#define EM_PDP10 64 /* Digital Equipment Corp. PDP-10 */ +#define EM_PDP11 65 /* Digital Equipment Corp. PDP-11 */ +#define EM_FX66 66 /* Siemens FX66 microcontroller */ +#define EM_ST9PLUS 67 /* STMicroelectronics ST9+ 8/16 bit microcontroller */ +#define EM_ST7 68 /* STMicroelectronics ST7 8-bit microcontroller */ +#define EM_68HC16 69 /* Motorola MC68HC16 Microcontroller */ +#define EM_68HC11 70 /* Motorola MC68HC11 Microcontroller */ +#define EM_68HC08 71 /* Motorola MC68HC08 Microcontroller */ +#define EM_68HC05 72 /* Motorola MC68HC05 Microcontroller */ +#define EM_SVX 73 /* Silicon Graphics SVx */ +#define EM_ST19 74 /* STMicroelectronics ST19 8-bit cpu */ +#define EM_VAX 75 /* Digital VAX */ +#define EM_CRIS 76 /* Axis Communications 32-bit embedded processor */ +#define EM_JAVELIN 77 /* Infineon Technologies 32-bit embedded cpu */ +#define EM_FIREPATH 78 /* Element 14 64-bit DSP processor */ +#define EM_ZSP 79 /* LSI Logic's 16-bit DSP processor */ +#define EM_MMIX 80 /* Donald Knuth's educational 64-bit processor */ +#define EM_HUANY 81 /* Harvard's machine-independent format */ +#define EM_PRISM 82 /* SiTera Prism */ +#define EM_AVR 83 /* Atmel AVR 8-bit microcontroller */ +#define EM_FR30 84 /* Fujitsu FR30 */ +#define EM_D10V 85 /* Mitsubishi D10V */ +#define EM_D30V 86 /* Mitsubishi D30V */ +#define EM_V850 87 /* NEC v850 */ +#define EM_M32R 88 /* Renesas M32R (formerly Mitsubishi M32R) */ +#define EM_MN10300 89 /* Matsushita MN10300 */ +#define EM_MN10200 90 /* Matsushita MN10200 */ +#define EM_PJ 91 /* picoJava */ +#define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor */ +#define EM_ARC_A5 93 /* ARC Cores Tangent-A5 */ +#define EM_XTENSA 94 /* Tensilica Xtensa Architecture */ +#define EM_IP2K 101 /* Ubicom IP2022 micro controller */ +#define EM_MSP430 105 /* TI msp430 micro controller */ /* If it is necessary to assign new unofficial EM_* values, please pick large random numbers (0x8523, 0xa7f2, etc.) to minimize the chances of collision @@ -187,9 +192,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Normally, each entity or maintainer responsible for a machine with an unofficial e_machine number should eventually ask registry@caldera.com for - an officially blessed number to be added to the list above. */ + an officially blessed number to be added to the list above. */ -#define EM_PJ_OLD 99 /* picoJava */ +#define EM_PJ_OLD 99 /* picoJava */ /* Cygnus PowerPC ELF backend. Written in the absence of an ABI. */ #define EM_CYGNUS_POWERPC 0x9025 @@ -201,11 +206,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Old version of PowerPC, this should be removed shortly. */ #define EM_PPC_OLD 17 -/* (Depreciated) Temporary number for the OpenRISC processor. */ -#define EM_OR32 0x8472 +/* (Deprecated) Temporary number for the OpenRISC processor. */ +#define EM_OR32 0x8472 /* Cygnus M32R ELF backend. Written in the absence of an ABI. */ -#define EM_CYGNUS_M32R 0x9041 +#define EM_CYGNUS_M32R 0x9041 /* Alpha backend magic number. Written in the absence of an ABI. */ #define EM_ALPHA 0x9026 @@ -242,10 +247,24 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Written in the absense of an ABI. */ #define EM_DLX 0x5aa5 -#define EM_XSTORMY16 0xad45 +#define EM_XSTORMY16 0xad45 /* FRV magic number - no EABI available??. */ #define EM_CYGNUS_FRV 0x5441 + +/* Ubicom IP2xxx; no ABI */ +#define EM_IP2K_OLD 0x8217 + +/* MSP430 magic number + Written in the absense everything. */ +#define EM_MSP430_OLD 0x1059 + +/* Vitesse IQ2000. */ +#define EM_IQ2000 0xFEBA + +/* Old, unofficial value for Xtensa. */ +#define EM_XTENSA_OLD 0xabc7 + /* See the above comment before you add a new EM_* value here. */ /* Values for e_version. */ @@ -255,7 +274,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Values for program header, p_type field. */ -#define PT_NULL 0 /* Program header table entry unused */ +#define PT_NULL 0 /* Program header table entry unused */ #define PT_LOAD 1 /* Loadable program segment */ #define PT_DYNAMIC 2 /* Dynamic linking information */ #define PT_INTERP 3 /* Program interpreter */ @@ -263,12 +282,13 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define PT_SHLIB 5 /* Reserved, unspecified semantics */ #define PT_PHDR 6 /* Entry for header table itself */ #define PT_TLS 7 /* Thread local storage segment */ -#define PT_LOOS 0x60000000 /* OS-specific */ -#define PT_HIOS 0x6fffffff /* OS-specific */ +#define PT_LOOS 0x60000000 /* OS-specific */ +#define PT_HIOS 0x6fffffff /* OS-specific */ #define PT_LOPROC 0x70000000 /* Processor-specific */ #define PT_HIPROC 0x7FFFFFFF /* Processor-specific */ #define PT_GNU_EH_FRAME (PT_LOOS + 0x474e550) +#define PT_GNU_STACK (PT_LOOS + 0x474e551) /* Program segment permissions, in program header p_flags field. */ @@ -294,14 +314,14 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define SHT_SHLIB 10 /* Reserved, unspecified semantics */ #define SHT_DYNSYM 11 /* Dynamic linking symbol table */ -#define SHT_INIT_ARRAY 14 /* Array of ptrs to init functions */ -#define SHT_FINI_ARRAY 15 /* Array of ptrs to finish functions */ +#define SHT_INIT_ARRAY 14 /* Array of ptrs to init functions */ +#define SHT_FINI_ARRAY 15 /* Array of ptrs to finish functions */ #define SHT_PREINIT_ARRAY 16 /* Array of ptrs to pre-init funcs */ -#define SHT_GROUP 17 /* Section contains a section group */ +#define SHT_GROUP 17 /* Section contains a section group */ #define SHT_SYMTAB_SHNDX 18 /* Indicies for SHN_XINDEX entries */ -#define SHT_LOOS 0x60000000 /* First of OS specific semantics */ -#define SHT_HIOS 0x6fffffff /* Last of OS specific semantics */ +#define SHT_LOOS 0x60000000 /* First of OS specific semantics */ +#define SHT_HIOS 0x6fffffff /* Last of OS specific semantics */ #define SHT_GNU_LIBLIST 0x6ffffff7 /* List of prelink dependencies */ @@ -330,7 +350,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define SHF_MERGE (1 << 4) /* Data in this section can be merged */ #define SHF_STRINGS (1 << 5) /* Contains null terminated character strings */ #define SHF_INFO_LINK (1 << 6) /* sh_info holds section header table index */ -#define SHF_LINK_ORDER (1 << 7) /* Preserve section ordering when linking */ +#define SHF_LINK_ORDER (1 << 7) /* Preserve section ordering when linking */ #define SHF_OS_NONCONFORMING (1 << 8) /* OS specific processing required */ #define SHF_GROUP (1 << 9) /* Member of a section group */ #define SHF_TLS (1 << 10) /* Thread local storage section */ @@ -345,7 +365,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define NT_FPREGSET 2 /* Contains copy of fpregset struct */ #define NT_PRPSINFO 3 /* Contains copy of prpsinfo struct */ #define NT_TASKSTRUCT 4 /* Contains copy of task struct */ -#define NT_PRXFPREG 0x46e62b7f /* Contains a user_xfpregs_struct; */ +#define NT_AUXV 6 /* Contains copy of Elfxx_auxv_t */ +#define NT_PRXFPREG 0x46e62b7f /* Contains a user_xfpregs_struct; */ /* note name must be "LINUX". */ /* Note segments for core files on dir-style procfs systems. */ @@ -376,11 +397,17 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define GNU_ABI_TAG_LINUX 0 #define GNU_ABI_TAG_HURD 1 #define GNU_ABI_TAG_SOLARIS 2 +#define GNU_ABI_TAG_FREEBSD 3 +#define GNU_ABI_TAG_NETBSD 4 /* Values for NetBSD .note.netbsd.ident notes. Note name is "NetBSD". */ #define NT_NETBSD_IDENT 1 +/* Values for OpenBSD .note.openbsd.ident notes. Note name is "OpenBSD". */ + +#define NT_OPENBSD_IDENT 1 + /* Values for FreeBSD .note.ABI-tag notes. Note name is "FreeBSD". */ #define NT_FREEBSD_ABI_TAG 1 @@ -418,8 +445,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define STB_LOCAL 0 /* Symbol not visible outside obj */ #define STB_GLOBAL 1 /* Symbol visible outside obj */ #define STB_WEAK 2 /* Like globals, lower precedence */ -#define STB_LOOS 10 /* OS-specific semantics */ -#define STB_HIOS 12 /* OS-specific semantics */ +#define STB_LOOS 10 /* OS-specific semantics */ +#define STB_HIOS 12 /* OS-specific semantics */ #define STB_LOPROC 13 /* Application-specific semantics */ #define STB_HIPROC 15 /* Application-specific semantics */ @@ -430,8 +457,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define STT_FILE 4 /* Symbol gives a file name */ #define STT_COMMON 5 /* An uninitialised common block */ #define STT_TLS 6 /* Thread local data object */ -#define STT_LOOS 10 /* OS-specific semantics */ -#define STT_HIOS 12 /* OS-specific semantics */ +#define STT_LOOS 10 /* OS-specific semantics */ +#define STT_HIOS 12 /* OS-specific semantics */ #define STT_LOPROC 13 /* Application-specific semantics */ #define STT_HIPROC 15 /* Application-specific semantics */ @@ -442,17 +469,17 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define SHN_LORESERVE 0xFF00 /* Begin range of reserved indices */ #define SHN_LOPROC 0xFF00 /* Begin range of appl-specific */ #define SHN_HIPROC 0xFF1F /* End range of appl-specific */ -#define SHN_LOOS 0xFF20 /* OS specific semantics, lo */ -#define SHN_HIOS 0xFF3F /* OS specific semantics, hi */ -#define SHN_ABS 0xFFF1 /* Associated symbol is absolute */ -#define SHN_COMMON 0xFFF2 /* Associated symbol is in common */ -#define SHN_XINDEX 0xFFFF /* Section index is held elsewhere */ -#define SHN_HIRESERVE 0xFFFF /* End range of reserved indices */ +#define SHN_LOOS 0xFF20 /* OS specific semantics, lo */ +#define SHN_HIOS 0xFF3F /* OS specific semantics, hi */ +#define SHN_ABS 0xFFF1 /* Associated symbol is absolute */ +#define SHN_COMMON 0xFFF2 /* Associated symbol is in common */ +#define SHN_XINDEX 0xFFFF /* Section index is held elsewhere */ +#define SHN_HIRESERVE 0xFFFF /* End range of reserved indices */ #define SHN_BAD ((unsigned) -1) /* Used internally by bfd */ /* The following constants control how a symbol may be accessed once it has become part of an executable or shared library. */ - + #define STV_DEFAULT 0 /* Visibility is specified by binding type */ #define STV_INTERNAL 1 /* OS specific version of STV_HIDDEN */ #define STV_HIDDEN 2 /* Can only be seen inside currect component */ @@ -494,32 +521,31 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define DT_DEBUG 21 #define DT_TEXTREL 22 #define DT_JMPREL 23 -#define DT_BIND_NOW 24 -#define DT_INIT_ARRAY 25 -#define DT_FINI_ARRAY 26 +#define DT_BIND_NOW 24 +#define DT_INIT_ARRAY 25 +#define DT_FINI_ARRAY 26 #define DT_INIT_ARRAYSZ 27 #define DT_FINI_ARRAYSZ 28 -#define DT_RUNPATH 29 -#define DT_FLAGS 30 - -#define DT_ENCODING 32 +#define DT_RUNPATH 29 +#define DT_FLAGS 30 +#define DT_ENCODING 31 #define DT_PREINIT_ARRAY 32 #define DT_PREINIT_ARRAYSZ 33 /* Note, the Oct 4, 1999 draft of the ELF ABI changed the values for DT_LOOS and DT_HIOS. Some implementations however, use - values outside of the new range (see below). */ + values outside of the new range (see below). */ #define OLD_DT_LOOS 0x60000000 -#define DT_LOOS 0x6000000d -#define DT_HIOS 0x6fff0000 -#define OLD_DT_HIOS 0x6fffffff +#define DT_LOOS 0x6000000d +#define DT_HIOS 0x6ffff000 +#define OLD_DT_HIOS 0x6fffffff -#define DT_LOPROC 0x70000000 -#define DT_HIPROC 0x7fffffff +#define DT_LOPROC 0x70000000 +#define DT_HIPROC 0x7fffffff /* The next four dynamic tags are used on Solaris. We support them - everywhere. Note these values lie outside of the (new) range for - OS specific values. This is a deliberate special case and we + everywhere. Note these values lie outside of the (new) range for + OS specific values. This is a deliberate special case and we maintain it for backwards compatability. */ #define DT_VALRNGLO 0x6ffffd00 #define DT_GNU_PRELINKED 0x6ffffdf5 @@ -578,7 +604,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ defined here is the same as the one in <sys/link.h> on Solaris 8. */ #define DTF_1_CONFEXP 0x00000002 -/* Flag values used in the DT_POSFLAG_1 .dynamic entry. */ +/* Flag values used in the DT_POSFLAG_1 .dynamic entry. */ #define DF_P1_LAZYLOAD 0x00000001 #define DF_P1_GROUPPERM 0x00000002 @@ -598,7 +624,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define DF_1_NODUMP 0x00001000 #define DF_1_CONLFAT 0x00002000 -/* Flag values for the DT_FLAGS entry. */ +/* Flag values for the DT_FLAGS entry. */ #define DF_ORIGIN (1 << 0) #define DF_SYMBOLIC (1 << 1) #define DF_TEXTREL (1 << 2) @@ -665,8 +691,60 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define SYMINFO_CURRENT 1 #define SYMINFO_NUM 2 -/* Section Group Flags. */ +/* Section Group Flags. */ #define GRP_COMDAT 0x1 /* A COMDAT group */ +/* Auxv a_type values. */ + +#define AT_NULL 0 /* End of vector */ +#define AT_IGNORE 1 /* Entry should be ignored */ +#define AT_EXECFD 2 /* File descriptor of program */ +#define AT_PHDR 3 /* Program headers for program */ +#define AT_PHENT 4 /* Size of program header entry */ +#define AT_PHNUM 5 /* Number of program headers */ +#define AT_PAGESZ 6 /* System page size */ +#define AT_BASE 7 /* Base address of interpreter */ +#define AT_FLAGS 8 /* Flags */ +#define AT_ENTRY 9 /* Entry point of program */ +#define AT_NOTELF 10 /* Program is not ELF */ +#define AT_UID 11 /* Real uid */ +#define AT_EUID 12 /* Effective uid */ +#define AT_GID 13 /* Real gid */ +#define AT_EGID 14 /* Effective gid */ +#define AT_CLKTCK 17 /* Frequency of times() */ +#define AT_PLATFORM 15 /* String identifying platform. */ +#define AT_HWCAP 16 /* Machine dependent hints about + processor capabilities. */ +#define AT_FPUCW 18 /* Used FPU control word. */ +#define AT_DCACHEBSIZE 19 /* Data cache block size. */ +#define AT_ICACHEBSIZE 20 /* Instruction cache block size. */ +#define AT_UCACHEBSIZE 21 /* Unified cache block size. */ +#define AT_IGNOREPPC 22 /* Entry should be ignored */ +#define AT_SECURE 23 /* Boolean, was exec setuid-like? */ +/* Pointer to the global system page used for system calls and other + nice things. */ +#define AT_SYSINFO 32 +#define AT_SYSINFO_EHDR 33 /* Pointer to ELF header of system-supplied DSO. */ + +#define AT_SUN_UID 2000 /* Effective user ID. */ +#define AT_SUN_RUID 2001 /* Real user ID. */ +#define AT_SUN_GID 2002 /* Effective group ID. */ +#define AT_SUN_RGID 2003 /* Real group ID. */ +#define AT_SUN_LDELF 2004 /* Dynamic linker's ELF header. */ +#define AT_SUN_LDSHDR 2005 /* Dynamic linker's section headers. */ +#define AT_SUN_LDNAME 2006 /* String giving name of dynamic linker. */ +#define AT_SUN_LPAGESZ 2007 /* Large pagesize. */ +#define AT_SUN_PLATFORM 2008 /* Platform name string. */ +#define AT_SUN_HWCAP 2009 /* Machine dependent hints about + processor capabilities. */ +#define AT_SUN_IFLUSH 2010 /* Should flush icache? */ +#define AT_SUN_CPU 2011 /* CPU name string. */ +#define AT_SUN_EMUL_ENTRY 2012 /* COFF entry point address. */ +#define AT_SUN_EMUL_EXECFD 2013 /* COFF executable file descriptor. */ +#define AT_SUN_EXECNAME 2014 /* Canonicalized file name given to execve. */ +#define AT_SUN_MMU 2015 /* String for name of MMU module. */ +#define AT_SUN_LDDATA 2016 /* Dynamic linker's data segment address. */ + + #endif /* _ELF_COMMON_H */ diff --git a/contrib/binutils/include/elf/dwarf2.h b/contrib/binutils/include/elf/dwarf2.h index 0e78310..bede7e2 100644 --- a/contrib/binutils/include/elf/dwarf2.h +++ b/contrib/binutils/include/elf/dwarf2.h @@ -1,7 +1,7 @@ /* Declarations and definitions of codes relating to the DWARF2 symbolic debugging information format. - Copyright (C) 1992, 1993, 1995, 1996, 1997, 1999, 2000, 2001, 2002 - Free Software Foundation, Inc. + Copyright (C) 1992, 1993, 1995, 1996, 1997, 1999, 2000, 2001, 2002, + 2003 Free Software Foundation, Inc. Written by Gary Funck (gary@intrepid.com) The Ada Joint Program Office (AJPO), Florida State Unviversity and Silicon Graphics Inc. @@ -10,22 +10,22 @@ Derived from the DWARF 1 implementation written by Ron Guilmette (rfg@netcom.com), November 1990. -This file is part of GCC. + This file is part of GCC. -GCC 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 2, or (at your option) any later -version. + GCC 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 2, or (at your option) any later + version. -GCC 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. + GCC 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 GCC; see the file COPYING. If not, write to the Free -Software Foundation, 59 Temple Place - Suite 330, Boston, MA -02111-1307, USA. */ + You should have received a copy of the GNU General Public License + along with GCC; see the file COPYING. If not, write to the Free + Software Foundation, 59 Temple Place - Suite 330, Boston, MA + 02111-1307, USA. */ /* This file is derived from the DWARF specification (a public document) Revision 2.0.0 (July 27, 1993) developed by the UNIX International @@ -87,7 +87,7 @@ typedef struct } DWARF2_Internal_PubNames; -/* Strcuture found in .debug_info section. */ +/* Structure found in .debug_info section. */ typedef struct { unsigned char cu_length [4]; @@ -189,12 +189,21 @@ enum dwarf_tag DW_TAG_imported_unit = 0x3d, /* SGI/MIPS Extensions. */ DW_TAG_MIPS_loop = 0x4081, + /* HP extensions. See: ftp://ftp.hp.com/pub/lang/tools/WDB/wdb-4.0.tar.gz . */ + DW_TAG_HP_array_descriptor = 0x4090, /* GNU extensions. */ DW_TAG_format_label = 0x4101, /* For FORTRAN 77 and Fortran 90. */ DW_TAG_function_template = 0x4102, /* For C++. */ DW_TAG_class_template = 0x4103, /* For C++. */ DW_TAG_GNU_BINCL = 0x4104, - DW_TAG_GNU_EINCL = 0x4105 + DW_TAG_GNU_EINCL = 0x4105, + /* Extensions for UPC. See: http://upc.gwu.edu/~upc. */ + DW_TAG_upc_shared_type = 0x8765, + DW_TAG_upc_strict_type = 0x8766, + DW_TAG_upc_relaxed_type = 0x8767, + /* PGI (STMicroelectronics) extensions. No documentation available. */ + DW_TAG_PGI_kanji_type = 0xA000, + DW_TAG_PGI_interface_block = 0xA020 }; #define DW_TAG_lo_user 0x4080 @@ -231,7 +240,6 @@ enum dwarf_form }; /* Attribute names and codes. */ - enum dwarf_attribute { DW_AT_sibling = 0x01, @@ -309,7 +317,7 @@ enum dwarf_attribute DW_AT_call_column = 0x57, DW_AT_call_file = 0x58, DW_AT_call_line = 0x59, - /* SGI/MIPS Extensions. */ + /* SGI/MIPS extensions. */ DW_AT_MIPS_fde = 0x2001, DW_AT_MIPS_loop_begin = 0x2002, DW_AT_MIPS_tail_loop_begin = 0x2003, @@ -321,6 +329,21 @@ enum dwarf_attribute DW_AT_MIPS_abstract_name = 0x2009, DW_AT_MIPS_clone_origin = 0x200a, DW_AT_MIPS_has_inlines = 0x200b, + /* HP extensions. */ + DW_AT_HP_block_index = 0x2000, + DW_AT_HP_unmodifiable = 0x2001, /* Same as DW_AT_MIPS_fde. */ + DW_AT_HP_actuals_stmt_list = 0x2010, + DW_AT_HP_proc_per_section = 0x2011, + DW_AT_HP_raw_data_ptr = 0x2012, + DW_AT_HP_pass_by_reference = 0x2013, + DW_AT_HP_opt_level = 0x2014, + DW_AT_HP_prof_version_id = 0x2015, + DW_AT_HP_opt_flags = 0x2016, + DW_AT_HP_cold_region_low_pc = 0x2017, + DW_AT_HP_cold_region_high_pc = 0x2018, + DW_AT_HP_all_variables_modifiable = 0x2019, + DW_AT_HP_linkage_name = 0x201a, + DW_AT_HP_prof_flags = 0x201b, /* In comp unit of procs_info for -g. */ /* GNU extensions. */ DW_AT_sf_names = 0x2101, DW_AT_src_info = 0x2102, @@ -329,8 +352,14 @@ enum dwarf_attribute DW_AT_body_begin = 0x2105, DW_AT_body_end = 0x2106, DW_AT_GNU_vector = 0x2107, - /* VMS Extensions. */ - DW_AT_VMS_rtnbeg_pd_address = 0x2201 + /* VMS extensions. */ + DW_AT_VMS_rtnbeg_pd_address = 0x2201, + /* UPC extension. */ + DW_AT_upc_threads_scaled = 0x3210, + /* PGI (STMicroelectronics) extensions. */ + DW_AT_PGI_lbase = 0x3a00, + DW_AT_PGI_soffset = 0x3a01, + DW_AT_PGI_lstride = 0x3a02 }; #define DW_AT_lo_user 0x2000 /* Implementation-defined range start. */ @@ -488,10 +517,20 @@ enum dwarf_location_atom DW_OP_push_object_address = 0x97, DW_OP_call2 = 0x98, DW_OP_call4 = 0x99, - DW_OP_calli = 0x9a + DW_OP_call_ref = 0x9a, + /* GNU extensions. */ + DW_OP_GNU_push_tls_address = 0xe0, + /* HP extensions. */ + DW_OP_HP_unknown = 0xe0, /* Ouch, the same as GNU_push_tls_address. */ + DW_OP_HP_is_value = 0xe1, + DW_OP_HP_fltconst4 = 0xe2, + DW_OP_HP_fltconst8 = 0xe3, + DW_OP_HP_mod_range = 0xe4, + DW_OP_HP_unmod_range = 0xe5, + DW_OP_HP_tls = 0xe6 }; -#define DW_OP_lo_user 0x80 /* Implementation-defined range start. */ +#define DW_OP_lo_user 0xe0 /* Implementation-defined range start. */ #define DW_OP_hi_user 0xff /* Implementation-defined range end. */ /* Type encodings. */ @@ -507,7 +546,15 @@ enum dwarf_type DW_ATE_unsigned = 0x7, DW_ATE_unsigned_char = 0x8, /* DWARF 3. */ - DW_ATE_imaginary_float = 0x9 + DW_ATE_imaginary_float = 0x9, + /* HP extensions. */ + DW_ATE_HP_float80 = 0x80, /* Floating-point (80 bit). */ + DW_ATE_HP_complex_float80 = 0x81, /* Complex floating-point (80 bit). */ + DW_ATE_HP_float128 = 0x82, /* Floating-point (128 bit). */ + DW_ATE_HP_complex_float128 = 0x83, /* Complex floating-point (128 bit). */ + DW_ATE_HP_floathpintel = 0x84, /* Floating-point (82 bit IA64). */ + DW_ATE_HP_imaginary_float80 = 0x85, + DW_ATE_HP_imaginary_float128 = 0x86 }; #define DW_ATE_lo_user 0x80 @@ -604,7 +651,18 @@ enum dwarf_line_number_x_ops { DW_LNE_end_sequence = 1, DW_LNE_set_address = 2, - DW_LNE_define_file = 3 + DW_LNE_define_file = 3, + /* HP extensions. */ + DW_LNE_HP_negate_is_UV_update = 0x11, + DW_LNE_HP_push_context = 0x12, + DW_LNE_HP_pop_context = 0x13, + DW_LNE_HP_set_file_line_column = 0x14, + DW_LNE_HP_set_routine_name = 0x15, + DW_LNE_HP_set_sequence = 0x16, + DW_LNE_HP_negate_post_semantics = 0x17, + DW_LNE_HP_negate_function_exit = 0x18, + DW_LNE_HP_negate_front_end_logical = 0x19, + DW_LNE_HP_define_proc = 0x20 }; /* Call frame information. */ @@ -628,17 +686,14 @@ enum dwarf_call_frame_info DW_CFA_def_cfa = 0x0c, DW_CFA_def_cfa_register = 0x0d, DW_CFA_def_cfa_offset = 0x0e, - /* DWARF 3. */ DW_CFA_def_cfa_expression = 0x0f, DW_CFA_expression = 0x10, DW_CFA_offset_extended_sf = 0x11, DW_CFA_def_cfa_sf = 0x12, DW_CFA_def_cfa_offset_sf = 0x13, - /* SGI/MIPS specific. */ DW_CFA_MIPS_advance_loc8 = 0x1d, - /* GNU extensions. */ DW_CFA_GNU_window_save = 0x2d, DW_CFA_GNU_args_size = 0x2e, @@ -676,10 +731,11 @@ enum dwarf_source_language DW_LANG_Ada95 = 0x000d, DW_LANG_Fortran95 = 0x000e, /* MIPS. */ - DW_LANG_Mips_Assembler = 0x8001 + DW_LANG_Mips_Assembler = 0x8001, + /* UPC. */ + DW_LANG_Upc = 0x8765 }; - #define DW_LANG_lo_user 0x8000 /* Implementation-defined range start. */ #define DW_LANG_hi_user 0xffff /* Implementation-defined range start. */ diff --git a/contrib/binutils/include/elf/external.h b/contrib/binutils/include/elf/external.h index 403ee62..a171439 100644 --- a/contrib/binutils/include/elf/external.h +++ b/contrib/binutils/include/elf/external.h @@ -258,4 +258,19 @@ typedef struct unsigned char si_flags[2]; } Elf_External_Syminfo; + +/* This structure appears on the stack and in NT_AUXV core file notes. */ +typedef struct +{ + unsigned char a_type[4]; + unsigned char a_val[4]; +} Elf32_External_Auxv; + +typedef struct +{ + unsigned char a_type[8]; + unsigned char a_val[8]; +} Elf64_External_Auxv; + + #endif /* _ELF_EXTERNAL_H */ diff --git a/contrib/binutils/include/elf/frv.h b/contrib/binutils/include/elf/frv.h index 65ce97d..8246a21 100644 --- a/contrib/binutils/include/elf/frv.h +++ b/contrib/binutils/include/elf/frv.h @@ -35,6 +35,20 @@ START_RELOC_NUMBERS (elf_frv_reloc_type) RELOC_NUMBER (R_FRV_GPREL32, 8) RELOC_NUMBER (R_FRV_GPRELHI, 9) RELOC_NUMBER (R_FRV_GPRELLO, 10) + RELOC_NUMBER (R_FRV_GOT12, 11) + RELOC_NUMBER (R_FRV_GOTHI, 12) + RELOC_NUMBER (R_FRV_GOTLO, 13) + RELOC_NUMBER (R_FRV_FUNCDESC, 14) + RELOC_NUMBER (R_FRV_FUNCDESC_GOT12, 15) + RELOC_NUMBER (R_FRV_FUNCDESC_GOTHI, 16) + RELOC_NUMBER (R_FRV_FUNCDESC_GOTLO, 17) + RELOC_NUMBER (R_FRV_FUNCDESC_VALUE, 18) + RELOC_NUMBER (R_FRV_FUNCDESC_GOTOFF12, 19) + RELOC_NUMBER (R_FRV_FUNCDESC_GOTOFFHI, 20) + RELOC_NUMBER (R_FRV_FUNCDESC_GOTOFFLO, 21) + RELOC_NUMBER (R_FRV_GOTOFF12, 22) + RELOC_NUMBER (R_FRV_GOTOFFHI, 23) + RELOC_NUMBER (R_FRV_GOTOFFLO, 24) RELOC_NUMBER (R_FRV_GNU_VTINHERIT, 200) RELOC_NUMBER (R_FRV_GNU_VTENTRY, 201) END_RELOC_NUMBERS(R_FRV_max) @@ -67,6 +81,7 @@ END_RELOC_NUMBERS(R_FRV_max) #define EF_FRV_LIBPIC 0x00001000 /* -mlibrary-pic */ #define EF_FRV_G0 0x00002000 /* -G 0, no small data ptr */ #define EF_FRV_NOPACK 0x00004000 /* -mnopack */ +#define EF_FRV_FDPIC 0x00008000 /* -mfdpic */ #define EF_FRV_CPU_MASK 0xff000000 /* specific cpu bits */ #define EF_FRV_CPU_GENERIC 0x00000000 /* generic FRV */ @@ -75,9 +90,11 @@ END_RELOC_NUMBERS(R_FRV_max) #define EF_FRV_CPU_SIMPLE 0x03000000 /* SIMPLE */ #define EF_FRV_CPU_TOMCAT 0x04000000 /* Tomcat, FR500 prototype */ #define EF_FRV_CPU_FR400 0x05000000 /* FRV400 */ +#define EF_FRV_CPU_FR550 0x06000000 /* FRV550 */ /* Mask of PIC related bits */ -#define EF_FRV_PIC_FLAGS (EF_FRV_PIC | EF_FRV_LIBPIC | EF_FRV_BIGPIC) +#define EF_FRV_PIC_FLAGS (EF_FRV_PIC | EF_FRV_LIBPIC | EF_FRV_BIGPIC \ + | EF_FRV_FDPIC) /* Mask of all flags */ #define EF_FRV_ALL_FLAGS (EF_FRV_GPR_MASK | \ diff --git a/contrib/binutils/include/elf/h8.h b/contrib/binutils/include/elf/h8.h index ac9db56..1aad7a4 100644 --- a/contrib/binutils/include/elf/h8.h +++ b/contrib/binutils/include/elf/h8.h @@ -1,5 +1,5 @@ /* H8300/h8500 ELF support for BFD. - Copyright 2001 Free Software Foundation, Inc. + Copyright 2001, 2003 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -92,5 +92,9 @@ END_RELOC_NUMBERS (R_H8_max) #define E_H8_MACH_H8300 0x00800000 #define E_H8_MACH_H8300H 0x00810000 #define E_H8_MACH_H8300S 0x00820000 +#define E_H8_MACH_H8300HN 0x00830000 +#define E_H8_MACH_H8300SN 0x00840000 +#define E_H8_MACH_H8300SX 0x00850000 +#define E_H8_MACH_H8300SXN 0x00860000 #endif diff --git a/contrib/binutils/include/elf/i370.h b/contrib/binutils/include/elf/i370.h index b6f4785..fd5ec47 100644 --- a/contrib/binutils/include/elf/i370.h +++ b/contrib/binutils/include/elf/i370.h @@ -1,5 +1,5 @@ /* i370 ELF support for BFD. - Copyright 2000 Free Software Foundation, Inc. + Copyright 2000, 2002 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -23,6 +23,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef _ELF_I370_H #define _ELF_I370_H +#include "elf/reloc-macros.h" + /* Processor specific section headers, sh_type field */ #define SHT_ORDERED SHT_HIPROC /* Link editor is to sort the \ @@ -41,6 +43,26 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ builds when those objects \ are not to be furhter \ relocated. */ -#endif /* _ELF_I370_H */ +/* i370 relocations + Note that there is really just one relocation that we currently + support (and only one that we seem to need, at the moment), and + that is the 31-bit address relocation. Note that the 370/390 + only supports a 31-bit (2GB) address space. */ +START_RELOC_NUMBERS (i370_reloc_type) + RELOC_NUMBER (R_I370_NONE, 0) + RELOC_NUMBER (R_I370_ADDR31, 1) + RELOC_NUMBER (R_I370_ADDR32, 2) + RELOC_NUMBER (R_I370_ADDR16, 3) + RELOC_NUMBER (R_I370_REL31, 4) + RELOC_NUMBER (R_I370_REL32, 5) + RELOC_NUMBER (R_I370_ADDR12, 6) + RELOC_NUMBER (R_I370_REL12, 7) + RELOC_NUMBER (R_I370_ADDR8, 8) + RELOC_NUMBER (R_I370_REL8, 9) + RELOC_NUMBER (R_I370_COPY, 10) + RELOC_NUMBER (R_I370_RELATIVE, 11) +END_RELOC_NUMBERS (R_I370_max) + +#endif /* _ELF_I370_H */ diff --git a/contrib/binutils/include/elf/ia64.h b/contrib/binutils/include/elf/ia64.h index 310a7f7..06dfa60 100644 --- a/contrib/binutils/include/elf/ia64.h +++ b/contrib/binutils/include/elf/ia64.h @@ -1,45 +1,44 @@ /* IA-64 ELF support for BFD. - Copyright 1998, 1999, 2000 Free Software Foundation, Inc. + Copyright 1998, 1999, 2000, 2003 Free Software Foundation, Inc. Contributed by David Mosberger-Tang <davidm@hpl.hp.com> -This file is part of BFD, the Binary File Descriptor library. + 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 2 of the License, or -(at your option) any later version. + 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 2 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef _ELF_IA64_H #define _ELF_IA64_H /* Bits in the e_flags field of the Elf64_Ehdr: */ -#define EF_IA_64_MASKOS 0x0000000f /* os-specific flags */ -#define EF_IA_64_ARCH 0xff000000 /* arch. version mask */ +#define EF_IA_64_MASKOS 0x0000000f /* OS-specific flags. */ +#define EF_IA_64_ARCH 0xff000000 /* Arch. version mask. */ /* ??? These four definitions are not part of the SVR4 ABI. They were present in David's initial code drop, so it is probable that they are used by HP/UX. */ -#define EF_IA_64_TRAPNIL (1 << 0) /* trap NIL pointer dereferences */ -#define EF_IA_64_EXT (1 << 2) /* program uses arch. extensions */ -#define EF_IA_64_BE (1 << 3) /* PSR BE bit set (big-endian) */ -#define EFA_IA_64_EAS2_3 0x23000000 /* ia64 EAS 2.3 */ +#define EF_IA_64_TRAPNIL (1 << 0) /* Trap NIL pointer dereferences. */ +#define EF_IA_64_EXT (1 << 2) /* Program uses arch. extensions. */ +#define EF_IA_64_BE (1 << 3) /* PSR BE bit set (big-endian). */ +#define EFA_IA_64_EAS2_3 0x23000000 /* IA64 EAS 2.3. */ -#define EF_IA_64_ABI64 (1 << 4) /* 64-bit ABI */ +#define EF_IA_64_ABI64 (1 << 4) /* 64-bit ABI. */ /* Not used yet. */ #define EF_IA_64_REDUCEDFP (1 << 5) /* Only FP6-FP11 used. */ -#define EF_IA_64_CONS_GP (1 << 6) /* gp as program wide constant. */ -#define EF_IA_64_NOFUNCDESC_CONS_GP (1 << 7) /* And no function descriptors. */ +#define EF_IA_64_CONS_GP (1 << 6) /* gp as program wide constant. */ +#define EF_IA_64_NOFUNCDESC_CONS_GP (1 << 7) /* And no function descriptors. */ /* Not used yet. */ #define EF_IA_64_ABSOLUTE (1 << 8) /* Load at absolute addresses. */ @@ -54,13 +53,17 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Bits in the sh_flags field of Elf64_Shdr: */ -#define SHF_IA_64_SHORT 0x10000000 /* section near gp */ -#define SHF_IA_64_NORECOV 0x20000000 /* spec insns w/o recovery */ +#define SHF_IA_64_SHORT 0x10000000 /* Section near gp. */ +#define SHF_IA_64_NORECOV 0x20000000 /* Spec insns w/o recovery. */ /* Possible values for sh_type in Elf64_Shdr: */ -#define SHT_IA_64_EXT (SHT_LOPROC + 0) /* extension bits */ -#define SHT_IA_64_UNWIND (SHT_LOPROC + 1) /* unwind bits */ +#define SHT_IA_64_EXT (SHT_LOPROC + 0) /* Extension bits. */ +#define SHT_IA_64_UNWIND (SHT_LOPROC + 1) /* Unwind bits. */ +#define SHT_IA_64_LOPSREG (SHT_LOPROC + 0x8000000) +/* ABI says (SHT_LOPROC + 0xfffffff) but I think it's a typo -- this makes sense. */ +#define SHT_IA_64_HIPSREG (SHT_LOPROC + 0x8ffffff) +#define SHT_IA_64_PRIORITY_INIT (SHT_LOPROC + 0x9000000) /* SHT_IA_64_HP_OPT_ANOT is only generated by HPUX compilers for its optimization annotation section. GCC does not generate it but we @@ -74,8 +77,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Possible values for p_type in Elf64_Phdr: */ -#define PT_IA_64_ARCHEXT (PT_LOPROC + 0) /* arch extension bits */ -#define PT_IA_64_UNWIND (PT_LOPROC + 1) /* ia64 unwind bits */ +#define PT_IA_64_ARCHEXT (PT_LOPROC + 0) /* Arch extension bits, */ +#define PT_IA_64_UNWIND (PT_LOPROC + 1) /* IA64 unwind bits. */ /* HP-UX specific values for p_type in Elf64_Phdr. These values are currently just used to make @@ -92,10 +95,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* This section only used by HP-UX, The HP linker gives weak symbols precedence over regular common symbols. We want common to override weak. Using this common instead of SHN_COMMON does that. */ - #define SHN_IA_64_ANSI_COMMON 0xFF00 -/* ia64-specific relocation types: */ +/* IA64-specific relocation types: */ /* Relocs apply to specific instructions within a bundle. The least significant 2 bits of the address indicate which instruction in the diff --git a/contrib/binutils/include/elf/internal.h b/contrib/binutils/include/elf/internal.h index 5d39d3a..a7299d9 100644 --- a/contrib/binutils/include/elf/internal.h +++ b/contrib/binutils/include/elf/internal.h @@ -1,5 +1,5 @@ /* ELF support for BFD. - Copyright 1991, 1992, 1993, 1994, 1995, 1997, 1998, 2000, 2001 + Copyright 1991, 1992, 1993, 1994, 1995, 1997, 1998, 2000, 2001, 2002 Free Software Foundation, Inc. Written by Fred Fish @ Cygnus Support, from information published @@ -58,11 +58,6 @@ typedef struct elf_internal_ehdr { unsigned int e_shstrndx; /* Section header string table index */ } Elf_Internal_Ehdr; -#define elf32_internal_ehdr elf_internal_ehdr -#define Elf32_Internal_Ehdr Elf_Internal_Ehdr -#define elf64_internal_ehdr elf_internal_ehdr -#define Elf64_Internal_Ehdr Elf_Internal_Ehdr - /* Program header */ struct elf_internal_phdr { @@ -77,10 +72,6 @@ struct elf_internal_phdr { }; typedef struct elf_internal_phdr Elf_Internal_Phdr; -#define elf32_internal_phdr elf_internal_phdr -#define Elf32_Internal_Phdr Elf_Internal_Phdr -#define elf64_internal_phdr elf_internal_phdr -#define Elf64_Internal_Phdr Elf_Internal_Phdr /* Section header */ @@ -101,11 +92,6 @@ typedef struct elf_internal_shdr { unsigned char *contents; /* Section contents. */ } Elf_Internal_Shdr; -#define elf32_internal_shdr elf_internal_shdr -#define Elf32_Internal_Shdr Elf_Internal_Shdr -#define elf64_internal_shdr elf_internal_shdr -#define Elf64_Internal_Shdr Elf_Internal_Shdr - /* Symbol table entry */ struct elf_internal_sym { @@ -119,11 +105,6 @@ struct elf_internal_sym { typedef struct elf_internal_sym Elf_Internal_Sym; -#define elf32_internal_sym elf_internal_sym -#define elf64_internal_sym elf_internal_sym -#define Elf32_Internal_Sym Elf_Internal_Sym -#define Elf64_Internal_Sym Elf_Internal_Sym - /* Note segments */ typedef struct elf_internal_note { @@ -134,33 +115,15 @@ typedef struct elf_internal_note { char * descdata; /* Start of the desc data */ bfd_vma descpos; /* File offset of the descdata */ } Elf_Internal_Note; -#define Elf32_Internal_Note Elf_Internal_Note -#define elf32_internal_note elf_internal_note /* Relocation Entries */ -typedef struct elf_internal_rel { - bfd_vma r_offset; /* Location at which to apply the action */ - /* This needs to support 64-bit values in elf64. */ - bfd_vma r_info; /* index and type of relocation */ -} Elf_Internal_Rel; - -#define elf32_internal_rel elf_internal_rel -#define Elf32_Internal_Rel Elf_Internal_Rel -#define elf64_internal_rel elf_internal_rel -#define Elf64_Internal_Rel Elf_Internal_Rel - typedef struct elf_internal_rela { bfd_vma r_offset; /* Location at which to apply the action */ bfd_vma r_info; /* Index and Type of relocation */ bfd_vma r_addend; /* Constant addend used to compute value */ } Elf_Internal_Rela; -#define elf32_internal_rela elf_internal_rela -#define elf64_internal_rela elf_internal_rela -#define Elf32_Internal_Rela Elf_Internal_Rela -#define Elf64_Internal_Rela Elf_Internal_Rela - /* dynamic section structure */ typedef struct elf_internal_dyn { @@ -173,11 +136,6 @@ typedef struct elf_internal_dyn { } d_un; } Elf_Internal_Dyn; -#define elf32_internal_dyn elf_internal_dyn -#define elf64_internal_dyn elf_internal_dyn -#define Elf32_Internal_Dyn Elf_Internal_Dyn -#define Elf64_Internal_Dyn Elf_Internal_Dyn - /* This structure appears in a SHT_GNU_verdef section. */ typedef struct elf_internal_verdef { @@ -256,30 +214,13 @@ typedef struct unsigned short int si_flags; } Elf_Internal_Syminfo; +/* This structure appears on the stack and in NT_AUXV core file notes. */ +typedef struct +{ + bfd_vma a_type; + bfd_vma a_val; +} Elf_Internal_Auxv; -#define elf32_internal_verdef elf_internal_verdef -#define elf64_internal_verdef elf_internal_verdef -#define elf32_internal_verdaux elf_internal_verdaux -#define elf64_internal_verdaux elf_internal_verdaux -#define elf32_internal_verneed elf_internal_verneed -#define elf64_internal_verneed elf_internal_verneed -#define elf32_internal_vernaux elf_internal_vernaux -#define elf64_internal_vernaux elf_internal_vernaux -#define elf32_internal_versym elf_internal_versym -#define elf64_internal_versym elf_internal_versym - -#define Elf32_Internal_Verdef Elf_Internal_Verdef -#define Elf64_Internal_Verdef Elf_Internal_Verdef -#define Elf32_Internal_Verdaux Elf_Internal_Verdaux -#define Elf64_Internal_Verdaux Elf_Internal_Verdaux -#define Elf32_Internal_Verneed Elf_Internal_Verneed -#define Elf64_Internal_Verneed Elf_Internal_Verneed -#define Elf32_Internal_Vernaux Elf_Internal_Vernaux -#define Elf64_Internal_Vernaux Elf_Internal_Vernaux -#define Elf32_Internal_Versym Elf_Internal_Versym -#define Elf64_Internal_Versym Elf_Internal_Versym -#define Elf32_Internal_Syminfo Elf_Internal_Syminfo -#define Elf64_Internal_Syminfo Elf_Internal_Syminfo /* This structure is used to describe how sections should be assigned to program segments. */ diff --git a/contrib/binutils/include/elf/ip2k.h b/contrib/binutils/include/elf/ip2k.h new file mode 100644 index 0000000..c331b72 --- /dev/null +++ b/contrib/binutils/include/elf/ip2k.h @@ -0,0 +1,62 @@ +/* IP2xxx ELF support for BFD. + Copyright (C) 2000, 2002 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 2 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., + 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#ifndef _ELF_IP2K_H +#define _ELF_IP2K_H + +#include "elf/reloc-macros.h" + +/* Relocations. */ +START_RELOC_NUMBERS (elf_ip2k_reloc_type) + RELOC_NUMBER (R_IP2K_NONE, 0) + RELOC_NUMBER (R_IP2K_16, 1) + RELOC_NUMBER (R_IP2K_32, 2) + RELOC_NUMBER (R_IP2K_FR9, 3) + RELOC_NUMBER (R_IP2K_BANK, 4) + RELOC_NUMBER (R_IP2K_ADDR16CJP, 5) + RELOC_NUMBER (R_IP2K_PAGE3, 6) + RELOC_NUMBER (R_IP2K_LO8DATA, 7) + RELOC_NUMBER (R_IP2K_HI8DATA, 8) + RELOC_NUMBER (R_IP2K_LO8INSN, 9) + RELOC_NUMBER (R_IP2K_HI8INSN, 10) + RELOC_NUMBER (R_IP2K_PC_SKIP, 11) + RELOC_NUMBER (R_IP2K_TEXT, 12) + RELOC_NUMBER (R_IP2K_FR_OFFSET, 13) + RELOC_NUMBER (R_IP2K_EX8DATA, 14) +END_RELOC_NUMBERS(R_IP2K_max) + + +/* Define the data & instruction memory discriminator. In a linked + executable, an symbol should be deemed to point to an instruction + if ((address & IP2K_INSN_MASK) == IP2K_INSN_VALUE), and similarly + for the data space. See also `ld/emulparams/elf32ip2k.sh'. */ +/* ??? Consider extending the _MASK values to include all the + intermediate bits that must be zero due to the limited physical + memory size on the IP2K. */ + +#define IP2K_DATA_MASK 0xff000000 +#define IP2K_DATA_VALUE 0x01000000 +#define IP2K_INSN_MASK 0xff000000 +#define IP2K_INSN_VALUE 0x02000000 + +/* The location of the memory mapped hardware stack. */ +#define IP2K_STACK_VALUE 0x0f000000 +#define IP2K_STACK_SIZE 0x20 + +#endif /* _ELF_IP2K_H */ diff --git a/contrib/binutils/include/elf/iq2000.h b/contrib/binutils/include/elf/iq2000.h new file mode 100644 index 0000000..83c690c --- /dev/null +++ b/contrib/binutils/include/elf/iq2000.h @@ -0,0 +1,58 @@ +/* IQ2000 ELF support for BFD. + Copyright (C) 2002 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 2 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., +59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#ifndef _ELF_IQ2000_H +#define _ELF_IQ2000_H + +#include "elf/reloc-macros.h" + +/* Relocations. */ +START_RELOC_NUMBERS (elf_iq2000_reloc_type) + RELOC_NUMBER (R_IQ2000_NONE, 0) + RELOC_NUMBER (R_IQ2000_16, 1) + RELOC_NUMBER (R_IQ2000_32, 2) + RELOC_NUMBER (R_IQ2000_26, 3) + RELOC_NUMBER (R_IQ2000_PC16, 4) + RELOC_NUMBER (R_IQ2000_HI16, 5) + RELOC_NUMBER (R_IQ2000_LO16, 6) + RELOC_NUMBER (R_IQ2000_OFFSET_16, 7) + RELOC_NUMBER (R_IQ2000_OFFSET_21, 8) + RELOC_NUMBER (R_IQ2000_UHI16, 9) + RELOC_NUMBER (R_IQ2000_32_DEBUG, 10) + RELOC_NUMBER (R_IQ2000_GNU_VTINHERIT, 200) + RELOC_NUMBER (R_IQ2000_GNU_VTENTRY, 201) +END_RELOC_NUMBERS(R_IQ2000_max) + +#define EF_IQ2000_CPU_IQ2000 0x00000001 /* default */ +#define EF_IQ2000_CPU_IQ10 0x00000002 /* IQ10 */ +#define EF_IQ2000_CPU_MASK 0x00000003 /* specific cpu bits */ +#define EF_IQ2000_ALL_FLAGS (EF_IQ2000_CPU_MASK) + +/* Define the data & instruction memory discriminator. In a linked + executable, an symbol should be deemed to point to an instruction + if ((address & IQ2000_INSN_MASK) == IQ2000_INSN_VALUE), and similarly + for the data space. */ + +#define IQ2000_DATA_MASK 0x80000000 +#define IQ2000_DATA_VALUE 0x00000000 +#define IQ2000_INSN_MASK 0x80000000 +#define IQ2000_INSN_VALUE 0x80000000 + + +#endif /* _ELF_IQ2000_H */ diff --git a/contrib/binutils/include/elf/m32r.h b/contrib/binutils/include/elf/m32r.h index 2cb308d..709d792 100644 --- a/contrib/binutils/include/elf/m32r.h +++ b/contrib/binutils/include/elf/m32r.h @@ -1,21 +1,21 @@ /* M32R ELF support for BFD. - Copyright 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. + Copyright 1996, 1997, 1998, 1999, 2000, 2003 Free Software Foundation, Inc. -This file is part of BFD, the Binary File Descriptor library. + 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 2 of the License, or -(at your option) any later version. + 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 2 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. + 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., -59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + 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., + 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef _ELF_M32R_H #define _ELF_M32R_H @@ -25,18 +25,48 @@ along with this program; if not, write to the Free Software Foundation, Inc., /* Relocations. */ START_RELOC_NUMBERS (elf_m32r_reloc_type) RELOC_NUMBER (R_M32R_NONE, 0) - RELOC_NUMBER (R_M32R_16, 1) - RELOC_NUMBER (R_M32R_32, 2) - RELOC_NUMBER (R_M32R_24, 3) - RELOC_NUMBER (R_M32R_10_PCREL, 4) - RELOC_NUMBER (R_M32R_18_PCREL, 5) - RELOC_NUMBER (R_M32R_26_PCREL, 6) - RELOC_NUMBER (R_M32R_HI16_ULO, 7) - RELOC_NUMBER (R_M32R_HI16_SLO, 8) - RELOC_NUMBER (R_M32R_LO16, 9) - RELOC_NUMBER (R_M32R_SDA16, 10) - RELOC_NUMBER (R_M32R_GNU_VTINHERIT, 11) - RELOC_NUMBER (R_M32R_GNU_VTENTRY, 12) + /* REL relocations */ + RELOC_NUMBER (R_M32R_16, 1) /* For backwards compatibility. */ + RELOC_NUMBER (R_M32R_32, 2) /* For backwards compatibility. */ + RELOC_NUMBER (R_M32R_24, 3) /* For backwards compatibility. */ + RELOC_NUMBER (R_M32R_10_PCREL, 4) /* For backwards compatibility. */ + RELOC_NUMBER (R_M32R_18_PCREL, 5) /* For backwards compatibility. */ + RELOC_NUMBER (R_M32R_26_PCREL, 6) /* For backwards compatibility. */ + RELOC_NUMBER (R_M32R_HI16_ULO, 7) /* For backwards compatibility. */ + RELOC_NUMBER (R_M32R_HI16_SLO, 8) /* For backwards compatibility. */ + RELOC_NUMBER (R_M32R_LO16, 9) /* For backwards compatibility. */ + RELOC_NUMBER (R_M32R_SDA16, 10) /* For backwards compatibility. */ + RELOC_NUMBER (R_M32R_GNU_VTINHERIT, 11)/* For backwards compatibility. */ + RELOC_NUMBER (R_M32R_GNU_VTENTRY, 12) /* For backwards compatibility. */ + + /* RELA relocations */ + RELOC_NUMBER (R_M32R_16_RELA, 33) + RELOC_NUMBER (R_M32R_32_RELA, 34) + RELOC_NUMBER (R_M32R_24_RELA, 35) + RELOC_NUMBER (R_M32R_10_PCREL_RELA, 36) + RELOC_NUMBER (R_M32R_18_PCREL_RELA, 37) + RELOC_NUMBER (R_M32R_26_PCREL_RELA, 38) + RELOC_NUMBER (R_M32R_HI16_ULO_RELA, 39) + RELOC_NUMBER (R_M32R_HI16_SLO_RELA, 40) + RELOC_NUMBER (R_M32R_LO16_RELA, 41) + RELOC_NUMBER (R_M32R_SDA16_RELA, 42) + RELOC_NUMBER (R_M32R_RELA_GNU_VTINHERIT, 43) + RELOC_NUMBER (R_M32R_RELA_GNU_VTENTRY, 44) + + RELOC_NUMBER (R_M32R_GOT24, 48) + RELOC_NUMBER (R_M32R_26_PLTREL, 49) + RELOC_NUMBER (R_M32R_COPY, 50) + RELOC_NUMBER (R_M32R_GLOB_DAT, 51) + RELOC_NUMBER (R_M32R_JMP_SLOT, 52) + RELOC_NUMBER (R_M32R_RELATIVE, 53) + RELOC_NUMBER (R_M32R_GOTOFF, 54) + RELOC_NUMBER (R_M32R_GOTPC24, 55) + RELOC_NUMBER (R_M32R_GOT16_HI_ULO, 56) + RELOC_NUMBER (R_M32R_GOT16_HI_SLO, 57) + RELOC_NUMBER (R_M32R_GOT16_LO, 58) + RELOC_NUMBER (R_M32R_GOTPC_HI_ULO, 59) + RELOC_NUMBER (R_M32R_GOTPC_HI_SLO, 60) + RELOC_NUMBER (R_M32R_GOTPC_LO, 61) END_RELOC_NUMBERS (R_M32R_max) /* Processor specific section indices. These sections do not actually @@ -62,6 +92,25 @@ END_RELOC_NUMBERS (R_M32R_max) /* m32r code. */ #define E_M32R_ARCH 0x00000000 /* m32rx code. */ -#define E_M32RX_ARCH 0x10000000 +#define E_M32RX_ARCH 0x10000000 +/* m32r2 code. */ +#define E_M32R2_ARCH 0x20000000 + +/* 12 bit m32r new instructions field. */ +#define EF_M32R_INST 0x0FFF0000 +/* Parallel instructions. */ +#define E_M32R_HAS_PARALLEL 0x00010000 +/* Hidden instructions for m32rx: + jc, jnc, macwhi-a, macwlo-a, mulwhi-a, mulwlo-a, sth+, shb+, sat, pcmpbz, + sc, snc. */ +#define E_M32R_HAS_HIDDEN_INST 0x00020000 +/* New bit instructions: + clrpsw, setpsw, bset, bclr, btst. */ +#define E_M32R_HAS_BIT_INST 0x00040000 +/* Floating point instructions. */ +#define E_M32R_HAS_FLOAT_INST 0x00080000 + +/* 4 bit m32r ignore to check field. */ +#define EF_M32R_IGNORE 0x0000000F #endif diff --git a/contrib/binutils/include/elf/m68hc11.h b/contrib/binutils/include/elf/m68hc11.h index 0f9546d..1902f7f 100644 --- a/contrib/binutils/include/elf/m68hc11.h +++ b/contrib/binutils/include/elf/m68hc11.h @@ -1,5 +1,5 @@ /* m68hc11 & m68hc12 ELF support for BFD. - Copyright 1999, 2000 Free Software Foundation, Inc. + Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -37,6 +37,59 @@ START_RELOC_NUMBERS (elf_m68hc11_reloc_type) /* These are GNU extensions to enable C++ vtable garbage collection. */ RELOC_NUMBER (R_M68HC11_GNU_VTINHERIT, 9) RELOC_NUMBER (R_M68HC11_GNU_VTENTRY, 10) + + RELOC_NUMBER (R_M68HC11_24, 11) + RELOC_NUMBER (R_M68HC11_LO16, 12) + RELOC_NUMBER (R_M68HC11_PAGE, 13) + + /* GNU extension for linker relaxation. + Mark beginning of a jump instruction (any form). */ + RELOC_NUMBER (R_M68HC11_RL_JUMP, 20) + + /* Mark beginning of Gcc relaxation group instruction. */ + RELOC_NUMBER (R_M68HC11_RL_GROUP, 21) END_RELOC_NUMBERS (R_M68HC11_max) +/* Processor specific flags for the ELF header e_flags field. */ + +/* ABI identification. */ +#define EF_M68HC11_ABI 0x00000000F + +/* Integers are 32-bit long. */ +#define E_M68HC11_I32 0x000000001 + +/* Doubles are 64-bit long. */ +#define E_M68HC11_F64 0x000000002 + +/* Uses 68HC12 memory banks. */ +#define E_M68HC12_BANKS 0x000000004 + +#define EF_M68HC11_MACH_MASK 0xF0 +#define EF_M68HC11_GENERIC 0x00 /* Generic 68HC12/backward compatibility. */ +#define EF_M68HC12_MACH 0x10 /* 68HC12 microcontroller. */ +#define EF_M68HCS12_MACH 0x20 /* 68HCS12 microcontroller. */ +#define EF_M68HC11_MACH(mach) ((mach) & EF_M68HC11_MACH_MASK) + +/* True if we can merge machines. A generic HC12 can work on any proc + but once we have specific code, merge is not possible. */ +#define EF_M68HC11_CAN_MERGE_MACH(mach1, mach2) \ + ((EF_M68HC11_MACH (mach1) == EF_M68HC11_MACH (mach2)) \ + || (EF_M68HC11_MACH (mach1) == EF_M68HC11_GENERIC) \ + || (EF_M68HC11_MACH (mach2) == EF_M68HC11_GENERIC)) + +#define EF_M68HC11_MERGE_MACH(mach1, mach2) \ + (((EF_M68HC11_MACH (mach1) == EF_M68HC11_MACH (mach2)) \ + || (EF_M68HC11_MACH (mach1) == EF_M68HC11_GENERIC)) ? \ + EF_M68HC11_MACH (mach2) : EF_M68HC11_MACH (mach1)) + + +/* Special values for the st_other field in the symbol table. These + are used for 68HC12 to identify far functions (must be called with + 'call' and returns with 'rtc'). */ +#define STO_M68HC12_FAR 0x80 + +/* Identify interrupt handlers. This is used by the debugger to + correctly compute the stack frame. */ +#define STO_M68HC12_INTERRUPT 0x40 + #endif diff --git a/contrib/binutils/include/elf/mips.h b/contrib/binutils/include/elf/mips.h index 3b6fe99..ce43158 100644 --- a/contrib/binutils/include/elf/mips.h +++ b/contrib/binutils/include/elf/mips.h @@ -1,5 +1,5 @@ /* MIPS ELF support for BFD. - Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 + Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. By Ian Lance Taylor, Cygnus Support, <ian@cygnus.com>, from @@ -99,6 +99,9 @@ END_RELOC_NUMBERS (R_MIPS_maxext) position independent code. */ #define EF_MIPS_CPIC 0x00000004 +/* ??? Unknown flag, set in IRIX 6's BSDdup2.o in libbsd.a. */ +#define EF_MIPS_XGOT 0x00000008 + /* Code in file uses UCODE (obsolete) */ #define EF_MIPS_UCODE 0x00000010 @@ -145,6 +148,12 @@ END_RELOC_NUMBERS (R_MIPS_maxext) /* -mips64 code. */ #define E_MIPS_ARCH_64 0x60000000 +/* -mips32r2 code. */ +#define E_MIPS_ARCH_32R2 0x70000000 + +/* -mips64r2 code. */ +#define E_MIPS_ARCH_64R2 0x80000000 + /* The ABI of the file. Also see EF_MIPS_ABI2 above. */ #define EF_MIPS_ABI 0x0000F000 @@ -175,8 +184,11 @@ END_RELOC_NUMBERS (R_MIPS_maxext) #define E_MIPS_MACH_4010 0x00820000 #define E_MIPS_MACH_4100 0x00830000 #define E_MIPS_MACH_4650 0x00850000 +#define E_MIPS_MACH_4120 0x00870000 #define E_MIPS_MACH_4111 0x00880000 #define E_MIPS_MACH_SB1 0x008a0000 +#define E_MIPS_MACH_5400 0x00910000 +#define E_MIPS_MACH_5500 0x00980000 /* Processor specific section indices. These sections do not actually exist. Symbols with a st_shndx field corresponding to one of these @@ -447,9 +459,9 @@ typedef struct /* MIPS ELF .reginfo swapping routines. */ extern void bfd_mips_elf32_swap_reginfo_in - PARAMS ((bfd *, const Elf32_External_RegInfo *, Elf32_RegInfo *)); + (bfd *, const Elf32_External_RegInfo *, Elf32_RegInfo *); extern void bfd_mips_elf32_swap_reginfo_out - PARAMS ((bfd *, const Elf32_RegInfo *, Elf32_External_RegInfo *)); + (bfd *, const Elf32_RegInfo *, Elf32_External_RegInfo *); /* Processor specific section flags. */ @@ -813,9 +825,9 @@ typedef struct /* MIPS ELF option header swapping routines. */ extern void bfd_mips_elf_swap_options_in - PARAMS ((bfd *, const Elf_External_Options *, Elf_Internal_Options *)); + (bfd *, const Elf_External_Options *, Elf_Internal_Options *); extern void bfd_mips_elf_swap_options_out - PARAMS ((bfd *, const Elf_Internal_Options *, Elf_External_Options *)); + (bfd *, const Elf_Internal_Options *, Elf_External_Options *); /* Values which may appear in the kind field of an Elf_Options structure. */ @@ -917,9 +929,9 @@ typedef struct /* MIPS ELF reginfo swapping routines. */ extern void bfd_mips_elf64_swap_reginfo_in - PARAMS ((bfd *, const Elf64_External_RegInfo *, Elf64_Internal_RegInfo *)); + (bfd *, const Elf64_External_RegInfo *, Elf64_Internal_RegInfo *); extern void bfd_mips_elf64_swap_reginfo_out - PARAMS ((bfd *, const Elf64_Internal_RegInfo *, Elf64_External_RegInfo *)); + (bfd *, const Elf64_Internal_RegInfo *, Elf64_External_RegInfo *); /* Masks for the info work of an ODK_EXCEPTIONS descriptor. */ #define OEX_FPU_MIN 0x1f /* FPEs which must be enabled. */ diff --git a/contrib/binutils/include/elf/mmix.h b/contrib/binutils/include/elf/mmix.h index e3be26b..89778e4 100644 --- a/contrib/binutils/include/elf/mmix.h +++ b/contrib/binutils/include/elf/mmix.h @@ -1,5 +1,5 @@ /* MMIX support for BFD. - Copyright (C) 2001, 2002 Free Software Foundation, Inc. + Copyright 2001, 2002, 2003 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "elf/reloc-macros.h" -/* Relocations. */ +/* Relocations. See the reloc table in bfd/elf64-mmix.c for details. */ START_RELOC_NUMBERS (elf_mmix_reloc_type) RELOC_NUMBER (R_MMIX_NONE, 0) @@ -90,6 +90,9 @@ START_RELOC_NUMBERS (elf_mmix_reloc_type) /* A LOCAL assertion. */ RELOC_NUMBER (R_MMIX_LOCAL, 35) + + /* A PUSHJ instruction, generating a stub if it does not reach. */ + RELOC_NUMBER (R_MMIX_PUSHJ_STUBBABLE, 36) END_RELOC_NUMBERS (R_MMIX_max) @@ -157,12 +160,12 @@ END_RELOC_NUMBERS (R_MMIX_max) #define MMO_SEC_DEBUGGING 0x10000 #ifdef BFD_ARCH_SIZE -extern boolean _bfd_mmix_prepare_linker_allocated_gregs - PARAMS ((bfd *, struct bfd_link_info *)); -extern boolean _bfd_mmix_finalize_linker_allocated_gregs - PARAMS ((bfd *, struct bfd_link_info *)); -extern boolean _bfd_mmix_check_all_relocs - PARAMS ((bfd *, struct bfd_link_info *)); +extern bfd_boolean _bfd_mmix_before_linker_allocation + (bfd *, struct bfd_link_info *); +extern bfd_boolean _bfd_mmix_after_linker_allocation + (bfd *, struct bfd_link_info *); +extern bfd_boolean _bfd_mmix_check_all_relocs + (bfd *, struct bfd_link_info *); #endif #endif /* ELF_MMIX_H */ diff --git a/contrib/binutils/include/elf/mn10300.h b/contrib/binutils/include/elf/mn10300.h index e10be90..e640096 100644 --- a/contrib/binutils/include/elf/mn10300.h +++ b/contrib/binutils/include/elf/mn10300.h @@ -1,5 +1,5 @@ /* MN10300 ELF support for BFD. - Copyright 1998, 1999, 2000 Free Software Foundation, Inc. + Copyright 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -36,6 +36,20 @@ START_RELOC_NUMBERS (elf_mn10300_reloc_type) RELOC_NUMBER (R_MN10300_GNU_VTINHERIT, 7) RELOC_NUMBER (R_MN10300_GNU_VTENTRY, 8) RELOC_NUMBER (R_MN10300_24, 9) + RELOC_NUMBER (R_MN10300_GOTPC32, 10) + RELOC_NUMBER (R_MN10300_GOTPC16, 11) + RELOC_NUMBER (R_MN10300_GOTOFF32, 12) + RELOC_NUMBER (R_MN10300_GOTOFF24, 13) + RELOC_NUMBER (R_MN10300_GOTOFF16, 14) + RELOC_NUMBER (R_MN10300_PLT32, 15) + RELOC_NUMBER (R_MN10300_PLT16, 16) + RELOC_NUMBER (R_MN10300_GOT32, 17) + RELOC_NUMBER (R_MN10300_GOT24, 18) + RELOC_NUMBER (R_MN10300_GOT16, 19) + RELOC_NUMBER (R_MN10300_COPY, 20) + RELOC_NUMBER (R_MN10300_GLOB_DAT, 21) + RELOC_NUMBER (R_MN10300_JMP_SLOT, 22) + RELOC_NUMBER (R_MN10300_RELATIVE, 23) END_RELOC_NUMBERS (R_MN10300_MAX) /* Machine variant if we know it. This field was invented at Cygnus, @@ -50,4 +64,5 @@ END_RELOC_NUMBERS (R_MN10300_MAX) #define E_MN10300_MACH_MN10300 0x00810000 #define E_MN10300_MACH_AM33 0x00820000 +#define E_MN10300_MACH_AM33_2 0x00830000 #endif /* _ELF_MN10300_H */ diff --git a/contrib/binutils/include/elf/msp430.h b/contrib/binutils/include/elf/msp430.h new file mode 100644 index 0000000..912ded7 --- /dev/null +++ b/contrib/binutils/include/elf/msp430.h @@ -0,0 +1,56 @@ +/* MSP430 ELF support for BFD. + Copyright (C) 2002 Free Software Foundation, Inc. + Contributed by Dmitry Diky <diwil@mail.ru> + + 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 2 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., + 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#ifndef _ELF_MSP430_H +#define _ELF_MSP430_H + +#include "elf/reloc-macros.h" + +/* Processor specific flags for the ELF header e_flags field. */ +#define EF_MSP430_MACH 0xff + +#define E_MSP430_MACH_MSP430x11 11 +#define E_MSP430_MACH_MSP430x11x1 110 +#define E_MSP430_MACH_MSP430x12 12 +#define E_MSP430_MACH_MSP430x13 13 +#define E_MSP430_MACH_MSP430x14 14 +#define E_MSP430_MACH_MSP430x15 15 +#define E_MSP430_MACH_MSP430x16 16 +#define E_MSP430_MACH_MSP430x31 31 +#define E_MSP430_MACH_MSP430x32 32 +#define E_MSP430_MACH_MSP430x33 33 +#define E_MSP430_MACH_MSP430x41 41 +#define E_MSP430_MACH_MSP430x42 42 +#define E_MSP430_MACH_MSP430x43 43 +#define E_MSP430_MACH_MSP430x44 44 + +/* Relocations. */ +START_RELOC_NUMBERS (elf_msp430_reloc_type) + RELOC_NUMBER (R_MSP430_NONE, 0) + RELOC_NUMBER (R_MSP430_32, 1) + RELOC_NUMBER (R_MSP430_10_PCREL, 2) + RELOC_NUMBER (R_MSP430_16, 3) + RELOC_NUMBER (R_MSP430_16_PCREL, 4) + RELOC_NUMBER (R_MSP430_16_BYTE, 5) + RELOC_NUMBER (R_MSP430_16_PCREL_BYTE, 6) + +END_RELOC_NUMBERS (R_MSP430_max) + +#endif /* _ELF_MSP430_H */ diff --git a/contrib/binutils/include/elf/ppc.h b/contrib/binutils/include/elf/ppc.h index dfb43f4..b510f44 100644 --- a/contrib/binutils/include/elf/ppc.h +++ b/contrib/binutils/include/elf/ppc.h @@ -1,5 +1,6 @@ /* PPC ELF support for BFD. - Copyright 1995, 1996, 1998, 2000, 2001 Free Software Foundation, Inc. + Copyright 1995, 1996, 1998, 2000, 2001, 2002, 2003 + Free Software Foundation, Inc. By Michael Meissner, Cygnus Support, <meissner@cygnus.com>, from information in the System V Application Binary Interface, PowerPC Processor Supplement @@ -31,152 +32,111 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Relocations. */ START_RELOC_NUMBERS (elf_ppc_reloc_type) - RELOC_NUMBER (R_PPC_NONE, 0) - RELOC_NUMBER (R_PPC_ADDR32, 1) - RELOC_NUMBER (R_PPC_ADDR24, 2) - RELOC_NUMBER (R_PPC_ADDR16, 3) - RELOC_NUMBER (R_PPC_ADDR16_LO, 4) - RELOC_NUMBER (R_PPC_ADDR16_HI, 5) - RELOC_NUMBER (R_PPC_ADDR16_HA, 6) - RELOC_NUMBER (R_PPC_ADDR14, 7) - RELOC_NUMBER (R_PPC_ADDR14_BRTAKEN, 8) - RELOC_NUMBER (R_PPC_ADDR14_BRNTAKEN, 9) - RELOC_NUMBER (R_PPC_REL24, 10) - RELOC_NUMBER (R_PPC_REL14, 11) - RELOC_NUMBER (R_PPC_REL14_BRTAKEN, 12) - RELOC_NUMBER (R_PPC_REL14_BRNTAKEN, 13) - RELOC_NUMBER (R_PPC_GOT16, 14) - RELOC_NUMBER (R_PPC_GOT16_LO, 15) - RELOC_NUMBER (R_PPC_GOT16_HI, 16) - RELOC_NUMBER (R_PPC_GOT16_HA, 17) - RELOC_NUMBER (R_PPC_PLTREL24, 18) - RELOC_NUMBER (R_PPC_COPY, 19) - RELOC_NUMBER (R_PPC_GLOB_DAT, 20) - RELOC_NUMBER (R_PPC_JMP_SLOT, 21) - RELOC_NUMBER (R_PPC_RELATIVE, 22) - RELOC_NUMBER (R_PPC_LOCAL24PC, 23) - RELOC_NUMBER (R_PPC_UADDR32, 24) - RELOC_NUMBER (R_PPC_UADDR16, 25) - RELOC_NUMBER (R_PPC_REL32, 26) - RELOC_NUMBER (R_PPC_PLT32, 27) - RELOC_NUMBER (R_PPC_PLTREL32, 28) - RELOC_NUMBER (R_PPC_PLT16_LO, 29) - RELOC_NUMBER (R_PPC_PLT16_HI, 30) - RELOC_NUMBER (R_PPC_PLT16_HA, 31) - RELOC_NUMBER (R_PPC_SDAREL16, 32) - RELOC_NUMBER (R_PPC_SECTOFF, 33) - RELOC_NUMBER (R_PPC_SECTOFF_LO, 34) - RELOC_NUMBER (R_PPC_SECTOFF_HI, 35) - RELOC_NUMBER (R_PPC_SECTOFF_HA, 36) - RELOC_NUMBER (R_PPC_ADDR30, 37) - -/* The following relocs are from the 64-bit PowerPC ELF ABI. */ - RELOC_NUMBER (R_PPC64_ADDR64, 38) - RELOC_NUMBER (R_PPC64_ADDR16_HIGHER, 39) - RELOC_NUMBER (R_PPC64_ADDR16_HIGHERA, 40) - RELOC_NUMBER (R_PPC64_ADDR16_HIGHEST, 41) - RELOC_NUMBER (R_PPC64_ADDR16_HIGHESTA, 42) - RELOC_NUMBER (R_PPC64_UADDR64, 43) - RELOC_NUMBER (R_PPC64_REL64, 44) - RELOC_NUMBER (R_PPC64_PLT64, 45) - RELOC_NUMBER (R_PPC64_PLTREL64, 46) - RELOC_NUMBER (R_PPC64_TOC16, 47) - RELOC_NUMBER (R_PPC64_TOC16_LO, 48) - RELOC_NUMBER (R_PPC64_TOC16_HI, 49) - RELOC_NUMBER (R_PPC64_TOC16_HA, 50) - RELOC_NUMBER (R_PPC64_TOC, 51) - RELOC_NUMBER (R_PPC64_PLTGOT16, 52) - RELOC_NUMBER (R_PPC64_PLTGOT16_LO, 53) - RELOC_NUMBER (R_PPC64_PLTGOT16_HI, 54) - RELOC_NUMBER (R_PPC64_PLTGOT16_HA, 55) - -/* The following relocs were added in the 64-bit PowerPC ELF ABI revision 1.2. */ - RELOC_NUMBER (R_PPC64_ADDR16_DS, 56) - RELOC_NUMBER (R_PPC64_ADDR16_LO_DS, 57) - RELOC_NUMBER (R_PPC64_GOT16_DS, 58) - RELOC_NUMBER (R_PPC64_GOT16_LO_DS, 59) - RELOC_NUMBER (R_PPC64_PLT16_LO_DS, 60) - RELOC_NUMBER (R_PPC64_SECTOFF_DS, 61) - RELOC_NUMBER (R_PPC64_SECTOFF_LO_DS, 62) - RELOC_NUMBER (R_PPC64_TOC16_DS, 63) - RELOC_NUMBER (R_PPC64_TOC16_LO_DS, 64) - RELOC_NUMBER (R_PPC64_PLTGOT16_DS, 65) - RELOC_NUMBER (R_PPC64_PLTGOT16_LO_DS, 66) + RELOC_NUMBER (R_PPC_NONE, 0) + RELOC_NUMBER (R_PPC_ADDR32, 1) + RELOC_NUMBER (R_PPC_ADDR24, 2) + RELOC_NUMBER (R_PPC_ADDR16, 3) + RELOC_NUMBER (R_PPC_ADDR16_LO, 4) + RELOC_NUMBER (R_PPC_ADDR16_HI, 5) + RELOC_NUMBER (R_PPC_ADDR16_HA, 6) + RELOC_NUMBER (R_PPC_ADDR14, 7) + RELOC_NUMBER (R_PPC_ADDR14_BRTAKEN, 8) + RELOC_NUMBER (R_PPC_ADDR14_BRNTAKEN, 9) + RELOC_NUMBER (R_PPC_REL24, 10) + RELOC_NUMBER (R_PPC_REL14, 11) + RELOC_NUMBER (R_PPC_REL14_BRTAKEN, 12) + RELOC_NUMBER (R_PPC_REL14_BRNTAKEN, 13) + RELOC_NUMBER (R_PPC_GOT16, 14) + RELOC_NUMBER (R_PPC_GOT16_LO, 15) + RELOC_NUMBER (R_PPC_GOT16_HI, 16) + RELOC_NUMBER (R_PPC_GOT16_HA, 17) + RELOC_NUMBER (R_PPC_PLTREL24, 18) + RELOC_NUMBER (R_PPC_COPY, 19) + RELOC_NUMBER (R_PPC_GLOB_DAT, 20) + RELOC_NUMBER (R_PPC_JMP_SLOT, 21) + RELOC_NUMBER (R_PPC_RELATIVE, 22) + RELOC_NUMBER (R_PPC_LOCAL24PC, 23) + RELOC_NUMBER (R_PPC_UADDR32, 24) + RELOC_NUMBER (R_PPC_UADDR16, 25) + RELOC_NUMBER (R_PPC_REL32, 26) + RELOC_NUMBER (R_PPC_PLT32, 27) + RELOC_NUMBER (R_PPC_PLTREL32, 28) + RELOC_NUMBER (R_PPC_PLT16_LO, 29) + RELOC_NUMBER (R_PPC_PLT16_HI, 30) + RELOC_NUMBER (R_PPC_PLT16_HA, 31) + RELOC_NUMBER (R_PPC_SDAREL16, 32) + RELOC_NUMBER (R_PPC_SECTOFF, 33) + RELOC_NUMBER (R_PPC_SECTOFF_LO, 34) + RELOC_NUMBER (R_PPC_SECTOFF_HI, 35) + RELOC_NUMBER (R_PPC_SECTOFF_HA, 36) + RELOC_NUMBER (R_PPC_ADDR30, 37) + + /* Relocs added to support TLS. */ + RELOC_NUMBER (R_PPC_TLS, 67) + RELOC_NUMBER (R_PPC_DTPMOD32, 68) + RELOC_NUMBER (R_PPC_TPREL16, 69) + RELOC_NUMBER (R_PPC_TPREL16_LO, 70) + RELOC_NUMBER (R_PPC_TPREL16_HI, 71) + RELOC_NUMBER (R_PPC_TPREL16_HA, 72) + RELOC_NUMBER (R_PPC_TPREL32, 73) + RELOC_NUMBER (R_PPC_DTPREL16, 74) + RELOC_NUMBER (R_PPC_DTPREL16_LO, 75) + RELOC_NUMBER (R_PPC_DTPREL16_HI, 76) + RELOC_NUMBER (R_PPC_DTPREL16_HA, 77) + RELOC_NUMBER (R_PPC_DTPREL32, 78) + RELOC_NUMBER (R_PPC_GOT_TLSGD16, 79) + RELOC_NUMBER (R_PPC_GOT_TLSGD16_LO, 80) + RELOC_NUMBER (R_PPC_GOT_TLSGD16_HI, 81) + RELOC_NUMBER (R_PPC_GOT_TLSGD16_HA, 82) + RELOC_NUMBER (R_PPC_GOT_TLSLD16, 83) + RELOC_NUMBER (R_PPC_GOT_TLSLD16_LO, 84) + RELOC_NUMBER (R_PPC_GOT_TLSLD16_HI, 85) + RELOC_NUMBER (R_PPC_GOT_TLSLD16_HA, 86) + RELOC_NUMBER (R_PPC_GOT_TPREL16, 87) + RELOC_NUMBER (R_PPC_GOT_TPREL16_LO, 88) + RELOC_NUMBER (R_PPC_GOT_TPREL16_HI, 89) + RELOC_NUMBER (R_PPC_GOT_TPREL16_HA, 90) + RELOC_NUMBER (R_PPC_GOT_DTPREL16, 91) + RELOC_NUMBER (R_PPC_GOT_DTPREL16_LO, 92) + RELOC_NUMBER (R_PPC_GOT_DTPREL16_HI, 93) + RELOC_NUMBER (R_PPC_GOT_DTPREL16_HA, 94) /* The remaining relocs are from the Embedded ELF ABI, and are not in the SVR4 ELF ABI. */ - RELOC_NUMBER (R_PPC_EMB_NADDR32, 101) - RELOC_NUMBER (R_PPC_EMB_NADDR16, 102) - RELOC_NUMBER (R_PPC_EMB_NADDR16_LO, 103) - RELOC_NUMBER (R_PPC_EMB_NADDR16_HI, 104) - RELOC_NUMBER (R_PPC_EMB_NADDR16_HA, 105) - RELOC_NUMBER (R_PPC_EMB_SDAI16, 106) - RELOC_NUMBER (R_PPC_EMB_SDA2I16, 107) - RELOC_NUMBER (R_PPC_EMB_SDA2REL, 108) - RELOC_NUMBER (R_PPC_EMB_SDA21, 109) - RELOC_NUMBER (R_PPC_EMB_MRKREF, 110) - RELOC_NUMBER (R_PPC_EMB_RELSEC16, 111) - RELOC_NUMBER (R_PPC_EMB_RELST_LO, 112) - RELOC_NUMBER (R_PPC_EMB_RELST_HI, 113) - RELOC_NUMBER (R_PPC_EMB_RELST_HA, 114) - RELOC_NUMBER (R_PPC_EMB_BIT_FLD, 115) - RELOC_NUMBER (R_PPC_EMB_RELSDA, 116) - - /* These are GNU extensions to enable C++ vtable garbage collection. */ - RELOC_NUMBER (R_PPC_GNU_VTINHERIT, 253) - RELOC_NUMBER (R_PPC_GNU_VTENTRY, 254) + RELOC_NUMBER (R_PPC_EMB_NADDR32, 101) + RELOC_NUMBER (R_PPC_EMB_NADDR16, 102) + RELOC_NUMBER (R_PPC_EMB_NADDR16_LO, 103) + RELOC_NUMBER (R_PPC_EMB_NADDR16_HI, 104) + RELOC_NUMBER (R_PPC_EMB_NADDR16_HA, 105) + RELOC_NUMBER (R_PPC_EMB_SDAI16, 106) + RELOC_NUMBER (R_PPC_EMB_SDA2I16, 107) + RELOC_NUMBER (R_PPC_EMB_SDA2REL, 108) + RELOC_NUMBER (R_PPC_EMB_SDA21, 109) + RELOC_NUMBER (R_PPC_EMB_MRKREF, 110) + RELOC_NUMBER (R_PPC_EMB_RELSEC16, 111) + RELOC_NUMBER (R_PPC_EMB_RELST_LO, 112) + RELOC_NUMBER (R_PPC_EMB_RELST_HI, 113) + RELOC_NUMBER (R_PPC_EMB_RELST_HA, 114) + RELOC_NUMBER (R_PPC_EMB_BIT_FLD, 115) + RELOC_NUMBER (R_PPC_EMB_RELSDA, 116) + +/* Fake relocations for branch stubs. This will keep them + together. */ +#define R_PPC_RELAX32 251 +#define R_PPC_RELAX32PC 252 + +/* These are GNU extensions to enable C++ vtable garbage collection. */ + RELOC_NUMBER (R_PPC_GNU_VTINHERIT, 253) + RELOC_NUMBER (R_PPC_GNU_VTENTRY, 254) /* This is a phony reloc to handle any old fashioned TOC16 references that may still be in object files. */ - RELOC_NUMBER (R_PPC_TOC16, 255) + RELOC_NUMBER (R_PPC_TOC16, 255) END_RELOC_NUMBERS (R_PPC_max) -/* Aliases for R_PPC64-relocs. */ -#define R_PPC64_NONE R_PPC_NONE -#define R_PPC64_ADDR32 R_PPC_ADDR32 -#define R_PPC64_ADDR24 R_PPC_ADDR24 -#define R_PPC64_ADDR16 R_PPC_ADDR16 -#define R_PPC64_ADDR16_LO R_PPC_ADDR16_LO -#define R_PPC64_ADDR16_HI R_PPC_ADDR16_HI -#define R_PPC64_ADDR16_HA R_PPC_ADDR16_HA -#define R_PPC64_ADDR14 R_PPC_ADDR14 -#define R_PPC64_ADDR14_BRTAKEN R_PPC_ADDR14_BRTAKEN -#define R_PPC64_ADDR14_BRNTAKEN R_PPC_ADDR14_BRNTAKEN -#define R_PPC64_REL24 R_PPC_REL24 -#define R_PPC64_REL14 R_PPC_REL14 -#define R_PPC64_REL14_BRTAKEN R_PPC_REL14_BRTAKEN -#define R_PPC64_REL14_BRNTAKEN R_PPC_REL14_BRNTAKEN -#define R_PPC64_GOT16 R_PPC_GOT16 -#define R_PPC64_GOT16_LO R_PPC_GOT16_LO -#define R_PPC64_GOT16_HI R_PPC_GOT16_HI -#define R_PPC64_GOT16_HA R_PPC_GOT16_HA -#define R_PPC64_COPY R_PPC_COPY -#define R_PPC64_GLOB_DAT R_PPC_GLOB_DAT -#define R_PPC64_JMP_SLOT R_PPC_JMP_SLOT -#define R_PPC64_RELATIVE R_PPC_RELATIVE -#define R_PPC64_UADDR32 R_PPC_UADDR32 -#define R_PPC64_UADDR16 R_PPC_UADDR16 -#define R_PPC64_REL32 R_PPC_REL32 -#define R_PPC64_PLT32 R_PPC_PLT32 -#define R_PPC64_PLTREL32 R_PPC_PLTREL32 -#define R_PPC64_PLT16_LO R_PPC_PLT16_LO -#define R_PPC64_PLT16_HI R_PPC_PLT16_HI -#define R_PPC64_PLT16_HA R_PPC_PLT16_HA -#define R_PPC64_SECTOFF R_PPC_SECTOFF -#define R_PPC64_SECTOFF_LO R_PPC_SECTOFF_LO -#define R_PPC64_SECTOFF_HI R_PPC_SECTOFF_HI -#define R_PPC64_SECTOFF_HA R_PPC_SECTOFF_HA -#define R_PPC64_ADDR30 R_PPC_ADDR30 -#define R_PPC64_GNU_VTINHERIT R_PPC_GNU_VTINHERIT -#define R_PPC64_GNU_VTENTRY R_PPC_GNU_VTENTRY - -/* Specify the start of the .glink section. */ -#define DT_PPC64_GLINK DT_LOPROC - -/* Specify the start and size of the .opd section. */ -#define DT_PPC64_OPD (DT_LOPROC + 1) -#define DT_PPC64_OPDSZ (DT_LOPROC + 2) +#define IS_PPC_TLS_RELOC(R) \ + ((R) >= R_PPC_TLS && (R) <= R_PPC_GOT_DTPREL16_HA) /* Processor specific flags for the ELF header e_flags field. */ diff --git a/contrib/binutils/include/elf/ppc64.h b/contrib/binutils/include/elf/ppc64.h new file mode 100644 index 0000000..ee2b0ea --- /dev/null +++ b/contrib/binutils/include/elf/ppc64.h @@ -0,0 +1,156 @@ +/* PPC64 ELF support for BFD. + Copyright 2003 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 2 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#ifndef _ELF_PPC64_H +#define _ELF_PPC64_H + +#include "elf/reloc-macros.h" + +/* Relocations. */ +START_RELOC_NUMBERS (elf_ppc64_reloc_type) + RELOC_NUMBER (R_PPC64_NONE, 0) + RELOC_NUMBER (R_PPC64_ADDR32, 1) + RELOC_NUMBER (R_PPC64_ADDR24, 2) + RELOC_NUMBER (R_PPC64_ADDR16, 3) + RELOC_NUMBER (R_PPC64_ADDR16_LO, 4) + RELOC_NUMBER (R_PPC64_ADDR16_HI, 5) + RELOC_NUMBER (R_PPC64_ADDR16_HA, 6) + RELOC_NUMBER (R_PPC64_ADDR14, 7) + RELOC_NUMBER (R_PPC64_ADDR14_BRTAKEN, 8) + RELOC_NUMBER (R_PPC64_ADDR14_BRNTAKEN, 9) + RELOC_NUMBER (R_PPC64_REL24, 10) + RELOC_NUMBER (R_PPC64_REL14, 11) + RELOC_NUMBER (R_PPC64_REL14_BRTAKEN, 12) + RELOC_NUMBER (R_PPC64_REL14_BRNTAKEN, 13) + RELOC_NUMBER (R_PPC64_GOT16, 14) + RELOC_NUMBER (R_PPC64_GOT16_LO, 15) + RELOC_NUMBER (R_PPC64_GOT16_HI, 16) + RELOC_NUMBER (R_PPC64_GOT16_HA, 17) + /* 18 unused. 32-bit reloc is R_PPC_PLTREL24. */ + RELOC_NUMBER (R_PPC64_COPY, 19) + RELOC_NUMBER (R_PPC64_GLOB_DAT, 20) + RELOC_NUMBER (R_PPC64_JMP_SLOT, 21) + RELOC_NUMBER (R_PPC64_RELATIVE, 22) + /* 23 unused. 32-bit reloc is R_PPC_LOCAL24PC. */ + RELOC_NUMBER (R_PPC64_UADDR32, 24) + RELOC_NUMBER (R_PPC64_UADDR16, 25) + RELOC_NUMBER (R_PPC64_REL32, 26) + RELOC_NUMBER (R_PPC64_PLT32, 27) + RELOC_NUMBER (R_PPC64_PLTREL32, 28) + RELOC_NUMBER (R_PPC64_PLT16_LO, 29) + RELOC_NUMBER (R_PPC64_PLT16_HI, 30) + RELOC_NUMBER (R_PPC64_PLT16_HA, 31) + /* 32 unused. 32-bit reloc is R_PPC_SDAREL16. */ + RELOC_NUMBER (R_PPC64_SECTOFF, 33) + RELOC_NUMBER (R_PPC64_SECTOFF_LO, 34) + RELOC_NUMBER (R_PPC64_SECTOFF_HI, 35) + RELOC_NUMBER (R_PPC64_SECTOFF_HA, 36) + RELOC_NUMBER (R_PPC64_REL30, 37) + RELOC_NUMBER (R_PPC64_ADDR64, 38) + RELOC_NUMBER (R_PPC64_ADDR16_HIGHER, 39) + RELOC_NUMBER (R_PPC64_ADDR16_HIGHERA, 40) + RELOC_NUMBER (R_PPC64_ADDR16_HIGHEST, 41) + RELOC_NUMBER (R_PPC64_ADDR16_HIGHESTA, 42) + RELOC_NUMBER (R_PPC64_UADDR64, 43) + RELOC_NUMBER (R_PPC64_REL64, 44) + RELOC_NUMBER (R_PPC64_PLT64, 45) + RELOC_NUMBER (R_PPC64_PLTREL64, 46) + RELOC_NUMBER (R_PPC64_TOC16, 47) + RELOC_NUMBER (R_PPC64_TOC16_LO, 48) + RELOC_NUMBER (R_PPC64_TOC16_HI, 49) + RELOC_NUMBER (R_PPC64_TOC16_HA, 50) + RELOC_NUMBER (R_PPC64_TOC, 51) + RELOC_NUMBER (R_PPC64_PLTGOT16, 52) + RELOC_NUMBER (R_PPC64_PLTGOT16_LO, 53) + RELOC_NUMBER (R_PPC64_PLTGOT16_HI, 54) + RELOC_NUMBER (R_PPC64_PLTGOT16_HA, 55) + + /* The following relocs were added in the 64-bit PowerPC ELF ABI + revision 1.2. */ + RELOC_NUMBER (R_PPC64_ADDR16_DS, 56) + RELOC_NUMBER (R_PPC64_ADDR16_LO_DS, 57) + RELOC_NUMBER (R_PPC64_GOT16_DS, 58) + RELOC_NUMBER (R_PPC64_GOT16_LO_DS, 59) + RELOC_NUMBER (R_PPC64_PLT16_LO_DS, 60) + RELOC_NUMBER (R_PPC64_SECTOFF_DS, 61) + RELOC_NUMBER (R_PPC64_SECTOFF_LO_DS, 62) + RELOC_NUMBER (R_PPC64_TOC16_DS, 63) + RELOC_NUMBER (R_PPC64_TOC16_LO_DS, 64) + RELOC_NUMBER (R_PPC64_PLTGOT16_DS, 65) + RELOC_NUMBER (R_PPC64_PLTGOT16_LO_DS, 66) + + /* Relocs added to support TLS. PowerPC64 ELF ABI revision 1.5. */ + RELOC_NUMBER (R_PPC64_TLS, 67) + RELOC_NUMBER (R_PPC64_DTPMOD64, 68) + RELOC_NUMBER (R_PPC64_TPREL16, 69) + RELOC_NUMBER (R_PPC64_TPREL16_LO, 70) + RELOC_NUMBER (R_PPC64_TPREL16_HI, 71) + RELOC_NUMBER (R_PPC64_TPREL16_HA, 72) + RELOC_NUMBER (R_PPC64_TPREL64, 73) + RELOC_NUMBER (R_PPC64_DTPREL16, 74) + RELOC_NUMBER (R_PPC64_DTPREL16_LO, 75) + RELOC_NUMBER (R_PPC64_DTPREL16_HI, 76) + RELOC_NUMBER (R_PPC64_DTPREL16_HA, 77) + RELOC_NUMBER (R_PPC64_DTPREL64, 78) + RELOC_NUMBER (R_PPC64_GOT_TLSGD16, 79) + RELOC_NUMBER (R_PPC64_GOT_TLSGD16_LO, 80) + RELOC_NUMBER (R_PPC64_GOT_TLSGD16_HI, 81) + RELOC_NUMBER (R_PPC64_GOT_TLSGD16_HA, 82) + RELOC_NUMBER (R_PPC64_GOT_TLSLD16, 83) + RELOC_NUMBER (R_PPC64_GOT_TLSLD16_LO, 84) + RELOC_NUMBER (R_PPC64_GOT_TLSLD16_HI, 85) + RELOC_NUMBER (R_PPC64_GOT_TLSLD16_HA, 86) + RELOC_NUMBER (R_PPC64_GOT_TPREL16_DS, 87) + RELOC_NUMBER (R_PPC64_GOT_TPREL16_LO_DS, 88) + RELOC_NUMBER (R_PPC64_GOT_TPREL16_HI, 89) + RELOC_NUMBER (R_PPC64_GOT_TPREL16_HA, 90) + RELOC_NUMBER (R_PPC64_GOT_DTPREL16_DS, 91) + RELOC_NUMBER (R_PPC64_GOT_DTPREL16_LO_DS, 92) + RELOC_NUMBER (R_PPC64_GOT_DTPREL16_HI, 93) + RELOC_NUMBER (R_PPC64_GOT_DTPREL16_HA, 94) + RELOC_NUMBER (R_PPC64_TPREL16_DS, 95) + RELOC_NUMBER (R_PPC64_TPREL16_LO_DS, 96) + RELOC_NUMBER (R_PPC64_TPREL16_HIGHER, 97) + RELOC_NUMBER (R_PPC64_TPREL16_HIGHERA, 98) + RELOC_NUMBER (R_PPC64_TPREL16_HIGHEST, 99) + RELOC_NUMBER (R_PPC64_TPREL16_HIGHESTA, 100) + RELOC_NUMBER (R_PPC64_DTPREL16_DS, 101) + RELOC_NUMBER (R_PPC64_DTPREL16_LO_DS, 102) + RELOC_NUMBER (R_PPC64_DTPREL16_HIGHER, 103) + RELOC_NUMBER (R_PPC64_DTPREL16_HIGHERA, 104) + RELOC_NUMBER (R_PPC64_DTPREL16_HIGHEST, 105) + RELOC_NUMBER (R_PPC64_DTPREL16_HIGHESTA, 106) + + /* These are GNU extensions to enable C++ vtable garbage collection. */ + RELOC_NUMBER (R_PPC64_GNU_VTINHERIT, 253) + RELOC_NUMBER (R_PPC64_GNU_VTENTRY, 254) + +END_RELOC_NUMBERS (R_PPC64_max) + +#define IS_PPC64_TLS_RELOC(R) \ + ((R) >= R_PPC64_TLS && (R) <= R_PPC64_DTPREL16_HIGHESTA) + +/* Specify the start of the .glink section. */ +#define DT_PPC64_GLINK DT_LOPROC + +/* Specify the start and size of the .opd section. */ +#define DT_PPC64_OPD (DT_LOPROC + 1) +#define DT_PPC64_OPDSZ (DT_LOPROC + 2) + +#endif /* _ELF_PPC64_H */ diff --git a/contrib/binutils/include/elf/reloc-macros.h b/contrib/binutils/include/elf/reloc-macros.h index 9ad346c..4a3a60f 100644 --- a/contrib/binutils/include/elf/reloc-macros.h +++ b/contrib/binutils/include/elf/reloc-macros.h @@ -1,5 +1,5 @@ /* Generic relocation support for BFD. - Copyright 1998, 1999, 2000 Free Software Foundation, Inc. + Copyright 1998, 1999, 2000, 2003 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -46,10 +46,9 @@ If RELOC_MACROS_GEN_FUNC *is* defined, then instead the following function will be generated: - static const char * foo PARAMS ((unsigned long rtype)); + static const char *foo (unsigned long rtype); static const char * - foo (rtype) - unsigned long rtype; + foo (unsigned long rtype) { switch (rtype) { @@ -70,26 +69,22 @@ the relocation is not recognised, NULL is returned. */ #define START_RELOC_NUMBERS(name) \ -static const char * name PARAMS ((unsigned long rtype)); \ +static const char *name (unsigned long rtype); \ static const char * \ -name (rtype) \ - unsigned long rtype; \ +name (unsigned long rtype) \ { \ switch (rtype) \ - { + { -#if defined (__STDC__) || defined (ALMOST_STDC) -#define RELOC_NUMBER(name, number) case number : return #name ; -#else -#define RELOC_NUMBER(name, number) case number : return "name" ; -#endif +#define RELOC_NUMBER(name, number) \ + case number: return #name; #define FAKE_RELOC(name, number) #define EMPTY_RELOC(name) #define END_RELOC_NUMBERS(name) \ default: return NULL; \ - } \ + } \ } diff --git a/contrib/binutils/include/elf/s390.h b/contrib/binutils/include/elf/s390.h index 8b67c96..3a1306f 100644 --- a/contrib/binutils/include/elf/s390.h +++ b/contrib/binutils/include/elf/s390.h @@ -49,7 +49,7 @@ START_RELOC_NUMBERS (elf_s390_reloc_type) RELOC_NUMBER (R_390_GLOB_DAT, 10) /* Create GOT entry. */ RELOC_NUMBER (R_390_JMP_SLOT, 11) /* Create PLT entry. */ RELOC_NUMBER (R_390_RELATIVE, 12) /* Adjust by program base. */ - RELOC_NUMBER (R_390_GOTOFF, 13) /* 32 bit offset to GOT. */ + RELOC_NUMBER (R_390_GOTOFF32, 13) /* 32 bit offset to GOT. */ RELOC_NUMBER (R_390_GOTPC, 14) /* 32 bit PC relative offset to GOT. */ RELOC_NUMBER (R_390_GOT16, 15) /* 16 bit GOT offset. */ RELOC_NUMBER (R_390_PC16, 16) /* PC relative 16 bit. */ @@ -63,6 +63,58 @@ START_RELOC_NUMBERS (elf_s390_reloc_type) RELOC_NUMBER (R_390_GOT64, 24) /* 64 bit GOT offset. */ RELOC_NUMBER (R_390_PLT64, 25) /* 64 bit PC relative PLT address. */ RELOC_NUMBER (R_390_GOTENT, 26) /* 32 bit PC rel. to GOT entry >> 1. */ + RELOC_NUMBER (R_390_GOTOFF16, 27) /* 16 bit offset to GOT. */ + RELOC_NUMBER (R_390_GOTOFF64, 28) /* 64 bit offset to GOT. */ + RELOC_NUMBER (R_390_GOTPLT12, 29) /* 12 bit offset to jump slot. */ + RELOC_NUMBER (R_390_GOTPLT16, 30) /* 16 bit offset to jump slot. */ + RELOC_NUMBER (R_390_GOTPLT32, 31) /* 32 bit offset to jump slot. */ + RELOC_NUMBER (R_390_GOTPLT64, 32) /* 64 bit offset to jump slot. */ + RELOC_NUMBER (R_390_GOTPLTENT, 33) /* 32 bit rel. offset to jump slot. */ + RELOC_NUMBER (R_390_PLTOFF16, 34) /* 16 bit offset from GOT to PLT. */ + RELOC_NUMBER (R_390_PLTOFF32, 35) /* 32 bit offset from GOT to PLT. */ + RELOC_NUMBER (R_390_PLTOFF64, 36) /* 16 bit offset from GOT to PLT. */ + RELOC_NUMBER (R_390_TLS_LOAD, 37) /* Tag for load insn in TLS code. */ + RELOC_NUMBER (R_390_TLS_GDCALL, 38) /* Tag for function call in general + dynamic TLS code. */ + RELOC_NUMBER (R_390_TLS_LDCALL, 39) /* Tag for function call in local + dynamic TLS code. */ + RELOC_NUMBER (R_390_TLS_GD32, 40) /* Direct 32 bit for general dynamic + thread local data. */ + RELOC_NUMBER (R_390_TLS_GD64, 41) /* Direct 64 bit for general dynamic + thread local data. */ + RELOC_NUMBER (R_390_TLS_GOTIE12, 42)/* 12 bit GOT offset for static TLS + block offset. */ + RELOC_NUMBER (R_390_TLS_GOTIE32, 43)/* 32 bit GOT offset for static TLS + block offset. */ + RELOC_NUMBER (R_390_TLS_GOTIE64, 44)/* 64 bit GOT offset for static TLS + block offset. */ + RELOC_NUMBER (R_390_TLS_LDM32, 45) /* Direct 32 bit for local dynamic + thread local data in LD code. */ + RELOC_NUMBER (R_390_TLS_LDM64, 46) /* Direct 64 bit for local dynamic + thread local data in LD code. */ + RELOC_NUMBER (R_390_TLS_IE32, 47) /* 32 bit address of GOT entry for + negated static TLS block offset. */ + RELOC_NUMBER (R_390_TLS_IE64, 48) /* 64 bit address of GOT entry for + negated static TLS block offset. */ + RELOC_NUMBER (R_390_TLS_IEENT, 49) /* 32 bit rel. offset to GOT entry for + negated static TLS block offset. */ + RELOC_NUMBER (R_390_TLS_LE32, 50) /* 32 bit negated offset relative to + static TLS block. */ + RELOC_NUMBER (R_390_TLS_LE64, 51) /* 64 bit negated offset relative to + static TLS block. */ + RELOC_NUMBER (R_390_TLS_LDO32, 52) /* 32 bit offset relative to TLS + block. */ + RELOC_NUMBER (R_390_TLS_LDO64, 53) /* 64 bit offset relative to TLS + block. */ + RELOC_NUMBER (R_390_TLS_DTPMOD, 54) /* ID of module containing symbol. */ + RELOC_NUMBER (R_390_TLS_DTPOFF, 55) /* Offset in TLS block. */ + RELOC_NUMBER (R_390_TLS_TPOFF, 56) /* Negate offset in static TLS + block. */ + RELOC_NUMBER (R_390_20, 57) /* Direct 20 bit. */ + RELOC_NUMBER (R_390_GOT20, 58) /* 20 bit GOT offset. */ + RELOC_NUMBER (R_390_GOTPLT20, 59) /* 20 bit offset to jump slot. */ + RELOC_NUMBER (R_390_TLS_GOTIE20, 60)/* 20 bit GOT offset for statis TLS + block offset. */ /* These are GNU extensions to enable C++ vtable garbage collection. */ RELOC_NUMBER (R_390_GNU_VTINHERIT, 250) RELOC_NUMBER (R_390_GNU_VTENTRY, 251) diff --git a/contrib/binutils/include/elf/sh.h b/contrib/binutils/include/elf/sh.h index af78c9b..15d460d 100644 --- a/contrib/binutils/include/elf/sh.h +++ b/contrib/binutils/include/elf/sh.h @@ -1,5 +1,5 @@ /* SH ELF support for BFD. - Copyright 1998, 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright 1998, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -27,12 +27,18 @@ #define EF_SH1 1 #define EF_SH2 2 #define EF_SH3 3 -#define EF_SH_HAS_DSP(flags) ((flags) & 4) +#define EF_SH_HAS_DSP(flags) (((flags) & EF_SH_MACH_MASK & ~3) == 4) #define EF_SH_DSP 4 #define EF_SH3_DSP 5 +#define EF_SH4AL_DSP 6 #define EF_SH_HAS_FP(flags) ((flags) & 8) #define EF_SH3E 8 #define EF_SH4 9 +#define EF_SH2E 11 +#define EF_SH4A 12 + +#define EF_SH4_NOFPU 0x10 +#define EF_SH4A_NOFPU 0x11 /* This one can only mix in objects from other EF_SH5 objects. */ #define EF_SH5 10 @@ -45,10 +51,32 @@ : (((mach1) < EF_SH3 && (mach2) == EF_SH_UNKNOWN) \ || ((mach2) < EF_SH3 && (mach1) == EF_SH_UNKNOWN)) \ ? EF_SH3 \ + : ((mach1) == EF_SH2E && EF_SH_HAS_FP (mach2)) \ + ? (mach2) \ + : ((mach2) == EF_SH2E && EF_SH_HAS_FP (mach1)) \ + ? (mach1) \ + : (((mach1) == EF_SH2E && (mach2) == EF_SH_UNKNOWN) \ + || ((mach2) == EF_SH2E && (mach1) == EF_SH_UNKNOWN)) \ + ? EF_SH2E \ : (((mach1) == EF_SH3E && (mach2) == EF_SH_UNKNOWN) \ || ((mach2) == EF_SH3E && (mach1) == EF_SH_UNKNOWN)) \ ? EF_SH4 \ - : ((mach1) > (mach2) ? (mach1) : (mach2))) + /* ??? SH4? Why not SH3E? */ \ + : ((((mach1) == EF_SH4_NOFPU || (mach1) == EF_SH4A_NOFPU) \ + && EF_SH_HAS_DSP (mach2)) \ + || (((mach2) == EF_SH4_NOFPU || (mach2) == EF_SH4A_NOFPU) \ + && EF_SH_HAS_DSP (mach1))) \ + ? EF_SH4AL_DSP \ + : ((mach1) == EF_SH4_NOFPU && EF_SH_HAS_FP (mach2)) \ + ? ((mach2) < EF_SH4A) ? EF_SH4 : (mach2) \ + : ((mach2) == EF_SH4_NOFPU && EF_SH_HAS_FP (mach1)) \ + ? ((mach1) < EF_SH4A) ? EF_SH4 : (mach1) \ + : ((mach1) == EF_SH4A_NOFPU && EF_SH_HAS_FP (mach2)) \ + ? ((mach2) <= EF_SH4A) ? EF_SH4A : (mach2) \ + : ((mach2) == EF_SH4A_NOFPU && EF_SH_HAS_FP (mach1)) \ + ? ((mach1) <= EF_SH4A) ? EF_SH4A : (mach1) \ + : (((mach1) == EF_SH2E ? 7 : (mach1)) > ((mach2) == EF_SH2E ? 7 : (mach2)) \ + ? (mach1) : (mach2))) /* Flags for the st_other symbol field. Keep away from the STV_ visibility flags (bit 0..1). */ @@ -71,66 +99,11 @@ symbols). */ #define STT_DATALABEL STT_LOPROC -#define SH64_CRANGES_SECTION_NAME ".cranges" -enum sh64_elf_cr_type { - CRT_NONE = 0, - CRT_DATA = 1, - CRT_SH5_ISA16 = 2, - CRT_SH5_ISA32 = 3 -}; - -/* The official definition is this: - - typedef struct { - Elf32_Addr cr_addr; - Elf32_Word cr_size; - Elf32_Half cr_type; - } Elf32_CRange; - - but we have no use for that exact type. Instead we use this struct for - the internal representation. */ -typedef struct { - bfd_vma cr_addr; - bfd_size_type cr_size; - enum sh64_elf_cr_type cr_type; -} sh64_elf_crange; - -#define SH64_CRANGE_SIZE (4 + 4 + 2) -#define SH64_CRANGE_CR_ADDR_OFFSET 0 -#define SH64_CRANGE_CR_SIZE_OFFSET 4 -#define SH64_CRANGE_CR_TYPE_OFFSET (4 + 4) - -/* Get the contents type of an arbitrary address, or return CRT_NONE. */ -extern enum sh64_elf_cr_type sh64_get_contents_type - PARAMS ((asection *, bfd_vma, sh64_elf_crange *)); - -/* Simpler interface. - FIXME: This seems redundant now that we export the interface above. */ -extern boolean sh64_address_is_shmedia PARAMS ((asection *, bfd_vma)); - -extern int _bfd_sh64_crange_qsort_cmpb PARAMS ((const void *, const void *)); -extern int _bfd_sh64_crange_qsort_cmpl PARAMS ((const void *, const void *)); -extern int _bfd_sh64_crange_bsearch_cmpb PARAMS ((const void *, const void *)); -extern int _bfd_sh64_crange_bsearch_cmpl PARAMS ((const void *, const void *)); - -/* We put this in elf_section_data (section)->tdata. */ -struct sh64_section_data -{ - flagword contents_flags; - - /* Only used in the cranges section, but we don't have an official - backend-specific bfd field. */ - bfd_size_type cranges_growth; -}; - -#define sh64_elf_section_data(sec) \ - ((struct sh64_section_data *) ((elf_section_data (sec))->tdata)) - #include "elf/reloc-macros.h" /* Relocations. */ -/* Relocations 25ff are GNU extensions. - 25..33 are used for relaxation and use the same constants as COFF uses. */ +/* Relocations 10-32 and 128-255 are GNU extensions. + 25..32 and 10 are used for relaxation. */ START_RELOC_NUMBERS (elf_sh_reloc_type) RELOC_NUMBER (R_SH_NONE, 0) RELOC_NUMBER (R_SH_DIR32, 1) @@ -142,8 +115,16 @@ START_RELOC_NUMBERS (elf_sh_reloc_type) RELOC_NUMBER (R_SH_DIR8BP, 7) RELOC_NUMBER (R_SH_DIR8W, 8) RELOC_NUMBER (R_SH_DIR8L, 9) - FAKE_RELOC (R_SH_FIRST_INVALID_RELOC, 10) - FAKE_RELOC (R_SH_LAST_INVALID_RELOC, 24) + + RELOC_NUMBER (R_SH_LOOP_START, 10) + RELOC_NUMBER (R_SH_LOOP_END, 11) + + FAKE_RELOC (R_SH_FIRST_INVALID_RELOC, 12) + FAKE_RELOC (R_SH_LAST_INVALID_RELOC, 21) + + RELOC_NUMBER (R_SH_GNU_VTINHERIT, 22) + RELOC_NUMBER (R_SH_GNU_VTENTRY, 23) + RELOC_NUMBER (R_SH_SWITCH8, 24) RELOC_NUMBER (R_SH_SWITCH16, 25) RELOC_NUMBER (R_SH_SWITCH32, 26) RELOC_NUMBER (R_SH_USES, 27) @@ -152,13 +133,19 @@ START_RELOC_NUMBERS (elf_sh_reloc_type) RELOC_NUMBER (R_SH_CODE, 30) RELOC_NUMBER (R_SH_DATA, 31) RELOC_NUMBER (R_SH_LABEL, 32) - RELOC_NUMBER (R_SH_SWITCH8, 33) - RELOC_NUMBER (R_SH_GNU_VTINHERIT, 34) - RELOC_NUMBER (R_SH_GNU_VTENTRY, 35) - RELOC_NUMBER (R_SH_LOOP_START, 36) - RELOC_NUMBER (R_SH_LOOP_END, 37) - FAKE_RELOC (R_SH_FIRST_INVALID_RELOC_2, 38) - FAKE_RELOC (R_SH_LAST_INVALID_RELOC_2, 44) + + RELOC_NUMBER (R_SH_DIR16, 33) + RELOC_NUMBER (R_SH_DIR8, 34) + RELOC_NUMBER (R_SH_DIR8UL, 35) + RELOC_NUMBER (R_SH_DIR8UW, 36) + RELOC_NUMBER (R_SH_DIR8U, 37) + RELOC_NUMBER (R_SH_DIR8SW, 38) + RELOC_NUMBER (R_SH_DIR8S, 39) + RELOC_NUMBER (R_SH_DIR4UL, 40) + RELOC_NUMBER (R_SH_DIR4UW, 41) + RELOC_NUMBER (R_SH_DIR4U, 42) + RELOC_NUMBER (R_SH_PSHA, 43) + RELOC_NUMBER (R_SH_PSHL, 44) RELOC_NUMBER (R_SH_DIR5U, 45) RELOC_NUMBER (R_SH_DIR6U, 46) RELOC_NUMBER (R_SH_DIR6S, 47) @@ -166,8 +153,21 @@ START_RELOC_NUMBERS (elf_sh_reloc_type) RELOC_NUMBER (R_SH_DIR10SW, 49) RELOC_NUMBER (R_SH_DIR10SL, 50) RELOC_NUMBER (R_SH_DIR10SQ, 51) - FAKE_RELOC (R_SH_FIRST_INVALID_RELOC_3, 52) - FAKE_RELOC (R_SH_LAST_INVALID_RELOC_3, 159) + FAKE_RELOC (R_SH_FIRST_INVALID_RELOC_2, 52) + FAKE_RELOC (R_SH_LAST_INVALID_RELOC_2, 52) + RELOC_NUMBER (R_SH_DIR16S, 53) + FAKE_RELOC (R_SH_FIRST_INVALID_RELOC_3, 54) + FAKE_RELOC (R_SH_LAST_INVALID_RELOC_3, 143) + RELOC_NUMBER (R_SH_TLS_GD_32, 144) + RELOC_NUMBER (R_SH_TLS_LD_32, 145) + RELOC_NUMBER (R_SH_TLS_LDO_32, 146) + RELOC_NUMBER (R_SH_TLS_IE_32, 147) + RELOC_NUMBER (R_SH_TLS_LE_32, 148) + RELOC_NUMBER (R_SH_TLS_DTPMOD32, 149) + RELOC_NUMBER (R_SH_TLS_DTPOFF32, 150) + RELOC_NUMBER (R_SH_TLS_TPOFF32, 151) + FAKE_RELOC (R_SH_FIRST_INVALID_RELOC_4, 152) + FAKE_RELOC (R_SH_LAST_INVALID_RELOC_4, 159) RELOC_NUMBER (R_SH_GOT32, 160) RELOC_NUMBER (R_SH_PLT32, 161) RELOC_NUMBER (R_SH_COPY, 162) @@ -205,8 +205,8 @@ START_RELOC_NUMBERS (elf_sh_reloc_type) RELOC_NUMBER (R_SH_GLOB_DAT64, 194) RELOC_NUMBER (R_SH_JMP_SLOT64, 195) RELOC_NUMBER (R_SH_RELATIVE64, 196) - FAKE_RELOC (R_SH_FIRST_INVALID_RELOC_4, 197) - FAKE_RELOC (R_SH_LAST_INVALID_RELOC_4, 241) + FAKE_RELOC (R_SH_FIRST_INVALID_RELOC_5, 197) + FAKE_RELOC (R_SH_LAST_INVALID_RELOC_5, 241) RELOC_NUMBER (R_SH_SHMEDIA_CODE, 242) RELOC_NUMBER (R_SH_PT_16, 243) RELOC_NUMBER (R_SH_IMMS16, 244) diff --git a/contrib/binutils/include/elf/sparc.h b/contrib/binutils/include/elf/sparc.h index 7c780f7..2d28d26 100644 --- a/contrib/binutils/include/elf/sparc.h +++ b/contrib/binutils/include/elf/sparc.h @@ -1,5 +1,5 @@ /* SPARC ELF support for BFD. - Copyright 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. + Copyright 1996, 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc. By Doug Evans, Cygnus Support, <dje@cygnus.com>. This file is part of BFD, the Binary File Descriptor library. @@ -126,13 +126,36 @@ START_RELOC_NUMBERS (elf_sparc_reloc_type) RELOC_NUMBER (R_SPARC_UA64, 54) RELOC_NUMBER (R_SPARC_UA16, 55) - /* little endian data relocs */ - RELOC_NUMBER (R_SPARC_REV32, 56) - + RELOC_NUMBER (R_SPARC_TLS_GD_HI22, 56) + RELOC_NUMBER (R_SPARC_TLS_GD_LO10, 57) + RELOC_NUMBER (R_SPARC_TLS_GD_ADD, 58) + RELOC_NUMBER (R_SPARC_TLS_GD_CALL, 59) + RELOC_NUMBER (R_SPARC_TLS_LDM_HI22, 60) + RELOC_NUMBER (R_SPARC_TLS_LDM_LO10, 61) + RELOC_NUMBER (R_SPARC_TLS_LDM_ADD, 62) + RELOC_NUMBER (R_SPARC_TLS_LDM_CALL, 63) + RELOC_NUMBER (R_SPARC_TLS_LDO_HIX22, 64) + RELOC_NUMBER (R_SPARC_TLS_LDO_LOX10, 65) + RELOC_NUMBER (R_SPARC_TLS_LDO_ADD, 66) + RELOC_NUMBER (R_SPARC_TLS_IE_HI22, 67) + RELOC_NUMBER (R_SPARC_TLS_IE_LO10, 68) + RELOC_NUMBER (R_SPARC_TLS_IE_LD, 69) + RELOC_NUMBER (R_SPARC_TLS_IE_LDX, 70) + RELOC_NUMBER (R_SPARC_TLS_IE_ADD, 71) + RELOC_NUMBER (R_SPARC_TLS_LE_HIX22, 72) + RELOC_NUMBER (R_SPARC_TLS_LE_LOX10, 73) + RELOC_NUMBER (R_SPARC_TLS_DTPMOD32, 74) + RELOC_NUMBER (R_SPARC_TLS_DTPMOD64, 75) + RELOC_NUMBER (R_SPARC_TLS_DTPOFF32, 76) + RELOC_NUMBER (R_SPARC_TLS_DTPOFF64, 77) + RELOC_NUMBER (R_SPARC_TLS_TPOFF32, 78) + RELOC_NUMBER (R_SPARC_TLS_TPOFF64, 79) + EMPTY_RELOC (R_SPARC_max_std) RELOC_NUMBER (R_SPARC_GNU_VTINHERIT, 250) RELOC_NUMBER (R_SPARC_GNU_VTENTRY, 251) + RELOC_NUMBER (R_SPARC_REV32, 252) END_RELOC_NUMBERS (R_SPARC_max) diff --git a/contrib/binutils/include/elf/v850.h b/contrib/binutils/include/elf/v850.h index 62b9541..7d5110b 100644 --- a/contrib/binutils/include/elf/v850.h +++ b/contrib/binutils/include/elf/v850.h @@ -1,22 +1,22 @@ /* V850 ELF support for BFD. - Copyright 1997, 1998, 2000 Free Software Foundation, Inc. + Copyright 1997, 1998, 2000, 2002, 2003 Free Software Foundation, Inc. Created by Michael Meissner, Cygnus Support <meissner@cygnus.com> -This file is part of BFD, the Binary File Descriptor library. + 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 2 of the License, or -(at your option) any later version. + 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 2 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. + 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* This file holds definitions specific to the MIPS ELF ABI. Note that most of this is not actually implemented by BFD. */ @@ -35,18 +35,18 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* v850e code. */ #define E_V850E_ARCH 0x10000000 -/* v850ea code. */ -#define E_V850EA_ARCH 0x20000000 +/* v850e1 code. */ +#define E_V850E1_ARCH 0x20000000 -/* Flags for the st_other field */ -#define V850_OTHER_SDA 0x01 /* symbol had SDA relocations */ -#define V850_OTHER_ZDA 0x02 /* symbol had ZDA relocations */ -#define V850_OTHER_TDA 0x04 /* symbol had TDA relocations */ -#define V850_OTHER_TDA_BYTE 0x08 /* symbol had TDA byte relocations */ -#define V850_OTHER_ERROR 0x80 /* symbol had an error reported */ +/* Flags for the st_other field. */ +#define V850_OTHER_SDA 0x01 /* Symbol had SDA relocations. */ +#define V850_OTHER_ZDA 0x02 /* Symbol had ZDA relocations. */ +#define V850_OTHER_TDA 0x04 /* Symbol had TDA relocations. */ +#define V850_OTHER_TDA_BYTE 0x08 /* Symbol had TDA byte relocations. */ +#define V850_OTHER_ERROR 0x80 /* Symbol had an error reported. */ -/* V850 relocations */ +/* V850 relocations. */ #include "elf/reloc-macros.h" START_RELOC_NUMBERS (v850_reloc_type) @@ -56,7 +56,7 @@ START_RELOC_NUMBERS (v850_reloc_type) RELOC_NUMBER (R_V850_HI16_S, 3) RELOC_NUMBER (R_V850_HI16, 4) RELOC_NUMBER (R_V850_LO16, 5) - RELOC_NUMBER (R_V850_32, 6) + RELOC_NUMBER (R_V850_ABS32, 6) RELOC_NUMBER (R_V850_16, 7) RELOC_NUMBER (R_V850_8, 8) RELOC_NUMBER( R_V850_SDA_16_16_OFFSET, 9) /* For ld.b, st.b, set1, clr1, not1, tst1, movea, movhi */ @@ -75,6 +75,10 @@ START_RELOC_NUMBERS (v850_reloc_type) RELOC_NUMBER( R_V850_CALLT_16_16_OFFSET, 22) /* For callt */ RELOC_NUMBER (R_V850_GNU_VTINHERIT, 23) RELOC_NUMBER (R_V850_GNU_VTENTRY, 24) + RELOC_NUMBER (R_V850_LONGCALL, 25) + RELOC_NUMBER (R_V850_LONGJUMP, 26) + RELOC_NUMBER (R_V850_ALIGN, 27) + RELOC_NUMBER (R_V850_REL32, 28) END_RELOC_NUMBERS (R_V850_max) @@ -103,5 +107,15 @@ END_RELOC_NUMBERS (R_V850_max) /* Section contains the .scommon data. */ #define SHT_V850_ZCOMMON 0x70000002 +/* Processor specific section flags. */ + +/* This section must be in the small data area (pointed to by GP). */ +#define SHF_V850_GPREL 0x10000000 + +/* This section must be in the tiny data area (pointed to by EP). */ +#define SHF_V850_EPREL 0x20000000 + +/* This section must be in the zero data area (pointed to by R0). */ +#define SHF_V850_R0REL 0x40000000 #endif /* _ELF_V850_H */ diff --git a/contrib/binutils/include/elf/x86-64.h b/contrib/binutils/include/elf/x86-64.h index 74febc2..7e9100d 100644 --- a/contrib/binutils/include/elf/x86-64.h +++ b/contrib/binutils/include/elf/x86-64.h @@ -1,5 +1,5 @@ /* x86_64 ELF support for BFD. - Copyright (C) 2000 Free Software Foundation, Inc. + Copyright (C) 2000, 2002 Free Software Foundation, Inc. Contributed by Jan Hubicka <jh@suse.cz> This file is part of BFD, the Binary File Descriptor library. @@ -25,22 +25,30 @@ START_RELOC_NUMBERS (elf_x86_64_reloc_type) RELOC_NUMBER (R_X86_64_NONE, 0) /* No reloc */ - RELOC_NUMBER (R_X86_64_64, 1) /* Direct 64 bit */ + RELOC_NUMBER (R_X86_64_64, 1) /* Direct 64 bit */ RELOC_NUMBER (R_X86_64_PC32, 2) /* PC relative 32 bit signed */ RELOC_NUMBER (R_X86_64_GOT32, 3) /* 32 bit GOT entry */ RELOC_NUMBER (R_X86_64_PLT32, 4) /* 32 bit PLT address */ RELOC_NUMBER (R_X86_64_COPY, 5) /* Copy symbol at runtime */ RELOC_NUMBER (R_X86_64_GLOB_DAT, 6) /* Create GOT entry */ - RELOC_NUMBER (R_X86_64_JUMP_SLOT, 7) /* Create PLT entry */ + RELOC_NUMBER (R_X86_64_JUMP_SLOT,7) /* Create PLT entry */ RELOC_NUMBER (R_X86_64_RELATIVE, 8) /* Adjust by program base */ RELOC_NUMBER (R_X86_64_GOTPCREL, 9) /* 32 bit signed pc relative offset to GOT */ - RELOC_NUMBER (R_X86_64_32, 10) /* Direct 32 bit zero extended */ - RELOC_NUMBER (R_X86_64_32S, 11) /* Direct 32 bit sign extended */ - RELOC_NUMBER (R_X86_64_16, 12) /* Direct 16 bit zero extended */ + RELOC_NUMBER (R_X86_64_32, 10) /* Direct 32 bit zero extended */ + RELOC_NUMBER (R_X86_64_32S, 11) /* Direct 32 bit sign extended */ + RELOC_NUMBER (R_X86_64_16, 12) /* Direct 16 bit zero extended */ RELOC_NUMBER (R_X86_64_PC16, 13) /* 16 bit sign extended pc relative*/ - RELOC_NUMBER (R_X86_64_8, 14) /* Direct 8 bit sign extended */ - RELOC_NUMBER (R_X86_64_PC8, 15) /* 8 bit sign extended pc relative*/ + RELOC_NUMBER (R_X86_64_8, 14) /* Direct 8 bit sign extended */ + RELOC_NUMBER (R_X86_64_PC8, 15) /* 8 bit sign extended pc relative*/ + RELOC_NUMBER (R_X86_64_DTPMOD64, 16) /* ID of module containing symbol */ + RELOC_NUMBER (R_X86_64_DTPOFF64, 17) /* Offset in TLS block */ + RELOC_NUMBER (R_X86_64_TPOFF64, 18) /* Offset in initial TLS block */ + RELOC_NUMBER (R_X86_64_TLSGD, 19) /* PC relative offset to GD GOT block */ + RELOC_NUMBER (R_X86_64_TLSLD, 20) /* PC relative offset to LD GOT block */ + RELOC_NUMBER (R_X86_64_DTPOFF32, 21) /* Offset in TLS block */ + RELOC_NUMBER (R_X86_64_GOTTPOFF, 22) /* PC relative offset to IE GOT entry */ + RELOC_NUMBER (R_X86_64_TPOFF32, 23) /* Offset in initial TLS block */ RELOC_NUMBER (R_X86_64_GNU_VTINHERIT, 250) /* GNU C++ hack */ RELOC_NUMBER (R_X86_64_GNU_VTENTRY, 251) /* GNU C++ hack */ END_RELOC_NUMBERS (R_X86_64_max) diff --git a/contrib/binutils/include/elf/xstormy16.h b/contrib/binutils/include/elf/xstormy16.h index ee6c551..6b1e98f 100644 --- a/contrib/binutils/include/elf/xstormy16.h +++ b/contrib/binutils/include/elf/xstormy16.h @@ -1,5 +1,5 @@ /* XSTORMY16 ELF support for BFD. - Copyright (C) 2001 Free Software Foundation, Inc. + Copyright (C) 2001, 2002 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -37,6 +37,10 @@ START_RELOC_NUMBERS (elf_xstormy16_reloc_type) RELOC_NUMBER (R_XSTORMY16_24, 8) RELOC_NUMBER (R_XSTORMY16_FPTR16, 9) + RELOC_NUMBER (R_XSTORMY16_LO16, 10) + RELOC_NUMBER (R_XSTORMY16_HI16, 11) + RELOC_NUMBER (R_XSTORMY16_12, 12) + RELOC_NUMBER (R_XSTORMY16_GNU_VTINHERIT, 128) RELOC_NUMBER (R_XSTORMY16_GNU_VTENTRY, 129) END_RELOC_NUMBERS (R_XSTORMY16_max) diff --git a/contrib/binutils/include/elf/xtensa.h b/contrib/binutils/include/elf/xtensa.h new file mode 100644 index 0000000..6c584c7 --- /dev/null +++ b/contrib/binutils/include/elf/xtensa.h @@ -0,0 +1,88 @@ +/* Xtensa ELF support for BFD. + Copyright 2003 Free Software Foundation, Inc. + Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica. + + 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 2 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +/* This file holds definitions specific to the Xtensa ELF ABI. */ + +#ifndef _ELF_XTENSA_H +#define _ELF_XTENSA_H + +#include "elf/reloc-macros.h" + +/* Relocations. */ +START_RELOC_NUMBERS (elf_xtensa_reloc_type) + RELOC_NUMBER (R_XTENSA_NONE, 0) + RELOC_NUMBER (R_XTENSA_32, 1) + RELOC_NUMBER (R_XTENSA_RTLD, 2) + RELOC_NUMBER (R_XTENSA_GLOB_DAT, 3) + RELOC_NUMBER (R_XTENSA_JMP_SLOT, 4) + RELOC_NUMBER (R_XTENSA_RELATIVE, 5) + RELOC_NUMBER (R_XTENSA_PLT, 6) + RELOC_NUMBER (R_XTENSA_OP0, 8) + RELOC_NUMBER (R_XTENSA_OP1, 9) + RELOC_NUMBER (R_XTENSA_OP2, 10) + RELOC_NUMBER (R_XTENSA_ASM_EXPAND, 11) + RELOC_NUMBER (R_XTENSA_ASM_SIMPLIFY, 12) + RELOC_NUMBER (R_XTENSA_GNU_VTINHERIT, 15) + RELOC_NUMBER (R_XTENSA_GNU_VTENTRY, 16) +END_RELOC_NUMBERS (R_XTENSA_max) + +/* Processor-specific flags for the ELF header e_flags field. */ + +/* Four-bit Xtensa machine type field. */ +#define EF_XTENSA_MACH 0x0000000f + +/* Various CPU types. */ +#define E_XTENSA_MACH 0x00000000 + +/* Leave bits 0xf0 alone in case we ever have more than 16 cpu types. + Highly unlikely, but what the heck. */ + +#define EF_XTENSA_XT_INSN 0x00000100 +#define EF_XTENSA_XT_LIT 0x00000200 + + +/* Processor-specific dynamic array tags. */ + +/* Offset of the table that records the GOT location(s). */ +#define DT_XTENSA_GOT_LOC_OFF 0x70000000 + +/* Number of entries in the GOT location table. */ +#define DT_XTENSA_GOT_LOC_SZ 0x70000001 + + +/* Definitions for instruction and literal property tables. The + tables for ".gnu.linkonce.*" sections are placed in the following + sections: + + instruction tables: .gnu.linkonce.x.* + literal tables: .gnu.linkonce.p.* +*/ + +#define XTENSA_INSN_SEC_NAME ".xt.insn" +#define XTENSA_LIT_SEC_NAME ".xt.lit" + +typedef struct property_table_entry_t +{ + bfd_vma address; + bfd_vma size; +} property_table_entry; + +#endif /* _ELF_XTENSA_H */ diff --git a/contrib/binutils/include/fibheap.h b/contrib/binutils/include/fibheap.h index fc37f9e..4eebaf1 100644 --- a/contrib/binutils/include/fibheap.h +++ b/contrib/binutils/include/fibheap.h @@ -59,8 +59,13 @@ typedef struct fibnode struct fibnode *right; fibheapkey_t key; void *data; +#ifdef __GNUC__ + __extension__ unsigned long int degree : 31; + __extension__ unsigned long int mark : 1; +#else unsigned int degree : 31; unsigned int mark : 1; +#endif } *fibnode_t; extern fibheap_t fibheap_new PARAMS ((void)); diff --git a/contrib/binutils/include/floatformat.h b/contrib/binutils/include/floatformat.h index 53ead3e..a8244ad 100644 --- a/contrib/binutils/include/floatformat.h +++ b/contrib/binutils/include/floatformat.h @@ -1,5 +1,5 @@ /* IEEE floating point support declarations, for GDB, the GNU Debugger. - Copyright 1991, 1994, 1995, 1997, 2000 Free Software Foundation, Inc. + Copyright 1991, 1994, 1995, 1997, 2000, 2003 Free Software Foundation, Inc. This file is part of GDB. @@ -61,8 +61,12 @@ struct floatformat unsigned int exp_start; unsigned int exp_len; - /* Amount added to "true" exponent. 0x3fff for many IEEE extendeds. */ - unsigned int exp_bias; + /* Bias added to a "true" exponent to form the biased exponent. It + is intentionally signed as, otherwize, -exp_bias can turn into a + very large number (e.g., given the exp_bias of 0x3fff and a 64 + bit long, the equation (long)(1 - exp_bias) evaluates to + 4294950914) instead of -16382). */ + int exp_bias; /* Exponent value which indicates NaN. This is the actual value stored in the float, not adjusted by the exp_bias. This usually consists of all one bits. */ @@ -76,6 +80,9 @@ struct floatformat /* Internal name for debugging. */ const char *name; + + /* Validator method. */ + int (*is_valid) PARAMS ((const struct floatformat *fmt, const char *from)); }; /* floatformats for IEEE single and double, big and little endian. */ @@ -109,13 +116,18 @@ extern const struct floatformat floatformat_ia64_quad_little; Store the double in *TO. */ extern void -floatformat_to_double PARAMS ((const struct floatformat *, char *, double *)); +floatformat_to_double PARAMS ((const struct floatformat *, const char *, double *)); /* The converse: convert the double *FROM to FMT and store where TO points. */ extern void floatformat_from_double PARAMS ((const struct floatformat *, - double *, char *)); + const double *, char *)); + +/* Return non-zero iff the data at FROM is a valid number in format FMT. */ + +extern int +floatformat_is_valid PARAMS ((const struct floatformat *fmt, const char *from)); #endif /* defined (FLOATFORMAT_H) */ diff --git a/contrib/binutils/include/getopt.h b/contrib/binutils/include/getopt.h new file mode 100644 index 0000000..a99a229 --- /dev/null +++ b/contrib/binutils/include/getopt.h @@ -0,0 +1,144 @@ +/* Declarations for getopt. + Copyright 1989, 1990, 1991, 1992, 1993, 1994, 1996, 1997, 1998, 2000, + 2002 Free Software Foundation, Inc. + + NOTE: The canonical source of this file is maintained with the GNU C Library. + Bugs can be reported to bug-glibc@gnu.org. + + 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 2, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ + +#ifndef _GETOPT_H +#define _GETOPT_H 1 + +#ifdef __cplusplus +extern "C" { +#endif + +/* For communication from `getopt' to the caller. + When `getopt' finds an option that takes an argument, + the argument value is returned here. + Also, when `ordering' is RETURN_IN_ORDER, + each non-option ARGV-element is returned here. */ + +extern char *optarg; + +/* Index in ARGV of the next element to be scanned. + This is used for communication to and from the caller + and for communication between successive calls to `getopt'. + + On entry to `getopt', zero means this is the first call; initialize. + + When `getopt' returns -1, this is the index of the first of the + non-option elements that the caller should itself scan. + + Otherwise, `optind' communicates from one call to the next + how much of ARGV has been scanned so far. */ + +extern int optind; + +/* Callers store zero here to inhibit the error message `getopt' prints + for unrecognized options. */ + +extern int opterr; + +/* Set to an option character which was unrecognized. */ + +extern int optopt; + +/* Describe the long-named options requested by the application. + The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector + of `struct option' terminated by an element containing a name which is + zero. + + The field `has_arg' is: + no_argument (or 0) if the option does not take an argument, + required_argument (or 1) if the option requires an argument, + optional_argument (or 2) if the option takes an optional argument. + + If the field `flag' is not NULL, it points to a variable that is set + to the value given in the field `val' when the option is found, but + left unchanged if the option is not found. + + To have a long-named option do something other than set an `int' to + a compiled-in constant, such as set a value from `optarg', set the + option's `flag' field to zero and its `val' field to a nonzero + value (the equivalent single-letter option character, if there is + one). For long options that have a zero `flag' field, `getopt' + returns the contents of the `val' field. */ + +struct option +{ +#if defined (__STDC__) && __STDC__ + const char *name; +#else + char *name; +#endif + /* has_arg can't be an enum because some compilers complain about + type mismatches in all the code that assumes it is an int. */ + int has_arg; + int *flag; + int val; +}; + +/* Names for the values of the `has_arg' field of `struct option'. */ + +#define no_argument 0 +#define required_argument 1 +#define optional_argument 2 + +#if defined (__STDC__) && __STDC__ +/* HAVE_DECL_* is a three-state macro: undefined, 0 or 1. If it is + undefined, we haven't run the autoconf check so provide the + declaration without arguments. If it is 0, we checked and failed + to find the declaration so provide a fully prototyped one. If it + is 1, we found it so don't provide any declaration at all. */ +#if !HAVE_DECL_GETOPT +#if defined (__GNU_LIBRARY__) || defined (HAVE_DECL_GETOPT) +/* Many other libraries have conflicting prototypes for getopt, with + differences in the consts, in unistd.h. To avoid compilation + errors, only prototype getopt for the GNU C library. */ +extern int getopt (int argc, char *const *argv, const char *shortopts); +#else +#ifndef __cplusplus +extern int getopt (); +#endif /* __cplusplus */ +#endif +#endif /* !HAVE_DECL_GETOPT */ + +extern int getopt_long (int argc, char *const *argv, const char *shortopts, + const struct option *longopts, int *longind); +extern int getopt_long_only (int argc, char *const *argv, + const char *shortopts, + const struct option *longopts, int *longind); + +/* Internal only. Users should not call this directly. */ +extern int _getopt_internal (int argc, char *const *argv, + const char *shortopts, + const struct option *longopts, int *longind, + int long_only); +#else /* not __STDC__ */ +extern int getopt (); +extern int getopt_long (); +extern int getopt_long_only (); + +extern int _getopt_internal (); +#endif /* __STDC__ */ + +#ifdef __cplusplus +} +#endif + +#endif /* getopt.h */ diff --git a/contrib/binutils/include/hashtab.h b/contrib/binutils/include/hashtab.h index be866b5..f7bd4ae 100644 --- a/contrib/binutils/include/hashtab.h +++ b/contrib/binutils/include/hashtab.h @@ -1,5 +1,5 @@ /* An expandable hash tables datatype. - Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. + Copyright (C) 1999, 2000, 2002, 2003 Free Software Foundation, Inc. Contributed by Vladimir Makarov (vmakarov@cygnus.com). This program is free software; you can redistribute it and/or modify @@ -76,10 +76,16 @@ typedef PTR (*htab_alloc) PARAMS ((size_t, size_t)); /* We also need a free() routine. */ typedef void (*htab_free) PARAMS ((PTR)); +/* Memory allocation and deallocation; variants which take an extra + argument. */ +typedef PTR (*htab_alloc_with_arg) PARAMS ((void *, size_t, size_t)); +typedef void (*htab_free_with_arg) PARAMS ((void *, void *)); + /* Hash tables are of the following type. The structure (implementation) of this type is not needed for using the hash tables. All work with hash table should be executed only through - functions mentioned below. */ + functions mentioned below. The size of this structure is subject to + change. */ struct htab GTY(()) { @@ -115,6 +121,11 @@ struct htab GTY(()) /* Pointers to allocate/free functions. */ htab_alloc alloc_f; htab_free free_f; + + /* Alternate allocate/free functions, which take an extra argument. */ + PTR GTY((skip (""))) alloc_arg; + htab_alloc_with_arg alloc_with_arg_f; + htab_free_with_arg free_with_arg_f; }; typedef struct htab *htab_t; @@ -128,10 +139,20 @@ extern htab_t htab_create_alloc PARAMS ((size_t, htab_hash, htab_eq, htab_del, htab_alloc, htab_free)); +extern htab_t htab_create_alloc_ex PARAMS ((size_t, htab_hash, + htab_eq, htab_del, + PTR, htab_alloc_with_arg, + htab_free_with_arg)); + /* Backward-compatibility functions. */ extern htab_t htab_create PARAMS ((size_t, htab_hash, htab_eq, htab_del)); extern htab_t htab_try_create PARAMS ((size_t, htab_hash, htab_eq, htab_del)); +extern void htab_set_functions_ex PARAMS ((htab_t, htab_hash, + htab_eq, htab_del, + PTR, htab_alloc_with_arg, + htab_free_with_arg)); + extern void htab_delete PARAMS ((htab_t)); extern void htab_empty PARAMS ((htab_t)); @@ -147,6 +168,7 @@ extern void htab_clear_slot PARAMS ((htab_t, void **)); extern void htab_remove_elt PARAMS ((htab_t, void *)); extern void htab_traverse PARAMS ((htab_t, htab_trav, void *)); +extern void htab_traverse_noresize PARAMS ((htab_t, htab_trav, void *)); extern size_t htab_size PARAMS ((htab_t)); extern size_t htab_elements PARAMS ((htab_t)); @@ -161,6 +183,11 @@ extern htab_eq htab_eq_pointer; /* A hash function for null-terminated strings. */ extern hashval_t htab_hash_string PARAMS ((const PTR)); +/* An iterative hash function for arbitrary data. */ +extern hashval_t iterative_hash PARAMS ((const PTR, size_t, hashval_t)); +/* Shorthand for hashing something with an intrinsic size. */ +#define iterative_hash_object(OB,INIT) iterative_hash (&OB, sizeof (OB), INIT) + #ifdef __cplusplus } #endif /* __cplusplus */ diff --git a/contrib/binutils/include/libiberty.h b/contrib/binutils/include/libiberty.h index 0463301..761b2cf 100644 --- a/contrib/binutils/include/libiberty.h +++ b/contrib/binutils/include/libiberty.h @@ -74,7 +74,7 @@ extern char **dupargv PARAMS ((char **)) ATTRIBUTE_MALLOC; to find the declaration so provide a fully prototyped one. If it is 1, we found it so don't provide any declaration at all. */ #if !HAVE_DECL_BASENAME -#if defined (__GNU_LIBRARY__ ) || defined (__linux__) || defined (__FreeBSD__) || defined (__OpenBSD__) || defined (__CYGWIN__) || defined (__CYGWIN32__) || defined (HAVE_DECL_BASENAME) +#if defined (__GNU_LIBRARY__ ) || defined (__linux__) || defined (__FreeBSD__) || defined (__OpenBSD__) || defined(__NetBSD__) || defined (__CYGWIN__) || defined (__CYGWIN32__) || defined (HAVE_DECL_BASENAME) extern char *basename PARAMS ((const char *)); #else extern char *basename (); @@ -85,6 +85,10 @@ extern char *basename (); extern const char *lbasename PARAMS ((const char *)); +/* A well-defined realpath () that is always compiled in. */ + +extern char *lrealpath PARAMS ((const char *)); + /* Concatenate an arbitrary number of strings. You must pass NULL as the last argument of this function, to terminate the list of strings. Allocates memory using xmalloc. */ @@ -145,6 +149,12 @@ extern char * getpwd PARAMS ((void)); extern long get_run_time PARAMS ((void)); +/* Generate a relocated path to some installation directory. Allocates + return value using malloc. */ + +extern char *make_relative_prefix PARAMS ((const char *, const char *, + const char *)); + /* Choose a temporary directory to use for scratch files. */ extern char *choose_temp_base PARAMS ((void)) ATTRIBUTE_MALLOC; @@ -236,16 +246,20 @@ extern char *xstrdup PARAMS ((const char *)) ATTRIBUTE_MALLOC; extern PTR xmemdup PARAMS ((const PTR, size_t, size_t)) ATTRIBUTE_MALLOC; +/* Physical memory routines. Return values are in BYTES. */ +extern double physmem_total PARAMS ((void)); +extern double physmem_available PARAMS ((void)); + /* hex character manipulation routines */ #define _hex_array_size 256 #define _hex_bad 99 -extern const char _hex_value[_hex_array_size]; +extern const unsigned char _hex_value[_hex_array_size]; extern void hex_init PARAMS ((void)); #define hex_p(c) (hex_value (c) != _hex_bad) /* If you change this, note well: Some code relies on side effects in the argument being performed exactly once. */ -#define hex_value(c) (_hex_value[(unsigned char) (c)]) +#define hex_value(c) ((unsigned int) _hex_value[(unsigned char) (c)]) /* Definitions used by the pexecute routine. */ @@ -264,16 +278,20 @@ extern int pexecute PARAMS ((const char *, char * const *, const char *, extern int pwait PARAMS ((int, int *, int)); +#if !HAVE_DECL_ASPRINTF /* Like sprintf but provides a pointer to malloc'd storage, which must be freed by the caller. */ extern int asprintf PARAMS ((char **, const char *, ...)) ATTRIBUTE_PRINTF_2; +#endif +#if !HAVE_DECL_VASPRINTF /* Like vsprintf but provides a pointer to malloc'd storage, which must be freed by the caller. */ extern int vasprintf PARAMS ((char **, const char *, va_list)) ATTRIBUTE_PRINTF(2,0); +#endif #define ARRAY_SIZE(a) (sizeof (a) / sizeof ((a)[0])) diff --git a/contrib/binutils/include/obstack.h b/contrib/binutils/include/obstack.h index d86d9f2..5496ff2 100644 --- a/contrib/binutils/include/obstack.h +++ b/contrib/binutils/include/obstack.h @@ -343,7 +343,7 @@ extern int obstack_exit_failure; #endif -#define obstack_1grow_fast(h,achar) (*((h)->next_free)++ = achar) +#define obstack_1grow_fast(h,achar) (*((h)->next_free)++ = (achar)) #define obstack_blank_fast(h,n) ((h)->next_free += (n)) @@ -411,7 +411,7 @@ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ if (__o->next_free + 1 > __o->chunk_limit) \ _obstack_newchunk (__o, 1); \ - *(__o->next_free)++ = (datum); \ + obstack_1grow_fast (__o, datum); \ (void) 0; }) /* These assume that the obstack alignment is good enough for pointers or ints, @@ -423,19 +423,28 @@ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ if (__o->next_free + sizeof (void *) > __o->chunk_limit) \ _obstack_newchunk (__o, sizeof (void *)); \ - *((void **)__o->next_free)++ = ((void *)datum); \ - (void) 0; }) + obstack_ptr_grow_fast (__o, datum); }) # define obstack_int_grow(OBSTACK,datum) \ __extension__ \ ({ struct obstack *__o = (OBSTACK); \ if (__o->next_free + sizeof (int) > __o->chunk_limit) \ _obstack_newchunk (__o, sizeof (int)); \ - *((int *)__o->next_free)++ = ((int)datum); \ + obstack_int_grow_fast (__o, datum); }) + +# define obstack_ptr_grow_fast(OBSTACK,aptr) \ +__extension__ \ +({ struct obstack *__o1 = (OBSTACK); \ + *(const void **) __o1->next_free = (aptr); \ + __o1->next_free += sizeof (const void *); \ (void) 0; }) -# define obstack_ptr_grow_fast(h,aptr) (*((void **) (h)->next_free)++ = (void *)aptr) -# define obstack_int_grow_fast(h,aint) (*((int *) (h)->next_free)++ = (int) aint) +# define obstack_int_grow_fast(OBSTACK,aint) \ +__extension__ \ +({ struct obstack *__o1 = (OBSTACK); \ + *(int *) __o1->next_free = (aint); \ + __o1->next_free += sizeof (int); \ + (void) 0; }) # define obstack_blank(OBSTACK,length) \ __extension__ \ @@ -443,7 +452,7 @@ __extension__ \ int __len = (length); \ if (__o->chunk_limit - __o->next_free < __len) \ _obstack_newchunk (__o, __len); \ - __o->next_free += __len; \ + obstack_blank_fast (__o, __len); \ (void) 0; }) # define obstack_alloc(OBSTACK,length) \ @@ -530,26 +539,29 @@ __extension__ \ # define obstack_1grow(h,datum) \ ( (((h)->next_free + 1 > (h)->chunk_limit) \ ? (_obstack_newchunk ((h), 1), 0) : 0), \ - (*((h)->next_free)++ = (datum))) + obstack_1grow_fast (h, datum)) # define obstack_ptr_grow(h,datum) \ ( (((h)->next_free + sizeof (char *) > (h)->chunk_limit) \ ? (_obstack_newchunk ((h), sizeof (char *)), 0) : 0), \ - (*((char **) (((h)->next_free+=sizeof(char *))-sizeof(char *))) = ((char *) datum))) + obstack_ptr_grow_fast (h, datum)) # define obstack_int_grow(h,datum) \ ( (((h)->next_free + sizeof (int) > (h)->chunk_limit) \ ? (_obstack_newchunk ((h), sizeof (int)), 0) : 0), \ - (*((int *) (((h)->next_free+=sizeof(int))-sizeof(int))) = ((int) datum))) + obstack_int_grow_fast (h, datum)) + +# define obstack_ptr_grow_fast(h,aptr) \ + (((const void **) ((h)->next_free += sizeof (void *)))[-1] = (aptr)) -# define obstack_ptr_grow_fast(h,aptr) (*((char **) (h)->next_free)++ = (char *) aptr) -# define obstack_int_grow_fast(h,aint) (*((int *) (h)->next_free)++ = (int) aint) +# define obstack_int_grow_fast(h,aint) \ + (((int *) ((h)->next_free += sizeof (int)))[-1] = (aptr)) # define obstack_blank(h,length) \ ( (h)->temp = (length), \ (((h)->chunk_limit - (h)->next_free < (h)->temp) \ ? (_obstack_newchunk ((h), (h)->temp), 0) : 0), \ - ((h)->next_free += (h)->temp)) + obstack_blank_fast (h, (h)->temp)) # define obstack_alloc(h,length) \ (obstack_blank ((h), (length)), obstack_finish ((h))) diff --git a/contrib/binutils/include/opcode/ChangeLog b/contrib/binutils/include/opcode/ChangeLog index 385b191..6c50775 100644 --- a/contrib/binutils/include/opcode/ChangeLog +++ b/contrib/binutils/include/opcode/ChangeLog @@ -1,2773 +1,39 @@ -2002-07-09 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> +2004-04-08 Alan Modra <amodra@bigpond.net.au> - * mips.h (INSN_MIPS16): New define. + Apply from mainline. + 2004-03-12 Jakub Jelinek <jakub@redhat.com> + * i386.h (i386_optab): Remove CpuNo64 from sysenter and sysexit. -2002-07-08 Alan Modra <amodra@bigpond.net.au> +2004-03-16 Alan Modra <amodra@bigpond.net.au> - * i386.h: Remove IgnoreSize from movsx and movzx. + * ppc.h (PPC_OPERAND_GPR_0): Define. Bump other operand defines. -2002-06-08 Alan Modra <amodra@bigpond.net.au> +2004-03-12 Michal Ludvig <mludvig@suse.cz> - * a29k.h: Replace CONST with const. - (CONST): Don't define. - * convex.h: Replace CONST with const. - (CONST): Don't define. - * dlx.h: Replace CONST with const. - * or32.h (CONST): Don't define. + * i386.h (i386_optab): Added xstore as an alias for xstorerng. -2002-05-30 Chris G. Demetriou <cgd@broadcom.com> +2004-03-12 Michal Ludvig <mludvig@suse.cz> - * mips.h (OP_SH_ALN, OP_MASK_ALN, OP_SH_VSEL, OP_MASK_VSEL) - (MDMX_FMTSEL_IMM_QH, MDMX_FMTSEL_IMM_OB, MDMX_FMTSEL_VEC_QH) - (MDMX_FMTSEL_VEC_OB, INSN_READ_MDMX_ACC, INSN_WRITE_MDMX_ACC) - (INSN_MDMX): New constants, for MDMX support. - (opcode character list): Add "O", "Q", "X", "Y", and "Z" for MDMX. + * i386.h (i386_optab): Added xstore/xcrypt insns. -2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net> +2004-02-09 Anil Paranjpe <anilp1@KPITCummins.com> - * dlx.h: New file. + * h8300.h (32bit ldc/stc): Add relaxing support. -2002-05-25 Alan Modra <amodra@bigpond.net.au> +2004-01-12 Anil Paranjpe <anilp1@KPITCummins.com> - * ia64.h: Use #include "" instead of <> for local header files. - * sparc.h: Likewise. + * h8300.h (BITOP): Pass MEMRELAX flag. -2002-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> +2004-01-09 Anil Paranjpe <anilp1@KPITCummins.com> - * mips.h: Add M_DROL, M_DROL_I, M_DROR, M_DROR_I macro cases. - -2002-05-17 Andrey Volkov <avolkov@sources.redhat.com> - - * h8300.h: Corrected defs of all control regs - and eepmov instr. - -2002-04-11 Alan Modra <amodra@bigpond.net.au> - - * i386.h: Add intel mode cmpsd and movsd. - Put them before SSE2 insns, so that rep prefix works. - -2002-03-15 Chris G. Demetriou <cgd@broadcom.com> - - * mips.h (INSN_MIPS3D): New definition used to mark MIPS-3D - instructions. - (OPCODE_IS_MEMBER): Adjust comments to indicate that ASE bit masks - may be passed along with the ISA bitmask. - -2002-03-05 Paul Koning <pkoning@equallogic.com> - - * pdp11.h: Add format codes for float instruction formats. - -2002-02-25 Alan Modra <amodra@bigpond.net.au> - - * ppc.h (PPC_OPCODE_POWER4, PPC_OPCODE_NOPOWER4): Define. - -Mon Feb 18 17:31:48 CET 2002 Jan Hubicka <jh@suse.cz> - - * i386.h (push,pop): Fix Reg64 to WordReg to allow 16bit operands. - -Mon Feb 11 12:53:19 CET 2002 Jan Hubicka <jh@suse.cz> - - * i386.h (push,pop): Allow 16bit operands in 64bit mode. - (xchg): Fix. - (in, out): Disable 64bit operands. - (call, jmp): Avoid REX prefixes. - (jcxz): Prohibit in 64bit mode - (jrcxz, loop): Add 64bit variants. - (movq): Fix patterns. - (movmskps, pextrw, pinstrw): Add 64bit variants. - -2002-01-31 Ivan Guzvinec <ivang@opencores.org> - - * or32.h: New file. - -2002-01-22 Graydon Hoare <graydon@redhat.com> - - * cgen.h (CGEN_MAYBE_MULTI_IFLD): New structure. - (CGEN_OPERAND): Add CGEN_MAYBE_MULTI_IFLD field. - -2002-01-21 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at> - - * h8300.h: Comment typo fix. - -2002-01-03 matthew green <mrg@redhat.com> - - * ppc.h (PPC_OPCODE_BOOKE): BookE is not Motorola specific. - (PPC_OPCODE_BOOKE64): Likewise. - -Mon Dec 31 16:45:41 2001 Jeffrey A Law (law@cygnus.com) - - * hppa.h (call, ret): Move to end of table. - (addb, addib): PA2.0 variants should have been PA2.0W. - (ldw, ldh, ldb, stw, sth, stb, stwa): Reorder to keep disassembler - happy. - (fldw, fldd, fstw, fstd, bb): Likewise. - (short loads/stores): Tweak format specifier slightly to keep - disassembler happy. - (indexed loads/stores): Likewise. - (absolute loads/stores): Likewise. - -2001-12-04 Alexandre Oliva <aoliva@redhat.com> - - * d10v.h (OPERAND_NOSP): New macro. - -2001-11-29 Alexandre Oliva <aoliva@redhat.com> - - * d10v.h (OPERAND_SP): New macro. - -2001-11-15 Alan Modra <amodra@bigpond.net.au> - - * ppc.h (struct powerpc_operand <insert, extract>): Add dialect param. - -2001-11-11 Timothy Wall <twall@alum.mit.edu> - - * tic54x.h: Revise opcode layout; don't really need a separate - structure for parallel opcodes. - -2001-11-13 Zack Weinberg <zack@codesourcery.com> - Alan Modra <amodra@bigpond.net.au> - - * i386.h (i386_optab): Add entries for "sldr", "smsw" and "str" to - accept WordReg. - -2001-11-04 Chris Demetriou <cgd@broadcom.com> - - * mips.h (OPCODE_IS_MEMBER): Remove extra space. - -2001-10-30 Hans-Peter Nilsson <hp@bitrange.com> - - * mmix.h: New file. - -2001-10-18 Chris Demetriou <cgd@broadcom.com> - - * mips.h (OPCODE_IS_MEMBER): Add a no-op term to the end - of the expression, to make source code merging easier. - -2001-10-17 Chris Demetriou <cgd@broadcom.com> - - * mips.h: Sort coprocessor instruction argument characters - in comment, add a few more words of description for "H". - -2001-10-17 Chris Demetriou <cgd@broadcom.com> - - * mips.h (INSN_SB1): New cpu-specific instruction bit. - (OPCODE_IS_MEMBER): Allow instructions matching INSN_SB1 - if cpu is CPU_SB1. - -2001-10-17 matthew green <mrg@redhat.com> - - * ppc.h (PPC_OPCODE_BOOKE64): Fix typo. - -2001-10-12 matthew green <mrg@redhat.com> - - * ppc.h (PPC_OPCODE_BOOKE, PPC_OPCODE_BOOKE64, PPC_OPCODE_403): New - opcode flags for BookE 32-bit, BookE 64-bit and PowerPC 403 - instructions, respectively. - -2001-09-27 Nick Clifton <nickc@cambridge.redhat.com> - - * v850.h: Remove spurious comment. - -2001-09-21 Nick Clifton <nickc@cambridge.redhat.com> - - * h8300.h: Fix compile time warning messages - -2001-09-04 Richard Henderson <rth@redhat.com> - - * alpha.h (struct alpha_operand): Pack elements into bitfields. - -2001-08-31 Eric Christopher <echristo@redhat.com> - - * mips.h: Remove CPU_MIPS32_4K. - -2001-08-27 Torbjorn Granlund <tege@swox.com> - - * ppc.h (PPC_OPERAND_DS): Define. - -2001-08-25 Andreas Jaeger <aj@suse.de> - - * d30v.h: Fix declaration of reg_name_cnt. - - * d10v.h: Fix declaration of d10v_reg_name_cnt. - - * arc.h: Add prototypes from opcodes/arc-opc.c. - -2001-08-16 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> - - * mips.h (INSN_10000): Define. - (OPCODE_IS_MEMBER): Check for INSN_10000. - -2001-08-10 Alan Modra <amodra@one.net.au> - - * ppc.h: Revert 2001-08-08. - -2001-08-10 Richard Sandiford <rsandifo@redhat.com> - - * mips.h (INSN_GP32): Remove. - (OPCODE_IS_MEMBER): Remove gp32 parameter. - (M_MOVE): New macro identifier. - -2001-08-08 Alan Modra <amodra@one.net.au> - - 1999-10-25 Torbjorn Granlund <tege@swox.com> - * ppc.h (struct powerpc_operand): New field `reloc'. - -2001-08-01 Aldy Hernandez <aldyh@redhat.com> - - * mips.h (INSN_ISA_MASK): Nuke bits 12-15. - -2001-07-12 Jeff Johnston <jjohnstn@redhat.com> - - * cgen.h (CGEN_INSN): Add regex support. - (build_insn_regex): Declare. - -2001-07-11 Frank Ch. Eigler <fche@redhat.com> - - * cgen.h (CGEN_MACH): Add insn_chunk_bitsize field. - (cgen_cpu_desc): Ditto. - -2001-07-07 Ben Elliston <bje@redhat.com> - - * m88k.h: Clean up and reformat. Remove unused code. - -2001-06-14 Geoffrey Keating <geoffk@redhat.com> - - * cgen.h (cgen_keyword): Add nonalpha_chars field. - -2001-05-23 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> - - * mips.h (CPU_R12000): Define. - -2001-05-23 John Healy <jhealy@redhat.com> - - * cgen.h: Increased CGEN_MAX_SYNTAX_ELEMENTS to 48. - -2001-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> - - * mips.h (INSN_ISA_MASK): Define. - -2001-05-12 Alan Modra <amodra@one.net.au> - - * i386.h (i386_optab): Second operand of cvtps2dq is an xmm reg, - not an mmx reg. Swap xmm/mmx regs on both movdq2q and movq2dq, - and use InvMem as these insns must have register operands. - -2001-05-04 Alan Modra <amodra@one.net.au> - - * i386.h (i386_optab): Move InvMem to first operand of pmovmskb - and pextrw to swap reg/rm assignments. - -2001-04-05 Hans-Peter Nilsson <hp@axis.com> - - * cris.h (enum cris_insn_version_usage): Correct comment for - cris_ver_v3p. - -2001-03-24 Alan Modra <alan@linuxcare.com.au> - - * i386.h (i386_optab): Correct entry for "movntdq". Add "punpcklqdq". - Add InvMem to first operand of "maskmovdqu". - -2001-03-22 Hans-Peter Nilsson <hp@axis.com> - - * cris.h (ADD_PC_INCR_OPCODE): New macro. - -2001-03-21 Kazu Hirata <kazu@hxi.com> - - * h8300.h: Fix formatting. - -2001-03-22 Alan Modra <alan@linuxcare.com.au> - - * i386.h (i386_optab): Add paddq, psubq. - -2001-03-19 Alan Modra <alan@linuxcare.com.au> - - * i386.h (REGNAM_AL, REGNAM_AX, REGNAM_EAX): Define. - -2001-02-28 Igor Shevlyakov <igor@windriver.com> - - * m68k.h: new defines for Coldfire V4. Update mcf to know - about mcf5407. - -2001-02-18 lars brinkhoff <lars@nocrew.org> - - * pdp11.h: New file. - -2001-02-12 Jan Hubicka <jh@suse.cz> - - * i386.h (i386_optab): SSE integer converison instructions have - 64bit versions on x86-64. - -2001-02-10 Nick Clifton <nickc@redhat.com> - - * mips.h: Remove extraneous whitespace. Formating change to allow - for future contribution. - -2001-02-09 Martin Schwidefsky <schwidefsky@de.ibm.com> - - * s390.h: New file. - -2001-02-02 Patrick Macdonald <patrickm@redhat.com> - - * cgen.h (CGEN_SYNTAX_CHAR_TYPE): Typedef as unsigned short. - (CGEN_MAX_SYNTAX_ELEMENTS): Rename from CGEN_MAX_SYNTAX_BYTES. - (CGEN_SYNTAX): Define using CGEN_MAX_SYNTAX_ELEMENTS. - -2001-01-24 Karsten Keil <kkeil@suse.de> - - * i386.h (i386_optab): Fix swapgs - -2001-01-14 Alan Modra <alan@linuxcare.com.au> - - * hppa.h: Describe new '<' and '>' operand types, and tidy - existing comments. - (pa_opcodes): Add entries for missing wide mode ldi,ldo,ldw,stw. - Remove duplicate "ldw j(s,b),x". Sort some entries. - -2001-01-13 Jan Hubicka <jh@suse.cz> - - * i386.h (i386_optab): Fix pusha and ret templates. - -2001-01-11 Peter Targett <peter.targett@arccores.com> - - * arc.h (ARC_MACH_5, ARC_MACH_6, ARC_MACH_7, ARC_MACH_8): New - definitions for masking cpu type. - (arc_ext_operand_value) New structure for storing extended - operands. - (ARC_OPERAND_*) Flags for operand values. - -2001-01-10 Jan Hubicka <jh@suse.cz> - - * i386.h (pinsrw): Add. - (pshufw): Remove. - (cvttpd2dq): Fix operands. - (cvttps2dq): Likewise. - (movq2q): Rename to movdq2q. - -2001-01-10 Richard Schaal <richard.schaal@intel.com> - - * i386.h: Correct movnti instruction. - -2001-01-09 Jeff Johnston <jjohnstn@redhat.com> - - * cgen.h (CGEN_SYNTAX_CHAR_TYPE): New typedef based on max number - of operands (unsigned char or unsigned short). - (CGEN_SYNTAX): Changed to make array CGEN_SYNTAX_CHAR_TYPE. - (CGEN_SYNTAX_CHAR): Changed to cast to unsigned char. - -2001-01-05 Jan Hubicka <jh@suse.cz> - - * i386.h (i386_optab): Make [sml]fence template to use immext field. - -2001-01-03 Jan Hubicka <jh@suse.cz> - - * i386.h (i386_optab): Fix 64bit pushf template; Add instructions - introduced by Pentium4 - -2000-12-30 Jan Hubicka <jh@suse.cz> - - * i386.h (i386_optab): Add "rex*" instructions; - add swapgs; disable jmp/call far direct instructions for - 64bit mode; add syscall and sysret; disable registers for 0xc6 - template. Add 'q' suffixes to extendable instructions, disable - obsolete instructions, add new sign/zero extension ones. - (i386_regtab): Add extended registers. - (*Suf): Add No_qSuf. - (q_Suf, wlq_Suf, bwlq_Suf): New. - -2000-12-20 Jan Hubicka <jh@suse.cz> - - * i386.h (i386_optab): Replace "Imm" with "EncImm". - (i386_regtab): Add flags field. - -2000-12-12 Nick Clifton <nickc@redhat.com> - - * mips.h: Fix formatting. - -2000-12-01 Chris Demetriou <cgd@sibyte.com> - - mips.h (OP_MASK_SYSCALL, OP_SH_SYSCALL): Delete. - (OP_MASK_CODE20, OP_SH_CODE20): Define, with values of old - OP_*_SYSCALL definitions. - (OP_SH_CODE19, OP_MASK_CODE19): Define, for use as - 19 bit wait codes. - (MIPS operand specifier comments): Remove 'm', add 'U' and - 'J', and update the meaning of 'B' so that it's more general. - - * mips.h (INSN_ISA1, INSN_ISA2, INSN_ISA3, INSN_ISA4, - INSN_ISA5): Renumber, redefine to mean the ISA at which the - instruction was added. - (INSN_ISA32): New constant. - (INSN_4650, INSN_4010, INSN_4100, INSN_3900, INSN_GP32): - Renumber to avoid new and/or renumbered INSN_* constants. - (INSN_MIPS32): Delete. - (ISA_UNKNOWN): New constant to indicate unknown ISA. - (ISA_MIPS1, ISA_MIPS2, ISA_MIPS3, ISA_MIPS4, ISA_MIPS5, - ISA_MIPS32): New constants, defined to be the mask of INSN_* - constants available at that ISA level. - (CPU_UNKNOWN): New constant to indicate unknown CPU. - (CPU_4K, CPU_MIPS32_4K): Rename the former to the latter, - define it with a unique value. - (OPCODE_IS_MEMBER): Update for new ISA membership-related - constant meanings. - - * mips.h (INSN_ISA64, ISA_MIPS5, ISA_MIPS64): New - definitions. - - * mips.h (CPU_SB1): New constant. - -2000-10-20 Jakub Jelinek <jakub@redhat.com> - - * sparc.h (enum sparc_opcode_arch_val): Add SPARC_OPCODE_ARCH_V9B. - Note that '3' is used for siam operand. - -2000-09-22 Jim Wilson <wilson@cygnus.com> - - * ia64.h (enum ia64_dependency_semantics): Add IA64_DVS_STOP. - -2000-09-13 Anders Norlander <anorland@acc.umu.se> - - * mips.h: Use defines instead of hard-coded processor numbers. - (CPU_R2000, CPU_R3000, CPU_R3900, CPU_R4000, CPU_R4010, - CPU_VR4100, CPU_R4111, CPU_R4300, CPU_R4400, CPU_R4600, CPU_R4650, - CPU_R5000, CPU_R6000, CPU_R8000, CPU_R10000, CPU_MIPS32, CPU_4K, - CPU_4KC, CPU_4KM, CPU_4KP): Define.. - (OPCODE_IS_MEMBER): Use new defines. - (OP_MASK_SEL, OP_SH_SEL): Define. - (OP_MASK_CODE20, OP_SH_CODE20): Define. - Add 'P' to used characters. - Use 'H' for coprocessor select field. - Use 'm' for 20 bit breakpoint code. - Document new arg characters and add to used characters. - (INSN_MIPS32): New define for MIPS32 extensions. - (OPCODE_IS_MEMBER): Recognize MIPS32 instructions. - -2000-09-05 Alan Modra <alan@linuxcare.com.au> - - * hppa.h: Mention cz completer. - -2000-08-16 Jim Wilson <wilson@cygnus.com> - - * ia64.h (IA64_OPCODE_POSTINC): New. - -2000-08-15 H.J. Lu <hjl@gnu.org> - - * i386.h: Swap the Intel syntax "movsx"/"movzx" due to the - IgnoreSize change. - -2000-08-08 Jason Eckhardt <jle@cygnus.com> - - * i860.h: Small formatting adjustments. - -2000-07-29 Marek Michalkiewicz <marekm@linux.org.pl> - - * avr.h (AVR_UNDEF_P, AVR_SKIP_P, AVR_DISP0_P): New macros. - Move related opcodes closer to each other. - Minor changes in comments, list undefined opcodes. - -2000-07-26 Dave Brolley <brolley@redhat.com> - - * cgen.h (cgen_hw_lookup_by_num): Second parameter is unsigned. - -2000-07-22 Jason Eckhardt <jle@cygnus.com> - - * i860.h (btne, bte, bla): Changed these opcodes - to use sbroff ('r') instead of split16 ('s'). - (J, K, L, M): New operand types for 16-bit aligned fields. - (ld.x, {p}fld.x, fst.x, pst.d): Changed these opcodes to - use I, J, K, L, M instead of just I. - (T, U): New operand types for split 16-bit aligned fields. - (st.x): Changed these opcodes to use S, T, U instead of just S. - (andh, andnoth, orh, xorh): Deleted 3-register forms as they do not - exist on the i860. - (pfgt.sd, pfle.sd): Deleted these as they do not exist on the i860. - (pfeq.ss, pfeq.dd): New opcodes. - (st.s): Fixed incorrect mask bits. - (fmlow): Fixed incorrect mask bits. - (fzchkl, pfzchkl): Fixed incorrect mask bits. - (faddz, pfaddz): Fixed incorrect mask bits. - (form, pform): Fixed incorrect mask bits. - (pfld.l): Fixed incorrect mask bits. - (fst.q): Fixed incorrect mask bits. - (all floating point opcodes): Fixed incorrect mask bits for - handling of dual bit. - -2000-07-20 Hans-Peter Nilsson <hp@axis.com> - - cris.h: New file. - -2000-06-26 Marek Michalkiewicz <marekm@linux.org.pl> - - * avr.h (AVR_ISA_WRAP): Remove, now assumed if not AVR_ISA_MEGA. - (AVR_ISA_ESPM): Remove, because ESPM removed in databook update. - (AVR_ISA_85xx): Remove, all uses changed back to AVR_ISA_2xxx. - (AVR_ISA_M83): Define for ATmega83, ATmega85. - (espm): Remove, because ESPM removed in databook update. - (eicall, eijmp): Move to the end of opcode table. - -2000-06-18 Stephane Carrez <stcarrez@worldnet.fr> - - * m68hc11.h: New file for support of Motorola 68hc11. - -Fri Jun 9 21:51:50 2000 Denis Chertykov <denisc@overta.ru> - - * avr.h: clr,lsl,rol, ... moved after add,adc, ... - -Wed Jun 7 21:39:54 2000 Denis Chertykov <denisc@overta.ru> - - * avr.h: New file with AVR opcodes. - -Wed Apr 12 17:11:20 2000 Donald Lindsay <dlindsay@hound.cygnus.com> - - * d10v.h: added ALONE attribute for d10v_opcode.exec_type. - -2000-05-23 Maciej W. Rozycki <macro@ds2.pg.gda.pl> - - * i386.h: Allow d suffix on iret, and add DefaultSize modifier. - -2000-05-17 Maciej W. Rozycki <macro@ds2.pg.gda.pl> - - * i386.h: Use sl_FP, not sl_Suf for fild. - -2000-05-16 Frank Ch. Eigler <fche@redhat.com> - - * cgen.h (CGEN_MAX_SYNTAX_BYTES): Increase to 32. Check that - it exceeds CGEN_ACTUAL_MAX_SYNTAX_BYTES, if set. - (CGEN_MAX_IFMT_OPERANDS): Increase to 16. Check that it exceeds - CGEN_ACTUAL_MAX_IFMT_OPERANDS, if set. - -2000-05-13 Alan Modra <alan@linuxcare.com.au>, - - * i386.h (i386_optab): Cpu686 for sysenter,sysexit,fxsave,fxrestore. - -2000-05-13 Alan Modra <alan@linuxcare.com.au>, - Alexander Sokolov <robocop@netlink.ru> - - * i386.h (i386_optab): Add cpu_flags for all instructions. - -2000-05-13 Alan Modra <alan@linuxcare.com.au> - - From Gavin Romig-Koch <gavin@cygnus.com> - * i386.h (wld_Suf): Define. Use on pushf, popf, pusha, popa. - -2000-05-04 Timothy Wall <twall@cygnus.com> - - * tic54x.h: New. - -2000-05-03 J.T. Conklin <jtc@redback.com> - - * ppc.h (PPC_OPCODE_ALTIVEC): New opcode flag for vector unit. - (PPC_OPERAND_VR): New operand flag for vector registers. - -2000-05-01 Kazu Hirata <kazu@hxi.com> - - * h8300.h (EOP): Add missing initializer. - -Fri Apr 21 15:03:37 2000 Jason Eckhardt <jle@cygnus.com> - - * hppa.h (pa_opcodes): New opcodes for PA2.0 wide mode - forms of ld/st{b,h,w,d} and fld/fst{w,d} (16-bit displacements). - New operand types l,y,&,fe,fE,fx added to support above forms. - (pa_opcodes): Replaced usage of 'x' as source/target for - floating point double-word loads/stores with 'fx'. - -Fri Apr 21 13:20:53 2000 Richard Henderson <rth@cygnus.com> - David Mosberger <davidm@hpl.hp.com> - Timothy Wall <twall@cygnus.com> - Jim Wilson <wilson@cygnus.com> - - * ia64.h: New file. - -2000-03-27 Nick Clifton <nickc@cygnus.com> - - * d30v.h (SHORT_A1): Fix value. - (SHORT_AR): Renumber so that it is at the end of the list of short - instructions, not the end of the list of long instructions. - -2000-03-26 Alan Modra <alan@linuxcare.com> - - * i386.h: (UNIXWARE_COMPAT): Rename to SYSV386_COMPAT as the - problem isn't really specific to Unixware. - (OLDGCC_COMPAT): Define. - (i386_optab): If !OLDGCC_COMPAT, don't handle fsubp etc. with - destination %st(0). - Fix lots of comments. - -2000-03-02 J"orn Rennecke <amylaar@cygnus.co.uk> - - * d30v.h: - (SHORT_B2r, SHORT_B3, SHORT_B3r, SHORT_B3b, SHORT_B3br): Updated. - (SHORT_D1r, SHORT_D2, SHORT_D2r, SHORT_D2Br, SHORT_U): Updated. - (SHORT_F, SHORT_AF, SHORT_T, SHORT_A5, SHORT_CMP, SHORT_CMPU): Updated. - (SHORT_A1, SHORT_AA, SHORT_RA, SHORT_MODINC, SHORT_MODDEC): Updated. - (SHORT_C1, SHORT_C2, SHORT_UF, SHORT_A2, SHORT_NONE, LONG): Updated. - (LONG_U, LONG_Ur, LONG_CMP, LONG_M, LONG_M2, LONG_2, LONG_2r): Updated. - (LONG_2b, LONG_2br, LONG_D, LONG_Dr, LONG_Dbr): Updated. - -2000-02-25 Alan Modra <alan@spri.levels.unisa.edu.au> - - * i386.h (fild, fistp): Change intel d_Suf form to fildd and - fistpd without suffix. - -2000-02-24 Nick Clifton <nickc@cygnus.com> - - * cgen.h (cgen_cpu_desc): Rename field 'flags' to - 'signed_overflow_ok_p'. - Delete prototypes for cgen_set_flags() and cgen_get_flags(). - -2000-02-24 Andrew Haley <aph@cygnus.com> - - * cgen.h (CGEN_INSN_MACH_HAS_P): New macro. - (CGEN_CPU_TABLE): flags: new field. - Add prototypes for new functions. - -2000-02-24 Alan Modra <alan@spri.levels.unisa.edu.au> - - * i386.h: Add some more UNIXWARE_COMPAT comments. - -2000-02-23 Linas Vepstas <linas@linas.org> - - * i370.h: New file. - -2000-02-22 Chandra Chavva <cchavva@cygnus.com> - - * d30v.h (FLAG_NOT_WITH_ADDSUBppp): Redefined as operation - cannot be combined in parallel with ADD/SUBppp. - -2000-02-22 Andrew Haley <aph@cygnus.com> - - * mips.h: (OPCODE_IS_MEMBER): Add comment. - -1999-12-30 Andrew Haley <aph@cygnus.com> - - * mips.h (OPCODE_IS_MEMBER): Add gp32 arg, which determines - whether synthetic opcodes (e.g. move) generate 32-bit or 64-bit - insns. - -2000-01-15 Alan Modra <alan@spri.levels.unisa.edu.au> - - * i386.h: Qualify intel mode far call and jmp with x_Suf. - -1999-12-27 Alan Modra <alan@spri.levels.unisa.edu.au> - - * i386.h: Add JumpAbsolute qualifier to all non-intel mode - indirect jumps and calls. Add FF/3 call for intel mode. - -Wed Dec 1 03:05:25 1999 Jeffrey A Law (law@cygnus.com) - - * mn10300.h: Add new operand types. Add new instruction formats. - -Wed Nov 24 20:28:58 1999 Jeffrey A Law (law@cygnus.com) - - * hppa.h (pa_opcodes): Correctly handle immediate for PA2.0 "bb" - instruction. - -1999-11-18 Gavin Romig-Koch <gavin@cygnus.com> - - * mips.h (INSN_ISA5): New. - -1999-11-01 Gavin Romig-Koch <gavin@cygnus.com> - - * mips.h (OPCODE_IS_MEMBER): New. - -1999-10-29 Nick Clifton <nickc@cygnus.com> - - * d30v.h (SHORT_AR): Define. - -1999-10-18 Michael Meissner <meissner@cygnus.com> - - * alpha.h (alpha_num_opcodes): Convert to unsigned. - (alpha_num_operands): Ditto. - -Sun Oct 10 01:46:56 1999 Jerry Quinn <jerry.quinn.adv91@alum.dartmouth.org> - - * hppa.h (pa_opcodes): Add load and store cache control to - instructions. Add ordered access load and store. - - * hppa.h (pa_opcode): Add new entries for addb and addib. - - * hppa.h (pa_opcodes): Fix cmpb and cmpib entries. - - * hppa.h (pa_opcodes): Add entries for cmpb and cmpib. - -Thu Oct 7 00:12:25 MDT 1999 Diego Novillo <dnovillo@cygnus.com> - - * d10v.h: Add flag RESTRICTED_NUM3 for imm3 operands. - -Thu Sep 23 07:08:38 1999 Jerry Quinn <jquinn@nortelnetworks.com> - - * hppa.h (pa_opcodes): Add "call" and "ret". Clean up "b", "bve" - and "be" using completer prefixes. - - * hppa.h (pa_opcodes): Add initializers to silence compiler. - - * hppa.h: Update comments about character usage. - -Mon Sep 20 03:55:31 1999 Jeffrey A Law (law@cygnus.com) - - * hppa.h (pa_opcodes): Fix minor thinkos introduced while cleaning - up the new fstw & bve instructions. - -Sun Sep 19 10:40:59 1999 Jeffrey A Law (law@cygnus.com) - - * hppa.h (pa_opcodes): Add remaining PA2.0 integer load/store - instructions. - - * hppa.h (pa_opcodes): Add remaining PA2.0 FP load/store instructions. - - * hppa.h (pa_opcodes): Add long offset double word load/store - instructions. - - * hppa.h (pa_opcodes): Add FLAG_STRICT variants of FP loads and - stores. - - * hppa.h (pa_opcodes): Handle PA2.0 fcnv, fcmp and ftest insns. - - * hppa.h (pa_opcodes): Finish support for PA2.0 "b" instructions. - - * hppa.h (pa_opcodes): Handle PA2.0 "bve" instructions. - - * hppa.h (pa_opcodes): Add new syntax "be" instructions. - - * hppa.h (pa_opcodes): Note use of 'M' and 'L'. - - * hppa.h (pa_opcodes): Add support for "b,l". - - * hppa.h (pa_opcodes): Add support for "b,gate". - -Sat Sep 18 11:41:16 1999 Jeffrey A Law (law@cygnus.com) - - * hppa.h (pa_opcodes): Use 'fX' for first register operand - in xmpyu. - - * hppa.h (pa_opcodes): Fix mask for probe and probei. - - * hppa.h (pa_opcodes): Fix mask for depwi. - -Tue Sep 7 13:44:25 1999 Jeffrey A Law (law@cygnus.com) - - * hppa.h (pa_opcodes): Add "addil" variant which has the %r1 as - an explicit output argument. - -Mon Sep 6 04:41:42 1999 Jeffrey A Law (law@cygnus.com) - - * hppa.h: Add strict variants of PA1.0/PA1.1 loads and stores. - Add a few PA2.0 loads and store variants. - -1999-09-04 Steve Chamberlain <sac@pobox.com> - - * pj.h: New file. - -1999-08-29 Alan Modra <alan@spri.levels.unisa.edu.au> - - * i386.h (i386_regtab): Move %st to top of table, and split off - other fp reg entries. - (i386_float_regtab): To here. - -Sat Aug 28 00:25:25 1999 Jerry Quinn <jquinn@nortelnetworks.com> - - * hppa.h (pa_opcodes): Replace 'f' by 'v'. Prefix float register args - by 'f'. - - * hppa.h (pa_opcodes): Add extrd, extrw, depd, depdi, depw, depwi. - Add supporting args. - - * hppa.h: Document new completers and args. - * hppa.h (pa_opcodes): Add 64 bit patterns and pa2.0 syntax for uxor, - uaddcm, dcor, addi, add, sub, subi, shladd, rfi, and probe. Add pa2.0 - extensions for ssm, rsm, pdtlb, pitlb. Add performance instructions - pmenb and pmdis. - - * hppa.h (pa_opcodes): Add pa2.0 instructions hadd, hshl, - hshr, hsub, mixh, mixw, permh. - - * hppa.h (pa_opcodes): Change completers in instructions to - use 'c' prefix. - - * hppa.h (pa_opcodes): Add popbts, new forms of bb, havg, - hshladd, hshradd, shrpd, and shrpw instructions. Update arg comments. - - * hppa.h (pa_opcodes): Change fmpyfadd, fmpynfadd, fneg, - fnegabs to use 'I' instead of 'F'. - -1999-08-21 Alan Modra <alan@spri.levels.unisa.edu.au> - - * i386.h: Add AMD athlon instructions, pfnacc, pfpnacc, pswapd. - Document pf2iw and pi2fw as athlon insns. Remove pswapw. - Alphabetically sort PIII insns. - -Wed Aug 18 18:14:40 1999 Doug Evans <devans@canuck.cygnus.com> - - * cgen.h (CGEN_INSN_MACH_HAS_P): New macro. - -Fri Aug 6 09:46:35 1999 Jerry Quinn <jquinn@nortelnetworks.com> - - * hppa.h (pa_opcodes): Add 64 bit versions of or, xor, and, - and andcm. Add 32 and 64 bit version of cmpclr, cmpiclr. - - * hppa.h: Document 64 bit condition completers. - -Thu Aug 5 16:56:07 1999 Jerry Quinn <jquinn@nortelnetworks.com> - - * hppa.h (pa_opcodes): Change condition args to use '?' prefix. - -1999-08-04 Alan Modra <alan@spri.levels.unisa.edu.au> - - * i386.h (i386_optab): Add DefaultSize modifier to all insns - that implicitly modify %esp. #undef d_Suf, x_suf, sld_suf, - sldx_suf, bwld_Suf, d_FP, x_FP, sld_FP, sldx_FP at end of table. - -Wed Jul 28 02:04:24 1999 Jerry Quinn <jquinn@nortelnetworks.com> - Jeff Law <law@cygnus.com> - - * hppa.h (pa_opcodes): Add "pushnom" and "pushbts". - - * hppa.h (pa_opcodes): Mark all PA2.0 opcodes with FLAG_STRICT. - - * hppa.h (pa_opcodes): Change xmpyu, fmpyfadd, - and fmpynfadd to use 'J' and 'K' instead of 'E' and 'X'. - -1999-07-13 Alan Modra <alan@spri.levels.unisa.edu.au> - - * i386.h: Add "undocumented" AMD 3DNow! pf2iw, pi2fw, pswapw insns. - -Thu Jul 1 00:17:24 1999 Jeffrey A Law (law@cygnus.com) - - * hppa.h (struct pa_opcode): Add new field "flags". - (FLAGS_STRICT): Define. - -Fri Jun 25 04:22:04 1999 Jerry Quinn <jquinn@nortelnetworks.com> - Jeff Law <law@cygnus.com> - - * hppa.h (pa_opcodes): Add pa2.0 clrbts instruction. - - * hppa.h (pa_opcodes): Add entries for mfia and mtsarcm instructions. - -1999-06-23 Alan Modra <alan@spri.levels.unisa.edu.au> - - * i386.h: Allow `l' suffix on bswap. Allow `w' suffix on arpl, - lldt, lmsw, ltr, str, verr, verw. Add FP flag to fcmov*. Add FP - flag to fcomi and friends. - -Fri May 28 15:26:11 1999 Jeffrey A Law (law@cygnus.com) - - * hppa.h (pa_opcodes): Move integer arithmetic instructions after - integer logical instructions. - -1999-05-28 Linus Nordberg <linus.nordberg@canit.se> - - * m68k.h: Document new formats `E', `G', `H' and new places `N', - `n', `o'. - - * m68k.h: Define mcf5206e, mcf5307, mcf. Document new format `u' - and new places `m', `M', `h'. - -Thu May 27 04:13:54 1999 Joel Sherrill (joel@OARcorp.com - - * hppa.h (pa_opcodes): Add several processor specific system - instructions. - -Wed May 26 16:57:44 1999 Jeffrey A Law (law@cygnus.com) - - * hppa.h (pa_opcodes): Add second entry for "comb", "comib", - "addb", and "addib" to be used by the disassembler. - -1999-05-12 Alan Modra <alan@apri.levels.unisa.edu.au> - - * i386.h (ReverseModrm): Remove all occurences. - (InvMem): Add to control/debug/test mov insns, movhlps, movlhps, - movmskps, pextrw, pmovmskb, maskmovq. - Change NoSuf to FP on all MMX, XMM and AMD insns as these all - ignore the data size prefix. - - * i386.h (i386_optab, i386_regtab): Add support for PIII SIMD. - Mostly stolen from Doug Ledford <dledford@redhat.com> - -Sat May 8 23:27:35 1999 Richard Henderson <rth@cygnus.com> - - * ppc.h (PPC_OPCODE_64_BRIDGE): New. - -1999-04-14 Doug Evans <devans@casey.cygnus.com> - - * cgen.h (CGEN_ATTR): Delete member num_nonbools. - (CGEN_ATTR_TYPE): Update. - (CGEN_ATTR_MASK): Number booleans starting at 0. - (CGEN_ATTR_VALUE): Update. - (CGEN_INSN_ATTR): Update. - -Mon Apr 12 23:43:27 1999 Jeffrey A Law (law@cygnus.com) - - * hppa.h (fmpyfadd, fmpynfadd, fneg, fnegabs): New PA2.0 - instructions. - -Tue Mar 23 11:24:38 1999 Jeffrey A Law (law@cygnus.com) - - * hppa.h (bb, bvb): Tweak opcode/mask. - - -1999-03-22 Doug Evans <devans@casey.cygnus.com> - - * cgen.h (CGEN_ISA,CGEN_MACH): New typedefs. - (struct cgen_cpu_desc): Rename member mach to machs. New member isas. - New members word_bitsize,default_insn_bitsize,base_insn-bitsize, - min_insn_bitsize,max_insn_bitsize,isa_table,mach_table,rebuild_tables. - Delete member max_insn_size. - (enum cgen_cpu_open_arg): New enum. - (cpu_open): Update prototype. - (cpu_open_1): Declare. - (cgen_set_cpu): Delete. - -1999-03-11 Doug Evans <devans@casey.cygnus.com> - - * cgen.h (CGEN_HW_TABLE): Delete `num_init_entries' member. - (CGEN_OPERAND_NIL): New macro. - (CGEN_OPERAND): New member `type'. - (@arch@_cgen_operand_table): Delete decl. - (CGEN_OPERAND_INDEX,CGEN_OPERAND_TYPE,CGEN_OPERAND_ENTRY): Delete. - (CGEN_OPERAND_TABLE): New struct. - (cgen_operand_lookup_by_name,cgen_operand_lookup_by_num): Declare. - (CGEN_OPINST): Pointer to operand table entry replaced with enum. - (CGEN_CPU_TABLE): New member `isa'. Change member `operand_table', - now a CGEN_OPERAND_TABLE. Add CGEN_CPU_DESC arg to - {get,set}_{int,vma}_operand. - (@arch@_cgen_cpu_open): New arg `isa'. - (cgen_set_cpu): Ditto. - -Fri Feb 26 02:36:45 1999 Richard Henderson <rth@cygnus.com> - - * i386.h: Fill in cmov and fcmov alternates. Add fcomi short forms. - -1999-02-25 Doug Evans <devans@casey.cygnus.com> - - * cgen.h (enum cgen_asm_type): Add CGEN_ASM_NONE. - (CGEN_HW_ENTRY): Delete member `next'. Change type of `type' to - enum cgen_hw_type. - (CGEN_HW_TABLE): New struct. - (hw_table): Delete declaration. - (CGEN_OPERAND): Change member hw to hw_type, change type from pointer - to table entry to enum. - (CGEN_OPINST): Ditto. - (CGEN_CPU_TABLE): Change member hw_list to hw_table. - -Sat Feb 13 14:13:44 1999 Richard Henderson <rth@cygnus.com> - - * alpha.h (AXP_OPCODE_EV6): New. - (AXP_OPCODE_NOPAL): Include it. - -1999-02-09 Doug Evans <devans@casey.cygnus.com> - - * cgen.h (CGEN_CPU_DESC): Renamed from CGEN_OPCODE_DESC. - All uses updated. New members int_insn_p, max_insn_size, - parse_operand,insert_operand,extract_operand,print_operand, - sizeof_fields,set_fields_bitsize,get_int_operand,set_int_operand, - get_vma_operand,set_vma_operand,parse_handlers,insert_handlers, - extract_handlers,print_handlers. - (CGEN_ATTR): Change type of num_nonbools to unsigned int. - (CGEN_ATTR_BOOL_OFFSET): New macro. - (CGEN_ATTR_MASK): Subtract it to compute bit number. - (CGEN_ATTR_VALUE): Redo bool/nonbool attr calculation. - (cgen_opcode_handler): Renamed from cgen_base. - (CGEN_HW_ATTR_VALUE): Renamed from CGEN_HW_ATTR, all uses updated. - (CGEN_OPERAND_ATTR_VALUE): Renamed from CGEN_OPERAND_ATTR, - all uses updated. - (CGEN_OPERAND_INDEX): Rewrite to use table entry, not global. - (enum cgen_opinst_type): Renamed from cgen_operand_instance_type. - (CGEN_IFLD_ATTR_VALUE): Renamed from CGEN_IFLD_ATTR, all uses updated. - (CGEN_OPCODE,CGEN_IBASE): New types. - (CGEN_INSN): Rewrite. - (CGEN_{ASM,DIS}_HASH*): Delete. - (init_opcode_table,init_ibld_table): Declare. - (CGEN_INSN_ATTR): New type. - -Mon Feb 1 21:09:14 1999 Catherine Moore <clm@cygnus.com> - - * i386.h (d_Suf, x_Suf, sld_Suf, sldx_Suf, bwld_Suf): Define. - (x_FP, d_FP, dls_FP, sldx_FP): Define. - Change *Suf definitions to include x and d suffixes. - (movsx): Use w_Suf and b_Suf. - (movzx): Likewise. - (movs): Use bwld_Suf. - (fld): Change ordering. Use sld_FP. - (fild): Add Intel Syntax equivalent of fildq. - (fst): Use sld_FP. - (fist): Use sld_FP. - (fstp): Use sld_FP. Add x_FP version. - (fistp): LLongMem version for Intel Syntax. - (fcom, fcomp): Use sld_FP. - (fadd, fiadd, fsub): Use sld_FP. - (fsubr): Use sld_FP. - (fmul, fimul, fdvi, fidiv, fdivr): Use sld_FP. - -1999-01-27 Doug Evans <devans@casey.cygnus.com> - - * cgen.h (enum cgen_mode): Add CGEN_MODE_TARGET_MAX, CGEN_MODE_INT, - CGEN_MODE_UINT. - -1999-01-16 Jeffrey A Law (law@cygnus.com) - - * hppa.h (bv): Fix mask. - -1999-01-05 Doug Evans <devans@casey.cygnus.com> - - * cgen.h (CGEN_ATTR_VALUE_TYPE): New typedef. - (CGEN_ATTR): Use it. - (CGEN_ATTR_TYPE,CGEN_ATTR_ENTRY): Ditto. - (CGEN_ATTR_TABLE): New member dfault. - -1998-12-30 Gavin Romig-Koch <gavin@cygnus.com> - - * mips.h (MIPS16_INSN_BRANCH): New. - -Wed Dec 9 10:38:48 1998 David Taylor <taylor@texas.cygnus.com> - - The following is part of a change made by Edith Epstein - <eepstein@sophia.cygnus.com> as part of a project to merge in - changes by HP; HP did not create ChangeLog entries. - - * hppa.h (completer_chars): list of chars to not put a space - after. - -Sun Dec 6 13:21:34 1998 Ian Lance Taylor <ian@cygnus.com> - - * i386.h (i386_optab): Permit w suffix on processor control and - status word instructions. - -1998-11-30 Doug Evans <devans@casey.cygnus.com> - - * cgen.h (struct cgen_hw_entry): Delete const on attrs member. - (struct cgen_keyword_entry): Ditto. - (struct cgen_operand): Ditto. - (CGEN_IFLD): New typedef, with associated access macros. - (CGEN_IFMT): New typedef, with associated access macros. - (CGEN_IFMT): Renamed from CGEN_FORMAT. New member `iflds'. - (CGEN_IVALUE): New typedef. - (struct cgen_insn): Delete const on syntax,attrs members. - `format' now points to format data. Type of `value' is now - CGEN_IVALUE. - (struct cgen_opcode_table): New member ifld_table. - -1998-11-18 Doug Evans <devans@casey.cygnus.com> - - * cgen.h (cgen_extract_fn): Update type of `base_insn' arg. - (CGEN_OPERAND_INSTANCE): New member `attrs'. - (CGEN_OPERAND_INSTANCE_{ATTRS,ATTR}): New macros. - (cgen_dis_lookup_insn): Update type of `base_insn' arg. - (cgen_opcode_table): Update type of dis_hash fn. - (extract_operand): Update type of `insn_value' arg. - -Thu Oct 29 11:38:36 1998 Doug Evans <devans@canuck.cygnus.com> - - * cgen.h (CGEN_VERSION_{MAJOR,MINOR,FIXLEVEL}): Delete. - -Tue Oct 27 08:57:59 1998 Gavin Romig-Koch <gavin@cygnus.com> - - * mips.h (INSN_MULT): Added. - -Tue Oct 20 11:31:34 1998 Alan Modra <alan@spri.levels.unisa.edu.au> - - * i386.h (MAX_MNEM_SIZE): Rename from MAX_OPCODE_SIZE. - -Mon Oct 19 12:50:00 1998 Doug Evans <devans@seba.cygnus.com> - - * cgen.h (CGEN_INSN_INT): New typedef. - (CGEN_INT_INSN_P): Renamed from CGEN_INT_INSN. - (CGEN_INSN_BYTES): Renamed from cgen_insn_t. - (CGEN_INSN_BYTES_PTR): New typedef. - (CGEN_EXTRACT_INFO): New typedef. - (cgen_insert_fn,cgen_extract_fn): Update. - (cgen_opcode_table): New member `insn_endian'. - (assemble_insn,lookup_insn,lookup_get_insn_operands): Update. - (insert_operand,extract_operand): Update. - (cgen_get_insn_value,cgen_put_insn_value): Add prototypes. - -Fri Oct 9 13:38:13 1998 Doug Evans <devans@seba.cygnus.com> - - * cgen.h (CGEN_ATTR_BOOLS): New macro. - (struct CGEN_HW_ENTRY): New member `attrs'. - (CGEN_HW_ATTR): New macro. - (struct CGEN_OPERAND_INSTANCE): New member `name'. - (CGEN_INSN_INVALID_P): New macro. - -Mon Oct 5 00:21:07 1998 Jeffrey A Law (law@cygnus.com) - - * hppa.h: Add "fid". - -Sun Oct 4 21:00:00 1998 Alan Modra <alan@spri.levels.unisa.edu.au> - - From Robert Andrew Dale <rob@nb.net> - * i386.h (i386_optab): Add AMD 3DNow! instructions. - (AMD_3DNOW_OPCODE): Define. - -Tue Sep 22 17:53:47 1998 Nick Clifton <nickc@cygnus.com> - - * d30v.h (EITHER_BUT_PREFER_MU): Define. - -Mon Aug 10 14:09:38 1998 Doug Evans <devans@canuck.cygnus.com> - - * cgen.h (cgen_insn): #if 0 out element `cdx'. - -Mon Aug 3 12:21:57 1998 Doug Evans <devans@seba.cygnus.com> - - Move all global state data into opcode table struct, and treat - opcode table as something that is "opened/closed". - * cgen.h (CGEN_OPCODE_DESC): New type. - (all fns): New first arg of opcode table descriptor. - (cgen_set_parse_operand_fn): Add prototype. - (cgen_current_machine,cgen_current_endian): Delete. - (CGEN_OPCODE_TABLE): New members mach,endian,operand_table, - parse_operand_fn,asm_hash_table,asm_hash_table_entries, - dis_hash_table,dis_hash_table_entries. - (opcode_open,opcode_close): Add prototypes. - - * cgen.h (cgen_insn): New element `cdx'. - -Thu Jul 30 21:44:25 1998 Frank Ch. Eigler <fche@cygnus.com> - - * d30v.h (FLAG_LKR): New flag for "left-kills-right" instructions. - -Tue Jul 28 10:59:07 1998 Jeffrey A Law (law@cygnus.com) - - * mn10300.h: Add "no_match_operands" field for instructions. - (MN10300_MAX_OPERANDS): Define. - -Fri Jul 24 11:44:24 1998 Doug Evans <devans@canuck.cygnus.com> - - * cgen.h (cgen_macro_insn_count): Declare. - -Tue Jul 21 13:12:13 1998 Doug Evans <devans@seba.cygnus.com> - - * cgen.h (CGEN_VERSION_{MAJOR,MINOR,FIXLEVEL}): Define. - (cgen_insert_fn,cgen_extract_fn): New arg `pc'. - (get_operand,put_operand): Replaced with get_{int,vma}_operand, - set_{int,vma}_operand. - -Fri Jun 26 11:09:06 1998 Jeffrey A Law (law@cygnus.com) - - * mn10300.h: Add "machine" field for instructions. - (MN103, AM30): Define machine types. - -Fri Jun 19 16:09:09 1998 Alan Modra <alan@spri.levels.unisa.edu.au> - - * i386.h: Use FP, not sl_Suf, for fxsave and fxrstor. - -1998-06-18 Ulrich Drepper <drepper@cygnus.com> - - * i386.h: Add support for fxsave, fxrstor, sysenter and sysexit. - -Sat Jun 13 11:31:35 1998 Alan Modra <alan@spri.levels.unisa.edu.au> - - * i386.h (i386_optab): Add general form of aad and aam. Add ud2a - and ud2b. - (i386_regtab): Allow cr0..7, db0..7, dr0..7, tr0..7, not just - those that happen to be implemented on pentiums. - -Tue Jun 9 12:16:01 1998 Alan Modra <alan@spri.levels.unisa.edu.au> - - * i386.h: Change occurences of Data16 to Size16, Data32 to Size32, - IgnoreDataSize to IgnoreSize. Flag address and data size prefixes - with Size16|IgnoreSize or Size32|IgnoreSize. - -Mon Jun 8 12:15:52 1998 Alan Modra <alan@spri.levels.unisa.edu.au> - - * i386.h (REPNE): Rename to REPNE_PREFIX_OPCODE. - (REPE): Rename to REPE_PREFIX_OPCODE. - (i386_regtab_end): Remove. - (i386_prefixtab, i386_prefixtab_end): Remove. - (i386_optab): Use NULL as sentinel rather than "" to suit rewrite - of md_begin. - (MAX_OPCODE_SIZE): Define. - (i386_optab_end): Remove. - (sl_Suf): Define. - (sl_FP): Use sl_Suf. - - * i386.h (i386_optab): Allow 16 bit displacement for `mov - mem,acc'. Combine 16 and 32 bit forms of various insns. Allow 16 - bit form of ljmp. Add IsPrefix modifier to prefixes. Add addr32, - data32, dword, and adword prefixes. - (i386_regtab): Add BaseIndex modifier to valid 16 bit base/index - regs. - -Fri Jun 5 23:42:43 1998 Alan Modra <alan@spri.levels.unisa.edu.au> - - * i386.h (i386_regtab): Remove BaseIndex modifier from esp. - - * i386.h: Allow `l' suffix on fld, fst, fstp, fcom, fcomp with - register operands, because this is a common idiom. Flag them with - a warning. Allow illegal faddp, fsubp, fsubrp, fmulp, fdivp, - fdivrp because gcc erroneously generates them. Also flag with a - warning. - - * i386.h: Add suffix modifiers to most insns, and tighter operand - checks in some cases. Fix a number of UnixWare compatibility - issues with float insns. Merge some floating point opcodes, using - new FloatMF modifier. - (WORD_PREFIX_OPCODE): Rename to DATA_PREFIX_OPCODE for - consistency. - - * i386.h: Change occurence of ShortformW to W|ShortForm. Add - IgnoreDataSize where appropriate. - -Wed Jun 3 18:28:45 1998 Alan Modra <alan@spri.levels.unisa.edu.au> - - * i386.h: (one_byte_segment_defaults): Remove. - (two_byte_segment_defaults): Remove. - (i386_regtab): Add BaseIndex to 32 bit regs reg_type. - -Fri May 15 15:59:04 1998 Doug Evans <devans@seba.cygnus.com> - - * cgen.h (cgen_hw_lookup_by_name): Renamed from cgen_hw_lookup. - (cgen_hw_lookup_by_num): Declare. - -Thu May 7 09:27:58 1998 Frank Ch. Eigler <fche@cygnus.com> - - * mips.h (OP_{SH,MASK}_CODE2): Added "q" operand format for lower - ten bits of MIPS ISA1 "break" instruction, and for "sdbbp" - -Thu May 7 02:14:08 1998 Doug Evans <devans@charmed.cygnus.com> - - * cgen.h (cgen_asm_init_parse): Delete. - (cgen_save_fixups,cgen_restore_fixups,cgen_swap_fixups): Delete. - (cgen_asm_record_register,cgen_asm_finish_insn): Delete. - -Mon Apr 27 10:13:11 1998 Doug Evans <devans@seba.cygnus.com> - - * cgen.h (CGEN_ATTR_TYPE): Delete `const', moved to uses. - (cgen_asm_finish_insn): Update prototype. - (cgen_insn): New members num, data. - (CGEN_INSN_TABLE): Members asm_hash, asm_hash_table_size, - dis_hash, dis_hash_table_size moved to ... - (CGEN_OPCODE_TABLE). Here. Renamed from CGEN_OPCODE_DATA. - All uses updated. New members asm_hash_p, dis_hash_p. - (CGEN_MINSN_EXPANSION): New struct. - (cgen_expand_macro_insn): Declare. - (cgen_macro_insn_count): Declare. - (get_insn_operands): Update prototype. - (lookup_get_insn_operands): Declare. - -Tue Apr 21 17:11:32 1998 Alan Modra <alan@spri.levels.unisa.edu.au> - - * i386.h (i386_optab): Change iclrKludge and imulKludge to - regKludge. Add operands types for string instructions. - -Mon Apr 20 14:40:29 1998 Tom Tromey <tromey@cygnus.com> - - * i386.h (X): Renamed from `Z_' to preserve formatting of opcode - table. - -Sun Apr 19 13:54:06 1998 Tom Tromey <tromey@cygnus.com> - - * i386.h (Z_): Renamed from `_' to avoid clash with common alias - for `gettext'. - -Fri Apr 3 12:04:48 1998 Alan Modra <alan@spri.levels.unisa.edu.au> - - * i386.h: Remove NoModrm flag from all insns: it's never checked. - Add IsString flag to string instructions. - (IS_STRING): Don't define. - (LOCK_PREFIX_OPCODE, CS_PREFIX_OPCODE, DS_PREFIX_OPCODE): Define. - (ES_PREFIX_OPCODE, FS_PREFIX_OPCODE, GS_PREFIX_OPCODE): Define. - (SS_PREFIX_OPCODE): Define. - -Mon Mar 30 21:31:56 1998 Ian Lance Taylor <ian@cygnus.com> - - * i386.h: Revert March 24 patch; no more LinearAddress. - -Mon Mar 30 10:25:54 1998 Alan Modra <alan@spri.levels.unisa.edu.au> - - * i386.h (i386_optab): Remove fwait (9b) from all floating point - instructions, and instead add FWait opcode modifier. Add short - form of fldenv and fstenv. - (FWAIT_OPCODE): Define. - - * i386.h (i386_optab): Change second operand constraint of `mov - sreg,reg|mem' instruction from Reg16|Mem to WordReg|WordMem to - allow legal instructions such as `movl %gs,%esi' - -Fri Mar 27 18:30:52 1998 Ian Lance Taylor <ian@cygnus.com> - - * h8300.h: Various changes to fully bracket initializers. - -Tue Mar 24 18:32:47 1998 H.J. Lu <hjl@gnu.org> - - * i386.h: Set LinearAddress for lidt and lgdt. - -Mon Mar 2 10:44:07 1998 Doug Evans <devans@seba.cygnus.com> - - * cgen.h (CGEN_BOOL_ATTR): New macro. - -Thu Feb 26 15:54:31 1998 Michael Meissner <meissner@cygnus.com> - - * d30v.h (FLAG_DELAY): New flag for delayed branches/jumps. - -Mon Feb 23 10:38:21 1998 Doug Evans <devans@seba.cygnus.com> - - * cgen.h (CGEN_CAT3): Delete. Use CONCAT3 now. - (cgen_insn): Record syntax and format entries here, rather than - separately. - -Tue Feb 17 21:42:56 1998 Nick Clifton <nickc@cygnus.com> - - * cgen.h (CGEN_SYNTAX_MAKE_FIELD): New macro. - -Tue Feb 17 16:00:56 1998 Doug Evans <devans@seba.cygnus.com> - - * cgen.h (cgen_insert_fn): Change type of result to const char *. - (cgen_parse_{signed,unsigned}_integer): Delete min,max arguments. - (CGEN_{INSN,KEYWORD,OPERAND}_NBOOL_ATTRS): Renamed from ..._MAX_ATTRS. - -Thu Feb 12 18:30:41 1998 Doug Evans <devans@canuck.cygnus.com> - - * cgen.h (lookup_insn): New argument alias_p. - -Thu Feb 12 03:41:00 1998 J"orn Rennecke <amylaar@cygnus.co.uk> - -Fix rac to accept only a0: - * d10v.h (OPERAND_ACC): Split into: - (OPERAND_ACC0, OPERAND_ACC1) . - (OPERAND_GPR): Define. - -Wed Feb 11 17:31:53 1998 Doug Evans <devans@seba.cygnus.com> - - * cgen.h (CGEN_FIELDS): Define here. - (CGEN_HW_ENTRY): New member `type'. - (hw_list): Delete decl. - (enum cgen_mode): Declare. - (CGEN_OPERAND): New member `hw'. - (enum cgen_operand_instance_type): Declare. - (CGEN_OPERAND_INSTANCE): New type. - (CGEN_INSN): New member `operands'. - (CGEN_OPCODE_DATA): Make hw_list const. - (get_insn_operands,lookup_insn): Add prototypes for. - -Tue Feb 3 17:11:23 1998 Doug Evans <devans@seba.cygnus.com> - - * cgen.h (CGEN_INSN_MAX_ATTRS): Renamed from CGEN_MAX_INSN_ATTRS. - (CGEN_HW_ENTRY): Move `next' entry to end of struct. - (CGEN_KEYWORD_MAX_ATTRS): Renamed from CGEN_MAX_KEYWORD_ATTRS. - (CGEN_OPERAND_MAX_ATTRS): Renamed from CGEN_MAX_OPERAND_ATTRS. - -Mon Feb 2 19:19:15 1998 Ian Lance Taylor <ian@cygnus.com> - - * cgen.h: Correct typo in comment end marker. - -Mon Feb 2 17:10:38 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU> - - * tic30.h: New file. - -Thu Jan 22 17:54:56 1998 Nick Clifton <nickc@cygnus.com> - - * cgen.h: Add prototypes for cgen_save_fixups(), - cgen_restore_fixups(), and cgen_swap_fixups(). Change prototype - of cgen_asm_finish_insn() to return a char *. - -Wed Jan 14 17:21:43 1998 Nick Clifton <nickc@cygnus.com> - - * cgen.h: Formatting changes to improve readability. - -Mon Jan 12 11:37:36 1998 Doug Evans <devans@seba.cygnus.com> - - * cgen.h (*): Clean up pass over `struct foo' usage. - (CGEN_ATTR): Make unsigned char. - (CGEN_ATTR_TYPE): Update. - (CGEN_ATTR_{ENTRY,TABLE}): New types. - (cgen_base): Move member `attrs' to cgen_insn. - (CGEN_KEYWORD): New member `null_entry'. - (CGEN_{SYNTAX,FORMAT}): New types. - (cgen_insn): Format and syntax separated from each other. - -Tue Dec 16 15:15:52 1997 Michael Meissner <meissner@cygnus.com> - - * d30v.h (d30v_opcode): Reorder flags somewhat, add new flags for - 2 word load/store, ADDppp/SUBppp, 16/32 bit multiply. Make - flags_{used,set} long. - (d30v_operand): Make flags field long. - -Mon Dec 1 12:24:44 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - * m68k.h: Fix comment describing operand types. - -Sun Nov 23 22:31:27 1997 Michael Meissner <meissner@cygnus.com> - - * d30v.h (SHORT_CMPU): Add case for cmpu instruction, and move - everything else after down. - -Tue Nov 18 18:45:14 1997 J"orn Rennecke <amylaar@cygnus.co.uk> - - * d10v.h (OPERAND_FLAG): Split into: - (OPERAND_FFLAG, OPERAND_CFLAG) . - -Thu Nov 13 11:04:24 1997 Gavin Koch <gavin@cygnus.com> - - * mips.h (struct mips_opcode): Changed comments to reflect new - field usage. - -Fri Oct 24 22:36:20 1997 Ken Raeburn <raeburn@cygnus.com> - - * mips.h: Added to comments a quick-ref list of all assigned - operand type characters. - (OP_{MASK,SH}_PERFREG): New macros. - -Wed Oct 22 17:28:33 1997 Richard Henderson <rth@cygnus.com> - - * sparc.h: Add '_' and '/' for v9a asr's. - Patch from David Miller <davem@vger.rutgers.edu> - -Tue Oct 14 13:22:29 1997 Jeffrey A Law (law@cygnus.com) - - * h8300.h: Bit ops with absolute addresses not in the 8 bit - area are not available in the base model (H8/300). - -Thu Sep 25 13:03:41 1997 Ian Lance Taylor <ian@cygnus.com> - - * m68k.h: Remove documentation of ` operand specifier. - -Wed Sep 24 19:00:34 1997 Ian Lance Taylor <ian@cygnus.com> - - * m68k.h: Document q and v operand specifiers. - -Mon Sep 15 18:28:37 1997 Nick Clifton <nickc@cygnus.com> - - * v850.h (struct v850_opcode): Add processors field. - (PROCESSOR_V850, PROCESSOR_ALL): New bit constants. - (PROCESSOR_V850E, PROCESSOR_NOT_V850): New bit constants. - (PROCESSOR_V850EA): New bit constants. - -Mon Sep 15 11:29:43 1997 Ken Raeburn <raeburn@cygnus.com> - - Merge changes from Martin Hunt: - - * d30v.h: Allow up to 64 control registers. Add - SHORT_A5S format. - - * d30v.h (LONG_Db): New form for delayed branches. - - * d30v.h: (LONG_Db): New form for repeati. - - * d30v.h (SHORT_D2B): New form. - - * d30v.h (SHORT_A2): New form. - - * d30v.h (OPERAND_2REG): Add new operand to indicate 2 - registers are used. Needed for VLIW optimization. - -Mon Sep 8 14:05:45 1997 Doug Evans <dje@canuck.cygnus.com> - - * cgen.h: Move assembler interface section - up so cgen_parse_operand_result is defined for cgen_parse_address. - (cgen_parse_address): Update prototype. - -Tue Sep 2 15:32:32 1997 Nick Clifton <nickc@cygnus.com> - - * v850.h (V850_OPREAND_ADJUST_SHORT_MEMORY): Removed. - -Tue Aug 26 12:21:52 1997 Ian Lance Taylor <ian@cygnus.com> - - * i386.h (two_byte_segment_defaults): Correct base register 5 in - modes 1 and 2 to be ss rather than ds. From Gabriel Paubert - <paubert@iram.es>. - - * i386.h: Set ud2 to 0x0f0b. From Gabriel Paubert - <paubert@iram.es>. - - * i386.h: Comment fixes for ficom[p]?{s,l} from Gabriel Paubert - <paubert@iram.es>. - - * i386.h (JUMP_ON_CX_ZERO): Uncomment (define again). - (JUMP_ON_ECX_ZERO): Remove commented out macro. - -Fri Aug 22 10:38:29 1997 Nick Clifton <nickc@cygnus.com> - - * v850.h (V850_NOT_R0): New flag. - -Mon Aug 18 11:05:58 1997 Nick Clifton <nickc@cygnus.com> - - * v850.h (struct v850_opcode): Remove flags field. - -Wed Aug 13 18:45:48 1997 Nick Clifton <nickc@cygnus.com> - - * v850.h (struct v850_opcode): Add flags field. - (struct v850_operand): Extend meaning of 'bits' and 'shift' - fields. - (V850E_INSTRUCTION, V850EA_INSTRUCTION): New flags. - (V850E_PUSH_POP, V850E_IMMEDIATE16, V850E_IMMEDIATE32): New flags. - -Fri Aug 8 16:58:42 1997 Doug Evans <dje@canuck.cygnus.com> - - * arc.h: New file. - -Thu Jul 24 21:16:58 1997 Doug Evans <dje@canuck.cygnus.com> - - * sparc.h (sparc_opcodes): Declare as const. - -Thu Jul 10 12:53:25 1997 Jeffrey A Law (law@cygnus.com) - - * mips.h (FP_S, FP_D): Define. Bitmasks indicating if an insn - uses single or double precision floating point resources. - (INSN_NO_ISA, INSN_ISA1): Define. - (cpu specific INSN macros): Tweak into bitmasks outside the range - of INSN_ISA field. - -Mon Jun 16 14:10:00 1997 H.J. Lu <hjl@gnu.ai.mit.edu> - - * i386.h: Fix pand opcode. - -Mon Jun 2 11:35:09 1997 Gavin Koch <gavin@cygnus.com> - - * mips.h: Widen INSN_ISA and move it to a more convenient - bit position. Add INSN_3900. - -Tue May 20 11:25:29 1997 Gavin Koch <gavin@cygnus.com> - - * mips.h (struct mips_opcode): added new field membership. - -Mon May 12 16:26:50 1997 H.J. Lu <hjl@gnu.ai.mit.edu> - - * i386.h (movd): only Reg32 is allowed. - - * i386.h: add fcomp and ud2. From Wayne Scott - <wscott@ichips.intel.com>. - -Mon May 5 17:16:21 1997 Ian Lance Taylor <ian@cygnus.com> - - * i386.h: Add MMX instructions. - -Mon May 5 12:45:19 1997 H.J. Lu <hjl@gnu.ai.mit.edu> - - * i386.h: Remove W modifier from conditional move instructions. - -Mon Apr 14 14:56:58 1997 Ian Lance Taylor <ian@cygnus.com> - - * i386.h: Change the opcodes for fsubp, fsubrp, fdivp, and fdivrp - with no arguments to match that generated by the UnixWare - assembler. - -Thu Apr 10 14:35:00 1997 Doug Evans <dje@canuck.cygnus.com> - - * cgen.h (<cpu>_cgen_assemble_insn): New arg for errmsg. - (cgen_parse_operand_fn): Declare. - (cgen_init_parse_operand): Declare. - (cgen_parse_operand): Renamed from cgen_asm_parse_operand, - new argument `want'. - (enum cgen_parse_operand_result): Renamed from cgen_asm_result. - (enum cgen_parse_operand_type): New enum. - -Sat Apr 5 13:14:05 1997 Ian Lance Taylor <ian@cygnus.com> - - * i386.h: Revert last patch for the NON_BROKEN_OPCODES cases. - -Fri Apr 4 11:46:11 1997 Doug Evans <dje@canuck.cygnus.com> - - * cgen.h: New file. - -Fri Apr 4 14:02:32 1997 Ian Lance Taylor <ian@cygnus.com> - - * i386.h: Correct opcode values for fsubp, fsubrp, fdivp, and - fdivrp. - -Tue Mar 25 22:57:26 1997 Stu Grossman (grossman@critters.cygnus.com) - - * v850.h (extract): Make unsigned. - -Mon Mar 24 14:38:15 1997 Ian Lance Taylor <ian@cygnus.com> - - * i386.h: Add iclr. - -Thu Mar 20 19:49:10 1997 Ian Lance Taylor <ian@cygnus.com> - - * i386.h: Change DW to W for cmpxchg and xadd, since they don't - take a direction bit. - -Sat Mar 15 19:03:29 1997 H.J. Lu <hjl@lucon.org> - - * sparc.h (sparc_opcode_lookup_arch): Use full prototype. - -Fri Mar 14 15:22:01 1997 Ian Lance Taylor <ian@cygnus.com> - - * sparc.h: Include <ansidecl.h>. Update function declarations to - use prototypes, and to use const when appropriate. - -Thu Mar 6 14:18:30 1997 Jeffrey A Law (law@cygnus.com) - - * mn10300.h (MN10300_OPERAND_RELAX): Define. - -Mon Feb 24 15:15:56 1997 Martin M. Hunt <hunt@pizza.cygnus.com> - - * d10v.h: Change pre_defined_registers to - d10v_predefined_registers and reg_name_cnt to d10v_reg_name_cnt. - -Sat Feb 22 21:25:00 1997 Dawn Perchik <dawn@cygnus.com> - - * mips.h: Add macros for cop0, cop1 cop2 and cop3. - Change mips_opcodes from const array to a pointer, - and change bfd_mips_num_opcodes from const int to int, - so that we can increase the size of the mips opcodes table - dynamically. - -Fri Feb 21 16:34:18 1997 Martin M. Hunt <hunt@pizza.cygnus.com> - - * d30v.h (FLAG_X): Remove unused flag. - -Tue Feb 18 17:37:20 1997 Martin M. Hunt <hunt@pizza.cygnus.com> - - * d30v.h: New file. - -Fri Feb 14 13:16:15 1997 Fred Fish <fnf@cygnus.com> - - * tic80.h (PDS_NAME): Macro to access name field of predefined symbols. - (PDS_VALUE): Macro to access value field of predefined symbols. - (tic80_next_predefined_symbol): Add prototype. - -Mon Feb 10 10:32:17 1997 Fred Fish <fnf@cygnus.com> - - * tic80.h (tic80_symbol_to_value): Change prototype to match - change in function, added class parameter. - -Thu Feb 6 17:30:15 1997 Fred Fish <fnf@cygnus.com> - - * tic80.h (TIC80_OPERAND_ENDMASK): Add for flagging TIc80 - endmask fields, which are somewhat weird in that 0 and 32 are - treated exactly the same. - -Thu Jan 30 13:46:18 1997 Fred Fish <fnf@cygnus.com> - - * tic80.h: Change all the OPERAND defines to use the form (1 << X) - rather than a constant that is 2**X. Reorder them to put bits for - operands that have symbolic names in the upper bits, so they can - be packed into an int where the lower bits contain the value that - corresponds to that symbolic name. - (predefined_symbo): Add struct. - (tic80_predefined_symbols): Declare array of translations. - (tic80_num_predefined_symbols): Declare size of that array. - (tic80_value_to_symbol): Declare function. - (tic80_symbol_to_value): Declare function. - -Wed Jan 29 09:37:25 1997 Jeffrey A Law (law@cygnus.com) - - * mn10200.h (MN10200_OPERAND_RELAX): Define. - -Sat Jan 18 15:18:59 1997 Fred Fish <fnf@cygnus.com> - - * tic80.h (TIC80_NO_R0_DEST): Add for opcodes where r0 cannot - be the destination register. - -Thu Jan 16 20:48:55 1997 Fred Fish <fnf@cygnus.com> - - * tic80.h (struct tic80_opcode): Change "format" field to "flags". - (FMT_UNUSED, FMT_SI, FMT_LI, FMT_REG): Delete. - (TIC80_VECTOR): Define a flag bit for the flags. This one means - that the opcode can have two vector instructions in a single - 32 bit word and we have to encode/decode both. - -Tue Jan 14 19:37:09 1997 Fred Fish <fnf@cygnus.com> - - * tic80.h (TIC80_OPERAND_PCREL): Renamed from - TIC80_OPERAND_RELATIVE for PC relative. - (TIC80_OPERAND_BASEREL): New flag bit for register - base relative. - -Mon Jan 13 15:56:38 1997 Fred Fish <fnf@cygnus.com> - - * tic80.h (TIC80_OPERAND_FLOAT): Add for floating point operands. - -Mon Jan 6 10:51:15 1997 Fred Fish <fnf@cygnus.com> - - * tic80.h (TIC80_OPERAND_SCALED): Operand may have optional - ":s" modifier for scaling. - -Sun Jan 5 12:12:19 1997 Fred Fish <fnf@cygnus.com> - - * tic80.h (TIC80_OPERAND_M_SI): Add operand modifier for ":m". - (TIC80_OPERAND_M_LI): Ditto - -Sat Jan 4 19:02:44 1997 Fred Fish <fnf@cygnus.com> - - * tic80.h (TIC80_OPERAND_BITNUM): Renamed from TIC80_OPERAND_CC_SZ. - (TIC80_OPERAND_CC): New define for condition code operand. - (TIC80_OPERAND_CR): New define for control register operand. - -Fri Jan 3 16:22:23 1997 Fred Fish <fnf@cygnus.com> - - * tic80.h (struct tic80_opcode): Name changed. - (struct tic80_opcode): Remove format field. - (struct tic80_operand): Add insertion and extraction functions. - (TIC80_OPERAND_*): Remove old bogus values, start adding new - correct ones. - (FMT_*): Ditto. - -Tue Dec 31 15:05:41 1996 Michael Meissner <meissner@tiktok.cygnus.com> - - * v850.h (V850_OPERAND_ADJUST_SHORT_MEMORY): New flag to adjust - type IV instruction offsets. - -Fri Dec 27 22:23:10 1996 Fred Fish <fnf@cygnus.com> - - * tic80.h: New file. - -Wed Dec 18 10:06:31 1996 Jeffrey A Law (law@cygnus.com) - - * mn10200.h (MN10200_OPERAND_NOCHECK): Define. - -Sat Dec 14 10:48:31 1996 Fred Fish <fnf@ninemoons.com> - - * mn10200.h: Fix comment, mn10200_operand not powerpc_operand. - * mn10300.h: Fix comment, mn10300_operand not powerpc_operand. - * v850.h: Fix comment, v850_operand not powerpc_operand. - -Mon Dec 9 16:45:39 1996 Jeffrey A Law (law@cygnus.com) - - * mn10200.h: Flesh out structures and definitions needed by - the mn10200 assembler & disassembler. - -Tue Nov 26 10:46:56 1996 Ian Lance Taylor <ian@cygnus.com> - - * mips.h: Add mips16 definitions. - -Mon Nov 25 17:56:54 1996 J.T. Conklin <jtc@cygnus.com> - - * m68k.h: Document new <, >, m, n, o and p operand specifiers. - -Wed Nov 20 10:59:41 1996 Jeffrey A Law (law@cygnus.com) - - * mn10300.h (MN10300_OPERAND_PCREL): Define. - (MN10300_OPERAND_MEMADDR): Define. - -Tue Nov 19 13:30:40 1996 Jeffrey A Law (law@cygnus.com) - - * mn10300.h (MN10300_OPERAND_REG_LIST): Define. - -Wed Nov 6 13:41:08 1996 Jeffrey A Law (law@cygnus.com) - - * mn10300.h (MN10300_OPERAND_SPLIT): Define. - -Tue Nov 5 13:26:12 1996 Jeffrey A Law (law@cygnus.com) - - * mn10300.h (MN10300_OPERAND_EXTENDED): Define. - -Mon Nov 4 12:52:48 1996 Jeffrey A Law (law@cygnus.com) - - * mn10300.h (MN10300_OPERAND_REPEATED): Define. - -Fri Nov 1 10:31:02 1996 Richard Henderson <rth@tamu.edu> - - * alpha.h: Don't include "bfd.h"; private relocation types are now - negative to minimize problems with shared libraries. Organize - instruction subsets by AMASK extensions and PALcode - implementation. - (struct alpha_operand): Move flags slot for better packing. - -Tue Oct 29 12:19:10 1996 Jeffrey A Law (law@cygnus.com) - - * v850.h (V850_OPERAND_RELAX): New operand flag. - -Thu Oct 10 14:29:11 1996 Jeffrey A Law (law@cygnus.com) - - * mn10300.h (FMT_*): Move operand format definitions - here. - -Tue Oct 8 14:48:07 1996 Jeffrey A Law (law@cygnus.com) - - * mn10300.h (MN10300_OPERAND_PAREN): Define. - -Mon Oct 7 16:52:11 1996 Jeffrey A Law (law@cygnus.com) - - * mn10300.h (mn10300_opcode): Add "format" field. - (MN10300_OPERAND_*): Define. - -Thu Oct 3 10:33:46 1996 Jeffrey A Law (law@cygnus.com) - - * mn10x00.h: Delete. - * mn10200.h, mn10300.h: New files. - -Wed Oct 2 21:31:26 1996 Jeffrey A Law (law@cygnus.com) - - * mn10x00.h: New file. - -Fri Sep 27 18:26:46 1996 Stu Grossman (grossman@critters.cygnus.com) - - * v850.h: Add new flag to indicate this instruction uses a PC - displacement. - -Fri Sep 13 14:58:13 1996 Jeffrey A Law (law@cygnus.com) - - * h8300.h (stmac): Add missing instruction. - -Sat Aug 31 16:02:03 1996 Jeffrey A Law (law@cygnus.com) - - * v850.h (v850_opcode): Remove "size" field. Add "memop" - field. - -Fri Aug 23 10:39:08 1996 Jeffrey A Law (law@cygnus.com) - - * v850.h (V850_OPERAND_EP): Define. - - * v850.h (v850_opcode): Add size field. - -Thu Aug 22 16:51:25 1996 J.T. Conklin <jtc@rtl.cygnus.com> - - * v850.h (v850_operands): Add insert and extract fields, pointers - to functions used to handle unusual operand encoding. - (V850_OPERAND_REG, V850_OPERAND_SRG, V850_OPERAND_CC, - V850_OPERAND_SIGNED): Defined. - -Wed Aug 21 17:45:10 1996 J.T. Conklin <jtc@rtl.cygnus.com> - - * v850.h (v850_operands): Add flags field. - (OPERAND_REG, OPERAND_NUM): Defined. - -Tue Aug 20 14:52:02 1996 J.T. Conklin <jtc@rtl.cygnus.com> - - * v850.h: New file. - -Fri Aug 16 14:44:15 1996 James G. Smith <jsmith@cygnus.co.uk> - - * mips.h (OP_SH_LOCC, OP_SH_HICC, OP_MASK_CC, OP_SH_COP1NORM, - OP_MASK_COP1NORM, OP_SH_COP1SPEC, OP_MASK_COP1SPEC, - OP_MASK_COP1SCLR, OP_MASK_COP1CMP, OP_SH_COP1CMP, OP_SH_FORMAT, - OP_MASK_FORMAT, OP_SH_TRUE, OP_MASK_TRUE, OP_SH_GE, OP_MASK_GE, - OP_SH_UNSIGNED, OP_MASK_UNSIGNED, OP_SH_HINT, OP_MASK_HINT): - Defined. - -Fri Aug 16 00:15:15 1996 Jeffrey A Law (law@cygnus.com) - - * hppa.h (pitlb, pitlbe, iitlba, iitlbp, fic, fice): Accept - a 3 bit space id instead of a 2 bit space id. - -Thu Aug 15 13:11:46 1996 Martin M. Hunt <hunt@pizza.cygnus.com> - - * d10v.h: Add some additional defines to support the - assembler in determining which operations can be done in parallel. - -Tue Aug 6 11:13:22 1996 Jeffrey A Law (law@cygnus.com) - - * h8300.h (SN): Define. - (eepmov.b): Renamed from "eepmov" - (nop, bpt, rte, rts, sleep, clrmac): These have no size associated - with them. - -Fri Jul 26 11:47:10 1996 Martin M. Hunt <hunt@pizza.cygnus.com> - - * d10v.h (OPERAND_SHIFT): New operand flag. - -Thu Jul 25 12:06:22 1996 Martin M. Hunt <hunt@pizza.cygnus.com> - - * d10v.h: Changes for divs, parallel-only instructions, and - signed numbers. - -Mon Jul 22 11:21:15 1996 Martin M. Hunt <hunt@pizza.cygnus.com> - - * d10v.h (pd_reg): Define. Putting the definition here allows - the assembler and disassembler to share the same struct. - -Mon Jul 22 12:15:25 1996 Ian Lance Taylor <ian@cygnus.com> - - * i960.h (i960_opcodes): "halt" takes an argument. From Stephen - Williams <steve@icarus.com>. - -Wed Jul 17 14:46:38 1996 Martin M. Hunt <hunt@pizza.cygnus.com> - - * d10v.h: New file. - -Thu Jul 11 12:09:15 1996 Jeffrey A Law (law@cygnus.com) - - * h8300.h (band, bclr): Force high bit of immediate nibble to zero. - -Wed Jul 3 14:30:12 1996 J.T. Conklin <jtc@rtl.cygnus.com> - - * m68k.h (mcf5200): New macro. - Document names of coldfire control registers. - -Tue Jul 2 23:05:45 1996 Jeffrey A Law (law@cygnus.com) - - * h8300.h (SRC_IN_DST): Define. - - * h8300.h (UNOP3): Mark the register operand in this insn - as a source operand, not a destination operand. - (SHIFT_2, SHIFT_IMM): Remove. Eliminate all references. - (UNOP3): Change SHIFT_IMM to IMM for H8/S bitops. Mark - register operand with SRC_IN_DST. - -Fri Jun 21 13:52:17 1996 Richard Henderson <rth@tamu.edu> - - * alpha.h: New file. - -Thu Jun 20 15:02:57 1996 Ian Lance Taylor <ian@cygnus.com> - - * rs6k.h: Remove obsolete file. - -Wed Jun 19 15:29:38 1996 Ian Lance Taylor <ian@cygnus.com> - - * i386.h: Correct opcode values for faddp, fsubp, fsubrp, fmulp, - fdivp, and fdivrp. Add ffreep. - -Tue Jun 18 16:06:00 1996 Jeffrey A. Law <law@rtl.cygnus.com> - - * h8300.h: Reorder various #defines for readability. - (ABS32SRC, ABS32DST, DSP32LIST, ABS32LIST, A32LIST): Define. - (BITOP): Accept additional (unused) argument. All callers changed. - (EBITOP): Likewise. - (O_LAST): Bump. - (ldc, stc, movb, movw, movl): Use 32bit offsets and absolutes. - - * h8300.h (EXR, SHIFT_2, MACREG, SHIFT_IMM, RDINC): Define. - (O_TAS, O_CLRMAC, O_LDMAC, O_MAC, O_LDM, O_STM): Define. - (BITOP, EBITOP): Handle new H8/S addressing modes for - bit insns. - (UNOP3): Handle new shift/rotate insns on the H8/S. - (insns using exr): New instructions. - (tas, mac, ldmac, clrmac, ldm, stm): New instructions. - -Thu May 23 16:56:48 1996 Jeffrey A Law (law@cygnus.com) - - * h8300.h (add.l): Undo Apr 5th change. The manual I had - was incorrect. - -Mon May 6 23:38:22 1996 Jeffrey A Law (law@cygnus.com) - - * h8300.h (START): Remove. - (MEMRELAX): Define. Mark absolute memory operands in mov.b, mov.w - and mov.l insns that can be relaxed. - -Tue Apr 30 18:30:58 1996 Ian Lance Taylor <ian@cygnus.com> - - * i386.h: Remove Abs32 from lcall. - -Mon Apr 22 17:09:23 1996 Doug Evans <dje@blues.cygnus.com> - - * sparc.h (SPARC_OPCODE_ARCH_V9_P): New macro. - (SLCPOP): New macro. - Mark X,Y opcode letters as in use. - -Thu Apr 11 17:28:18 1996 Ian Lance Taylor <ian@cygnus.com> - - * sparc.h (F_FLOAT, F_FBR): Define. - -Fri Apr 5 16:55:34 1996 Jeffrey A Law (law@cygnus.com) - - * h8300.h (ABS8MEM): Renamed from ABSMOV. Remove ABSMOV - from all insns. - (ABS8SRC,ABS8DST): Add ABS8MEM. - (add.l): Fix reg+reg variant. - (eepmov.w): Renamed from eepmovw. - (ldc,stc): Fix many cases. - -Sun Mar 31 13:30:03 1996 Doug Evans <dje@canuck.cygnus.com> - - * sparc.h (SPARC_OPCODE_ARCH_MASK): New macro. - -Thu Mar 7 15:08:23 1996 Doug Evans <dje@charmed.cygnus.com> - - * sparc.h (O): Mark operand letter as in use. - -Tue Feb 20 20:46:21 1996 Doug Evans <dje@charmed.cygnus.com> - - * sparc.h (sparc_{encode,decode}_sparclet_cpreg): Declare. - Mark operand letters uU as in use. - -Mon Feb 19 01:59:08 1996 Doug Evans <dje@charmed.cygnus.com> - - * sparc.h (sparc_opcode_arch_val): Add SPARC_OPCODE_ARCH_SPARCLET. - (sparc_opcode_arch): Delete member `conflicts'. Add `supported'. - (SPARC_OPCODE_SUPPORTED): New macro. - (SPARC_OPCODE_CONFLICT_P): Rewrite. - (F_NOTV9): Delete. - -Fri Feb 16 12:23:34 1996 Jeffrey A Law (law@cygnus.com) - - * sparc.h (sparc_opcode_lookup_arch) Make return type in - declaration consistent with return type in definition. - -Wed Feb 14 18:14:11 1996 Alan Modra <alan@spri.levels.unisa.edu.au> - - * i386.h (i386_optab): Remove Data32 from pushf and popf. - -Thu Feb 8 14:27:21 1996 James Carlson <carlson@xylogics.com> - - * i386.h (i386_regtab): Add 80486 test registers. - -Mon Feb 5 18:35:46 1996 Ian Lance Taylor <ian@cygnus.com> - - * i960.h (I_HX): Define. - (i960_opcodes): Add HX instruction. - -Mon Jan 29 12:43:39 1996 Ken Raeburn <raeburn@cygnus.com> - - * i386.h: Fix waiting forms of finit, fstenv, fsave, fstsw, fstcw, - and fclex. - -Wed Jan 24 22:36:59 1996 Doug Evans <dje@charmed.cygnus.com> - - * sparc.h (enum sparc_opcode_arch_val): Replaces sparc_architecture. - (SPARC_OPCODE_CONFLICT_P): Renamed from ARCHITECTURES_CONFLICT_P. - (bfd_* defines): Delete. - (sparc_opcode_archs): Replaces architecture_pname. - (sparc_opcode_lookup_arch): Declare. - (NUMOPCODES): Delete. - -Mon Jan 22 08:24:32 1996 Doug Evans <dje@charmed.cygnus.com> - - * sparc.h (enum sparc_architecture): Add v9a. - (ARCHITECTURES_CONFLICT_P): Update. - -Thu Dec 28 13:27:53 1995 John Hassey <hassey@rtp.dg.com> - - * i386.h: Added Pentium Pro instructions. - -Thu Nov 2 22:59:22 1995 Ian Lance Taylor <ian@cygnus.com> - - * m68k.h: Document new 'W' operand place. - -Tue Oct 24 10:49:10 1995 Jeffrey A Law (law@cygnus.com) - - * hppa.h: Add lci and syncdma instructions. - -Mon Oct 23 11:09:16 1995 James G. Smith <jsmith@pasanda.cygnus.co.uk> - - * mips.h: Added INSN_4100 flag to mark NEC VR4100 specific - instructions. - -Mon Oct 16 10:28:15 1995 Michael Meissner <meissner@tiktok.cygnus.com> - - * ppc.h (PPC_OPCODE_{COMMON,ANY}): New opcode flags for - assembler's -mcom and -many switches. - -Wed Oct 11 16:56:33 1995 Ken Raeburn <raeburn@cygnus.com> - - * i386.h: Fix cmpxchg8b extension opcode description. - -Thu Oct 5 18:03:36 1995 Ken Raeburn <raeburn@cygnus.com> - - * i386.h: Add Pentium instructions wrmsr, rdtsc, rdmsr, cmpxchg8b, - and register cr4. - -Tue Sep 19 15:26:43 1995 Ian Lance Taylor <ian@cygnus.com> - - * m68k.h: Change comment: split type P into types 0, 1 and 2. - -Wed Aug 30 13:50:55 1995 Doug Evans <dje@canuck.cygnus.com> - - * sparc.h (sparc_{encode,decode}_prefetch): Declare. - -Tue Aug 29 15:34:58 1995 Doug Evans <dje@canuck.cygnus.com> - - * sparc.h (sparc_{encode,decode}_{asi,membar}): Declare. - -Wed Aug 2 18:32:19 1995 Ian Lance Taylor <ian@cygnus.com> - - * m68kmri.h: Remove. - - * m68k.h: Move tables into opcodes/m68k-opc.c, leaving just the - declarations. Remove F_ALIAS and flag field of struct - m68k_opcode. Change arch field of struct m68k_opcode to unsigned - int. Make name and args fields of struct m68k_opcode const. - -Wed Aug 2 08:16:46 1995 Doug Evans <dje@canuck.cygnus.com> - - * sparc.h (F_NOTV9): Define. - -Tue Jul 11 14:20:42 1995 Jeff Spiegel <jeffs@lsil.com> - - * mips.h (INSN_4010): Define. - -Wed Jun 21 18:49:51 1995 Ken Raeburn <raeburn@cujo.cygnus.com> - - * m68k.h (TBL1): Reverse sense of "round" argument in result. - - Changes from Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>: - * m68k.h: Fix argument descriptions of coprocessor - instructions to allow only alterable operands where appropriate. - [!NO_DEFAULT_SIZES]: An omitted size defaults to `w'. - (m68k_opcode_aliases): Add more aliases. - -Fri Apr 14 22:15:34 1995 Ken Raeburn <raeburn@cujo.cygnus.com> - - * m68k.h: Added explcitly short-sized conditional branches, and a - bunch of aliases (fmov*, ftest*, tdivul) to support gcc's - svr4-based configurations. - -Mon Mar 13 21:30:01 1995 Ken Raeburn <raeburn@cujo.cygnus.com> - - Mon Feb 27 08:36:39 1995 Bryan Ford <baford@cs.utah.edu> - * i386.h: added missing Data16/Data32 flags to a few instructions. - -Wed Mar 8 15:19:53 1995 Ian Lance Taylor <ian@cygnus.com> - - * mips.h (OP_MASK_FR, OP_SH_FR): Define. - (OP_MASK_BCC, OP_SH_BCC): Define. - (OP_MASK_PREFX, OP_SH_PREFX): Define. - (OP_MASK_CCC, OP_SH_CCC): Define. - (INSN_READ_FPR_R): Define. - (INSN_RFE): Delete. - -Wed Mar 8 03:13:23 1995 Ken Raeburn <raeburn@cujo.cygnus.com> - - * m68k.h (enum m68k_architecture): Deleted. - (struct m68k_opcode_alias): New type. - (m68k_opcodes): Now const. Deleted opcode aliases with exactly - matching constraints, values and flags. As a side effect of this, - the MOTOROLA_SYNTAX_ONLY and MIT_SYNTAX_ONLY macros, which so far - as I know were never used, now may need re-examining. - (numopcodes): Now const. - (m68k_opcode_aliases, numaliases): New variables. - (endop): Deleted. - [DONT_DEFINE_TABLE]: Declare numopcodes, numaliases, and - m68k_opcode_aliases; update declaration of m68k_opcodes. - -Mon Mar 6 10:02:00 1995 Jeff Law (law@snake.cs.utah.edu) - - * hppa.h (delay_type): Delete unused enumeration. - (pa_opcode): Replace unused delayed field with an architecture - field. - (pa_opcodes): Mark each instruction as either PA1.0 or PA1.1. - -Fri Mar 3 16:10:24 1995 Ian Lance Taylor <ian@cygnus.com> - - * mips.h (INSN_ISA4): Define. - -Fri Feb 24 19:13:37 1995 Ian Lance Taylor <ian@cygnus.com> - - * mips.h (M_DLA_AB, M_DLI): Define. - -Thu Feb 23 17:33:09 1995 Jeff Law (law@snake.cs.utah.edu) - - * hppa.h (fstwx): Fix single-bit error. - -Wed Feb 15 12:19:52 1995 Ian Lance Taylor <ian@cygnus.com> - - * mips.h (M_ULD, M_ULD_A, M_USD, M_USD_A): Define. - -Mon Feb 6 10:35:23 1995 J.T. Conklin <jtc@rtl.cygnus.com> - - * i386.h: added cpuid instruction , and dr[0-7] aliases for the - debug registers. From Charles Hannum (mycroft@netbsd.org). - -Mon Feb 6 03:31:54 1995 Ken Raeburn <raeburn@cujo.cygnus.com> - - Changes from Bryan Ford <baford@schirf.cs.utah.edu> for 16-bit - i386 support: - * i386.h (MOV_AX_DISP32): New macro. - (i386_optab): Added Data16 and Data32 as needed. Added "w" forms - of several call/return instructions. - (ADDR_PREFIX_OPCODE): New macro. - -Mon Jan 23 16:45:43 1995 Ken Raeburn <raeburn@cujo.cygnus.com> - - Sat Jan 21 17:50:38 1995 Pat Rankin (rankin@eql.caltech.edu) - - * vax.h (struct vot_wot, field `args'): Make it pointer to const - char. - (struct vot, field `name'): ditto. - -Thu Jan 19 14:47:53 1995 Ken Raeburn <raeburn@cujo.cygnus.com> - - * vax.h: Supply and properly group all values in end sentinel. - -Tue Jan 17 10:55:30 1995 Ian Lance Taylor <ian@sanguine.cygnus.com> - - * mips.h (INSN_ISA, INSN_4650): Define. - -Wed Oct 19 13:34:17 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> - - * a29k.h: Add operand type 'I' for `inv' and `iretinv'. On - systems with a separate instruction and data cache, such as the - 29040, these instructions take an optional argument. - -Wed Sep 14 17:44:20 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) - - * mips.h (INSN_STORE_MEMORY): Correct value to not conflict with - INSN_TRAP. - -Tue Sep 6 11:39:08 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) - - * mips.h (INSN_STORE_MEMORY): Define. - -Thu Jul 28 19:28:07 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * sparc.h: Document new operand type 'x'. - -Tue Jul 26 17:48:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * i960.h (I_CX2): New instruction category. It includes - instructions available on Cx and Jx processors. - (I_JX): New instruction category, for JX-only instructions. - (i960_opcodes): Put eshro and sysctl in I_CX2 category. Added - Jx-only instructions, in I_JX category. - -Wed Jul 13 18:43:47 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * ns32k.h (endop): Made pointer const too. - -Sun Jul 10 11:01:09 1994 Ian Dall (dall@hfrd.dsto.gov.au) - - * ns32k.h: Drop Q operand type as there is no correct use - for it. Add I and Z operand types which allow better checking. - -Thu Jul 7 12:34:48 1994 Steve Chamberlain (sac@jonny.cygnus.com) - - * h8300.h (xor.l) :fix bit pattern. - (L_2): New size of operand. - (trapa): Use it. - -Fri Jun 10 16:38:11 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * m68k.h: Move "trap" before "tpcc" to change disassembly. - -Fri Jun 3 15:57:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * sparc.h: Include v9 definitions. - -Thu Jun 2 12:23:17 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * m68k.h (m68060): Defined. - (m68040up, mfloat, mmmu): Include it. - (struct m68k_opcode): Widen `arch' field. - (m68k_opcodes): Updated for M68060. Removed comments that were - instructions commented out by "JF" years ago. - -Thu Apr 28 18:31:14 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * m68k.h (struct m68k_opcode): Shorten `arch' field to 8 bits, and - add a one-bit `flags' field. - (F_ALIAS): New macro. - -Wed Apr 27 11:29:52 1994 Steve Chamberlain (sac@cygnus.com) - - * h8300.h (dec, inc): Get encoding right. - -Mon Apr 4 13:12:43 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * ppc.h (struct powerpc_operand): Removed signedp field; just use - a flag instead. - (PPC_OPERAND_SIGNED): Define. - (PPC_OPERAND_SIGNOPT): Define. - -Thu Mar 31 19:34:08 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * i386.h (IS_JUMP_ON_ECX_ZERO, "jcxz" pattern): Operand size - prefix is 0x66, not 0x67. Patch from H.J. Lu (hlu@nynexst.com). - -Thu Mar 3 15:51:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * i386.h: Reverse last change. It'll be handled in gas instead. - -Thu Feb 24 15:29:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com) - - * i386.h (sar): Disabled the two-operand Imm1 form, since it was - slower on the 486 and used the implicit shift count despite the - explicit operand. The one-operand form is still available to get - the shorter form with the implicit shift count. - -Thu Feb 17 12:27:52 1994 Torbjorn Granlund (tege@mexican.cygnus.com) - - * hppa.h: Fix typo in fstws arg string. - -Wed Feb 9 21:23:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * ppc.h (struct powerpc_opcode): Make operands field unsigned. - -Mon Feb 7 19:14:58 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * ppc.h (PPC_OPCODE_601): Define. - -Fri Feb 4 23:43:50 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * hppa.h (addb): Use '@' for addb and addib pseudo ops. - (so we can determine valid completers for both addb and addb[tf].) - - * hppa.h (xmpyu): No floating point format specifier for the - xmpyu instruction. - -Fri Feb 4 23:36:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * ppc.h (PPC_OPERAND_NEXT): Define. - (PPC_OPERAND_NEGATIVE): Change value to make room for above. - (struct powerpc_macro): Define. - (powerpc_macros, powerpc_num_macros): Declare. - -Fri Jan 21 19:13:50 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * ppc.h: New file. Header file for PowerPC opcode table. - -Mon Jan 17 00:14:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu) - - * hppa.h: More minor template fixes for sfu and copr (to allow - for easier disassembly). - - * hppa.h: Fix templates for all the sfu and copr instructions. - -Wed Dec 15 15:12:42 1993 Ken Raeburn (raeburn@cujo.cygnus.com) - - * i386.h (push): Permit Imm16 operand too. - -Sat Dec 11 16:14:06 1993 Steve Chamberlain (sac@thepub.cygnus.com) - - * h8300.h (andc): Exists in base arch. - -Wed Dec 1 12:15:32 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * From Hisashi MINAMINO <minamino@sramhc.sra.co.jp> - * hppa.h: #undef NONE to avoid conflict with hiux include files. - -Sun Nov 21 22:06:57 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * hppa.h: Add FP quadword store instructions. - -Wed Nov 17 17:13:16 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * mips.h: (M_J_A): Added. - (M_LA): Removed. - -Mon Nov 8 12:12:47 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * mips.h (OP_MASK_CACHE, OP_SH_CACHE): Define. From Ted Lemon - <mellon@pepper.ncd.com>. - -Sun Nov 7 00:30:11 1993 Jeffrey A. Law (law@snake.cs.utah.edu) - - * hppa.h: Immediate field in probei instructions is unsigned, - not low-sign extended. - -Wed Nov 3 10:30:00 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * m88k.h (RRI10MASK): Change from 0xfc00ffe0 to 0xfc00fc00. - -Tue Nov 2 12:41:30 1993 Ken Raeburn (raeburn@rover.cygnus.com) - - * i386.h: Add "fxch" without operand. - -Mon Nov 1 18:13:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * mips.h (M_JAL_1, M_JAL_2, M_JAL_A): Added. - -Sat Oct 2 22:26:11 1993 Jeffrey A Law (law@snake.cs.utah.edu) - - * hppa.h: Add gfw and gfr to the opcode table. - -Wed Sep 29 16:23:00 1993 K. Richard Pixley (rich@sendai.cygnus.com) - - * m88k.h: extended to handle m88110. - -Tue Sep 28 19:19:08 1993 Jeffrey A Law (law@snake.cs.utah.edu) - - * hppa.h (be, ble): Use operand type 'z' to denote absolute branch - addresses. - -Tue Sep 14 14:04:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * i960.h (i960_opcodes): Properly bracket initializers. - -Mon Sep 13 12:50:52 1993 K. Richard Pixley (rich@sendai.cygnus.com) - - * m88k.h (BOFLAG): rewrite to avoid nested comment. - -Mon Sep 13 15:46:06 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * m68k.h (two): Protect second argument with parentheses. - -Fri Sep 10 16:29:47 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * i386.h (i386_optab): Added new instruction "rsm" (for i386sl). - Deleted old in/out instructions in "#if 0" section. - -Thu Sep 9 17:42:19 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * i386.h (i386_optab): Properly bracket initializers. - -Wed Aug 25 13:50:56 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * hppa.h (pa_opcode): Use '|' for movb and movib insns. (From - Jeff Law, law@cs.utah.edu). - -Mon Aug 23 16:55:03 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * i386.h (lcall): Accept Imm32 operand also. - -Mon Aug 23 12:43:11 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * mips.h (M_ABSU): Removed (absolute value of unsigned number??). - (M_DABS): Added. - -Thu Aug 19 15:08:37 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * mips.h (INSN_*): Changed values. Removed unused definitions. - Added INSN_COND_BRANCH_LIKELY, INSN_ISA2 and INSN_ISA3. Split - INSN_LOAD_DELAY into INSN_LOAD_MEMORY_DELAY and - INSN_LOAD_COPROC_DELAY. Split INSN_COPROC_DELAY into - INSN_COPROC_MOVE_DELAY and INSN_COPROC_MEMORY_DELAY. - (M_*): Added new values for r6000 and r4000 macros. - (ANY_DELAY): Removed. - -Wed Aug 18 15:37:48 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * mips.h: Added M_LI_S and M_LI_SS. - -Tue Aug 17 07:08:08 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) - - * h8300.h: Get some rare mov.bs correct. - -Thu Aug 5 09:15:17 1993 Jim Kingdon (kingdon@lioth.cygnus.com) - - * sparc.h: Don't define const ourself; rely on ansidecl.h having - been included. - -Fri Jul 30 18:41:11 1993 John Gilmore (gnu@cygnus.com) - - * sparc.h (F_JSR, F_UNBR, F_CONDBR): Add new flags to mark - jump instructions, for use in disassemblers. - -Thu Jul 22 07:25:27 1993 Ian Lance Taylor (ian@cygnus.com) - - * m88k.h: Make bitfields just unsigned, not unsigned long or - unsigned short. - -Wed Jul 21 11:55:31 1993 Jim Kingdon (kingdon@deneb.cygnus.com) - - * hppa.h: New argument type 'y'. Use in various float instructions. - -Mon Jul 19 17:17:03 1993 Jim Kingdon (kingdon@deneb.cygnus.com) - - * hppa.h (break): First immediate field is unsigned. - - * hppa.h: Add rfir instruction. - -Sun Jul 18 16:28:08 1993 Jim Kingdon (kingdon@rtl.cygnus.com) - - * mips.h: Split the actual table out into ../../opcodes/mips-opc.c. - -Fri Jul 16 09:59:29 1993 Ian Lance Taylor (ian@cygnus.com) - - * mips.h: Reworked the hazard information somewhat, and fixed some - bugs in the instruction hazard descriptions. - -Thu Jul 15 12:42:01 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * m88k.h: Corrected a couple of opcodes. - -Tue Jul 6 15:17:35 1993 Ian Lance Taylor (ian@cygnus.com) - - * mips.h: Replaced with version from Ralph Campbell and OSF. The - new version includes instruction hazard information, but is - otherwise reasonably similar. - -Thu Jul 1 20:36:17 1993 Doug Evans (dje@canuck.cygnus.com) - - * h8300.h: Fix typo in UNOP3 (affected sh[al][lr].l). - -Fri Jun 11 18:38:44 1993 Ken Raeburn (raeburn@cygnus.com) - - Patches from Jeff Law, law@cs.utah.edu: - * hppa.h: Clean up some of the OLD_TABLE, non-OLD_TABLE braindamage. - Make the tables be the same for the following instructions: - "bb", "addb[tf]", "addib[tf]", "add", "add[loc]", "addco", - "sh[123]add", "sh[123]add[lo]", "sub", "sub[obt]", "sub[bt]o", - "ds", "comclr", "addi", "addi[ot]", "addito", "subi", "subio", - "comiclr", "fadd", "fsub", "fmpy", "fdiv", "fsqrt", "fabs", - "frnd", "fcpy", "fcnvff", "fcnvxf", "fcnvfx", "fcnvfxt", - "fcmp", and "ftest". - - * hppa.h: Make new and old tables the same for "break", "mtctl", - "mfctl", "bb", "ssm", "rsm", "xmpyu", "fmpyadd", "fmpysub". - Fix typo in last patch. Collapse several #ifdefs into a - single #ifdef. - - * hppa.h: Delete remaining OLD_TABLE code. Bring some - of the comments up-to-date. - - * hppa.h: Update "free list" of letters and update - comments describing each letter's function. - -Thu Jul 8 09:05:26 1993 Doug Evans (dje@canuck.cygnus.com) - - * h8300.h: Lots of little fixes for the h8/300h. - -Tue Jun 8 12:16:03 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) - - Support for H8/300-H - * h8300.h: Lots of new opcodes. - -Fri Jun 4 15:41:37 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) - - * h8300.h: checkpoint, includes H8/300-H opcodes. - -Thu Jun 3 15:42:59 1993 Stu Grossman (grossman@cygnus.com) - - * Patches from Jeffrey Law <law@cs.utah.edu>. - * hppa.h: Rework single precision FP - instructions so that they correctly disassemble code - PA1.1 code. - -Thu May 27 19:21:22 1993 Bruce Bauman (boot@osf.org) - - * i386.h (i386_optab, mov pattern): Remove Mem16 restriction from - mov to allow instructions like mov ss,xyz(ecx) to assemble. - -Tue May 25 00:39:40 1993 Ken Raeburn (raeburn@cygnus.com) - - * hppa.h: Use new version from Utah if OLD_TABLE isn't defined; - gdb will define it for now. - -Mon May 24 15:20:06 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * sparc.h: Don't end enumerator list with comma. - -Fri May 14 15:15:50 1993 Ian Lance Taylor (ian@cygnus.com) - - * Based on patches from davidj@ICSI.Berkeley.EDU (David Johnson): - * mips.h (OP_MASK_COPZ, OP_SH_COPZ): Define. - ("bc2t"): Correct typo. - ("[ls]wc[023]"): Use T rather than t. - ("c[0123]"): Define general coprocessor instructions. - -Mon May 10 06:02:25 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) - - * m68k.h: Move split point for gcc compilation more towards - middle. - -Fri Apr 9 13:26:16 1993 Jim Kingdon (kingdon@cygnus.com) - - * rs6k.h: Clean up instructions for primary opcode 19 (many were - simply wrong, ics, rfi, & rfsvc were missing). - Add "a" to opr_ext for "bb". Doc fix. - -Thu Mar 18 13:45:31 1993 Per Bothner (bothner@rtl.cygnus.com) - - * i386.h: 486 extensions from John Hassey (hassey@dg-rtp.dg.com). - * mips.h: Add casts, to suppress warnings about shifting too much. - * m68k.h: Document the placement code '9'. - -Thu Feb 18 02:03:14 1993 John Gilmore (gnu@cygnus.com) - - * m68k.h (BREAK_UP_BIG_DECL, AND_OTHER_PART): Add kludge which - allows callers to break up the large initialized struct full of - opcodes into two half-sized ones. This permits GCC to compile - this module, since it takes exponential space for initializers. - (numopcodes, endop): Revise to use AND_OTHER_PART in size calcs. - -Thu Feb 4 02:06:56 1993 John Gilmore (gnu@cygnus.com) - - * a29k.h: Remove RCS crud, update GPL to v2, update copyrights. - * convex.h: Added, from GDB's convx-opcode.h. Added CONST to all - initialized structs in it. - -Thu Jan 28 21:32:22 1993 John Gilmore (gnu@cygnus.com) - - Delta 88 changes inspired by Carl Greco, <cgreco@Creighton.Edu>: - * m88k.h (PMEM): Avoid previous definition from <sys/param.h>. - (AND): Change to AND_ to avoid ansidecl.h `AND' conflict. - -Sat Jan 23 18:10:49 PST 1993 Ralph Campbell (ralphc@pyramid.com) - - * mips.h: document "i" and "j" operands correctly. - -Thu Jan 7 15:58:13 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) - - * mips.h: Removed endianness dependency. - -Sun Jan 3 14:13:35 1993 Steve Chamberlain (sac@thepub.cygnus.com) - - * h8300.h: include info on number of cycles per instruction. - -Mon Dec 21 21:29:08 1992 Stu Grossman (grossman at cygnus.com) - - * hppa.h: Move handy aliases to the front. Fix masks for extract - and deposit instructions. - -Sat Dec 12 16:09:48 1992 Ian Lance Taylor (ian@cygnus.com) - - * i386.h: accept shld and shrd both with and without the shift - count argument, which is always %cl. - -Fri Nov 27 17:13:18 1992 Ken Raeburn (raeburn at cygnus.com) - - * i386.h (i386_optab_end, i386_regtab_end): Now const. - (one_byte_segment_defaults, two_byte_segment_defaults, - i386_prefixtab_end): Ditto. - -Mon Nov 23 10:47:25 1992 Ken Raeburn (raeburn@cygnus.com) - - * vax.h (bb*): Use "v" (bitfield type), not "a" (address operand) - for operand 2; from John Carr, jfc@dsg.dec.com. - -Wed Nov 4 07:36:49 1992 Ken Raeburn (raeburn@cygnus.com) - - * m68k.h: Define FIXED_SIZE_BRANCH, so bsr and bra instructions - always use 16-bit offsets. Makes calculated-size jump tables - feasible. - -Fri Oct 16 22:52:43 1992 Ken Raeburn (raeburn@cygnus.com) - - * i386.h: Fix one-operand forms of in* and out* patterns. - -Tue Sep 22 14:08:14 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * m68k.h: Added CPU32 support. - -Tue Sep 22 00:38:41 1992 John Gilmore (gnu@cygnus.com) - - * mips.h (break): Disassemble the argument. Patch from - jonathan@cs.stanford.edu (Jonathan Stone). - -Wed Sep 9 11:25:28 1992 Ian Lance Taylor (ian@cygnus.com) - - * m68k.h: merged Motorola and MIT syntax. - -Thu Sep 3 09:33:22 1992 Steve Chamberlain (sac@thepub.cygnus.com) - - * m68k.h (pmove): make the tests less strict, the 68k book is - wrong. - -Tue Aug 25 23:25:19 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) - - * m68k.h (m68ec030): Defined as alias for 68030. - (m68k_opcodes): New type characters "3" for 68030 MMU regs and "t" - for immediate 0-7 added. Set up some opcodes (ptest, bkpt) to use - them. Tightened description of "fmovex" to distinguish it from - some "pmove" encodings. Added "pmove" for 68030 MMU regs, cleaned - up descriptions that claimed versions were available for chips not - supporting them. Added "pmovefd". - -Mon Aug 24 12:04:51 1992 Steve Chamberlain (sac@thepub.cygnus.com) - - * m68k.h: fix where the . goes in divull - -Wed Aug 19 11:22:24 1992 Ian Lance Taylor (ian@cygnus.com) - - * m68k.h: the cas2 instruction is supposed to be written with - indirection on the last two operands, which can be either data or - address registers. Added a new operand type 'r' which accepts - either register type. Added new cases for cas2l and cas2w which - use them. Corrected masks for cas2 which failed to recognize use - of address register. - -Fri Aug 14 14:20:38 1992 Per Bothner (bothner@cygnus.com) - - * m68k.h: Merged in patches (mostly m68040-specific) from - Colin Smith <colin@wrs.com>. - - * m68k.h: Merged m68kmri.h and m68k.h (using the former as a - base). Also cleaned up duplicates, re-ordered instructions for - the sake of dis-assembling (so aliases come after standard names). - * m68kmri.h: Now just defines some macros, and #includes m68k.h. - -Wed Aug 12 16:38:15 1992 Steve Chamberlain (sac@thepub.cygnus.com) - - * m68kmri.h: added various opcodes. Moved jbxx to bxxes. Filled in - all missing .s - -Mon Aug 10 23:22:33 1992 Ken Raeburn (raeburn@cygnus.com) - - * sparc.h: Moved tables to BFD library. - - * i386.h (i386_optab): Add fildq, fistpq aliases used by gcc. - -Sun Jun 28 13:29:03 1992 Fred Fish (fnf@cygnus.com) - - * h8300.h: Finish filling in all the holes in the opcode table, - so that the Lucid C compiler can digest this as well... - -Fri Jun 26 21:27:17 1992 John Gilmore (gnu at cygnus.com) - - * i386.h: Add setc, setnc, addr16, data16, repz, repnz aliases. - Fix opcodes on various sizes of fild/fist instructions - (16bit=no suffix, 32bit="l" suffix, 64bit="ll" suffix). - Use tabs to indent for comments. Fixes suggested by Minh Tran-Le. - -Thu Jun 25 16:13:26 1992 Stu Grossman (grossman at cygnus.com) - - * h8300.h: Fill in all the holes in the opcode table so that the - losing HPUX C compiler can digest this... - -Thu Jun 11 12:15:25 1992 John Gilmore (gnu at cygnus.com) - - * mips.h: Fix decoding of coprocessor instructions, somewhat. - (Fix by Eric Anderson, 3jean@maas-neotek.arc.nasa.gov.) - -Thu May 28 11:17:44 1992 Jim Wilson (wilson@sphagnum.cygnus.com) - - * sparc.h: Add new architecture variant sparclite; add its scan - and divscc opcodes. Define ARCHITECTURES_CONFLICT_P macro. - -Tue May 5 14:23:27 1992 Per Bothner (bothner@rtl.cygnus.com) - - * mips.h: Add some more opcode synonyms (from Frank Yellin, - fy@lucid.com). - -Thu Apr 16 18:25:26 1992 Per Bothner (bothner@cygnus.com) - - * rs6k.h: New version from IBM (Metin). - -Thu Apr 9 00:31:19 1992 Per Bothner (bothner@rtl.cygnus.com) - - * rs6k.h: Fix incorrect extended opcode for instructions `fm' - and `fd'. (From metin@ibmpa.awdpa.ibm.com (Metin G. Ozisik).) - -Tue Apr 7 13:38:47 1992 Stu Grossman (grossman at cygnus.com) - - * rs6k.h: Move from ../../gdb/rs6k-opcode.h. - -Fri Apr 3 11:30:20 1992 Fred Fish (fnf@cygnus.com) - - * m68k.h (one, two): Cast macro args to unsigned to suppress - complaints from compiler and lint about integer overflow during - shift. - -Sun Mar 29 12:22:08 1992 John Gilmore (gnu at cygnus.com) - - * sparc.h (OP): Avoid signed overflow when shifting to high order bit. - -Fri Mar 6 00:22:38 1992 John Gilmore (gnu at cygnus.com) - - * mips.h: Make bitfield layout depend on the HOST compiler, - not on the TARGET system. - -Fri Feb 21 01:29:51 1992 K. Richard Pixley (rich@cygnus.com) - - * i386.h: added inb, inw, outb, outw opcodes, added att syntax for - scmp, slod, smov, ssca, ssto. Curtesy Minh Tran-Le - <TRANLE@INTELLICORP.COM>. - -Thu Jan 30 07:31:44 1992 Steve Chamberlain (sac at rtl.cygnus.com) - - * h8300.h: turned op_type enum into #define list - -Thu Jan 30 01:07:24 1992 John Gilmore (gnu at cygnus.com) - - * sparc.h: Remove "cypress" architecture. Remove "fitox" and - similar instructions -- they've been renamed to "fitoq", etc. - REALLY fix tsubcctv. Fix "fcmpeq" and "fcmpq" which had wrong - number of arguments. - * h8300.h: Remove extra ; which produces compiler warning. - -Tue Jan 28 22:59:22 1992 Stu Grossman (grossman at cygnus.com) - - * sparc.h: fix opcode for tsubcctv. - -Tue Jan 7 17:19:39 1992 K. Richard Pixley (rich at cygnus.com) - - * sparc.h: fba and cba are now aliases for fb and cb respectively. - -Fri Dec 27 10:55:50 1991 Per Bothner (bothner at cygnus.com) - - * sparc.h (nop): Made the 'lose' field be even tighter, - so only a standard 'nop' is disassembled as a nop. - -Sun Dec 22 12:18:18 1991 Michael Tiemann (tiemann at cygnus.com) - - * sparc.h (nop): Add RD_GO to `lose' so that only %g0 in dest is - disassembled as a nop. - -Wed Dec 18 17:19:44 1991 Stu Grossman (grossman at cygnus.com) - - * m68k.h, sparc.h: ANSIfy enums. - -Tue Dec 10 00:22:20 1991 K. Richard Pixley (rich at rtl.cygnus.com) - - * sparc.h: fix a typo. - -Sat Nov 30 20:40:51 1991 Steve Chamberlain (sac at rtl.cygnus.com) - - * a29k.h, arm.h, h8300.h, i386.h, i860.h, i960.h , m68k.h, - m88k.h, mips.h , np1.h, ns32k.h, pn.h, pyr.h, sparc.h, tahoe.h, - vax.h: Renamed from ../<foo>-opcode.h. + * h8300.h (BITOP): Dissallow operations on @aa:16 and @aa:32 + except for the H8S. +For older changes see ChangeLog-9103 Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 version-control: never End: diff --git a/contrib/binutils/include/opcode/ChangeLog-9103 b/contrib/binutils/include/opcode/ChangeLog-9103 new file mode 100644 index 0000000..0cdb1f3 --- /dev/null +++ b/contrib/binutils/include/opcode/ChangeLog-9103 @@ -0,0 +1,3102 @@ +2003-10-21 Peter Barada <pbarada@mail.wm.sps.mot.com> + Bernardo Innocenti <bernie@develer.com> + + * m68k.h: Add MCFv4/MCF5528x support. + +2003-10-19 Hans-Peter Nilsson <hp@bitrange.com> + + * mmix.h (JMP_INSN_BYTE): Define. + +2003-09-30 Chris Demetriou <cgd@broadcom.com> + + * mips.h: Document +E, +F, +G, +H, and +I operand types. + Update documentation of I, +B and +C operand types. + (INSN_ISA64R2, ISA_MIPS64R2, CPU_MIPS64R2): New defines. + (M_DEXT, M_DINS): New enum values. + +2003-09-04 Nick Clifton <nickc@redhat.com> + + * v850.h (PROCESSOR_V850E1): Define. + +2003-08-19 Alan Modra <amodra@bigpond.net.au> + + * ppc.h (PPC_OPCODE_440): Define. Formatting. Use hex for other + PPC_OPCODE_* defines. + +2003-08-16 Jason Eckhardt <jle@rice.edu> + + * i860.h (fmov.ds): Expand as famov.ds. + (fmov.sd): Expand as famov.sd. + (pfmov.ds): Expand as pfamov.ds. + +2003-08-07 Michael Meissner <gnu@the-meissners.org> + + * cgen.h: Remove PARAM macro usage in all prototypes. + (CGEN_EXTRACT_INFO): Use void * instead of PTR. + (cgen_print_fn): Ditto. + (CGEN_HW_ENTRY): Ditto. + (CGEN_MAYBE_MULTI_IFLD): Ditto. + (struct cgen_insn): Ditto. + (CGEN_CPU_TABLE): Ditto. + +2003-08-07 Alan Modra <amodra@bigpond.net.au> + + * alpha.h: Remove PARAMS macro. + * arc.h: Likewise. + * d10v.h: Likewise. + * d30v.h: Likewise. + * i370.h: Likewise. + * or32.h: Likewise. + * pj.h: Likewise. + * ppc.h: Likewise. + * sparc.h: Likewise. + * tic80.h: Likewise. + * v850.h: Likewise. + +2003-07-18 Michael Snyder <msnyder@redhat.com> + + * include/opcode/h8sx.h (DO_MOVA1, DO_MOVA2): Reformatting. + +2003-07-15 Richard Sandiford <rsandifo@redhat.com> + + * mips.h (CPU_RM7000): New macro. + (OPCODE_IS_MEMBER): Match CPU_RM7000 against 4650 insns. + +2003-07-09 Alexandre Oliva <aoliva@redhat.com> + + 2000-04-01 Alexandre Oliva <aoliva@cygnus.com> + * mn10300.h (AM33_2): Renamed from AM33. + 2000-03-31 Alexandre Oliva <aoliva@cygnus.com> + * mn10300.h (AM332, FMT_D3): Defined. + (MN10300_OPERAND_FSREG, MN10300_OPERAND_FDREG): Likewise. + (MN10300_OPERAND_FPCR): Likewise. + +2003-07-01 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * s390.h (s390_opcode_cpu_val): Add enum for cpu type z990. + +2003-06-25 Richard Sandiford <rsandifo@redhat.com> + + * h8300.h (IMM2_NS, IMM8_NS, IMM16_NS): Remove. + (IMM8U, IMM8U_NS): Define. + (h8_opcodes): Use IMM8U_NS for mov.[wl] #xx:8,@yy. + +2003-06-25 Richard Sandiford <rsandifo@redhat.com> + + * h8300.h (h8_opcodes): Fix the mov.l @(dd:32,ERs),ERd and + mov.l ERs,@(dd:32,ERd) entries. + +2003-06-23 H.J. Lu <hongjiu.lu@intel.com> + + * i386.h (i386_optab): Support Intel Precott New Instructions. + +2003-06-10 Gary Hade <garyhade@us.ibm.com> + + * ppc.h (PPC_OPERAND_DQ): Define. + +2003-06-10 Richard Sandiford <rsandifo@redhat.com> + + * h8300.h (IMM4_NS, IMM8_NS): New. + (h8_opcodes): Replace IMM4 with IMM4_NS in mov.b and mov.w entries. + Likewise IMM8 for mov.w and mov.l. Likewise IMM16U for mov.l. + +2003-06-03 Michael Snyder <msnyder@redhat.com> + + * h8300.h (enum h8_model): Add AV_H8S to distinguish from H8H. + (ldc): Split ccr ops from exr ops (which are only available + on H8S or H8SX). + (stc): Ditto. + (andc, orc, xorc): Ditto. + (ldmac, stmac, clrmac, mac): Change access to AV_H8S. + +2003-06-03 Michael Snyder <msnyder@redhat.com> + and Bernd Schmidt <bernds@redhat.com> + and Alexandre Oliva <aoliva@redhat.com> + * h8300.h: Add support for h8300sx instruction set. + +2003-05-23 Jason Eckhardt <jle@rice.edu> + + * i860.h (expand_type): Add XP_ONLY. + (scyc.b): New XP instruction. + (ldio.l): Likewise. + (ldio.s): Likewise. + (ldio.b): Likewise. + (ldint.l): Likewise. + (ldint.s): Likewise. + (ldint.b): Likewise. + (stio.l): Likewise. + (stio.s): Likewise. + (stio.b): Likewise. + (pfld.q): Likewise. + +2003-05-20 Jason Eckhardt <jle@rice.edu> + + * i860.h (flush): Set lower 3 bits properly and use 'L' + for the immediate operand type instead of 'i'. + +2003-05-20 Jason Eckhardt <jle@rice.edu> + + * i860.h (fzchks): Both S and R bits must be set. + (pfzchks): Likewise. + (faddp): Likewise. + (pfaddp): Likewise. + (fix.ss): Remove (invalid instruction). + (pfix.ss): Likewise. + (ftrunc.ss): Likewise. + (pftrunc.ss): Likewise. + +2003-05-18 Jason Eckhardt <jle@rice.edu> + + * i860.h (form, pform): Add missing .dd suffix. + +2003-05-13 Stephane Carrez <stcarrez@nerim.fr> + + * m68hc11.h (M68HC12_BANK_VIRT): Define to 0x010000 + +2003-04-07 Michael Snyder <msnyder@redhat.com> + + * h8300.h (ldc/stc): Fix up src/dst swaps. + +2003-04-09 J. Grant <jg-binutils@jguk.org> + + * mips.h: Correct comment typo. + +2003-03-21 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * s390.h (s390_opcode_arch_val): Rename to s390_opcode_mode_val. + (S390_OPCODE_ESAME): Rename to S390_OPCODE_ZARCH. + (s390_opcode): Remove architecture. Add modes and min_cpu. + +2003-03-17 D.Venkatasubramanian <dvenkat@noida.hcltech.com> + + * h8300.h (O_SYS_CMDLINE): New pseudo opcode for command line + processing. + +2003-02-21 Noida D.Venkatasubramanian <dvenkat@noida.hcltech.com> + + * h8300.h (ldmac, stmac): Replace MACREG with MS32 and MD32. + +2003-01-23 Alan Modra <amodra@bigpond.net.au> + + * m68hc11.h (cpu6812s): Define. + +2003-01-07 Chris Demetriou <cgd@broadcom.com> + + * mips.h: Fix missing space in comment. + (INSN_ISA1, INSN_ISA2, INSN_ISA3, INSN_ISA4, INSN_ISA5) + (INSN_ISA32, INSN_ISA32R2, INSN_ISA64): Shift values right + by four bits. + +2003-01-02 Chris Demetriou <cgd@broadcom.com> + + * mips.h: Update copyright years to include 2002 (which had + been missed previously) and 2003. Make comments about "+A", + "+B", and "+C" operand types more descriptive. + +2002-12-31 Chris Demetriou <cgd@broadcom.com> + + * mips.h: Note that the "+D" operand type name is now used. + +2002-12-30 Chris Demetriou <cgd@broadcom.com> + + * mips.h: Document "+" as the start of two-character operand + type names, and add new "K", "+A", "+B", and "+C" operand types. + (OP_MASK_INSMSB, OP_SH_INSMSB, OP_MASK_EXTMSB) + (OP_SH_EXTMSB, INSN_ISA32R2, ISA_MIPS32R2, CPU_MIPS32R2): New + defines. + +2002-12-24 Dmitry Diky <diwil@mail.ru> + + * msp430.h: New file. Defines msp430 opcodes. + +2002-12-30 D.Venkatasubramanian <dvenkat@noida.hcltech.com> + + * h8300.h: Added some more pseudo opcodes for system call + processing. + +2002-12-19 Chris Demetriou <cgd@broadcom.com> + + * mips.h (OP_OP_COP0, OP_OP_COP1, OP_OP_COP2, OP_OP_COP3) + (OP_OP_LWC1, OP_OP_LWC2, OP_OP_LWC3, OP_OP_LDC1, OP_OP_LDC2) + (OP_OP_LDC3, OP_OP_SWC1, OP_OP_SWC2, OP_OP_SWC3, OP_OP_SDC1) + (OP_OP_SDC2, OP_OP_SDC3): Define. + +2002-12-16 Alan Modra <amodra@bigpond.net.au> + + * hppa.h (completer_chars): #if 0 out. + + * ns32k.h (struct ns32k_opcode): Constify "name", "operands" and + "default_args". + (struct not_wot): Constify "args". + (struct not): Constify "name". + (numopcodes): Delete. + (endop): Delete. + +2002-12-13 Alan Modra <amodra@bigpond.net.au> + + * pj.h (pj_opc_info_t): Add union. + +2002-12-04 David Mosberger <davidm@hpl.hp.com> + + * ia64.h: Fix copyright message. + (IA64_OPND_AR_CSD): New operand kind. + +2002-12-03 Richard Henderson <rth@redhat.com> + + * ia64.h (enum ia64_opnd): Add IA64_OPND_LDXMOV. + +2002-12-03 Alan Modra <amodra@bigpond.net.au> + + * cgen.h (struct cgen_maybe_multi_ifield): Add "const PTR p" to union. + Constify "leaf" and "multi". + +2002-11-19 Klee Dienes <kdienes@apple.com> + + * h8300.h (h8_opcode): Remove 'noperands', 'idx', and 'size' + fields. + (h8_opcodes). Modify initializer and initializer macros to no + longer initialize the removed fields. + +2002-11-19 Svein E. Seldal <Svein.Seldal@solidas.com> + + * tic4x.h (c4x_insts): Fixed LDHI constraint + +2002-11-18 Klee Dienes <kdienes@apple.com> + + * h8300.h (h8_opcode): Remove 'length' field. + (h8_opcodes): Mark as 'const' (both the declaration and + definition). Modify initializer and initializer macros to no + longer initialize the length field. + +2002-11-18 Klee Dienes <kdienes@apple.com> + + * arc.h (arc_ext_opcodes): Declare as extern. + (arc_ext_operands): Declare as extern. + * i860.h (i860_opcodes): Declare as const. + +2002-11-18 Svein E. Seldal <Svein.Seldal@solidas.com> + + * tic4x.h: File reordering. Added enhanced opcodes. + +2002-11-16 Svein E. Seldal <Svein.Seldal@solidas.com> + + * tic4x.h: Major rewrite of entire file. Define instruction + classes, and put each instruction into a class. + +2002-11-11 Svein E. Seldal <Svein.Seldal@solidas.com> + + * tic4x.h: Added new opcodes and corrected some bugs. Add support + for new DSP types. + +2002-10-14 Alan Modra <amodra@bigpond.net.au> + + * cgen.h: Test __BFD_H_SEEN__ rather than BFD_VERSION_DATE. + +2002-09-30 Gavin Romig-Koch <gavin@redhat.com> + Ken Raeburn <raeburn@cygnus.com> + Aldy Hernandez <aldyh@redhat.com> + Eric Christopher <echristo@redhat.com> + Richard Sandiford <rsandifo@redhat.com> + + * mips.h: Update comment for new opcodes. + (OP_MASK_VECBYTE, OP_SH_VECBYTE): New. + (OP_MASK_VECALIGN, OP_SH_VECALIGN): New. + (INSN_4111, INSN_4120, INSN_5400, INSN_5500): New. + (CPU_VR4120, CPU_VR5400, CPU_VR5500): New. + (OPCODE_IS_MEMBER): Handle the new CPU_* values and INSN_* flags. + Don't match CPU_R4111 with INSN_4100. + +2002-08-19 Elena Zannoni <ezannoni@redhat.com> + + From matthew green <mrg@redhat.com> + + * ppc.h (PPC_OPCODE_SPE): New opcode flag for Powerpc e500 + instructions. + (PPC_OPCODE_ISEL, PPC_OPCODE_BRLOCK, PPC_OPCODE_PMR, + PPC_OPCODE_CACHELCK, PPC_OPCODE_RFMCI): New opcode flags for the + e500x2 Integer select, branch locking, performance monitor, + cache locking and machine check APUs, respectively. + (PPC_OPCODE_EFS): New opcode type for efs* instructions. + (PPC_OPCODE_CLASSIC): New opcode type for Classic PowerPC instructions. + +2002-08-13 Stephane Carrez <stcarrez@nerim.fr> + + * m68hc11.h (M6812_OP_PAGE): Define to identify call operand. + (M68HC12_BANK_VIRT, M68HC12_BANK_MASK, M68HC12_BANK_BASE, + M68HC12_BANK_SHIFT, M68HC12_BANK_PAGE_MASK): Define for 68HC12 + memory banks. + (M6811_OC1M5, M6811_OC1M4, M6811_MODF): Fix value. + +2002-07-09 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * mips.h (INSN_MIPS16): New define. + +2002-07-08 Alan Modra <amodra@bigpond.net.au> + + * i386.h: Remove IgnoreSize from movsx and movzx. + +2002-06-08 Alan Modra <amodra@bigpond.net.au> + + * a29k.h: Replace CONST with const. + (CONST): Don't define. + * convex.h: Replace CONST with const. + (CONST): Don't define. + * dlx.h: Replace CONST with const. + * or32.h (CONST): Don't define. + +2002-05-30 Chris G. Demetriou <cgd@broadcom.com> + + * mips.h (OP_SH_ALN, OP_MASK_ALN, OP_SH_VSEL, OP_MASK_VSEL) + (MDMX_FMTSEL_IMM_QH, MDMX_FMTSEL_IMM_OB, MDMX_FMTSEL_VEC_QH) + (MDMX_FMTSEL_VEC_OB, INSN_READ_MDMX_ACC, INSN_WRITE_MDMX_ACC) + (INSN_MDMX): New constants, for MDMX support. + (opcode character list): Add "O", "Q", "X", "Y", and "Z" for MDMX. + +2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net> + + * dlx.h: New file. + +2002-05-25 Alan Modra <amodra@bigpond.net.au> + + * ia64.h: Use #include "" instead of <> for local header files. + * sparc.h: Likewise. + +2002-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * mips.h: Add M_DROL, M_DROL_I, M_DROR, M_DROR_I macro cases. + +2002-05-17 Andrey Volkov <avolkov@sources.redhat.com> + + * h8300.h: Corrected defs of all control regs + and eepmov instr. + +2002-04-11 Alan Modra <amodra@bigpond.net.au> + + * i386.h: Add intel mode cmpsd and movsd. + Put them before SSE2 insns, so that rep prefix works. + +2002-03-15 Chris G. Demetriou <cgd@broadcom.com> + + * mips.h (INSN_MIPS3D): New definition used to mark MIPS-3D + instructions. + (OPCODE_IS_MEMBER): Adjust comments to indicate that ASE bit masks + may be passed along with the ISA bitmask. + +2002-03-05 Paul Koning <pkoning@equallogic.com> + + * pdp11.h: Add format codes for float instruction formats. + +2002-02-25 Alan Modra <amodra@bigpond.net.au> + + * ppc.h (PPC_OPCODE_POWER4, PPC_OPCODE_NOPOWER4): Define. + +Mon Feb 18 17:31:48 CET 2002 Jan Hubicka <jh@suse.cz> + + * i386.h (push,pop): Fix Reg64 to WordReg to allow 16bit operands. + +Mon Feb 11 12:53:19 CET 2002 Jan Hubicka <jh@suse.cz> + + * i386.h (push,pop): Allow 16bit operands in 64bit mode. + (xchg): Fix. + (in, out): Disable 64bit operands. + (call, jmp): Avoid REX prefixes. + (jcxz): Prohibit in 64bit mode + (jrcxz, loop): Add 64bit variants. + (movq): Fix patterns. + (movmskps, pextrw, pinstrw): Add 64bit variants. + +2002-01-31 Ivan Guzvinec <ivang@opencores.org> + + * or32.h: New file. + +2002-01-22 Graydon Hoare <graydon@redhat.com> + + * cgen.h (CGEN_MAYBE_MULTI_IFLD): New structure. + (CGEN_OPERAND): Add CGEN_MAYBE_MULTI_IFLD field. + +2002-01-21 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at> + + * h8300.h: Comment typo fix. + +2002-01-03 matthew green <mrg@redhat.com> + + * ppc.h (PPC_OPCODE_BOOKE): BookE is not Motorola specific. + (PPC_OPCODE_BOOKE64): Likewise. + +Mon Dec 31 16:45:41 2001 Jeffrey A Law (law@cygnus.com) + + * hppa.h (call, ret): Move to end of table. + (addb, addib): PA2.0 variants should have been PA2.0W. + (ldw, ldh, ldb, stw, sth, stb, stwa): Reorder to keep disassembler + happy. + (fldw, fldd, fstw, fstd, bb): Likewise. + (short loads/stores): Tweak format specifier slightly to keep + disassembler happy. + (indexed loads/stores): Likewise. + (absolute loads/stores): Likewise. + +2001-12-04 Alexandre Oliva <aoliva@redhat.com> + + * d10v.h (OPERAND_NOSP): New macro. + +2001-11-29 Alexandre Oliva <aoliva@redhat.com> + + * d10v.h (OPERAND_SP): New macro. + +2001-11-15 Alan Modra <amodra@bigpond.net.au> + + * ppc.h (struct powerpc_operand <insert, extract>): Add dialect param. + +2001-11-11 Timothy Wall <twall@alum.mit.edu> + + * tic54x.h: Revise opcode layout; don't really need a separate + structure for parallel opcodes. + +2001-11-13 Zack Weinberg <zack@codesourcery.com> + Alan Modra <amodra@bigpond.net.au> + + * i386.h (i386_optab): Add entries for "sldr", "smsw" and "str" to + accept WordReg. + +2001-11-04 Chris Demetriou <cgd@broadcom.com> + + * mips.h (OPCODE_IS_MEMBER): Remove extra space. + +2001-10-30 Hans-Peter Nilsson <hp@bitrange.com> + + * mmix.h: New file. + +2001-10-18 Chris Demetriou <cgd@broadcom.com> + + * mips.h (OPCODE_IS_MEMBER): Add a no-op term to the end + of the expression, to make source code merging easier. + +2001-10-17 Chris Demetriou <cgd@broadcom.com> + + * mips.h: Sort coprocessor instruction argument characters + in comment, add a few more words of description for "H". + +2001-10-17 Chris Demetriou <cgd@broadcom.com> + + * mips.h (INSN_SB1): New cpu-specific instruction bit. + (OPCODE_IS_MEMBER): Allow instructions matching INSN_SB1 + if cpu is CPU_SB1. + +2001-10-17 matthew green <mrg@redhat.com> + + * ppc.h (PPC_OPCODE_BOOKE64): Fix typo. + +2001-10-12 matthew green <mrg@redhat.com> + + * ppc.h (PPC_OPCODE_BOOKE, PPC_OPCODE_BOOKE64, PPC_OPCODE_403): New + opcode flags for BookE 32-bit, BookE 64-bit and PowerPC 403 + instructions, respectively. + +2001-09-27 Nick Clifton <nickc@cambridge.redhat.com> + + * v850.h: Remove spurious comment. + +2001-09-21 Nick Clifton <nickc@cambridge.redhat.com> + + * h8300.h: Fix compile time warning messages + +2001-09-04 Richard Henderson <rth@redhat.com> + + * alpha.h (struct alpha_operand): Pack elements into bitfields. + +2001-08-31 Eric Christopher <echristo@redhat.com> + + * mips.h: Remove CPU_MIPS32_4K. + +2001-08-27 Torbjorn Granlund <tege@swox.com> + + * ppc.h (PPC_OPERAND_DS): Define. + +2001-08-25 Andreas Jaeger <aj@suse.de> + + * d30v.h: Fix declaration of reg_name_cnt. + + * d10v.h: Fix declaration of d10v_reg_name_cnt. + + * arc.h: Add prototypes from opcodes/arc-opc.c. + +2001-08-16 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * mips.h (INSN_10000): Define. + (OPCODE_IS_MEMBER): Check for INSN_10000. + +2001-08-10 Alan Modra <amodra@one.net.au> + + * ppc.h: Revert 2001-08-08. + +2001-08-10 Richard Sandiford <rsandifo@redhat.com> + + * mips.h (INSN_GP32): Remove. + (OPCODE_IS_MEMBER): Remove gp32 parameter. + (M_MOVE): New macro identifier. + +2001-08-08 Alan Modra <amodra@one.net.au> + + 1999-10-25 Torbjorn Granlund <tege@swox.com> + * ppc.h (struct powerpc_operand): New field `reloc'. + +2001-08-01 Aldy Hernandez <aldyh@redhat.com> + + * mips.h (INSN_ISA_MASK): Nuke bits 12-15. + +2001-07-12 Jeff Johnston <jjohnstn@redhat.com> + + * cgen.h (CGEN_INSN): Add regex support. + (build_insn_regex): Declare. + +2001-07-11 Frank Ch. Eigler <fche@redhat.com> + + * cgen.h (CGEN_MACH): Add insn_chunk_bitsize field. + (cgen_cpu_desc): Ditto. + +2001-07-07 Ben Elliston <bje@redhat.com> + + * m88k.h: Clean up and reformat. Remove unused code. + +2001-06-14 Geoffrey Keating <geoffk@redhat.com> + + * cgen.h (cgen_keyword): Add nonalpha_chars field. + +2001-05-23 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * mips.h (CPU_R12000): Define. + +2001-05-23 John Healy <jhealy@redhat.com> + + * cgen.h: Increased CGEN_MAX_SYNTAX_ELEMENTS to 48. + +2001-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> + + * mips.h (INSN_ISA_MASK): Define. + +2001-05-12 Alan Modra <amodra@one.net.au> + + * i386.h (i386_optab): Second operand of cvtps2dq is an xmm reg, + not an mmx reg. Swap xmm/mmx regs on both movdq2q and movq2dq, + and use InvMem as these insns must have register operands. + +2001-05-04 Alan Modra <amodra@one.net.au> + + * i386.h (i386_optab): Move InvMem to first operand of pmovmskb + and pextrw to swap reg/rm assignments. + +2001-04-05 Hans-Peter Nilsson <hp@axis.com> + + * cris.h (enum cris_insn_version_usage): Correct comment for + cris_ver_v3p. + +2001-03-24 Alan Modra <alan@linuxcare.com.au> + + * i386.h (i386_optab): Correct entry for "movntdq". Add "punpcklqdq". + Add InvMem to first operand of "maskmovdqu". + +2001-03-22 Hans-Peter Nilsson <hp@axis.com> + + * cris.h (ADD_PC_INCR_OPCODE): New macro. + +2001-03-21 Kazu Hirata <kazu@hxi.com> + + * h8300.h: Fix formatting. + +2001-03-22 Alan Modra <alan@linuxcare.com.au> + + * i386.h (i386_optab): Add paddq, psubq. + +2001-03-19 Alan Modra <alan@linuxcare.com.au> + + * i386.h (REGNAM_AL, REGNAM_AX, REGNAM_EAX): Define. + +2001-02-28 Igor Shevlyakov <igor@windriver.com> + + * m68k.h: new defines for Coldfire V4. Update mcf to know + about mcf5407. + +2001-02-18 lars brinkhoff <lars@nocrew.org> + + * pdp11.h: New file. + +2001-02-12 Jan Hubicka <jh@suse.cz> + + * i386.h (i386_optab): SSE integer converison instructions have + 64bit versions on x86-64. + +2001-02-10 Nick Clifton <nickc@redhat.com> + + * mips.h: Remove extraneous whitespace. Formating change to allow + for future contribution. + +2001-02-09 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * s390.h: New file. + +2001-02-02 Patrick Macdonald <patrickm@redhat.com> + + * cgen.h (CGEN_SYNTAX_CHAR_TYPE): Typedef as unsigned short. + (CGEN_MAX_SYNTAX_ELEMENTS): Rename from CGEN_MAX_SYNTAX_BYTES. + (CGEN_SYNTAX): Define using CGEN_MAX_SYNTAX_ELEMENTS. + +2001-01-24 Karsten Keil <kkeil@suse.de> + + * i386.h (i386_optab): Fix swapgs + +2001-01-14 Alan Modra <alan@linuxcare.com.au> + + * hppa.h: Describe new '<' and '>' operand types, and tidy + existing comments. + (pa_opcodes): Add entries for missing wide mode ldi,ldo,ldw,stw. + Remove duplicate "ldw j(s,b),x". Sort some entries. + +2001-01-13 Jan Hubicka <jh@suse.cz> + + * i386.h (i386_optab): Fix pusha and ret templates. + +2001-01-11 Peter Targett <peter.targett@arccores.com> + + * arc.h (ARC_MACH_5, ARC_MACH_6, ARC_MACH_7, ARC_MACH_8): New + definitions for masking cpu type. + (arc_ext_operand_value) New structure for storing extended + operands. + (ARC_OPERAND_*) Flags for operand values. + +2001-01-10 Jan Hubicka <jh@suse.cz> + + * i386.h (pinsrw): Add. + (pshufw): Remove. + (cvttpd2dq): Fix operands. + (cvttps2dq): Likewise. + (movq2q): Rename to movdq2q. + +2001-01-10 Richard Schaal <richard.schaal@intel.com> + + * i386.h: Correct movnti instruction. + +2001-01-09 Jeff Johnston <jjohnstn@redhat.com> + + * cgen.h (CGEN_SYNTAX_CHAR_TYPE): New typedef based on max number + of operands (unsigned char or unsigned short). + (CGEN_SYNTAX): Changed to make array CGEN_SYNTAX_CHAR_TYPE. + (CGEN_SYNTAX_CHAR): Changed to cast to unsigned char. + +2001-01-05 Jan Hubicka <jh@suse.cz> + + * i386.h (i386_optab): Make [sml]fence template to use immext field. + +2001-01-03 Jan Hubicka <jh@suse.cz> + + * i386.h (i386_optab): Fix 64bit pushf template; Add instructions + introduced by Pentium4 + +2000-12-30 Jan Hubicka <jh@suse.cz> + + * i386.h (i386_optab): Add "rex*" instructions; + add swapgs; disable jmp/call far direct instructions for + 64bit mode; add syscall and sysret; disable registers for 0xc6 + template. Add 'q' suffixes to extendable instructions, disable + obsolete instructions, add new sign/zero extension ones. + (i386_regtab): Add extended registers. + (*Suf): Add No_qSuf. + (q_Suf, wlq_Suf, bwlq_Suf): New. + +2000-12-20 Jan Hubicka <jh@suse.cz> + + * i386.h (i386_optab): Replace "Imm" with "EncImm". + (i386_regtab): Add flags field. + +2000-12-12 Nick Clifton <nickc@redhat.com> + + * mips.h: Fix formatting. + +2000-12-01 Chris Demetriou <cgd@sibyte.com> + + mips.h (OP_MASK_SYSCALL, OP_SH_SYSCALL): Delete. + (OP_MASK_CODE20, OP_SH_CODE20): Define, with values of old + OP_*_SYSCALL definitions. + (OP_SH_CODE19, OP_MASK_CODE19): Define, for use as + 19 bit wait codes. + (MIPS operand specifier comments): Remove 'm', add 'U' and + 'J', and update the meaning of 'B' so that it's more general. + + * mips.h (INSN_ISA1, INSN_ISA2, INSN_ISA3, INSN_ISA4, + INSN_ISA5): Renumber, redefine to mean the ISA at which the + instruction was added. + (INSN_ISA32): New constant. + (INSN_4650, INSN_4010, INSN_4100, INSN_3900, INSN_GP32): + Renumber to avoid new and/or renumbered INSN_* constants. + (INSN_MIPS32): Delete. + (ISA_UNKNOWN): New constant to indicate unknown ISA. + (ISA_MIPS1, ISA_MIPS2, ISA_MIPS3, ISA_MIPS4, ISA_MIPS5, + ISA_MIPS32): New constants, defined to be the mask of INSN_* + constants available at that ISA level. + (CPU_UNKNOWN): New constant to indicate unknown CPU. + (CPU_4K, CPU_MIPS32_4K): Rename the former to the latter, + define it with a unique value. + (OPCODE_IS_MEMBER): Update for new ISA membership-related + constant meanings. + + * mips.h (INSN_ISA64, ISA_MIPS5, ISA_MIPS64): New + definitions. + + * mips.h (CPU_SB1): New constant. + +2000-10-20 Jakub Jelinek <jakub@redhat.com> + + * sparc.h (enum sparc_opcode_arch_val): Add SPARC_OPCODE_ARCH_V9B. + Note that '3' is used for siam operand. + +2000-09-22 Jim Wilson <wilson@cygnus.com> + + * ia64.h (enum ia64_dependency_semantics): Add IA64_DVS_STOP. + +2000-09-13 Anders Norlander <anorland@acc.umu.se> + + * mips.h: Use defines instead of hard-coded processor numbers. + (CPU_R2000, CPU_R3000, CPU_R3900, CPU_R4000, CPU_R4010, + CPU_VR4100, CPU_R4111, CPU_R4300, CPU_R4400, CPU_R4600, CPU_R4650, + CPU_R5000, CPU_R6000, CPU_R8000, CPU_R10000, CPU_MIPS32, CPU_4K, + CPU_4KC, CPU_4KM, CPU_4KP): Define.. + (OPCODE_IS_MEMBER): Use new defines. + (OP_MASK_SEL, OP_SH_SEL): Define. + (OP_MASK_CODE20, OP_SH_CODE20): Define. + Add 'P' to used characters. + Use 'H' for coprocessor select field. + Use 'm' for 20 bit breakpoint code. + Document new arg characters and add to used characters. + (INSN_MIPS32): New define for MIPS32 extensions. + (OPCODE_IS_MEMBER): Recognize MIPS32 instructions. + +2000-09-05 Alan Modra <alan@linuxcare.com.au> + + * hppa.h: Mention cz completer. + +2000-08-16 Jim Wilson <wilson@cygnus.com> + + * ia64.h (IA64_OPCODE_POSTINC): New. + +2000-08-15 H.J. Lu <hjl@gnu.org> + + * i386.h: Swap the Intel syntax "movsx"/"movzx" due to the + IgnoreSize change. + +2000-08-08 Jason Eckhardt <jle@cygnus.com> + + * i860.h: Small formatting adjustments. + +2000-07-29 Marek Michalkiewicz <marekm@linux.org.pl> + + * avr.h (AVR_UNDEF_P, AVR_SKIP_P, AVR_DISP0_P): New macros. + Move related opcodes closer to each other. + Minor changes in comments, list undefined opcodes. + +2000-07-26 Dave Brolley <brolley@redhat.com> + + * cgen.h (cgen_hw_lookup_by_num): Second parameter is unsigned. + +2000-07-22 Jason Eckhardt <jle@cygnus.com> + + * i860.h (btne, bte, bla): Changed these opcodes + to use sbroff ('r') instead of split16 ('s'). + (J, K, L, M): New operand types for 16-bit aligned fields. + (ld.x, {p}fld.x, fst.x, pst.d): Changed these opcodes to + use I, J, K, L, M instead of just I. + (T, U): New operand types for split 16-bit aligned fields. + (st.x): Changed these opcodes to use S, T, U instead of just S. + (andh, andnoth, orh, xorh): Deleted 3-register forms as they do not + exist on the i860. + (pfgt.sd, pfle.sd): Deleted these as they do not exist on the i860. + (pfeq.ss, pfeq.dd): New opcodes. + (st.s): Fixed incorrect mask bits. + (fmlow): Fixed incorrect mask bits. + (fzchkl, pfzchkl): Fixed incorrect mask bits. + (faddz, pfaddz): Fixed incorrect mask bits. + (form, pform): Fixed incorrect mask bits. + (pfld.l): Fixed incorrect mask bits. + (fst.q): Fixed incorrect mask bits. + (all floating point opcodes): Fixed incorrect mask bits for + handling of dual bit. + +2000-07-20 Hans-Peter Nilsson <hp@axis.com> + + cris.h: New file. + +2000-06-26 Marek Michalkiewicz <marekm@linux.org.pl> + + * avr.h (AVR_ISA_WRAP): Remove, now assumed if not AVR_ISA_MEGA. + (AVR_ISA_ESPM): Remove, because ESPM removed in databook update. + (AVR_ISA_85xx): Remove, all uses changed back to AVR_ISA_2xxx. + (AVR_ISA_M83): Define for ATmega83, ATmega85. + (espm): Remove, because ESPM removed in databook update. + (eicall, eijmp): Move to the end of opcode table. + +2000-06-18 Stephane Carrez <stcarrez@worldnet.fr> + + * m68hc11.h: New file for support of Motorola 68hc11. + +Fri Jun 9 21:51:50 2000 Denis Chertykov <denisc@overta.ru> + + * avr.h: clr,lsl,rol, ... moved after add,adc, ... + +Wed Jun 7 21:39:54 2000 Denis Chertykov <denisc@overta.ru> + + * avr.h: New file with AVR opcodes. + +Wed Apr 12 17:11:20 2000 Donald Lindsay <dlindsay@hound.cygnus.com> + + * d10v.h: added ALONE attribute for d10v_opcode.exec_type. + +2000-05-23 Maciej W. Rozycki <macro@ds2.pg.gda.pl> + + * i386.h: Allow d suffix on iret, and add DefaultSize modifier. + +2000-05-17 Maciej W. Rozycki <macro@ds2.pg.gda.pl> + + * i386.h: Use sl_FP, not sl_Suf for fild. + +2000-05-16 Frank Ch. Eigler <fche@redhat.com> + + * cgen.h (CGEN_MAX_SYNTAX_BYTES): Increase to 32. Check that + it exceeds CGEN_ACTUAL_MAX_SYNTAX_BYTES, if set. + (CGEN_MAX_IFMT_OPERANDS): Increase to 16. Check that it exceeds + CGEN_ACTUAL_MAX_IFMT_OPERANDS, if set. + +2000-05-13 Alan Modra <alan@linuxcare.com.au>, + + * i386.h (i386_optab): Cpu686 for sysenter,sysexit,fxsave,fxrestore. + +2000-05-13 Alan Modra <alan@linuxcare.com.au>, + Alexander Sokolov <robocop@netlink.ru> + + * i386.h (i386_optab): Add cpu_flags for all instructions. + +2000-05-13 Alan Modra <alan@linuxcare.com.au> + + From Gavin Romig-Koch <gavin@cygnus.com> + * i386.h (wld_Suf): Define. Use on pushf, popf, pusha, popa. + +2000-05-04 Timothy Wall <twall@cygnus.com> + + * tic54x.h: New. + +2000-05-03 J.T. Conklin <jtc@redback.com> + + * ppc.h (PPC_OPCODE_ALTIVEC): New opcode flag for vector unit. + (PPC_OPERAND_VR): New operand flag for vector registers. + +2000-05-01 Kazu Hirata <kazu@hxi.com> + + * h8300.h (EOP): Add missing initializer. + +Fri Apr 21 15:03:37 2000 Jason Eckhardt <jle@cygnus.com> + + * hppa.h (pa_opcodes): New opcodes for PA2.0 wide mode + forms of ld/st{b,h,w,d} and fld/fst{w,d} (16-bit displacements). + New operand types l,y,&,fe,fE,fx added to support above forms. + (pa_opcodes): Replaced usage of 'x' as source/target for + floating point double-word loads/stores with 'fx'. + +Fri Apr 21 13:20:53 2000 Richard Henderson <rth@cygnus.com> + David Mosberger <davidm@hpl.hp.com> + Timothy Wall <twall@cygnus.com> + Jim Wilson <wilson@cygnus.com> + + * ia64.h: New file. + +2000-03-27 Nick Clifton <nickc@cygnus.com> + + * d30v.h (SHORT_A1): Fix value. + (SHORT_AR): Renumber so that it is at the end of the list of short + instructions, not the end of the list of long instructions. + +2000-03-26 Alan Modra <alan@linuxcare.com> + + * i386.h: (UNIXWARE_COMPAT): Rename to SYSV386_COMPAT as the + problem isn't really specific to Unixware. + (OLDGCC_COMPAT): Define. + (i386_optab): If !OLDGCC_COMPAT, don't handle fsubp etc. with + destination %st(0). + Fix lots of comments. + +2000-03-02 J"orn Rennecke <amylaar@cygnus.co.uk> + + * d30v.h: + (SHORT_B2r, SHORT_B3, SHORT_B3r, SHORT_B3b, SHORT_B3br): Updated. + (SHORT_D1r, SHORT_D2, SHORT_D2r, SHORT_D2Br, SHORT_U): Updated. + (SHORT_F, SHORT_AF, SHORT_T, SHORT_A5, SHORT_CMP, SHORT_CMPU): Updated. + (SHORT_A1, SHORT_AA, SHORT_RA, SHORT_MODINC, SHORT_MODDEC): Updated. + (SHORT_C1, SHORT_C2, SHORT_UF, SHORT_A2, SHORT_NONE, LONG): Updated. + (LONG_U, LONG_Ur, LONG_CMP, LONG_M, LONG_M2, LONG_2, LONG_2r): Updated. + (LONG_2b, LONG_2br, LONG_D, LONG_Dr, LONG_Dbr): Updated. + +2000-02-25 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h (fild, fistp): Change intel d_Suf form to fildd and + fistpd without suffix. + +2000-02-24 Nick Clifton <nickc@cygnus.com> + + * cgen.h (cgen_cpu_desc): Rename field 'flags' to + 'signed_overflow_ok_p'. + Delete prototypes for cgen_set_flags() and cgen_get_flags(). + +2000-02-24 Andrew Haley <aph@cygnus.com> + + * cgen.h (CGEN_INSN_MACH_HAS_P): New macro. + (CGEN_CPU_TABLE): flags: new field. + Add prototypes for new functions. + +2000-02-24 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h: Add some more UNIXWARE_COMPAT comments. + +2000-02-23 Linas Vepstas <linas@linas.org> + + * i370.h: New file. + +2000-02-22 Chandra Chavva <cchavva@cygnus.com> + + * d30v.h (FLAG_NOT_WITH_ADDSUBppp): Redefined as operation + cannot be combined in parallel with ADD/SUBppp. + +2000-02-22 Andrew Haley <aph@cygnus.com> + + * mips.h: (OPCODE_IS_MEMBER): Add comment. + +1999-12-30 Andrew Haley <aph@cygnus.com> + + * mips.h (OPCODE_IS_MEMBER): Add gp32 arg, which determines + whether synthetic opcodes (e.g. move) generate 32-bit or 64-bit + insns. + +2000-01-15 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h: Qualify intel mode far call and jmp with x_Suf. + +1999-12-27 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h: Add JumpAbsolute qualifier to all non-intel mode + indirect jumps and calls. Add FF/3 call for intel mode. + +Wed Dec 1 03:05:25 1999 Jeffrey A Law (law@cygnus.com) + + * mn10300.h: Add new operand types. Add new instruction formats. + +Wed Nov 24 20:28:58 1999 Jeffrey A Law (law@cygnus.com) + + * hppa.h (pa_opcodes): Correctly handle immediate for PA2.0 "bb" + instruction. + +1999-11-18 Gavin Romig-Koch <gavin@cygnus.com> + + * mips.h (INSN_ISA5): New. + +1999-11-01 Gavin Romig-Koch <gavin@cygnus.com> + + * mips.h (OPCODE_IS_MEMBER): New. + +1999-10-29 Nick Clifton <nickc@cygnus.com> + + * d30v.h (SHORT_AR): Define. + +1999-10-18 Michael Meissner <meissner@cygnus.com> + + * alpha.h (alpha_num_opcodes): Convert to unsigned. + (alpha_num_operands): Ditto. + +Sun Oct 10 01:46:56 1999 Jerry Quinn <jerry.quinn.adv91@alum.dartmouth.org> + + * hppa.h (pa_opcodes): Add load and store cache control to + instructions. Add ordered access load and store. + + * hppa.h (pa_opcode): Add new entries for addb and addib. + + * hppa.h (pa_opcodes): Fix cmpb and cmpib entries. + + * hppa.h (pa_opcodes): Add entries for cmpb and cmpib. + +Thu Oct 7 00:12:25 MDT 1999 Diego Novillo <dnovillo@cygnus.com> + + * d10v.h: Add flag RESTRICTED_NUM3 for imm3 operands. + +Thu Sep 23 07:08:38 1999 Jerry Quinn <jquinn@nortelnetworks.com> + + * hppa.h (pa_opcodes): Add "call" and "ret". Clean up "b", "bve" + and "be" using completer prefixes. + + * hppa.h (pa_opcodes): Add initializers to silence compiler. + + * hppa.h: Update comments about character usage. + +Mon Sep 20 03:55:31 1999 Jeffrey A Law (law@cygnus.com) + + * hppa.h (pa_opcodes): Fix minor thinkos introduced while cleaning + up the new fstw & bve instructions. + +Sun Sep 19 10:40:59 1999 Jeffrey A Law (law@cygnus.com) + + * hppa.h (pa_opcodes): Add remaining PA2.0 integer load/store + instructions. + + * hppa.h (pa_opcodes): Add remaining PA2.0 FP load/store instructions. + + * hppa.h (pa_opcodes): Add long offset double word load/store + instructions. + + * hppa.h (pa_opcodes): Add FLAG_STRICT variants of FP loads and + stores. + + * hppa.h (pa_opcodes): Handle PA2.0 fcnv, fcmp and ftest insns. + + * hppa.h (pa_opcodes): Finish support for PA2.0 "b" instructions. + + * hppa.h (pa_opcodes): Handle PA2.0 "bve" instructions. + + * hppa.h (pa_opcodes): Add new syntax "be" instructions. + + * hppa.h (pa_opcodes): Note use of 'M' and 'L'. + + * hppa.h (pa_opcodes): Add support for "b,l". + + * hppa.h (pa_opcodes): Add support for "b,gate". + +Sat Sep 18 11:41:16 1999 Jeffrey A Law (law@cygnus.com) + + * hppa.h (pa_opcodes): Use 'fX' for first register operand + in xmpyu. + + * hppa.h (pa_opcodes): Fix mask for probe and probei. + + * hppa.h (pa_opcodes): Fix mask for depwi. + +Tue Sep 7 13:44:25 1999 Jeffrey A Law (law@cygnus.com) + + * hppa.h (pa_opcodes): Add "addil" variant which has the %r1 as + an explicit output argument. + +Mon Sep 6 04:41:42 1999 Jeffrey A Law (law@cygnus.com) + + * hppa.h: Add strict variants of PA1.0/PA1.1 loads and stores. + Add a few PA2.0 loads and store variants. + +1999-09-04 Steve Chamberlain <sac@pobox.com> + + * pj.h: New file. + +1999-08-29 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h (i386_regtab): Move %st to top of table, and split off + other fp reg entries. + (i386_float_regtab): To here. + +Sat Aug 28 00:25:25 1999 Jerry Quinn <jquinn@nortelnetworks.com> + + * hppa.h (pa_opcodes): Replace 'f' by 'v'. Prefix float register args + by 'f'. + + * hppa.h (pa_opcodes): Add extrd, extrw, depd, depdi, depw, depwi. + Add supporting args. + + * hppa.h: Document new completers and args. + * hppa.h (pa_opcodes): Add 64 bit patterns and pa2.0 syntax for uxor, + uaddcm, dcor, addi, add, sub, subi, shladd, rfi, and probe. Add pa2.0 + extensions for ssm, rsm, pdtlb, pitlb. Add performance instructions + pmenb and pmdis. + + * hppa.h (pa_opcodes): Add pa2.0 instructions hadd, hshl, + hshr, hsub, mixh, mixw, permh. + + * hppa.h (pa_opcodes): Change completers in instructions to + use 'c' prefix. + + * hppa.h (pa_opcodes): Add popbts, new forms of bb, havg, + hshladd, hshradd, shrpd, and shrpw instructions. Update arg comments. + + * hppa.h (pa_opcodes): Change fmpyfadd, fmpynfadd, fneg, + fnegabs to use 'I' instead of 'F'. + +1999-08-21 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h: Add AMD athlon instructions, pfnacc, pfpnacc, pswapd. + Document pf2iw and pi2fw as athlon insns. Remove pswapw. + Alphabetically sort PIII insns. + +Wed Aug 18 18:14:40 1999 Doug Evans <devans@canuck.cygnus.com> + + * cgen.h (CGEN_INSN_MACH_HAS_P): New macro. + +Fri Aug 6 09:46:35 1999 Jerry Quinn <jquinn@nortelnetworks.com> + + * hppa.h (pa_opcodes): Add 64 bit versions of or, xor, and, + and andcm. Add 32 and 64 bit version of cmpclr, cmpiclr. + + * hppa.h: Document 64 bit condition completers. + +Thu Aug 5 16:56:07 1999 Jerry Quinn <jquinn@nortelnetworks.com> + + * hppa.h (pa_opcodes): Change condition args to use '?' prefix. + +1999-08-04 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h (i386_optab): Add DefaultSize modifier to all insns + that implicitly modify %esp. #undef d_Suf, x_suf, sld_suf, + sldx_suf, bwld_Suf, d_FP, x_FP, sld_FP, sldx_FP at end of table. + +Wed Jul 28 02:04:24 1999 Jerry Quinn <jquinn@nortelnetworks.com> + Jeff Law <law@cygnus.com> + + * hppa.h (pa_opcodes): Add "pushnom" and "pushbts". + + * hppa.h (pa_opcodes): Mark all PA2.0 opcodes with FLAG_STRICT. + + * hppa.h (pa_opcodes): Change xmpyu, fmpyfadd, + and fmpynfadd to use 'J' and 'K' instead of 'E' and 'X'. + +1999-07-13 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h: Add "undocumented" AMD 3DNow! pf2iw, pi2fw, pswapw insns. + +Thu Jul 1 00:17:24 1999 Jeffrey A Law (law@cygnus.com) + + * hppa.h (struct pa_opcode): Add new field "flags". + (FLAGS_STRICT): Define. + +Fri Jun 25 04:22:04 1999 Jerry Quinn <jquinn@nortelnetworks.com> + Jeff Law <law@cygnus.com> + + * hppa.h (pa_opcodes): Add pa2.0 clrbts instruction. + + * hppa.h (pa_opcodes): Add entries for mfia and mtsarcm instructions. + +1999-06-23 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h: Allow `l' suffix on bswap. Allow `w' suffix on arpl, + lldt, lmsw, ltr, str, verr, verw. Add FP flag to fcmov*. Add FP + flag to fcomi and friends. + +Fri May 28 15:26:11 1999 Jeffrey A Law (law@cygnus.com) + + * hppa.h (pa_opcodes): Move integer arithmetic instructions after + integer logical instructions. + +1999-05-28 Linus Nordberg <linus.nordberg@canit.se> + + * m68k.h: Document new formats `E', `G', `H' and new places `N', + `n', `o'. + + * m68k.h: Define mcf5206e, mcf5307, mcf. Document new format `u' + and new places `m', `M', `h'. + +Thu May 27 04:13:54 1999 Joel Sherrill (joel@OARcorp.com + + * hppa.h (pa_opcodes): Add several processor specific system + instructions. + +Wed May 26 16:57:44 1999 Jeffrey A Law (law@cygnus.com) + + * hppa.h (pa_opcodes): Add second entry for "comb", "comib", + "addb", and "addib" to be used by the disassembler. + +1999-05-12 Alan Modra <alan@apri.levels.unisa.edu.au> + + * i386.h (ReverseModrm): Remove all occurences. + (InvMem): Add to control/debug/test mov insns, movhlps, movlhps, + movmskps, pextrw, pmovmskb, maskmovq. + Change NoSuf to FP on all MMX, XMM and AMD insns as these all + ignore the data size prefix. + + * i386.h (i386_optab, i386_regtab): Add support for PIII SIMD. + Mostly stolen from Doug Ledford <dledford@redhat.com> + +Sat May 8 23:27:35 1999 Richard Henderson <rth@cygnus.com> + + * ppc.h (PPC_OPCODE_64_BRIDGE): New. + +1999-04-14 Doug Evans <devans@casey.cygnus.com> + + * cgen.h (CGEN_ATTR): Delete member num_nonbools. + (CGEN_ATTR_TYPE): Update. + (CGEN_ATTR_MASK): Number booleans starting at 0. + (CGEN_ATTR_VALUE): Update. + (CGEN_INSN_ATTR): Update. + +Mon Apr 12 23:43:27 1999 Jeffrey A Law (law@cygnus.com) + + * hppa.h (fmpyfadd, fmpynfadd, fneg, fnegabs): New PA2.0 + instructions. + +Tue Mar 23 11:24:38 1999 Jeffrey A Law (law@cygnus.com) + + * hppa.h (bb, bvb): Tweak opcode/mask. + + +1999-03-22 Doug Evans <devans@casey.cygnus.com> + + * cgen.h (CGEN_ISA,CGEN_MACH): New typedefs. + (struct cgen_cpu_desc): Rename member mach to machs. New member isas. + New members word_bitsize,default_insn_bitsize,base_insn-bitsize, + min_insn_bitsize,max_insn_bitsize,isa_table,mach_table,rebuild_tables. + Delete member max_insn_size. + (enum cgen_cpu_open_arg): New enum. + (cpu_open): Update prototype. + (cpu_open_1): Declare. + (cgen_set_cpu): Delete. + +1999-03-11 Doug Evans <devans@casey.cygnus.com> + + * cgen.h (CGEN_HW_TABLE): Delete `num_init_entries' member. + (CGEN_OPERAND_NIL): New macro. + (CGEN_OPERAND): New member `type'. + (@arch@_cgen_operand_table): Delete decl. + (CGEN_OPERAND_INDEX,CGEN_OPERAND_TYPE,CGEN_OPERAND_ENTRY): Delete. + (CGEN_OPERAND_TABLE): New struct. + (cgen_operand_lookup_by_name,cgen_operand_lookup_by_num): Declare. + (CGEN_OPINST): Pointer to operand table entry replaced with enum. + (CGEN_CPU_TABLE): New member `isa'. Change member `operand_table', + now a CGEN_OPERAND_TABLE. Add CGEN_CPU_DESC arg to + {get,set}_{int,vma}_operand. + (@arch@_cgen_cpu_open): New arg `isa'. + (cgen_set_cpu): Ditto. + +Fri Feb 26 02:36:45 1999 Richard Henderson <rth@cygnus.com> + + * i386.h: Fill in cmov and fcmov alternates. Add fcomi short forms. + +1999-02-25 Doug Evans <devans@casey.cygnus.com> + + * cgen.h (enum cgen_asm_type): Add CGEN_ASM_NONE. + (CGEN_HW_ENTRY): Delete member `next'. Change type of `type' to + enum cgen_hw_type. + (CGEN_HW_TABLE): New struct. + (hw_table): Delete declaration. + (CGEN_OPERAND): Change member hw to hw_type, change type from pointer + to table entry to enum. + (CGEN_OPINST): Ditto. + (CGEN_CPU_TABLE): Change member hw_list to hw_table. + +Sat Feb 13 14:13:44 1999 Richard Henderson <rth@cygnus.com> + + * alpha.h (AXP_OPCODE_EV6): New. + (AXP_OPCODE_NOPAL): Include it. + +1999-02-09 Doug Evans <devans@casey.cygnus.com> + + * cgen.h (CGEN_CPU_DESC): Renamed from CGEN_OPCODE_DESC. + All uses updated. New members int_insn_p, max_insn_size, + parse_operand,insert_operand,extract_operand,print_operand, + sizeof_fields,set_fields_bitsize,get_int_operand,set_int_operand, + get_vma_operand,set_vma_operand,parse_handlers,insert_handlers, + extract_handlers,print_handlers. + (CGEN_ATTR): Change type of num_nonbools to unsigned int. + (CGEN_ATTR_BOOL_OFFSET): New macro. + (CGEN_ATTR_MASK): Subtract it to compute bit number. + (CGEN_ATTR_VALUE): Redo bool/nonbool attr calculation. + (cgen_opcode_handler): Renamed from cgen_base. + (CGEN_HW_ATTR_VALUE): Renamed from CGEN_HW_ATTR, all uses updated. + (CGEN_OPERAND_ATTR_VALUE): Renamed from CGEN_OPERAND_ATTR, + all uses updated. + (CGEN_OPERAND_INDEX): Rewrite to use table entry, not global. + (enum cgen_opinst_type): Renamed from cgen_operand_instance_type. + (CGEN_IFLD_ATTR_VALUE): Renamed from CGEN_IFLD_ATTR, all uses updated. + (CGEN_OPCODE,CGEN_IBASE): New types. + (CGEN_INSN): Rewrite. + (CGEN_{ASM,DIS}_HASH*): Delete. + (init_opcode_table,init_ibld_table): Declare. + (CGEN_INSN_ATTR): New type. + +Mon Feb 1 21:09:14 1999 Catherine Moore <clm@cygnus.com> + + * i386.h (d_Suf, x_Suf, sld_Suf, sldx_Suf, bwld_Suf): Define. + (x_FP, d_FP, dls_FP, sldx_FP): Define. + Change *Suf definitions to include x and d suffixes. + (movsx): Use w_Suf and b_Suf. + (movzx): Likewise. + (movs): Use bwld_Suf. + (fld): Change ordering. Use sld_FP. + (fild): Add Intel Syntax equivalent of fildq. + (fst): Use sld_FP. + (fist): Use sld_FP. + (fstp): Use sld_FP. Add x_FP version. + (fistp): LLongMem version for Intel Syntax. + (fcom, fcomp): Use sld_FP. + (fadd, fiadd, fsub): Use sld_FP. + (fsubr): Use sld_FP. + (fmul, fimul, fdvi, fidiv, fdivr): Use sld_FP. + +1999-01-27 Doug Evans <devans@casey.cygnus.com> + + * cgen.h (enum cgen_mode): Add CGEN_MODE_TARGET_MAX, CGEN_MODE_INT, + CGEN_MODE_UINT. + +1999-01-16 Jeffrey A Law (law@cygnus.com) + + * hppa.h (bv): Fix mask. + +1999-01-05 Doug Evans <devans@casey.cygnus.com> + + * cgen.h (CGEN_ATTR_VALUE_TYPE): New typedef. + (CGEN_ATTR): Use it. + (CGEN_ATTR_TYPE,CGEN_ATTR_ENTRY): Ditto. + (CGEN_ATTR_TABLE): New member dfault. + +1998-12-30 Gavin Romig-Koch <gavin@cygnus.com> + + * mips.h (MIPS16_INSN_BRANCH): New. + +Wed Dec 9 10:38:48 1998 David Taylor <taylor@texas.cygnus.com> + + The following is part of a change made by Edith Epstein + <eepstein@sophia.cygnus.com> as part of a project to merge in + changes by HP; HP did not create ChangeLog entries. + + * hppa.h (completer_chars): list of chars to not put a space + after. + +Sun Dec 6 13:21:34 1998 Ian Lance Taylor <ian@cygnus.com> + + * i386.h (i386_optab): Permit w suffix on processor control and + status word instructions. + +1998-11-30 Doug Evans <devans@casey.cygnus.com> + + * cgen.h (struct cgen_hw_entry): Delete const on attrs member. + (struct cgen_keyword_entry): Ditto. + (struct cgen_operand): Ditto. + (CGEN_IFLD): New typedef, with associated access macros. + (CGEN_IFMT): New typedef, with associated access macros. + (CGEN_IFMT): Renamed from CGEN_FORMAT. New member `iflds'. + (CGEN_IVALUE): New typedef. + (struct cgen_insn): Delete const on syntax,attrs members. + `format' now points to format data. Type of `value' is now + CGEN_IVALUE. + (struct cgen_opcode_table): New member ifld_table. + +1998-11-18 Doug Evans <devans@casey.cygnus.com> + + * cgen.h (cgen_extract_fn): Update type of `base_insn' arg. + (CGEN_OPERAND_INSTANCE): New member `attrs'. + (CGEN_OPERAND_INSTANCE_{ATTRS,ATTR}): New macros. + (cgen_dis_lookup_insn): Update type of `base_insn' arg. + (cgen_opcode_table): Update type of dis_hash fn. + (extract_operand): Update type of `insn_value' arg. + +Thu Oct 29 11:38:36 1998 Doug Evans <devans@canuck.cygnus.com> + + * cgen.h (CGEN_VERSION_{MAJOR,MINOR,FIXLEVEL}): Delete. + +Tue Oct 27 08:57:59 1998 Gavin Romig-Koch <gavin@cygnus.com> + + * mips.h (INSN_MULT): Added. + +Tue Oct 20 11:31:34 1998 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h (MAX_MNEM_SIZE): Rename from MAX_OPCODE_SIZE. + +Mon Oct 19 12:50:00 1998 Doug Evans <devans@seba.cygnus.com> + + * cgen.h (CGEN_INSN_INT): New typedef. + (CGEN_INT_INSN_P): Renamed from CGEN_INT_INSN. + (CGEN_INSN_BYTES): Renamed from cgen_insn_t. + (CGEN_INSN_BYTES_PTR): New typedef. + (CGEN_EXTRACT_INFO): New typedef. + (cgen_insert_fn,cgen_extract_fn): Update. + (cgen_opcode_table): New member `insn_endian'. + (assemble_insn,lookup_insn,lookup_get_insn_operands): Update. + (insert_operand,extract_operand): Update. + (cgen_get_insn_value,cgen_put_insn_value): Add prototypes. + +Fri Oct 9 13:38:13 1998 Doug Evans <devans@seba.cygnus.com> + + * cgen.h (CGEN_ATTR_BOOLS): New macro. + (struct CGEN_HW_ENTRY): New member `attrs'. + (CGEN_HW_ATTR): New macro. + (struct CGEN_OPERAND_INSTANCE): New member `name'. + (CGEN_INSN_INVALID_P): New macro. + +Mon Oct 5 00:21:07 1998 Jeffrey A Law (law@cygnus.com) + + * hppa.h: Add "fid". + +Sun Oct 4 21:00:00 1998 Alan Modra <alan@spri.levels.unisa.edu.au> + + From Robert Andrew Dale <rob@nb.net> + * i386.h (i386_optab): Add AMD 3DNow! instructions. + (AMD_3DNOW_OPCODE): Define. + +Tue Sep 22 17:53:47 1998 Nick Clifton <nickc@cygnus.com> + + * d30v.h (EITHER_BUT_PREFER_MU): Define. + +Mon Aug 10 14:09:38 1998 Doug Evans <devans@canuck.cygnus.com> + + * cgen.h (cgen_insn): #if 0 out element `cdx'. + +Mon Aug 3 12:21:57 1998 Doug Evans <devans@seba.cygnus.com> + + Move all global state data into opcode table struct, and treat + opcode table as something that is "opened/closed". + * cgen.h (CGEN_OPCODE_DESC): New type. + (all fns): New first arg of opcode table descriptor. + (cgen_set_parse_operand_fn): Add prototype. + (cgen_current_machine,cgen_current_endian): Delete. + (CGEN_OPCODE_TABLE): New members mach,endian,operand_table, + parse_operand_fn,asm_hash_table,asm_hash_table_entries, + dis_hash_table,dis_hash_table_entries. + (opcode_open,opcode_close): Add prototypes. + + * cgen.h (cgen_insn): New element `cdx'. + +Thu Jul 30 21:44:25 1998 Frank Ch. Eigler <fche@cygnus.com> + + * d30v.h (FLAG_LKR): New flag for "left-kills-right" instructions. + +Tue Jul 28 10:59:07 1998 Jeffrey A Law (law@cygnus.com) + + * mn10300.h: Add "no_match_operands" field for instructions. + (MN10300_MAX_OPERANDS): Define. + +Fri Jul 24 11:44:24 1998 Doug Evans <devans@canuck.cygnus.com> + + * cgen.h (cgen_macro_insn_count): Declare. + +Tue Jul 21 13:12:13 1998 Doug Evans <devans@seba.cygnus.com> + + * cgen.h (CGEN_VERSION_{MAJOR,MINOR,FIXLEVEL}): Define. + (cgen_insert_fn,cgen_extract_fn): New arg `pc'. + (get_operand,put_operand): Replaced with get_{int,vma}_operand, + set_{int,vma}_operand. + +Fri Jun 26 11:09:06 1998 Jeffrey A Law (law@cygnus.com) + + * mn10300.h: Add "machine" field for instructions. + (MN103, AM30): Define machine types. + +Fri Jun 19 16:09:09 1998 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h: Use FP, not sl_Suf, for fxsave and fxrstor. + +1998-06-18 Ulrich Drepper <drepper@cygnus.com> + + * i386.h: Add support for fxsave, fxrstor, sysenter and sysexit. + +Sat Jun 13 11:31:35 1998 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h (i386_optab): Add general form of aad and aam. Add ud2a + and ud2b. + (i386_regtab): Allow cr0..7, db0..7, dr0..7, tr0..7, not just + those that happen to be implemented on pentiums. + +Tue Jun 9 12:16:01 1998 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h: Change occurences of Data16 to Size16, Data32 to Size32, + IgnoreDataSize to IgnoreSize. Flag address and data size prefixes + with Size16|IgnoreSize or Size32|IgnoreSize. + +Mon Jun 8 12:15:52 1998 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h (REPNE): Rename to REPNE_PREFIX_OPCODE. + (REPE): Rename to REPE_PREFIX_OPCODE. + (i386_regtab_end): Remove. + (i386_prefixtab, i386_prefixtab_end): Remove. + (i386_optab): Use NULL as sentinel rather than "" to suit rewrite + of md_begin. + (MAX_OPCODE_SIZE): Define. + (i386_optab_end): Remove. + (sl_Suf): Define. + (sl_FP): Use sl_Suf. + + * i386.h (i386_optab): Allow 16 bit displacement for `mov + mem,acc'. Combine 16 and 32 bit forms of various insns. Allow 16 + bit form of ljmp. Add IsPrefix modifier to prefixes. Add addr32, + data32, dword, and adword prefixes. + (i386_regtab): Add BaseIndex modifier to valid 16 bit base/index + regs. + +Fri Jun 5 23:42:43 1998 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h (i386_regtab): Remove BaseIndex modifier from esp. + + * i386.h: Allow `l' suffix on fld, fst, fstp, fcom, fcomp with + register operands, because this is a common idiom. Flag them with + a warning. Allow illegal faddp, fsubp, fsubrp, fmulp, fdivp, + fdivrp because gcc erroneously generates them. Also flag with a + warning. + + * i386.h: Add suffix modifiers to most insns, and tighter operand + checks in some cases. Fix a number of UnixWare compatibility + issues with float insns. Merge some floating point opcodes, using + new FloatMF modifier. + (WORD_PREFIX_OPCODE): Rename to DATA_PREFIX_OPCODE for + consistency. + + * i386.h: Change occurence of ShortformW to W|ShortForm. Add + IgnoreDataSize where appropriate. + +Wed Jun 3 18:28:45 1998 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h: (one_byte_segment_defaults): Remove. + (two_byte_segment_defaults): Remove. + (i386_regtab): Add BaseIndex to 32 bit regs reg_type. + +Fri May 15 15:59:04 1998 Doug Evans <devans@seba.cygnus.com> + + * cgen.h (cgen_hw_lookup_by_name): Renamed from cgen_hw_lookup. + (cgen_hw_lookup_by_num): Declare. + +Thu May 7 09:27:58 1998 Frank Ch. Eigler <fche@cygnus.com> + + * mips.h (OP_{SH,MASK}_CODE2): Added "q" operand format for lower + ten bits of MIPS ISA1 "break" instruction, and for "sdbbp" + +Thu May 7 02:14:08 1998 Doug Evans <devans@charmed.cygnus.com> + + * cgen.h (cgen_asm_init_parse): Delete. + (cgen_save_fixups,cgen_restore_fixups,cgen_swap_fixups): Delete. + (cgen_asm_record_register,cgen_asm_finish_insn): Delete. + +Mon Apr 27 10:13:11 1998 Doug Evans <devans@seba.cygnus.com> + + * cgen.h (CGEN_ATTR_TYPE): Delete `const', moved to uses. + (cgen_asm_finish_insn): Update prototype. + (cgen_insn): New members num, data. + (CGEN_INSN_TABLE): Members asm_hash, asm_hash_table_size, + dis_hash, dis_hash_table_size moved to ... + (CGEN_OPCODE_TABLE). Here. Renamed from CGEN_OPCODE_DATA. + All uses updated. New members asm_hash_p, dis_hash_p. + (CGEN_MINSN_EXPANSION): New struct. + (cgen_expand_macro_insn): Declare. + (cgen_macro_insn_count): Declare. + (get_insn_operands): Update prototype. + (lookup_get_insn_operands): Declare. + +Tue Apr 21 17:11:32 1998 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h (i386_optab): Change iclrKludge and imulKludge to + regKludge. Add operands types for string instructions. + +Mon Apr 20 14:40:29 1998 Tom Tromey <tromey@cygnus.com> + + * i386.h (X): Renamed from `Z_' to preserve formatting of opcode + table. + +Sun Apr 19 13:54:06 1998 Tom Tromey <tromey@cygnus.com> + + * i386.h (Z_): Renamed from `_' to avoid clash with common alias + for `gettext'. + +Fri Apr 3 12:04:48 1998 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h: Remove NoModrm flag from all insns: it's never checked. + Add IsString flag to string instructions. + (IS_STRING): Don't define. + (LOCK_PREFIX_OPCODE, CS_PREFIX_OPCODE, DS_PREFIX_OPCODE): Define. + (ES_PREFIX_OPCODE, FS_PREFIX_OPCODE, GS_PREFIX_OPCODE): Define. + (SS_PREFIX_OPCODE): Define. + +Mon Mar 30 21:31:56 1998 Ian Lance Taylor <ian@cygnus.com> + + * i386.h: Revert March 24 patch; no more LinearAddress. + +Mon Mar 30 10:25:54 1998 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h (i386_optab): Remove fwait (9b) from all floating point + instructions, and instead add FWait opcode modifier. Add short + form of fldenv and fstenv. + (FWAIT_OPCODE): Define. + + * i386.h (i386_optab): Change second operand constraint of `mov + sreg,reg|mem' instruction from Reg16|Mem to WordReg|WordMem to + allow legal instructions such as `movl %gs,%esi' + +Fri Mar 27 18:30:52 1998 Ian Lance Taylor <ian@cygnus.com> + + * h8300.h: Various changes to fully bracket initializers. + +Tue Mar 24 18:32:47 1998 H.J. Lu <hjl@gnu.org> + + * i386.h: Set LinearAddress for lidt and lgdt. + +Mon Mar 2 10:44:07 1998 Doug Evans <devans@seba.cygnus.com> + + * cgen.h (CGEN_BOOL_ATTR): New macro. + +Thu Feb 26 15:54:31 1998 Michael Meissner <meissner@cygnus.com> + + * d30v.h (FLAG_DELAY): New flag for delayed branches/jumps. + +Mon Feb 23 10:38:21 1998 Doug Evans <devans@seba.cygnus.com> + + * cgen.h (CGEN_CAT3): Delete. Use CONCAT3 now. + (cgen_insn): Record syntax and format entries here, rather than + separately. + +Tue Feb 17 21:42:56 1998 Nick Clifton <nickc@cygnus.com> + + * cgen.h (CGEN_SYNTAX_MAKE_FIELD): New macro. + +Tue Feb 17 16:00:56 1998 Doug Evans <devans@seba.cygnus.com> + + * cgen.h (cgen_insert_fn): Change type of result to const char *. + (cgen_parse_{signed,unsigned}_integer): Delete min,max arguments. + (CGEN_{INSN,KEYWORD,OPERAND}_NBOOL_ATTRS): Renamed from ..._MAX_ATTRS. + +Thu Feb 12 18:30:41 1998 Doug Evans <devans@canuck.cygnus.com> + + * cgen.h (lookup_insn): New argument alias_p. + +Thu Feb 12 03:41:00 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + +Fix rac to accept only a0: + * d10v.h (OPERAND_ACC): Split into: + (OPERAND_ACC0, OPERAND_ACC1) . + (OPERAND_GPR): Define. + +Wed Feb 11 17:31:53 1998 Doug Evans <devans@seba.cygnus.com> + + * cgen.h (CGEN_FIELDS): Define here. + (CGEN_HW_ENTRY): New member `type'. + (hw_list): Delete decl. + (enum cgen_mode): Declare. + (CGEN_OPERAND): New member `hw'. + (enum cgen_operand_instance_type): Declare. + (CGEN_OPERAND_INSTANCE): New type. + (CGEN_INSN): New member `operands'. + (CGEN_OPCODE_DATA): Make hw_list const. + (get_insn_operands,lookup_insn): Add prototypes for. + +Tue Feb 3 17:11:23 1998 Doug Evans <devans@seba.cygnus.com> + + * cgen.h (CGEN_INSN_MAX_ATTRS): Renamed from CGEN_MAX_INSN_ATTRS. + (CGEN_HW_ENTRY): Move `next' entry to end of struct. + (CGEN_KEYWORD_MAX_ATTRS): Renamed from CGEN_MAX_KEYWORD_ATTRS. + (CGEN_OPERAND_MAX_ATTRS): Renamed from CGEN_MAX_OPERAND_ATTRS. + +Mon Feb 2 19:19:15 1998 Ian Lance Taylor <ian@cygnus.com> + + * cgen.h: Correct typo in comment end marker. + +Mon Feb 2 17:10:38 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU> + + * tic30.h: New file. + +Thu Jan 22 17:54:56 1998 Nick Clifton <nickc@cygnus.com> + + * cgen.h: Add prototypes for cgen_save_fixups(), + cgen_restore_fixups(), and cgen_swap_fixups(). Change prototype + of cgen_asm_finish_insn() to return a char *. + +Wed Jan 14 17:21:43 1998 Nick Clifton <nickc@cygnus.com> + + * cgen.h: Formatting changes to improve readability. + +Mon Jan 12 11:37:36 1998 Doug Evans <devans@seba.cygnus.com> + + * cgen.h (*): Clean up pass over `struct foo' usage. + (CGEN_ATTR): Make unsigned char. + (CGEN_ATTR_TYPE): Update. + (CGEN_ATTR_{ENTRY,TABLE}): New types. + (cgen_base): Move member `attrs' to cgen_insn. + (CGEN_KEYWORD): New member `null_entry'. + (CGEN_{SYNTAX,FORMAT}): New types. + (cgen_insn): Format and syntax separated from each other. + +Tue Dec 16 15:15:52 1997 Michael Meissner <meissner@cygnus.com> + + * d30v.h (d30v_opcode): Reorder flags somewhat, add new flags for + 2 word load/store, ADDppp/SUBppp, 16/32 bit multiply. Make + flags_{used,set} long. + (d30v_operand): Make flags field long. + +Mon Dec 1 12:24:44 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * m68k.h: Fix comment describing operand types. + +Sun Nov 23 22:31:27 1997 Michael Meissner <meissner@cygnus.com> + + * d30v.h (SHORT_CMPU): Add case for cmpu instruction, and move + everything else after down. + +Tue Nov 18 18:45:14 1997 J"orn Rennecke <amylaar@cygnus.co.uk> + + * d10v.h (OPERAND_FLAG): Split into: + (OPERAND_FFLAG, OPERAND_CFLAG) . + +Thu Nov 13 11:04:24 1997 Gavin Koch <gavin@cygnus.com> + + * mips.h (struct mips_opcode): Changed comments to reflect new + field usage. + +Fri Oct 24 22:36:20 1997 Ken Raeburn <raeburn@cygnus.com> + + * mips.h: Added to comments a quick-ref list of all assigned + operand type characters. + (OP_{MASK,SH}_PERFREG): New macros. + +Wed Oct 22 17:28:33 1997 Richard Henderson <rth@cygnus.com> + + * sparc.h: Add '_' and '/' for v9a asr's. + Patch from David Miller <davem@vger.rutgers.edu> + +Tue Oct 14 13:22:29 1997 Jeffrey A Law (law@cygnus.com) + + * h8300.h: Bit ops with absolute addresses not in the 8 bit + area are not available in the base model (H8/300). + +Thu Sep 25 13:03:41 1997 Ian Lance Taylor <ian@cygnus.com> + + * m68k.h: Remove documentation of ` operand specifier. + +Wed Sep 24 19:00:34 1997 Ian Lance Taylor <ian@cygnus.com> + + * m68k.h: Document q and v operand specifiers. + +Mon Sep 15 18:28:37 1997 Nick Clifton <nickc@cygnus.com> + + * v850.h (struct v850_opcode): Add processors field. + (PROCESSOR_V850, PROCESSOR_ALL): New bit constants. + (PROCESSOR_V850E, PROCESSOR_NOT_V850): New bit constants. + (PROCESSOR_V850EA): New bit constants. + +Mon Sep 15 11:29:43 1997 Ken Raeburn <raeburn@cygnus.com> + + Merge changes from Martin Hunt: + + * d30v.h: Allow up to 64 control registers. Add + SHORT_A5S format. + + * d30v.h (LONG_Db): New form for delayed branches. + + * d30v.h: (LONG_Db): New form for repeati. + + * d30v.h (SHORT_D2B): New form. + + * d30v.h (SHORT_A2): New form. + + * d30v.h (OPERAND_2REG): Add new operand to indicate 2 + registers are used. Needed for VLIW optimization. + +Mon Sep 8 14:05:45 1997 Doug Evans <dje@canuck.cygnus.com> + + * cgen.h: Move assembler interface section + up so cgen_parse_operand_result is defined for cgen_parse_address. + (cgen_parse_address): Update prototype. + +Tue Sep 2 15:32:32 1997 Nick Clifton <nickc@cygnus.com> + + * v850.h (V850_OPREAND_ADJUST_SHORT_MEMORY): Removed. + +Tue Aug 26 12:21:52 1997 Ian Lance Taylor <ian@cygnus.com> + + * i386.h (two_byte_segment_defaults): Correct base register 5 in + modes 1 and 2 to be ss rather than ds. From Gabriel Paubert + <paubert@iram.es>. + + * i386.h: Set ud2 to 0x0f0b. From Gabriel Paubert + <paubert@iram.es>. + + * i386.h: Comment fixes for ficom[p]?{s,l} from Gabriel Paubert + <paubert@iram.es>. + + * i386.h (JUMP_ON_CX_ZERO): Uncomment (define again). + (JUMP_ON_ECX_ZERO): Remove commented out macro. + +Fri Aug 22 10:38:29 1997 Nick Clifton <nickc@cygnus.com> + + * v850.h (V850_NOT_R0): New flag. + +Mon Aug 18 11:05:58 1997 Nick Clifton <nickc@cygnus.com> + + * v850.h (struct v850_opcode): Remove flags field. + +Wed Aug 13 18:45:48 1997 Nick Clifton <nickc@cygnus.com> + + * v850.h (struct v850_opcode): Add flags field. + (struct v850_operand): Extend meaning of 'bits' and 'shift' + fields. + (V850E_INSTRUCTION, V850EA_INSTRUCTION): New flags. + (V850E_PUSH_POP, V850E_IMMEDIATE16, V850E_IMMEDIATE32): New flags. + +Fri Aug 8 16:58:42 1997 Doug Evans <dje@canuck.cygnus.com> + + * arc.h: New file. + +Thu Jul 24 21:16:58 1997 Doug Evans <dje@canuck.cygnus.com> + + * sparc.h (sparc_opcodes): Declare as const. + +Thu Jul 10 12:53:25 1997 Jeffrey A Law (law@cygnus.com) + + * mips.h (FP_S, FP_D): Define. Bitmasks indicating if an insn + uses single or double precision floating point resources. + (INSN_NO_ISA, INSN_ISA1): Define. + (cpu specific INSN macros): Tweak into bitmasks outside the range + of INSN_ISA field. + +Mon Jun 16 14:10:00 1997 H.J. Lu <hjl@gnu.ai.mit.edu> + + * i386.h: Fix pand opcode. + +Mon Jun 2 11:35:09 1997 Gavin Koch <gavin@cygnus.com> + + * mips.h: Widen INSN_ISA and move it to a more convenient + bit position. Add INSN_3900. + +Tue May 20 11:25:29 1997 Gavin Koch <gavin@cygnus.com> + + * mips.h (struct mips_opcode): added new field membership. + +Mon May 12 16:26:50 1997 H.J. Lu <hjl@gnu.ai.mit.edu> + + * i386.h (movd): only Reg32 is allowed. + + * i386.h: add fcomp and ud2. From Wayne Scott + <wscott@ichips.intel.com>. + +Mon May 5 17:16:21 1997 Ian Lance Taylor <ian@cygnus.com> + + * i386.h: Add MMX instructions. + +Mon May 5 12:45:19 1997 H.J. Lu <hjl@gnu.ai.mit.edu> + + * i386.h: Remove W modifier from conditional move instructions. + +Mon Apr 14 14:56:58 1997 Ian Lance Taylor <ian@cygnus.com> + + * i386.h: Change the opcodes for fsubp, fsubrp, fdivp, and fdivrp + with no arguments to match that generated by the UnixWare + assembler. + +Thu Apr 10 14:35:00 1997 Doug Evans <dje@canuck.cygnus.com> + + * cgen.h (<cpu>_cgen_assemble_insn): New arg for errmsg. + (cgen_parse_operand_fn): Declare. + (cgen_init_parse_operand): Declare. + (cgen_parse_operand): Renamed from cgen_asm_parse_operand, + new argument `want'. + (enum cgen_parse_operand_result): Renamed from cgen_asm_result. + (enum cgen_parse_operand_type): New enum. + +Sat Apr 5 13:14:05 1997 Ian Lance Taylor <ian@cygnus.com> + + * i386.h: Revert last patch for the NON_BROKEN_OPCODES cases. + +Fri Apr 4 11:46:11 1997 Doug Evans <dje@canuck.cygnus.com> + + * cgen.h: New file. + +Fri Apr 4 14:02:32 1997 Ian Lance Taylor <ian@cygnus.com> + + * i386.h: Correct opcode values for fsubp, fsubrp, fdivp, and + fdivrp. + +Tue Mar 25 22:57:26 1997 Stu Grossman (grossman@critters.cygnus.com) + + * v850.h (extract): Make unsigned. + +Mon Mar 24 14:38:15 1997 Ian Lance Taylor <ian@cygnus.com> + + * i386.h: Add iclr. + +Thu Mar 20 19:49:10 1997 Ian Lance Taylor <ian@cygnus.com> + + * i386.h: Change DW to W for cmpxchg and xadd, since they don't + take a direction bit. + +Sat Mar 15 19:03:29 1997 H.J. Lu <hjl@lucon.org> + + * sparc.h (sparc_opcode_lookup_arch): Use full prototype. + +Fri Mar 14 15:22:01 1997 Ian Lance Taylor <ian@cygnus.com> + + * sparc.h: Include <ansidecl.h>. Update function declarations to + use prototypes, and to use const when appropriate. + +Thu Mar 6 14:18:30 1997 Jeffrey A Law (law@cygnus.com) + + * mn10300.h (MN10300_OPERAND_RELAX): Define. + +Mon Feb 24 15:15:56 1997 Martin M. Hunt <hunt@pizza.cygnus.com> + + * d10v.h: Change pre_defined_registers to + d10v_predefined_registers and reg_name_cnt to d10v_reg_name_cnt. + +Sat Feb 22 21:25:00 1997 Dawn Perchik <dawn@cygnus.com> + + * mips.h: Add macros for cop0, cop1 cop2 and cop3. + Change mips_opcodes from const array to a pointer, + and change bfd_mips_num_opcodes from const int to int, + so that we can increase the size of the mips opcodes table + dynamically. + +Fri Feb 21 16:34:18 1997 Martin M. Hunt <hunt@pizza.cygnus.com> + + * d30v.h (FLAG_X): Remove unused flag. + +Tue Feb 18 17:37:20 1997 Martin M. Hunt <hunt@pizza.cygnus.com> + + * d30v.h: New file. + +Fri Feb 14 13:16:15 1997 Fred Fish <fnf@cygnus.com> + + * tic80.h (PDS_NAME): Macro to access name field of predefined symbols. + (PDS_VALUE): Macro to access value field of predefined symbols. + (tic80_next_predefined_symbol): Add prototype. + +Mon Feb 10 10:32:17 1997 Fred Fish <fnf@cygnus.com> + + * tic80.h (tic80_symbol_to_value): Change prototype to match + change in function, added class parameter. + +Thu Feb 6 17:30:15 1997 Fred Fish <fnf@cygnus.com> + + * tic80.h (TIC80_OPERAND_ENDMASK): Add for flagging TIc80 + endmask fields, which are somewhat weird in that 0 and 32 are + treated exactly the same. + +Thu Jan 30 13:46:18 1997 Fred Fish <fnf@cygnus.com> + + * tic80.h: Change all the OPERAND defines to use the form (1 << X) + rather than a constant that is 2**X. Reorder them to put bits for + operands that have symbolic names in the upper bits, so they can + be packed into an int where the lower bits contain the value that + corresponds to that symbolic name. + (predefined_symbo): Add struct. + (tic80_predefined_symbols): Declare array of translations. + (tic80_num_predefined_symbols): Declare size of that array. + (tic80_value_to_symbol): Declare function. + (tic80_symbol_to_value): Declare function. + +Wed Jan 29 09:37:25 1997 Jeffrey A Law (law@cygnus.com) + + * mn10200.h (MN10200_OPERAND_RELAX): Define. + +Sat Jan 18 15:18:59 1997 Fred Fish <fnf@cygnus.com> + + * tic80.h (TIC80_NO_R0_DEST): Add for opcodes where r0 cannot + be the destination register. + +Thu Jan 16 20:48:55 1997 Fred Fish <fnf@cygnus.com> + + * tic80.h (struct tic80_opcode): Change "format" field to "flags". + (FMT_UNUSED, FMT_SI, FMT_LI, FMT_REG): Delete. + (TIC80_VECTOR): Define a flag bit for the flags. This one means + that the opcode can have two vector instructions in a single + 32 bit word and we have to encode/decode both. + +Tue Jan 14 19:37:09 1997 Fred Fish <fnf@cygnus.com> + + * tic80.h (TIC80_OPERAND_PCREL): Renamed from + TIC80_OPERAND_RELATIVE for PC relative. + (TIC80_OPERAND_BASEREL): New flag bit for register + base relative. + +Mon Jan 13 15:56:38 1997 Fred Fish <fnf@cygnus.com> + + * tic80.h (TIC80_OPERAND_FLOAT): Add for floating point operands. + +Mon Jan 6 10:51:15 1997 Fred Fish <fnf@cygnus.com> + + * tic80.h (TIC80_OPERAND_SCALED): Operand may have optional + ":s" modifier for scaling. + +Sun Jan 5 12:12:19 1997 Fred Fish <fnf@cygnus.com> + + * tic80.h (TIC80_OPERAND_M_SI): Add operand modifier for ":m". + (TIC80_OPERAND_M_LI): Ditto + +Sat Jan 4 19:02:44 1997 Fred Fish <fnf@cygnus.com> + + * tic80.h (TIC80_OPERAND_BITNUM): Renamed from TIC80_OPERAND_CC_SZ. + (TIC80_OPERAND_CC): New define for condition code operand. + (TIC80_OPERAND_CR): New define for control register operand. + +Fri Jan 3 16:22:23 1997 Fred Fish <fnf@cygnus.com> + + * tic80.h (struct tic80_opcode): Name changed. + (struct tic80_opcode): Remove format field. + (struct tic80_operand): Add insertion and extraction functions. + (TIC80_OPERAND_*): Remove old bogus values, start adding new + correct ones. + (FMT_*): Ditto. + +Tue Dec 31 15:05:41 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * v850.h (V850_OPERAND_ADJUST_SHORT_MEMORY): New flag to adjust + type IV instruction offsets. + +Fri Dec 27 22:23:10 1996 Fred Fish <fnf@cygnus.com> + + * tic80.h: New file. + +Wed Dec 18 10:06:31 1996 Jeffrey A Law (law@cygnus.com) + + * mn10200.h (MN10200_OPERAND_NOCHECK): Define. + +Sat Dec 14 10:48:31 1996 Fred Fish <fnf@ninemoons.com> + + * mn10200.h: Fix comment, mn10200_operand not powerpc_operand. + * mn10300.h: Fix comment, mn10300_operand not powerpc_operand. + * v850.h: Fix comment, v850_operand not powerpc_operand. + +Mon Dec 9 16:45:39 1996 Jeffrey A Law (law@cygnus.com) + + * mn10200.h: Flesh out structures and definitions needed by + the mn10200 assembler & disassembler. + +Tue Nov 26 10:46:56 1996 Ian Lance Taylor <ian@cygnus.com> + + * mips.h: Add mips16 definitions. + +Mon Nov 25 17:56:54 1996 J.T. Conklin <jtc@cygnus.com> + + * m68k.h: Document new <, >, m, n, o and p operand specifiers. + +Wed Nov 20 10:59:41 1996 Jeffrey A Law (law@cygnus.com) + + * mn10300.h (MN10300_OPERAND_PCREL): Define. + (MN10300_OPERAND_MEMADDR): Define. + +Tue Nov 19 13:30:40 1996 Jeffrey A Law (law@cygnus.com) + + * mn10300.h (MN10300_OPERAND_REG_LIST): Define. + +Wed Nov 6 13:41:08 1996 Jeffrey A Law (law@cygnus.com) + + * mn10300.h (MN10300_OPERAND_SPLIT): Define. + +Tue Nov 5 13:26:12 1996 Jeffrey A Law (law@cygnus.com) + + * mn10300.h (MN10300_OPERAND_EXTENDED): Define. + +Mon Nov 4 12:52:48 1996 Jeffrey A Law (law@cygnus.com) + + * mn10300.h (MN10300_OPERAND_REPEATED): Define. + +Fri Nov 1 10:31:02 1996 Richard Henderson <rth@tamu.edu> + + * alpha.h: Don't include "bfd.h"; private relocation types are now + negative to minimize problems with shared libraries. Organize + instruction subsets by AMASK extensions and PALcode + implementation. + (struct alpha_operand): Move flags slot for better packing. + +Tue Oct 29 12:19:10 1996 Jeffrey A Law (law@cygnus.com) + + * v850.h (V850_OPERAND_RELAX): New operand flag. + +Thu Oct 10 14:29:11 1996 Jeffrey A Law (law@cygnus.com) + + * mn10300.h (FMT_*): Move operand format definitions + here. + +Tue Oct 8 14:48:07 1996 Jeffrey A Law (law@cygnus.com) + + * mn10300.h (MN10300_OPERAND_PAREN): Define. + +Mon Oct 7 16:52:11 1996 Jeffrey A Law (law@cygnus.com) + + * mn10300.h (mn10300_opcode): Add "format" field. + (MN10300_OPERAND_*): Define. + +Thu Oct 3 10:33:46 1996 Jeffrey A Law (law@cygnus.com) + + * mn10x00.h: Delete. + * mn10200.h, mn10300.h: New files. + +Wed Oct 2 21:31:26 1996 Jeffrey A Law (law@cygnus.com) + + * mn10x00.h: New file. + +Fri Sep 27 18:26:46 1996 Stu Grossman (grossman@critters.cygnus.com) + + * v850.h: Add new flag to indicate this instruction uses a PC + displacement. + +Fri Sep 13 14:58:13 1996 Jeffrey A Law (law@cygnus.com) + + * h8300.h (stmac): Add missing instruction. + +Sat Aug 31 16:02:03 1996 Jeffrey A Law (law@cygnus.com) + + * v850.h (v850_opcode): Remove "size" field. Add "memop" + field. + +Fri Aug 23 10:39:08 1996 Jeffrey A Law (law@cygnus.com) + + * v850.h (V850_OPERAND_EP): Define. + + * v850.h (v850_opcode): Add size field. + +Thu Aug 22 16:51:25 1996 J.T. Conklin <jtc@rtl.cygnus.com> + + * v850.h (v850_operands): Add insert and extract fields, pointers + to functions used to handle unusual operand encoding. + (V850_OPERAND_REG, V850_OPERAND_SRG, V850_OPERAND_CC, + V850_OPERAND_SIGNED): Defined. + +Wed Aug 21 17:45:10 1996 J.T. Conklin <jtc@rtl.cygnus.com> + + * v850.h (v850_operands): Add flags field. + (OPERAND_REG, OPERAND_NUM): Defined. + +Tue Aug 20 14:52:02 1996 J.T. Conklin <jtc@rtl.cygnus.com> + + * v850.h: New file. + +Fri Aug 16 14:44:15 1996 James G. Smith <jsmith@cygnus.co.uk> + + * mips.h (OP_SH_LOCC, OP_SH_HICC, OP_MASK_CC, OP_SH_COP1NORM, + OP_MASK_COP1NORM, OP_SH_COP1SPEC, OP_MASK_COP1SPEC, + OP_MASK_COP1SCLR, OP_MASK_COP1CMP, OP_SH_COP1CMP, OP_SH_FORMAT, + OP_MASK_FORMAT, OP_SH_TRUE, OP_MASK_TRUE, OP_SH_GE, OP_MASK_GE, + OP_SH_UNSIGNED, OP_MASK_UNSIGNED, OP_SH_HINT, OP_MASK_HINT): + Defined. + +Fri Aug 16 00:15:15 1996 Jeffrey A Law (law@cygnus.com) + + * hppa.h (pitlb, pitlbe, iitlba, iitlbp, fic, fice): Accept + a 3 bit space id instead of a 2 bit space id. + +Thu Aug 15 13:11:46 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * d10v.h: Add some additional defines to support the + assembler in determining which operations can be done in parallel. + +Tue Aug 6 11:13:22 1996 Jeffrey A Law (law@cygnus.com) + + * h8300.h (SN): Define. + (eepmov.b): Renamed from "eepmov" + (nop, bpt, rte, rts, sleep, clrmac): These have no size associated + with them. + +Fri Jul 26 11:47:10 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * d10v.h (OPERAND_SHIFT): New operand flag. + +Thu Jul 25 12:06:22 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * d10v.h: Changes for divs, parallel-only instructions, and + signed numbers. + +Mon Jul 22 11:21:15 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * d10v.h (pd_reg): Define. Putting the definition here allows + the assembler and disassembler to share the same struct. + +Mon Jul 22 12:15:25 1996 Ian Lance Taylor <ian@cygnus.com> + + * i960.h (i960_opcodes): "halt" takes an argument. From Stephen + Williams <steve@icarus.com>. + +Wed Jul 17 14:46:38 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + + * d10v.h: New file. + +Thu Jul 11 12:09:15 1996 Jeffrey A Law (law@cygnus.com) + + * h8300.h (band, bclr): Force high bit of immediate nibble to zero. + +Wed Jul 3 14:30:12 1996 J.T. Conklin <jtc@rtl.cygnus.com> + + * m68k.h (mcf5200): New macro. + Document names of coldfire control registers. + +Tue Jul 2 23:05:45 1996 Jeffrey A Law (law@cygnus.com) + + * h8300.h (SRC_IN_DST): Define. + + * h8300.h (UNOP3): Mark the register operand in this insn + as a source operand, not a destination operand. + (SHIFT_2, SHIFT_IMM): Remove. Eliminate all references. + (UNOP3): Change SHIFT_IMM to IMM for H8/S bitops. Mark + register operand with SRC_IN_DST. + +Fri Jun 21 13:52:17 1996 Richard Henderson <rth@tamu.edu> + + * alpha.h: New file. + +Thu Jun 20 15:02:57 1996 Ian Lance Taylor <ian@cygnus.com> + + * rs6k.h: Remove obsolete file. + +Wed Jun 19 15:29:38 1996 Ian Lance Taylor <ian@cygnus.com> + + * i386.h: Correct opcode values for faddp, fsubp, fsubrp, fmulp, + fdivp, and fdivrp. Add ffreep. + +Tue Jun 18 16:06:00 1996 Jeffrey A. Law <law@rtl.cygnus.com> + + * h8300.h: Reorder various #defines for readability. + (ABS32SRC, ABS32DST, DSP32LIST, ABS32LIST, A32LIST): Define. + (BITOP): Accept additional (unused) argument. All callers changed. + (EBITOP): Likewise. + (O_LAST): Bump. + (ldc, stc, movb, movw, movl): Use 32bit offsets and absolutes. + + * h8300.h (EXR, SHIFT_2, MACREG, SHIFT_IMM, RDINC): Define. + (O_TAS, O_CLRMAC, O_LDMAC, O_MAC, O_LDM, O_STM): Define. + (BITOP, EBITOP): Handle new H8/S addressing modes for + bit insns. + (UNOP3): Handle new shift/rotate insns on the H8/S. + (insns using exr): New instructions. + (tas, mac, ldmac, clrmac, ldm, stm): New instructions. + +Thu May 23 16:56:48 1996 Jeffrey A Law (law@cygnus.com) + + * h8300.h (add.l): Undo Apr 5th change. The manual I had + was incorrect. + +Mon May 6 23:38:22 1996 Jeffrey A Law (law@cygnus.com) + + * h8300.h (START): Remove. + (MEMRELAX): Define. Mark absolute memory operands in mov.b, mov.w + and mov.l insns that can be relaxed. + +Tue Apr 30 18:30:58 1996 Ian Lance Taylor <ian@cygnus.com> + + * i386.h: Remove Abs32 from lcall. + +Mon Apr 22 17:09:23 1996 Doug Evans <dje@blues.cygnus.com> + + * sparc.h (SPARC_OPCODE_ARCH_V9_P): New macro. + (SLCPOP): New macro. + Mark X,Y opcode letters as in use. + +Thu Apr 11 17:28:18 1996 Ian Lance Taylor <ian@cygnus.com> + + * sparc.h (F_FLOAT, F_FBR): Define. + +Fri Apr 5 16:55:34 1996 Jeffrey A Law (law@cygnus.com) + + * h8300.h (ABS8MEM): Renamed from ABSMOV. Remove ABSMOV + from all insns. + (ABS8SRC,ABS8DST): Add ABS8MEM. + (add.l): Fix reg+reg variant. + (eepmov.w): Renamed from eepmovw. + (ldc,stc): Fix many cases. + +Sun Mar 31 13:30:03 1996 Doug Evans <dje@canuck.cygnus.com> + + * sparc.h (SPARC_OPCODE_ARCH_MASK): New macro. + +Thu Mar 7 15:08:23 1996 Doug Evans <dje@charmed.cygnus.com> + + * sparc.h (O): Mark operand letter as in use. + +Tue Feb 20 20:46:21 1996 Doug Evans <dje@charmed.cygnus.com> + + * sparc.h (sparc_{encode,decode}_sparclet_cpreg): Declare. + Mark operand letters uU as in use. + +Mon Feb 19 01:59:08 1996 Doug Evans <dje@charmed.cygnus.com> + + * sparc.h (sparc_opcode_arch_val): Add SPARC_OPCODE_ARCH_SPARCLET. + (sparc_opcode_arch): Delete member `conflicts'. Add `supported'. + (SPARC_OPCODE_SUPPORTED): New macro. + (SPARC_OPCODE_CONFLICT_P): Rewrite. + (F_NOTV9): Delete. + +Fri Feb 16 12:23:34 1996 Jeffrey A Law (law@cygnus.com) + + * sparc.h (sparc_opcode_lookup_arch) Make return type in + declaration consistent with return type in definition. + +Wed Feb 14 18:14:11 1996 Alan Modra <alan@spri.levels.unisa.edu.au> + + * i386.h (i386_optab): Remove Data32 from pushf and popf. + +Thu Feb 8 14:27:21 1996 James Carlson <carlson@xylogics.com> + + * i386.h (i386_regtab): Add 80486 test registers. + +Mon Feb 5 18:35:46 1996 Ian Lance Taylor <ian@cygnus.com> + + * i960.h (I_HX): Define. + (i960_opcodes): Add HX instruction. + +Mon Jan 29 12:43:39 1996 Ken Raeburn <raeburn@cygnus.com> + + * i386.h: Fix waiting forms of finit, fstenv, fsave, fstsw, fstcw, + and fclex. + +Wed Jan 24 22:36:59 1996 Doug Evans <dje@charmed.cygnus.com> + + * sparc.h (enum sparc_opcode_arch_val): Replaces sparc_architecture. + (SPARC_OPCODE_CONFLICT_P): Renamed from ARCHITECTURES_CONFLICT_P. + (bfd_* defines): Delete. + (sparc_opcode_archs): Replaces architecture_pname. + (sparc_opcode_lookup_arch): Declare. + (NUMOPCODES): Delete. + +Mon Jan 22 08:24:32 1996 Doug Evans <dje@charmed.cygnus.com> + + * sparc.h (enum sparc_architecture): Add v9a. + (ARCHITECTURES_CONFLICT_P): Update. + +Thu Dec 28 13:27:53 1995 John Hassey <hassey@rtp.dg.com> + + * i386.h: Added Pentium Pro instructions. + +Thu Nov 2 22:59:22 1995 Ian Lance Taylor <ian@cygnus.com> + + * m68k.h: Document new 'W' operand place. + +Tue Oct 24 10:49:10 1995 Jeffrey A Law (law@cygnus.com) + + * hppa.h: Add lci and syncdma instructions. + +Mon Oct 23 11:09:16 1995 James G. Smith <jsmith@pasanda.cygnus.co.uk> + + * mips.h: Added INSN_4100 flag to mark NEC VR4100 specific + instructions. + +Mon Oct 16 10:28:15 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * ppc.h (PPC_OPCODE_{COMMON,ANY}): New opcode flags for + assembler's -mcom and -many switches. + +Wed Oct 11 16:56:33 1995 Ken Raeburn <raeburn@cygnus.com> + + * i386.h: Fix cmpxchg8b extension opcode description. + +Thu Oct 5 18:03:36 1995 Ken Raeburn <raeburn@cygnus.com> + + * i386.h: Add Pentium instructions wrmsr, rdtsc, rdmsr, cmpxchg8b, + and register cr4. + +Tue Sep 19 15:26:43 1995 Ian Lance Taylor <ian@cygnus.com> + + * m68k.h: Change comment: split type P into types 0, 1 and 2. + +Wed Aug 30 13:50:55 1995 Doug Evans <dje@canuck.cygnus.com> + + * sparc.h (sparc_{encode,decode}_prefetch): Declare. + +Tue Aug 29 15:34:58 1995 Doug Evans <dje@canuck.cygnus.com> + + * sparc.h (sparc_{encode,decode}_{asi,membar}): Declare. + +Wed Aug 2 18:32:19 1995 Ian Lance Taylor <ian@cygnus.com> + + * m68kmri.h: Remove. + + * m68k.h: Move tables into opcodes/m68k-opc.c, leaving just the + declarations. Remove F_ALIAS and flag field of struct + m68k_opcode. Change arch field of struct m68k_opcode to unsigned + int. Make name and args fields of struct m68k_opcode const. + +Wed Aug 2 08:16:46 1995 Doug Evans <dje@canuck.cygnus.com> + + * sparc.h (F_NOTV9): Define. + +Tue Jul 11 14:20:42 1995 Jeff Spiegel <jeffs@lsil.com> + + * mips.h (INSN_4010): Define. + +Wed Jun 21 18:49:51 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + * m68k.h (TBL1): Reverse sense of "round" argument in result. + + Changes from Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>: + * m68k.h: Fix argument descriptions of coprocessor + instructions to allow only alterable operands where appropriate. + [!NO_DEFAULT_SIZES]: An omitted size defaults to `w'. + (m68k_opcode_aliases): Add more aliases. + +Fri Apr 14 22:15:34 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + * m68k.h: Added explcitly short-sized conditional branches, and a + bunch of aliases (fmov*, ftest*, tdivul) to support gcc's + svr4-based configurations. + +Mon Mar 13 21:30:01 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + Mon Feb 27 08:36:39 1995 Bryan Ford <baford@cs.utah.edu> + * i386.h: added missing Data16/Data32 flags to a few instructions. + +Wed Mar 8 15:19:53 1995 Ian Lance Taylor <ian@cygnus.com> + + * mips.h (OP_MASK_FR, OP_SH_FR): Define. + (OP_MASK_BCC, OP_SH_BCC): Define. + (OP_MASK_PREFX, OP_SH_PREFX): Define. + (OP_MASK_CCC, OP_SH_CCC): Define. + (INSN_READ_FPR_R): Define. + (INSN_RFE): Delete. + +Wed Mar 8 03:13:23 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + * m68k.h (enum m68k_architecture): Deleted. + (struct m68k_opcode_alias): New type. + (m68k_opcodes): Now const. Deleted opcode aliases with exactly + matching constraints, values and flags. As a side effect of this, + the MOTOROLA_SYNTAX_ONLY and MIT_SYNTAX_ONLY macros, which so far + as I know were never used, now may need re-examining. + (numopcodes): Now const. + (m68k_opcode_aliases, numaliases): New variables. + (endop): Deleted. + [DONT_DEFINE_TABLE]: Declare numopcodes, numaliases, and + m68k_opcode_aliases; update declaration of m68k_opcodes. + +Mon Mar 6 10:02:00 1995 Jeff Law (law@snake.cs.utah.edu) + + * hppa.h (delay_type): Delete unused enumeration. + (pa_opcode): Replace unused delayed field with an architecture + field. + (pa_opcodes): Mark each instruction as either PA1.0 or PA1.1. + +Fri Mar 3 16:10:24 1995 Ian Lance Taylor <ian@cygnus.com> + + * mips.h (INSN_ISA4): Define. + +Fri Feb 24 19:13:37 1995 Ian Lance Taylor <ian@cygnus.com> + + * mips.h (M_DLA_AB, M_DLI): Define. + +Thu Feb 23 17:33:09 1995 Jeff Law (law@snake.cs.utah.edu) + + * hppa.h (fstwx): Fix single-bit error. + +Wed Feb 15 12:19:52 1995 Ian Lance Taylor <ian@cygnus.com> + + * mips.h (M_ULD, M_ULD_A, M_USD, M_USD_A): Define. + +Mon Feb 6 10:35:23 1995 J.T. Conklin <jtc@rtl.cygnus.com> + + * i386.h: added cpuid instruction , and dr[0-7] aliases for the + debug registers. From Charles Hannum (mycroft@netbsd.org). + +Mon Feb 6 03:31:54 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + Changes from Bryan Ford <baford@schirf.cs.utah.edu> for 16-bit + i386 support: + * i386.h (MOV_AX_DISP32): New macro. + (i386_optab): Added Data16 and Data32 as needed. Added "w" forms + of several call/return instructions. + (ADDR_PREFIX_OPCODE): New macro. + +Mon Jan 23 16:45:43 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + Sat Jan 21 17:50:38 1995 Pat Rankin (rankin@eql.caltech.edu) + + * vax.h (struct vot_wot, field `args'): Make it pointer to const + char. + (struct vot, field `name'): ditto. + +Thu Jan 19 14:47:53 1995 Ken Raeburn <raeburn@cujo.cygnus.com> + + * vax.h: Supply and properly group all values in end sentinel. + +Tue Jan 17 10:55:30 1995 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * mips.h (INSN_ISA, INSN_4650): Define. + +Wed Oct 19 13:34:17 1994 Ian Lance Taylor <ian@sanguine.cygnus.com> + + * a29k.h: Add operand type 'I' for `inv' and `iretinv'. On + systems with a separate instruction and data cache, such as the + 29040, these instructions take an optional argument. + +Wed Sep 14 17:44:20 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * mips.h (INSN_STORE_MEMORY): Correct value to not conflict with + INSN_TRAP. + +Tue Sep 6 11:39:08 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * mips.h (INSN_STORE_MEMORY): Define. + +Thu Jul 28 19:28:07 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * sparc.h: Document new operand type 'x'. + +Tue Jul 26 17:48:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * i960.h (I_CX2): New instruction category. It includes + instructions available on Cx and Jx processors. + (I_JX): New instruction category, for JX-only instructions. + (i960_opcodes): Put eshro and sysctl in I_CX2 category. Added + Jx-only instructions, in I_JX category. + +Wed Jul 13 18:43:47 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * ns32k.h (endop): Made pointer const too. + +Sun Jul 10 11:01:09 1994 Ian Dall (dall@hfrd.dsto.gov.au) + + * ns32k.h: Drop Q operand type as there is no correct use + for it. Add I and Z operand types which allow better checking. + +Thu Jul 7 12:34:48 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * h8300.h (xor.l) :fix bit pattern. + (L_2): New size of operand. + (trapa): Use it. + +Fri Jun 10 16:38:11 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * m68k.h: Move "trap" before "tpcc" to change disassembly. + +Fri Jun 3 15:57:36 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * sparc.h: Include v9 definitions. + +Thu Jun 2 12:23:17 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * m68k.h (m68060): Defined. + (m68040up, mfloat, mmmu): Include it. + (struct m68k_opcode): Widen `arch' field. + (m68k_opcodes): Updated for M68060. Removed comments that were + instructions commented out by "JF" years ago. + +Thu Apr 28 18:31:14 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * m68k.h (struct m68k_opcode): Shorten `arch' field to 8 bits, and + add a one-bit `flags' field. + (F_ALIAS): New macro. + +Wed Apr 27 11:29:52 1994 Steve Chamberlain (sac@cygnus.com) + + * h8300.h (dec, inc): Get encoding right. + +Mon Apr 4 13:12:43 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ppc.h (struct powerpc_operand): Removed signedp field; just use + a flag instead. + (PPC_OPERAND_SIGNED): Define. + (PPC_OPERAND_SIGNOPT): Define. + +Thu Mar 31 19:34:08 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * i386.h (IS_JUMP_ON_ECX_ZERO, "jcxz" pattern): Operand size + prefix is 0x66, not 0x67. Patch from H.J. Lu (hlu@nynexst.com). + +Thu Mar 3 15:51:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * i386.h: Reverse last change. It'll be handled in gas instead. + +Thu Feb 24 15:29:05 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * i386.h (sar): Disabled the two-operand Imm1 form, since it was + slower on the 486 and used the implicit shift count despite the + explicit operand. The one-operand form is still available to get + the shorter form with the implicit shift count. + +Thu Feb 17 12:27:52 1994 Torbjorn Granlund (tege@mexican.cygnus.com) + + * hppa.h: Fix typo in fstws arg string. + +Wed Feb 9 21:23:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ppc.h (struct powerpc_opcode): Make operands field unsigned. + +Mon Feb 7 19:14:58 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ppc.h (PPC_OPCODE_601): Define. + +Fri Feb 4 23:43:50 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * hppa.h (addb): Use '@' for addb and addib pseudo ops. + (so we can determine valid completers for both addb and addb[tf].) + + * hppa.h (xmpyu): No floating point format specifier for the + xmpyu instruction. + +Fri Feb 4 23:36:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ppc.h (PPC_OPERAND_NEXT): Define. + (PPC_OPERAND_NEGATIVE): Change value to make room for above. + (struct powerpc_macro): Define. + (powerpc_macros, powerpc_num_macros): Declare. + +Fri Jan 21 19:13:50 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ppc.h: New file. Header file for PowerPC opcode table. + +Mon Jan 17 00:14:23 1994 Jeffrey A. Law (law@snake.cs.utah.edu) + + * hppa.h: More minor template fixes for sfu and copr (to allow + for easier disassembly). + + * hppa.h: Fix templates for all the sfu and copr instructions. + +Wed Dec 15 15:12:42 1993 Ken Raeburn (raeburn@cujo.cygnus.com) + + * i386.h (push): Permit Imm16 operand too. + +Sat Dec 11 16:14:06 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * h8300.h (andc): Exists in base arch. + +Wed Dec 1 12:15:32 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * From Hisashi MINAMINO <minamino@sramhc.sra.co.jp> + * hppa.h: #undef NONE to avoid conflict with hiux include files. + +Sun Nov 21 22:06:57 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * hppa.h: Add FP quadword store instructions. + +Wed Nov 17 17:13:16 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * mips.h: (M_J_A): Added. + (M_LA): Removed. + +Mon Nov 8 12:12:47 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * mips.h (OP_MASK_CACHE, OP_SH_CACHE): Define. From Ted Lemon + <mellon@pepper.ncd.com>. + +Sun Nov 7 00:30:11 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * hppa.h: Immediate field in probei instructions is unsigned, + not low-sign extended. + +Wed Nov 3 10:30:00 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * m88k.h (RRI10MASK): Change from 0xfc00ffe0 to 0xfc00fc00. + +Tue Nov 2 12:41:30 1993 Ken Raeburn (raeburn@rover.cygnus.com) + + * i386.h: Add "fxch" without operand. + +Mon Nov 1 18:13:03 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * mips.h (M_JAL_1, M_JAL_2, M_JAL_A): Added. + +Sat Oct 2 22:26:11 1993 Jeffrey A Law (law@snake.cs.utah.edu) + + * hppa.h: Add gfw and gfr to the opcode table. + +Wed Sep 29 16:23:00 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * m88k.h: extended to handle m88110. + +Tue Sep 28 19:19:08 1993 Jeffrey A Law (law@snake.cs.utah.edu) + + * hppa.h (be, ble): Use operand type 'z' to denote absolute branch + addresses. + +Tue Sep 14 14:04:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * i960.h (i960_opcodes): Properly bracket initializers. + +Mon Sep 13 12:50:52 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * m88k.h (BOFLAG): rewrite to avoid nested comment. + +Mon Sep 13 15:46:06 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * m68k.h (two): Protect second argument with parentheses. + +Fri Sep 10 16:29:47 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * i386.h (i386_optab): Added new instruction "rsm" (for i386sl). + Deleted old in/out instructions in "#if 0" section. + +Thu Sep 9 17:42:19 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * i386.h (i386_optab): Properly bracket initializers. + +Wed Aug 25 13:50:56 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * hppa.h (pa_opcode): Use '|' for movb and movib insns. (From + Jeff Law, law@cs.utah.edu). + +Mon Aug 23 16:55:03 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * i386.h (lcall): Accept Imm32 operand also. + +Mon Aug 23 12:43:11 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * mips.h (M_ABSU): Removed (absolute value of unsigned number??). + (M_DABS): Added. + +Thu Aug 19 15:08:37 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * mips.h (INSN_*): Changed values. Removed unused definitions. + Added INSN_COND_BRANCH_LIKELY, INSN_ISA2 and INSN_ISA3. Split + INSN_LOAD_DELAY into INSN_LOAD_MEMORY_DELAY and + INSN_LOAD_COPROC_DELAY. Split INSN_COPROC_DELAY into + INSN_COPROC_MOVE_DELAY and INSN_COPROC_MEMORY_DELAY. + (M_*): Added new values for r6000 and r4000 macros. + (ANY_DELAY): Removed. + +Wed Aug 18 15:37:48 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * mips.h: Added M_LI_S and M_LI_SS. + +Tue Aug 17 07:08:08 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * h8300.h: Get some rare mov.bs correct. + +Thu Aug 5 09:15:17 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * sparc.h: Don't define const ourself; rely on ansidecl.h having + been included. + +Fri Jul 30 18:41:11 1993 John Gilmore (gnu@cygnus.com) + + * sparc.h (F_JSR, F_UNBR, F_CONDBR): Add new flags to mark + jump instructions, for use in disassemblers. + +Thu Jul 22 07:25:27 1993 Ian Lance Taylor (ian@cygnus.com) + + * m88k.h: Make bitfields just unsigned, not unsigned long or + unsigned short. + +Wed Jul 21 11:55:31 1993 Jim Kingdon (kingdon@deneb.cygnus.com) + + * hppa.h: New argument type 'y'. Use in various float instructions. + +Mon Jul 19 17:17:03 1993 Jim Kingdon (kingdon@deneb.cygnus.com) + + * hppa.h (break): First immediate field is unsigned. + + * hppa.h: Add rfir instruction. + +Sun Jul 18 16:28:08 1993 Jim Kingdon (kingdon@rtl.cygnus.com) + + * mips.h: Split the actual table out into ../../opcodes/mips-opc.c. + +Fri Jul 16 09:59:29 1993 Ian Lance Taylor (ian@cygnus.com) + + * mips.h: Reworked the hazard information somewhat, and fixed some + bugs in the instruction hazard descriptions. + +Thu Jul 15 12:42:01 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * m88k.h: Corrected a couple of opcodes. + +Tue Jul 6 15:17:35 1993 Ian Lance Taylor (ian@cygnus.com) + + * mips.h: Replaced with version from Ralph Campbell and OSF. The + new version includes instruction hazard information, but is + otherwise reasonably similar. + +Thu Jul 1 20:36:17 1993 Doug Evans (dje@canuck.cygnus.com) + + * h8300.h: Fix typo in UNOP3 (affected sh[al][lr].l). + +Fri Jun 11 18:38:44 1993 Ken Raeburn (raeburn@cygnus.com) + + Patches from Jeff Law, law@cs.utah.edu: + * hppa.h: Clean up some of the OLD_TABLE, non-OLD_TABLE braindamage. + Make the tables be the same for the following instructions: + "bb", "addb[tf]", "addib[tf]", "add", "add[loc]", "addco", + "sh[123]add", "sh[123]add[lo]", "sub", "sub[obt]", "sub[bt]o", + "ds", "comclr", "addi", "addi[ot]", "addito", "subi", "subio", + "comiclr", "fadd", "fsub", "fmpy", "fdiv", "fsqrt", "fabs", + "frnd", "fcpy", "fcnvff", "fcnvxf", "fcnvfx", "fcnvfxt", + "fcmp", and "ftest". + + * hppa.h: Make new and old tables the same for "break", "mtctl", + "mfctl", "bb", "ssm", "rsm", "xmpyu", "fmpyadd", "fmpysub". + Fix typo in last patch. Collapse several #ifdefs into a + single #ifdef. + + * hppa.h: Delete remaining OLD_TABLE code. Bring some + of the comments up-to-date. + + * hppa.h: Update "free list" of letters and update + comments describing each letter's function. + +Thu Jul 8 09:05:26 1993 Doug Evans (dje@canuck.cygnus.com) + + * h8300.h: Lots of little fixes for the h8/300h. + +Tue Jun 8 12:16:03 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + Support for H8/300-H + * h8300.h: Lots of new opcodes. + +Fri Jun 4 15:41:37 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * h8300.h: checkpoint, includes H8/300-H opcodes. + +Thu Jun 3 15:42:59 1993 Stu Grossman (grossman@cygnus.com) + + * Patches from Jeffrey Law <law@cs.utah.edu>. + * hppa.h: Rework single precision FP + instructions so that they correctly disassemble code + PA1.1 code. + +Thu May 27 19:21:22 1993 Bruce Bauman (boot@osf.org) + + * i386.h (i386_optab, mov pattern): Remove Mem16 restriction from + mov to allow instructions like mov ss,xyz(ecx) to assemble. + +Tue May 25 00:39:40 1993 Ken Raeburn (raeburn@cygnus.com) + + * hppa.h: Use new version from Utah if OLD_TABLE isn't defined; + gdb will define it for now. + +Mon May 24 15:20:06 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * sparc.h: Don't end enumerator list with comma. + +Fri May 14 15:15:50 1993 Ian Lance Taylor (ian@cygnus.com) + + * Based on patches from davidj@ICSI.Berkeley.EDU (David Johnson): + * mips.h (OP_MASK_COPZ, OP_SH_COPZ): Define. + ("bc2t"): Correct typo. + ("[ls]wc[023]"): Use T rather than t. + ("c[0123]"): Define general coprocessor instructions. + +Mon May 10 06:02:25 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * m68k.h: Move split point for gcc compilation more towards + middle. + +Fri Apr 9 13:26:16 1993 Jim Kingdon (kingdon@cygnus.com) + + * rs6k.h: Clean up instructions for primary opcode 19 (many were + simply wrong, ics, rfi, & rfsvc were missing). + Add "a" to opr_ext for "bb". Doc fix. + +Thu Mar 18 13:45:31 1993 Per Bothner (bothner@rtl.cygnus.com) + + * i386.h: 486 extensions from John Hassey (hassey@dg-rtp.dg.com). + * mips.h: Add casts, to suppress warnings about shifting too much. + * m68k.h: Document the placement code '9'. + +Thu Feb 18 02:03:14 1993 John Gilmore (gnu@cygnus.com) + + * m68k.h (BREAK_UP_BIG_DECL, AND_OTHER_PART): Add kludge which + allows callers to break up the large initialized struct full of + opcodes into two half-sized ones. This permits GCC to compile + this module, since it takes exponential space for initializers. + (numopcodes, endop): Revise to use AND_OTHER_PART in size calcs. + +Thu Feb 4 02:06:56 1993 John Gilmore (gnu@cygnus.com) + + * a29k.h: Remove RCS crud, update GPL to v2, update copyrights. + * convex.h: Added, from GDB's convx-opcode.h. Added CONST to all + initialized structs in it. + +Thu Jan 28 21:32:22 1993 John Gilmore (gnu@cygnus.com) + + Delta 88 changes inspired by Carl Greco, <cgreco@Creighton.Edu>: + * m88k.h (PMEM): Avoid previous definition from <sys/param.h>. + (AND): Change to AND_ to avoid ansidecl.h `AND' conflict. + +Sat Jan 23 18:10:49 PST 1993 Ralph Campbell (ralphc@pyramid.com) + + * mips.h: document "i" and "j" operands correctly. + +Thu Jan 7 15:58:13 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * mips.h: Removed endianness dependency. + +Sun Jan 3 14:13:35 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * h8300.h: include info on number of cycles per instruction. + +Mon Dec 21 21:29:08 1992 Stu Grossman (grossman at cygnus.com) + + * hppa.h: Move handy aliases to the front. Fix masks for extract + and deposit instructions. + +Sat Dec 12 16:09:48 1992 Ian Lance Taylor (ian@cygnus.com) + + * i386.h: accept shld and shrd both with and without the shift + count argument, which is always %cl. + +Fri Nov 27 17:13:18 1992 Ken Raeburn (raeburn at cygnus.com) + + * i386.h (i386_optab_end, i386_regtab_end): Now const. + (one_byte_segment_defaults, two_byte_segment_defaults, + i386_prefixtab_end): Ditto. + +Mon Nov 23 10:47:25 1992 Ken Raeburn (raeburn@cygnus.com) + + * vax.h (bb*): Use "v" (bitfield type), not "a" (address operand) + for operand 2; from John Carr, jfc@dsg.dec.com. + +Wed Nov 4 07:36:49 1992 Ken Raeburn (raeburn@cygnus.com) + + * m68k.h: Define FIXED_SIZE_BRANCH, so bsr and bra instructions + always use 16-bit offsets. Makes calculated-size jump tables + feasible. + +Fri Oct 16 22:52:43 1992 Ken Raeburn (raeburn@cygnus.com) + + * i386.h: Fix one-operand forms of in* and out* patterns. + +Tue Sep 22 14:08:14 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * m68k.h: Added CPU32 support. + +Tue Sep 22 00:38:41 1992 John Gilmore (gnu@cygnus.com) + + * mips.h (break): Disassemble the argument. Patch from + jonathan@cs.stanford.edu (Jonathan Stone). + +Wed Sep 9 11:25:28 1992 Ian Lance Taylor (ian@cygnus.com) + + * m68k.h: merged Motorola and MIT syntax. + +Thu Sep 3 09:33:22 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * m68k.h (pmove): make the tests less strict, the 68k book is + wrong. + +Tue Aug 25 23:25:19 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * m68k.h (m68ec030): Defined as alias for 68030. + (m68k_opcodes): New type characters "3" for 68030 MMU regs and "t" + for immediate 0-7 added. Set up some opcodes (ptest, bkpt) to use + them. Tightened description of "fmovex" to distinguish it from + some "pmove" encodings. Added "pmove" for 68030 MMU regs, cleaned + up descriptions that claimed versions were available for chips not + supporting them. Added "pmovefd". + +Mon Aug 24 12:04:51 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * m68k.h: fix where the . goes in divull + +Wed Aug 19 11:22:24 1992 Ian Lance Taylor (ian@cygnus.com) + + * m68k.h: the cas2 instruction is supposed to be written with + indirection on the last two operands, which can be either data or + address registers. Added a new operand type 'r' which accepts + either register type. Added new cases for cas2l and cas2w which + use them. Corrected masks for cas2 which failed to recognize use + of address register. + +Fri Aug 14 14:20:38 1992 Per Bothner (bothner@cygnus.com) + + * m68k.h: Merged in patches (mostly m68040-specific) from + Colin Smith <colin@wrs.com>. + + * m68k.h: Merged m68kmri.h and m68k.h (using the former as a + base). Also cleaned up duplicates, re-ordered instructions for + the sake of dis-assembling (so aliases come after standard names). + * m68kmri.h: Now just defines some macros, and #includes m68k.h. + +Wed Aug 12 16:38:15 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * m68kmri.h: added various opcodes. Moved jbxx to bxxes. Filled in + all missing .s + +Mon Aug 10 23:22:33 1992 Ken Raeburn (raeburn@cygnus.com) + + * sparc.h: Moved tables to BFD library. + + * i386.h (i386_optab): Add fildq, fistpq aliases used by gcc. + +Sun Jun 28 13:29:03 1992 Fred Fish (fnf@cygnus.com) + + * h8300.h: Finish filling in all the holes in the opcode table, + so that the Lucid C compiler can digest this as well... + +Fri Jun 26 21:27:17 1992 John Gilmore (gnu at cygnus.com) + + * i386.h: Add setc, setnc, addr16, data16, repz, repnz aliases. + Fix opcodes on various sizes of fild/fist instructions + (16bit=no suffix, 32bit="l" suffix, 64bit="ll" suffix). + Use tabs to indent for comments. Fixes suggested by Minh Tran-Le. + +Thu Jun 25 16:13:26 1992 Stu Grossman (grossman at cygnus.com) + + * h8300.h: Fill in all the holes in the opcode table so that the + losing HPUX C compiler can digest this... + +Thu Jun 11 12:15:25 1992 John Gilmore (gnu at cygnus.com) + + * mips.h: Fix decoding of coprocessor instructions, somewhat. + (Fix by Eric Anderson, 3jean@maas-neotek.arc.nasa.gov.) + +Thu May 28 11:17:44 1992 Jim Wilson (wilson@sphagnum.cygnus.com) + + * sparc.h: Add new architecture variant sparclite; add its scan + and divscc opcodes. Define ARCHITECTURES_CONFLICT_P macro. + +Tue May 5 14:23:27 1992 Per Bothner (bothner@rtl.cygnus.com) + + * mips.h: Add some more opcode synonyms (from Frank Yellin, + fy@lucid.com). + +Thu Apr 16 18:25:26 1992 Per Bothner (bothner@cygnus.com) + + * rs6k.h: New version from IBM (Metin). + +Thu Apr 9 00:31:19 1992 Per Bothner (bothner@rtl.cygnus.com) + + * rs6k.h: Fix incorrect extended opcode for instructions `fm' + and `fd'. (From metin@ibmpa.awdpa.ibm.com (Metin G. Ozisik).) + +Tue Apr 7 13:38:47 1992 Stu Grossman (grossman at cygnus.com) + + * rs6k.h: Move from ../../gdb/rs6k-opcode.h. + +Fri Apr 3 11:30:20 1992 Fred Fish (fnf@cygnus.com) + + * m68k.h (one, two): Cast macro args to unsigned to suppress + complaints from compiler and lint about integer overflow during + shift. + +Sun Mar 29 12:22:08 1992 John Gilmore (gnu at cygnus.com) + + * sparc.h (OP): Avoid signed overflow when shifting to high order bit. + +Fri Mar 6 00:22:38 1992 John Gilmore (gnu at cygnus.com) + + * mips.h: Make bitfield layout depend on the HOST compiler, + not on the TARGET system. + +Fri Feb 21 01:29:51 1992 K. Richard Pixley (rich@cygnus.com) + + * i386.h: added inb, inw, outb, outw opcodes, added att syntax for + scmp, slod, smov, ssca, ssto. Curtesy Minh Tran-Le + <TRANLE@INTELLICORP.COM>. + +Thu Jan 30 07:31:44 1992 Steve Chamberlain (sac at rtl.cygnus.com) + + * h8300.h: turned op_type enum into #define list + +Thu Jan 30 01:07:24 1992 John Gilmore (gnu at cygnus.com) + + * sparc.h: Remove "cypress" architecture. Remove "fitox" and + similar instructions -- they've been renamed to "fitoq", etc. + REALLY fix tsubcctv. Fix "fcmpeq" and "fcmpq" which had wrong + number of arguments. + * h8300.h: Remove extra ; which produces compiler warning. + +Tue Jan 28 22:59:22 1992 Stu Grossman (grossman at cygnus.com) + + * sparc.h: fix opcode for tsubcctv. + +Tue Jan 7 17:19:39 1992 K. Richard Pixley (rich at cygnus.com) + + * sparc.h: fba and cba are now aliases for fb and cb respectively. + +Fri Dec 27 10:55:50 1991 Per Bothner (bothner at cygnus.com) + + * sparc.h (nop): Made the 'lose' field be even tighter, + so only a standard 'nop' is disassembled as a nop. + +Sun Dec 22 12:18:18 1991 Michael Tiemann (tiemann at cygnus.com) + + * sparc.h (nop): Add RD_GO to `lose' so that only %g0 in dest is + disassembled as a nop. + +Wed Dec 18 17:19:44 1991 Stu Grossman (grossman at cygnus.com) + + * m68k.h, sparc.h: ANSIfy enums. + +Tue Dec 10 00:22:20 1991 K. Richard Pixley (rich at rtl.cygnus.com) + + * sparc.h: fix a typo. + +Sat Nov 30 20:40:51 1991 Steve Chamberlain (sac at rtl.cygnus.com) + + * a29k.h, arm.h, h8300.h, i386.h, i860.h, i960.h , m68k.h, + m88k.h, mips.h , np1.h, ns32k.h, pn.h, pyr.h, sparc.h, tahoe.h, + vax.h: Renamed from ../<foo>-opcode.h. + + +Local Variables: +version-control: never +End: diff --git a/contrib/binutils/include/opcode/alpha.h b/contrib/binutils/include/opcode/alpha.h index 487b696..efe1626 100644 --- a/contrib/binutils/include/opcode/alpha.h +++ b/contrib/binutils/include/opcode/alpha.h @@ -1,5 +1,5 @@ /* alpha.h -- Header file for Alpha opcode table - Copyright 1996, 1999 Free Software Foundation, Inc. + Copyright 1996, 1999, 2001, 2003 Free Software Foundation, Inc. Contributed by Richard Henderson <rth@tamu.edu>, patterned after the PPC opcode table written by Ian Lance Taylor. @@ -108,8 +108,7 @@ struct alpha_operand string (the operand will be inserted in any case). If the operand value is legal, *ERRMSG will be unchanged (most operands can accept any value). */ - unsigned (*insert) PARAMS ((unsigned instruction, int op, - const char **errmsg)); + unsigned (*insert) (unsigned instruction, int op, const char **errmsg); /* Extraction function. This is used by the disassembler. To extract this operand type from an instruction, check this field. @@ -128,7 +127,7 @@ struct alpha_operand non-zero if this operand type can not actually be extracted from this operand (i.e., the instruction does not match). If the operand is valid, *INVALID will not be changed. */ - int (*extract) PARAMS ((unsigned instruction, int *invalid)); + int (*extract) (unsigned instruction, int *invalid); }; /* Elements in the table are retrieved by indexing with values from diff --git a/contrib/binutils/include/opcode/arc.h b/contrib/binutils/include/opcode/arc.h new file mode 100644 index 0000000..629979d --- /dev/null +++ b/contrib/binutils/include/opcode/arc.h @@ -0,0 +1,323 @@ +/* Opcode table for the ARC. + Copyright 1994, 1995, 1997, 2001, 2002, 2003 + Free Software Foundation, Inc. + Contributed by Doug Evans (dje@cygnus.com). + + This file is part of GAS, the GNU Assembler, GDB, the GNU debugger, and + the GNU Binutils. + + GAS/GDB 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 2, or (at your option) + any later version. + + GAS/GDB 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 GAS or GDB; see the file COPYING. If not, write to + the Free Software Foundation, 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. */ + + +/* List of the various cpu types. + The tables currently use bit masks to say whether the instruction or + whatever is supported by a particular cpu. This lets us have one entry + apply to several cpus. + + The `base' cpu must be 0. The cpu type is treated independently of + endianness. The complete `mach' number includes endianness. + These values are internal to opcodes/bfd/binutils/gas. */ +#define ARC_MACH_5 0 +#define ARC_MACH_6 1 +#define ARC_MACH_7 2 +#define ARC_MACH_8 4 + +/* Additional cpu values can be inserted here and ARC_MACH_BIG moved down. */ +#define ARC_MACH_BIG 16 + +/* Mask of number of bits necessary to record cpu type. */ +#define ARC_MACH_CPU_MASK (ARC_MACH_BIG - 1) + +/* Mask of number of bits necessary to record cpu type + endianness. */ +#define ARC_MACH_MASK ((ARC_MACH_BIG << 1) - 1) + +/* Type to denote an ARC instruction (at least a 32 bit unsigned int). */ + +typedef unsigned int arc_insn; + +struct arc_opcode { + char *syntax; /* syntax of insn */ + unsigned long mask, value; /* recognize insn if (op&mask) == value */ + int flags; /* various flag bits */ + +/* Values for `flags'. */ + +/* Return CPU number, given flag bits. */ +#define ARC_OPCODE_CPU(bits) ((bits) & ARC_MACH_CPU_MASK) + +/* Return MACH number, given flag bits. */ +#define ARC_OPCODE_MACH(bits) ((bits) & ARC_MACH_MASK) + +/* First opcode flag bit available after machine mask. */ +#define ARC_OPCODE_FLAG_START (ARC_MACH_MASK + 1) + +/* This insn is a conditional branch. */ +#define ARC_OPCODE_COND_BRANCH (ARC_OPCODE_FLAG_START) +#define SYNTAX_3OP (ARC_OPCODE_COND_BRANCH << 1) +#define SYNTAX_LENGTH (SYNTAX_3OP ) +#define SYNTAX_2OP (SYNTAX_3OP << 1) +#define OP1_MUST_BE_IMM (SYNTAX_2OP << 1) +#define OP1_IMM_IMPLIED (OP1_MUST_BE_IMM << 1) +#define SYNTAX_VALID (OP1_IMM_IMPLIED << 1) + +#define I(x) (((x) & 31) << 27) +#define A(x) (((x) & ARC_MASK_REG) << ARC_SHIFT_REGA) +#define B(x) (((x) & ARC_MASK_REG) << ARC_SHIFT_REGB) +#define C(x) (((x) & ARC_MASK_REG) << ARC_SHIFT_REGC) +#define R(x,b,m) (((x) & (m)) << (b)) /* value X, mask M, at bit B */ + +/* These values are used to optimize assembly and disassembly. Each insn + is on a list of related insns (same first letter for assembly, same + insn code for disassembly). */ + + struct arc_opcode *next_asm; /* Next instr to try during assembly. */ + struct arc_opcode *next_dis; /* Next instr to try during disassembly. */ + +/* Macros to create the hash values for the lists. */ +#define ARC_HASH_OPCODE(string) \ + ((string)[0] >= 'a' && (string)[0] <= 'z' ? (string)[0] - 'a' : 26) +#define ARC_HASH_ICODE(insn) \ + ((unsigned int) (insn) >> 27) + + /* Macros to access `next_asm', `next_dis' so users needn't care about the + underlying mechanism. */ +#define ARC_OPCODE_NEXT_ASM(op) ((op)->next_asm) +#define ARC_OPCODE_NEXT_DIS(op) ((op)->next_dis) +}; + +/* this is an "insert at front" linked list per Metaware spec + that new definitions override older ones. */ +extern struct arc_opcode *arc_ext_opcodes; + +struct arc_operand_value { + char *name; /* eg: "eq" */ + short value; /* eg: 1 */ + unsigned char type; /* index into `arc_operands' */ + unsigned char flags; /* various flag bits */ + +/* Values for `flags'. */ + +/* Return CPU number, given flag bits. */ +#define ARC_OPVAL_CPU(bits) ((bits) & ARC_MACH_CPU_MASK) +/* Return MACH number, given flag bits. */ +#define ARC_OPVAL_MACH(bits) ((bits) & ARC_MACH_MASK) +}; + +struct arc_ext_operand_value { + struct arc_ext_operand_value *next; + struct arc_operand_value operand; +}; + +extern struct arc_ext_operand_value *arc_ext_operands; + +struct arc_operand { +/* One of the insn format chars. */ + unsigned char fmt; + +/* The number of bits in the operand (may be unused for a modifier). */ + unsigned char bits; + +/* How far the operand is left shifted in the instruction, or + the modifier's flag bit (may be unused for a modifier. */ + unsigned char shift; + +/* Various flag bits. */ + int flags; + +/* Values for `flags'. */ + +/* This operand is a suffix to the opcode. */ +#define ARC_OPERAND_SUFFIX 1 + +/* This operand is a relative branch displacement. The disassembler + prints these symbolically if possible. */ +#define ARC_OPERAND_RELATIVE_BRANCH 2 + +/* This operand is an absolute branch address. The disassembler + prints these symbolically if possible. */ +#define ARC_OPERAND_ABSOLUTE_BRANCH 4 + +/* This operand is an address. The disassembler + prints these symbolically if possible. */ +#define ARC_OPERAND_ADDRESS 8 + +/* This operand is a long immediate value. */ +#define ARC_OPERAND_LIMM 0x10 + +/* This operand takes signed values. */ +#define ARC_OPERAND_SIGNED 0x20 + +/* This operand takes signed values, but also accepts a full positive + range of values. That is, if bits is 16, it takes any value from + -0x8000 to 0xffff. */ +#define ARC_OPERAND_SIGNOPT 0x40 + +/* This operand should be regarded as a negative number for the + purposes of overflow checking (i.e., the normal most negative + number is disallowed and one more than the normal most positive + number is allowed). This flag will only be set for a signed + operand. */ +#define ARC_OPERAND_NEGATIVE 0x80 + +/* This operand doesn't really exist. The program uses these operands + in special ways. */ +#define ARC_OPERAND_FAKE 0x100 + +/* separate flags operand for j and jl instructions */ +#define ARC_OPERAND_JUMPFLAGS 0x200 + +/* allow warnings and errors to be issued after call to insert_xxxxxx */ +#define ARC_OPERAND_WARN 0x400 +#define ARC_OPERAND_ERROR 0x800 + +/* this is a load operand */ +#define ARC_OPERAND_LOAD 0x8000 + +/* this is a store operand */ +#define ARC_OPERAND_STORE 0x10000 + +/* Modifier values. */ +/* A dot is required before a suffix. Eg: .le */ +#define ARC_MOD_DOT 0x1000 + +/* A normal register is allowed (not used, but here for completeness). */ +#define ARC_MOD_REG 0x2000 + +/* An auxiliary register name is expected. */ +#define ARC_MOD_AUXREG 0x4000 + +/* Sum of all ARC_MOD_XXX bits. */ +#define ARC_MOD_BITS 0x7000 + +/* Non-zero if the operand type is really a modifier. */ +#define ARC_MOD_P(X) ((X) & ARC_MOD_BITS) + +/* enforce read/write only register restrictions */ +#define ARC_REGISTER_READONLY 0x01 +#define ARC_REGISTER_WRITEONLY 0x02 +#define ARC_REGISTER_NOSHORT_CUT 0x04 + +/* Insertion function. This is used by the assembler. To insert an + operand value into an instruction, check this field. + + If it is NULL, execute + i |= (p & ((1 << o->bits) - 1)) << o->shift; + (I is the instruction which we are filling in, O is a pointer to + this structure, and OP is the opcode value; this assumes twos + complement arithmetic). + + If this field is not NULL, then simply call it with the + instruction and the operand value. It will return the new value + of the instruction. If the ERRMSG argument is not NULL, then if + the operand value is illegal, *ERRMSG will be set to a warning + string (the operand will be inserted in any case). If the + operand value is legal, *ERRMSG will be unchanged. + + REG is non-NULL when inserting a register value. */ + + arc_insn (*insert) + (arc_insn insn, const struct arc_operand *operand, int mods, + const struct arc_operand_value *reg, long value, const char **errmsg); + +/* Extraction function. This is used by the disassembler. To + extract this operand type from an instruction, check this field. + + If it is NULL, compute + op = ((i) >> o->shift) & ((1 << o->bits) - 1); + if ((o->flags & ARC_OPERAND_SIGNED) != 0 + && (op & (1 << (o->bits - 1))) != 0) + op -= 1 << o->bits; + (I is the instruction, O is a pointer to this structure, and OP + is the result; this assumes twos complement arithmetic). + + If this field is not NULL, then simply call it with the + instruction value. It will return the value of the operand. If + the INVALID argument is not NULL, *INVALID will be set to + non-zero if this operand type can not actually be extracted from + this operand (i.e., the instruction does not match). If the + operand is valid, *INVALID will not be changed. + + INSN is a pointer to an array of two `arc_insn's. The first element is + the insn, the second is the limm if present. + + Operands that have a printable form like registers and suffixes have + their struct arc_operand_value pointer stored in OPVAL. */ + + long (*extract) + (arc_insn *insn, const struct arc_operand *operand, int mods, + const struct arc_operand_value **opval, int *invalid); +}; + +/* Bits that say what version of cpu we have. These should be passed to + arc_init_opcode_tables. At present, all there is is the cpu type. */ + +/* CPU number, given value passed to `arc_init_opcode_tables'. */ +#define ARC_HAVE_CPU(bits) ((bits) & ARC_MACH_CPU_MASK) +/* MACH number, given value passed to `arc_init_opcode_tables'. */ +#define ARC_HAVE_MACH(bits) ((bits) & ARC_MACH_MASK) + +/* Special register values: */ +#define ARC_REG_SHIMM_UPDATE 61 +#define ARC_REG_SHIMM 63 +#define ARC_REG_LIMM 62 + +/* Non-zero if REG is a constant marker. */ +#define ARC_REG_CONSTANT_P(REG) ((REG) >= 61) + +/* Positions and masks of various fields: */ +#define ARC_SHIFT_REGA 21 +#define ARC_SHIFT_REGB 15 +#define ARC_SHIFT_REGC 9 +#define ARC_MASK_REG 63 + +/* Delay slot types. */ +#define ARC_DELAY_NONE 0 /* no delay slot */ +#define ARC_DELAY_NORMAL 1 /* delay slot in both cases */ +#define ARC_DELAY_JUMP 2 /* delay slot only if branch taken */ + +/* Non-zero if X will fit in a signed 9 bit field. */ +#define ARC_SHIMM_CONST_P(x) ((long) (x) >= -256 && (long) (x) <= 255) + +extern const struct arc_operand arc_operands[]; +extern const int arc_operand_count; +extern struct arc_opcode arc_opcodes[]; +extern const int arc_opcodes_count; +extern const struct arc_operand_value arc_suffixes[]; +extern const int arc_suffixes_count; +extern const struct arc_operand_value arc_reg_names[]; +extern const int arc_reg_names_count; +extern unsigned char arc_operand_map[]; + +/* Utility fns in arc-opc.c. */ +int arc_get_opcode_mach (int, int); + +/* `arc_opcode_init_tables' must be called before `arc_xxx_supported'. */ +void arc_opcode_init_tables (int); +void arc_opcode_init_insert (void); +void arc_opcode_init_extract (void); +const struct arc_opcode *arc_opcode_lookup_asm (const char *); +const struct arc_opcode *arc_opcode_lookup_dis (unsigned int); +int arc_opcode_limm_p (long *); +const struct arc_operand_value *arc_opcode_lookup_suffix + (const struct arc_operand *type, int value); +int arc_opcode_supported (const struct arc_opcode *); +int arc_opval_supported (const struct arc_operand_value *); +int arc_limm_fixup_adjust (arc_insn); +int arc_insn_is_j (arc_insn); +int arc_insn_not_jl (arc_insn); +int arc_operand_type (int); +struct arc_operand_value *get_ext_suffix (char *); +int arc_get_noshortcut_flag (void); diff --git a/contrib/binutils/include/opcode/cgen.h b/contrib/binutils/include/opcode/cgen.h index 09c5cbf..16366fd 100644 --- a/contrib/binutils/include/opcode/cgen.h +++ b/contrib/binutils/include/opcode/cgen.h @@ -1,6 +1,7 @@ /* Header file for targets using CGEN: Cpu tools GENerator. -Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. +Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 +Free Software Foundation, Inc. This file is part of GDB, the GNU debugger, and the GNU Binutils. @@ -26,7 +27,7 @@ with this program; if not, write to the Free Software Foundation, Inc., Perhaps the definition of bfd_vma can be moved outside of bfd.h. Or perhaps one could duplicate its definition in another file. Until such time, this file conditionally compiles definitions that require - bfd_vma using BFD_VERSION_DATE. */ + bfd_vma using __BFD_H_SEEN__. */ /* Enums must be defined before they can be used. Allow them to be used in struct definitions, even though the enum must @@ -241,9 +242,9 @@ typedef struct cgen_fields CGEN_FIELDS; typedef struct { /* A pointer to the disassemble_info struct. - We don't require dis-asm.h so we use PTR for the type here. + We don't require dis-asm.h so we use void * for the type here. If NULL, BYTES is full of valid data (VALID == -1). */ - PTR dis_info; + void *dis_info; /* Points to a working buffer of sufficient size. */ unsigned char *insn_bytes; /* Mask of bytes that are valid in INSN_BYTES. */ @@ -264,8 +265,8 @@ typedef struct { If not it is left alone. The result is NULL if success or an error message. */ typedef const char * (cgen_parse_fn) - PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *insn_, - const char **strp_, CGEN_FIELDS *fields_)); + (CGEN_CPU_DESC, const CGEN_INSN *insn_, + const char **strp_, CGEN_FIELDS *fields_); /* Insert handler. CD is a cpu table descriptor. @@ -276,11 +277,11 @@ typedef const char * (cgen_parse_fn) PC is the pc value of the insn. The result is an error message or NULL if success. */ -#ifdef BFD_VERSION_DATE +#ifdef __BFD_H_SEEN__ typedef const char * (cgen_insert_fn) - PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *insn_, - CGEN_FIELDS *fields_, CGEN_INSN_BYTES_PTR insnp_, - bfd_vma pc_)); + (CGEN_CPU_DESC, const CGEN_INSN *insn_, + CGEN_FIELDS *fields_, CGEN_INSN_BYTES_PTR insnp_, + bfd_vma pc_); #else typedef const char * (cgen_insert_fn) (); #endif @@ -297,11 +298,11 @@ typedef const char * (cgen_insert_fn) (); PC is the pc value of the insn. The result is the length of the insn in bits or zero if not recognized. */ -#ifdef BFD_VERSION_DATE +#ifdef __BFD_H_SEEN__ typedef int (cgen_extract_fn) - PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *insn_, - CGEN_EXTRACT_INFO *ex_info_, CGEN_INSN_INT base_insn_, - CGEN_FIELDS *fields_, bfd_vma pc_)); + (CGEN_CPU_DESC, const CGEN_INSN *insn_, + CGEN_EXTRACT_INFO *ex_info_, CGEN_INSN_INT base_insn_, + CGEN_FIELDS *fields_, bfd_vma pc_); #else typedef int (cgen_extract_fn) (); #endif @@ -316,10 +317,10 @@ typedef int (cgen_extract_fn) (); PC is the pc value of the insn. LEN is the length of the insn, in bits. */ -#ifdef BFD_VERSION_DATE +#ifdef __BFD_H_SEEN__ typedef void (cgen_print_fn) - PARAMS ((CGEN_CPU_DESC, PTR info_, const CGEN_INSN *insn_, - CGEN_FIELDS *fields_, bfd_vma pc_, int len_)); + (CGEN_CPU_DESC, void * info_, const CGEN_INSN *insn_, + CGEN_FIELDS *fields_, bfd_vma pc_, int len_); #else typedef void (cgen_print_fn) (); #endif @@ -381,11 +382,11 @@ enum cgen_parse_operand_result CGEN_PARSE_OPERAND_RESULT_ERROR }; -#ifdef BFD_VERSION_DATE /* Don't require bfd.h unnecessarily. */ +#ifdef __BFD_H_SEEN__ /* Don't require bfd.h unnecessarily. */ typedef const char * (cgen_parse_operand_fn) - PARAMS ((CGEN_CPU_DESC, - enum cgen_parse_operand_type, const char **, int, int, - enum cgen_parse_operand_result *, bfd_vma *)); + (CGEN_CPU_DESC, + enum cgen_parse_operand_type, const char **, int, int, + enum cgen_parse_operand_result *, bfd_vma *); #else typedef const char * (cgen_parse_operand_fn) (); #endif @@ -393,11 +394,11 @@ typedef const char * (cgen_parse_operand_fn) (); /* Set the cgen_parse_operand_fn callback. */ extern void cgen_set_parse_operand_fn - PARAMS ((CGEN_CPU_DESC, cgen_parse_operand_fn)); + (CGEN_CPU_DESC, cgen_parse_operand_fn); /* Called before trying to match a table entry with the insn. */ -extern void cgen_init_parse_operand PARAMS ((CGEN_CPU_DESC)); +extern void cgen_init_parse_operand (CGEN_CPU_DESC); /* Operand values (keywords, integers, symbols, etc.) */ @@ -421,7 +422,7 @@ typedef struct /* There is currently no example where both index specs and value specs are required, so for now both are clumped under "asm_data". */ enum cgen_asm_type asm_type; - PTR asm_data; + void *asm_data; #ifndef CGEN_HW_NBOOL_ATTRS #define CGEN_HW_NBOOL_ATTRS 1 #endif @@ -452,9 +453,9 @@ typedef struct { } CGEN_HW_TABLE; extern const CGEN_HW_ENTRY * cgen_hw_lookup_by_name - PARAMS ((CGEN_CPU_DESC, const char *)); + (CGEN_CPU_DESC, const char *); extern const CGEN_HW_ENTRY * cgen_hw_lookup_by_num - PARAMS ((CGEN_CPU_DESC, unsigned int)); + (CGEN_CPU_DESC, unsigned int); /* This struct is used to describe things like register names, etc. */ @@ -542,41 +543,41 @@ typedef struct /* Lookup a keyword from its name. */ const CGEN_KEYWORD_ENTRY *cgen_keyword_lookup_name - PARAMS ((CGEN_KEYWORD *, const char *)); + (CGEN_KEYWORD *, const char *); /* Lookup a keyword from its value. */ const CGEN_KEYWORD_ENTRY *cgen_keyword_lookup_value - PARAMS ((CGEN_KEYWORD *, int)); + (CGEN_KEYWORD *, int); /* Add a keyword. */ -void cgen_keyword_add PARAMS ((CGEN_KEYWORD *, CGEN_KEYWORD_ENTRY *)); +void cgen_keyword_add (CGEN_KEYWORD *, CGEN_KEYWORD_ENTRY *); /* Keyword searching. This can be used to retrieve every keyword, or a subset. */ CGEN_KEYWORD_SEARCH cgen_keyword_search_init - PARAMS ((CGEN_KEYWORD *, const char *)); + (CGEN_KEYWORD *, const char *); const CGEN_KEYWORD_ENTRY *cgen_keyword_search_next - PARAMS ((CGEN_KEYWORD_SEARCH *)); + (CGEN_KEYWORD_SEARCH *); /* Operand value support routines. */ extern const char *cgen_parse_keyword - PARAMS ((CGEN_CPU_DESC, const char **, CGEN_KEYWORD *, long *)); -#ifdef BFD_VERSION_DATE /* Don't require bfd.h unnecessarily. */ + (CGEN_CPU_DESC, const char **, CGEN_KEYWORD *, long *); +#ifdef __BFD_H_SEEN__ /* Don't require bfd.h unnecessarily. */ extern const char *cgen_parse_signed_integer - PARAMS ((CGEN_CPU_DESC, const char **, int, long *)); + (CGEN_CPU_DESC, const char **, int, long *); extern const char *cgen_parse_unsigned_integer - PARAMS ((CGEN_CPU_DESC, const char **, int, unsigned long *)); + (CGEN_CPU_DESC, const char **, int, unsigned long *); extern const char *cgen_parse_address - PARAMS ((CGEN_CPU_DESC, const char **, int, int, - enum cgen_parse_operand_result *, bfd_vma *)); + (CGEN_CPU_DESC, const char **, int, int, + enum cgen_parse_operand_result *, bfd_vma *); extern const char *cgen_validate_signed_integer - PARAMS ((long, long, long)); + (long, long, long); extern const char *cgen_validate_unsigned_integer - PARAMS ((unsigned long, unsigned long, unsigned long)); + (unsigned long, unsigned long, unsigned long); #endif /* Operand modes. */ @@ -620,8 +621,9 @@ typedef struct cgen_maybe_multi_ifield n: indexed by array of more cgen_maybe_multi_ifields. */ union { - struct cgen_maybe_multi_ifield * multi; - struct cgen_ifld * leaf; + const void *p; + const struct cgen_maybe_multi_ifield * multi; + const struct cgen_ifld * leaf; } val; } CGEN_MAYBE_MULTI_IFLD; @@ -703,9 +705,9 @@ typedef struct { } CGEN_OPERAND_TABLE; extern const CGEN_OPERAND * cgen_operand_lookup_by_name - PARAMS ((CGEN_CPU_DESC, const char *)); + (CGEN_CPU_DESC, const char *); extern const CGEN_OPERAND * cgen_operand_lookup_by_num - PARAMS ((CGEN_CPU_DESC, int)); + (CGEN_CPU_DESC, int); /* Instruction operand instances. @@ -1059,8 +1061,8 @@ typedef struct /* Return number of instructions. This includes any added at run-time. */ -extern int cgen_insn_count PARAMS ((CGEN_CPU_DESC)); -extern int cgen_macro_insn_count PARAMS ((CGEN_CPU_DESC)); +extern int cgen_insn_count (CGEN_CPU_DESC); +extern int cgen_macro_insn_count (CGEN_CPU_DESC); /* Macros to access the other insn elements not recorded in CGEN_IBASE. */ @@ -1124,9 +1126,10 @@ typedef struct cgen_minsn_expansion { If the expansion fails (e.g. "no match") NULL is returned. Space for the expansion is obtained with malloc. It is up to the caller to free it. */ - const char * (* fn) PARAMS ((const struct cgen_minsn_expansion *, - const char *, const char **, int *, - CGEN_OPERAND **)); + const char * (* fn) + (const struct cgen_minsn_expansion *, + const char *, const char **, int *, + CGEN_OPERAND **); #define CGEN_MIEXPN_FN(ex) ((ex)->fn) /* Instruction(s) the macro expands to. @@ -1144,15 +1147,15 @@ typedef struct cgen_minsn_expansion { may contain further macro invocations. */ extern const char * cgen_expand_macro_insn - PARAMS ((CGEN_CPU_DESC, const struct cgen_minsn_expansion *, - const char *, const char **, int *, CGEN_OPERAND **)); + (CGEN_CPU_DESC, const struct cgen_minsn_expansion *, + const char *, const char **, int *, CGEN_OPERAND **); /* The assembler insn table is hashed based on some function of the mnemonic (the actually hashing done is up to the target, but we provide a few examples like the first letter or a function of the entire mnemonic). */ extern CGEN_INSN_LIST * cgen_asm_lookup_insn - PARAMS ((CGEN_CPU_DESC, const char *)); + (CGEN_CPU_DESC, const char *); #define CGEN_ASM_LOOKUP_INSN(cd, string) cgen_asm_lookup_insn ((cd), (string)) #define CGEN_ASM_NEXT_INSN(insn) ((insn)->next) @@ -1160,7 +1163,7 @@ extern CGEN_INSN_LIST * cgen_asm_lookup_insn instruction (the actually hashing done is up to the target). */ extern CGEN_INSN_LIST * cgen_dis_lookup_insn - PARAMS ((CGEN_CPU_DESC, const char *, CGEN_INSN_INT)); + (CGEN_CPU_DESC, const char *, CGEN_INSN_INT); /* FIXME: delete these two */ #define CGEN_DIS_LOOKUP_INSN(cd, buf, value) cgen_dis_lookup_insn ((cd), (buf), (value)) #define CGEN_DIS_NEXT_INSN(insn) ((insn)->next) @@ -1244,25 +1247,24 @@ typedef struct cgen_cpu_desc int int_insn_p; /* Called to rebuild the tables after something has changed. */ - void (*rebuild_tables) PARAMS ((CGEN_CPU_DESC)); + void (*rebuild_tables) (CGEN_CPU_DESC); /* Operand parser callback. */ cgen_parse_operand_fn * parse_operand_fn; /* Parse/insert/extract/print cover fns for operands. */ const char * (*parse_operand) - PARAMS ((CGEN_CPU_DESC, int opindex_, const char **, - CGEN_FIELDS *fields_)); -#ifdef BFD_VERSION_DATE + (CGEN_CPU_DESC, int opindex_, const char **, CGEN_FIELDS *fields_); +#ifdef __BFD_H_SEEN__ const char * (*insert_operand) - PARAMS ((CGEN_CPU_DESC, int opindex_, CGEN_FIELDS *fields_, - CGEN_INSN_BYTES_PTR, bfd_vma pc_)); + (CGEN_CPU_DESC, int opindex_, CGEN_FIELDS *fields_, + CGEN_INSN_BYTES_PTR, bfd_vma pc_); int (*extract_operand) - PARAMS ((CGEN_CPU_DESC, int opindex_, CGEN_EXTRACT_INFO *, CGEN_INSN_INT, - CGEN_FIELDS *fields_, bfd_vma pc_)); + (CGEN_CPU_DESC, int opindex_, CGEN_EXTRACT_INFO *, CGEN_INSN_INT, + CGEN_FIELDS *fields_, bfd_vma pc_); void (*print_operand) - PARAMS ((CGEN_CPU_DESC, int opindex_, PTR info_, CGEN_FIELDS * fields_, - void const *attrs_, bfd_vma pc_, int length_)); + (CGEN_CPU_DESC, int opindex_, void * info_, CGEN_FIELDS * fields_, + void const *attrs_, bfd_vma pc_, int length_); #else const char * (*insert_operand) (); int (*extract_operand) (); @@ -1278,19 +1280,19 @@ typedef struct cgen_cpu_desc #define CGEN_CPU_SIZEOF_FIELDS(cd) ((cd)->sizeof_fields) /* Set the bitsize field. */ - void (*set_fields_bitsize) PARAMS ((CGEN_FIELDS *fields_, int size_)); + void (*set_fields_bitsize) (CGEN_FIELDS *fields_, int size_); #define CGEN_CPU_SET_FIELDS_BITSIZE(cd) ((cd)->set_fields_bitsize) /* CGEN_FIELDS accessors. */ int (*get_int_operand) - PARAMS ((CGEN_CPU_DESC, int opindex_, const CGEN_FIELDS *fields_)); + (CGEN_CPU_DESC, int opindex_, const CGEN_FIELDS *fields_); void (*set_int_operand) - PARAMS ((CGEN_CPU_DESC, int opindex_, CGEN_FIELDS *fields_, int value_)); -#ifdef BFD_VERSION_DATE + (CGEN_CPU_DESC, int opindex_, CGEN_FIELDS *fields_, int value_); +#ifdef __BFD_H_SEEN__ bfd_vma (*get_vma_operand) - PARAMS ((CGEN_CPU_DESC, int opindex_, const CGEN_FIELDS *fields_)); + (CGEN_CPU_DESC, int opindex_, const CGEN_FIELDS *fields_); void (*set_vma_operand) - PARAMS ((CGEN_CPU_DESC, int opindex_, CGEN_FIELDS *fields_, bfd_vma value_)); + (CGEN_CPU_DESC, int opindex_, CGEN_FIELDS *fields_, bfd_vma value_); #else long (*get_vma_operand) (); void (*set_vma_operand) (); @@ -1312,19 +1314,19 @@ typedef struct cgen_cpu_desc #define CGEN_PRINT_FN(cd, insn) (cd->print_handlers[(insn)->opcode->handlers.print]) /* Return non-zero if insn should be added to hash table. */ - int (* asm_hash_p) PARAMS ((const CGEN_INSN *)); + int (* asm_hash_p) (const CGEN_INSN *); /* Assembler hash function. */ - unsigned int (* asm_hash) PARAMS ((const char *)); + unsigned int (* asm_hash) (const char *); /* Number of entries in assembler hash table. */ unsigned int asm_hash_size; /* Return non-zero if insn should be added to hash table. */ - int (* dis_hash_p) PARAMS ((const CGEN_INSN *)); + int (* dis_hash_p) (const CGEN_INSN *); /* Disassembler hash function. */ - unsigned int (* dis_hash) PARAMS ((const char *, CGEN_INSN_INT)); + unsigned int (* dis_hash) (const char *, CGEN_INSN_INT); /* Number of entries in disassembler hash table. */ unsigned int dis_hash_size; @@ -1379,81 +1381,80 @@ extern CGEN_CPU_DESC CGEN_SYM (cpu_open) (enum cgen_cpu_open_arg, ...); /* Cover fn to handle simple case. */ -extern CGEN_CPU_DESC CGEN_SYM (cpu_open_1) PARAMS ((const char *mach_name_, - enum cgen_endian endian_)); +extern CGEN_CPU_DESC CGEN_SYM (cpu_open_1) + (const char *mach_name_, enum cgen_endian endian_); /* Close it. */ -extern void CGEN_SYM (cpu_close) PARAMS ((CGEN_CPU_DESC)); +extern void CGEN_SYM (cpu_close) (CGEN_CPU_DESC); /* Initialize the opcode table for use. Called by init_asm/init_dis. */ -extern void CGEN_SYM (init_opcode_table) PARAMS ((CGEN_CPU_DESC cd_)); +extern void CGEN_SYM (init_opcode_table) (CGEN_CPU_DESC cd_); /* build the insn selection regex. called by init_opcode_table */ -extern char * CGEN_SYM(build_insn_regex) PARAMS ((CGEN_INSN *insn_)); +extern char * CGEN_SYM(build_insn_regex) (CGEN_INSN *insn_); /* Initialize the ibld table for use. Called by init_asm/init_dis. */ -extern void CGEN_SYM (init_ibld_table) PARAMS ((CGEN_CPU_DESC cd_)); +extern void CGEN_SYM (init_ibld_table) (CGEN_CPU_DESC cd_); /* Initialize an cpu table for assembler or disassembler use. These must be called immediately after cpu_open. */ -extern void CGEN_SYM (init_asm) PARAMS ((CGEN_CPU_DESC)); -extern void CGEN_SYM (init_dis) PARAMS ((CGEN_CPU_DESC)); +extern void CGEN_SYM (init_asm) (CGEN_CPU_DESC); +extern void CGEN_SYM (init_dis) (CGEN_CPU_DESC); /* Initialize the operand instance table for use. */ -extern void CGEN_SYM (init_opinst_table) PARAMS ((CGEN_CPU_DESC cd_)); +extern void CGEN_SYM (init_opinst_table) (CGEN_CPU_DESC cd_); /* Assemble an instruction. */ extern const CGEN_INSN * CGEN_SYM (assemble_insn) - PARAMS ((CGEN_CPU_DESC, const char *, CGEN_FIELDS *, - CGEN_INSN_BYTES_PTR, char **)); + (CGEN_CPU_DESC, const char *, CGEN_FIELDS *, + CGEN_INSN_BYTES_PTR, char **); extern const CGEN_KEYWORD CGEN_SYM (operand_mach); -extern int CGEN_SYM (get_mach) PARAMS ((const char *)); +extern int CGEN_SYM (get_mach) (const char *); /* Operand index computation. */ extern const CGEN_INSN * cgen_lookup_insn - PARAMS ((CGEN_CPU_DESC, const CGEN_INSN * insn_, - CGEN_INSN_INT int_value_, unsigned char *bytes_value_, - int length_, CGEN_FIELDS *fields_, int alias_p_)); + (CGEN_CPU_DESC, const CGEN_INSN * insn_, + CGEN_INSN_INT int_value_, unsigned char *bytes_value_, + int length_, CGEN_FIELDS *fields_, int alias_p_); extern void cgen_get_insn_operands - PARAMS ((CGEN_CPU_DESC, const CGEN_INSN * insn_, - const CGEN_FIELDS *fields_, int *indices_)); + (CGEN_CPU_DESC, const CGEN_INSN * insn_, + const CGEN_FIELDS *fields_, int *indices_); extern const CGEN_INSN * cgen_lookup_get_insn_operands - PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *insn_, - CGEN_INSN_INT int_value_, unsigned char *bytes_value_, - int length_, int *indices_, CGEN_FIELDS *fields_)); + (CGEN_CPU_DESC, const CGEN_INSN *insn_, + CGEN_INSN_INT int_value_, unsigned char *bytes_value_, + int length_, int *indices_, CGEN_FIELDS *fields_); /* Cover fns to bfd_get/set. */ extern CGEN_INSN_INT cgen_get_insn_value - PARAMS ((CGEN_CPU_DESC, unsigned char *, int)); + (CGEN_CPU_DESC, unsigned char *, int); extern void cgen_put_insn_value - PARAMS ((CGEN_CPU_DESC, unsigned char *, int, CGEN_INSN_INT)); + (CGEN_CPU_DESC, unsigned char *, int, CGEN_INSN_INT); /* Read in a cpu description file. ??? For future concerns, including adding instructions to the assembler/ disassembler at run-time. */ -extern const char * cgen_read_cpu_file - PARAMS ((CGEN_CPU_DESC, const char * filename_)); +extern const char * cgen_read_cpu_file (CGEN_CPU_DESC, const char * filename_); /* Allow signed overflow of instruction fields. */ -extern void cgen_set_signed_overflow_ok PARAMS ((CGEN_CPU_DESC)); +extern void cgen_set_signed_overflow_ok (CGEN_CPU_DESC); /* Generate an error message if a signed field in an instruction overflows. */ -extern void cgen_clear_signed_overflow_ok PARAMS ((CGEN_CPU_DESC)); +extern void cgen_clear_signed_overflow_ok (CGEN_CPU_DESC); /* Will an error message be generated if a signed field in an instruction overflows ? */ -extern unsigned int cgen_signed_overflow_ok_p PARAMS ((CGEN_CPU_DESC)); +extern unsigned int cgen_signed_overflow_ok_p (CGEN_CPU_DESC); #endif /* CGEN_H */ diff --git a/contrib/binutils/include/opcode/convex.h b/contrib/binutils/include/opcode/convex.h new file mode 100644 index 0000000..ccf5568 --- /dev/null +++ b/contrib/binutils/include/opcode/convex.h @@ -0,0 +1,1707 @@ +/* Information for instruction disassembly on the Convex. + Copyright 1989, 1993, 2002 Free Software Foundation, Inc. + +This file is part of GDB. + +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 2 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#define xxx 0 +#define rrr 1 +#define rr 2 +#define rxr 3 +#define r 4 +#define nops 5 +#define nr 6 +#define pcrel 7 +#define lr 8 +#define rxl 9 +#define rlr 10 +#define rrl 11 +#define iml 12 +#define imr 13 +#define a1r 14 +#define a1l 15 +#define a2r 16 +#define a2l 17 +#define a3 18 +#define a4 19 +#define a5 20 +#define V 1 +#define S 2 +#define VM 3 +#define A 4 +#define VL 5 +#define VS 6 +#define VLS 7 +#define PSW 8 +/* Prevent an error during "make depend". */ +#if !defined (PC) +#define PC 9 +#endif +#define ITR 10 +#define VV 11 +#define ITSR 12 +#define TOC 13 +#define CIR 14 +#define TTR 15 +#define VMU 16 +#define VML 17 +#define ICR 18 +#define TCPU 19 +#define CPUID 20 +#define TID 21 + +const char *op[] = { + "", + "v0\0v1\0v2\0v3\0v4\0v5\0v6\0v7", + "s0\0s1\0s2\0s3\0s4\0s5\0s6\0s7", + "vm", + "sp\0a1\0a2\0a3\0a4\0a5\0ap\0fp", + "vl", + "vs", + "vls", + "psw", + "pc", + "itr", + "vv", + "itsr", + "toc", + "cir", + "ttr", + "vmu", + "vml", + "icr", + "tcpu", + "cpuid", + "tid", +}; + +const struct formstr format0[] = { + {0,0,rrr,V,S,S}, /* mov */ + {0,0,rrr,S,S,V}, /* mov */ + {1,1,rrr,V,V,V}, /* merg.t */ + {2,1,rrr,V,V,V}, /* mask.t */ + {1,2,rrr,V,S,V}, /* merg.f */ + {2,2,rrr,V,S,V}, /* mask.f */ + {1,1,rrr,V,S,V}, /* merg.t */ + {2,1,rrr,V,S,V}, /* mask.t */ + {3,3,rrr,V,V,V}, /* mul.s */ + {3,4,rrr,V,V,V}, /* mul.d */ + {4,3,rrr,V,V,V}, /* div.s */ + {4,4,rrr,V,V,V}, /* div.d */ + {3,3,rrr,V,S,V}, /* mul.s */ + {3,4,rrr,V,S,V}, /* mul.d */ + {4,3,rrr,V,S,V}, /* div.s */ + {4,4,rrr,V,S,V}, /* div.d */ + {5,0,rrr,V,V,V}, /* and */ + {6,0,rrr,V,V,V}, /* or */ + {7,0,rrr,V,V,V}, /* xor */ + {8,0,rrr,V,V,V}, /* shf */ + {5,0,rrr,V,S,V}, /* and */ + {6,0,rrr,V,S,V}, /* or */ + {7,0,rrr,V,S,V}, /* xor */ + {8,0,rrr,V,S,V}, /* shf */ + {9,3,rrr,V,V,V}, /* add.s */ + {9,4,rrr,V,V,V}, /* add.d */ + {10,3,rrr,V,V,V}, /* sub.s */ + {10,4,rrr,V,V,V}, /* sub.d */ + {9,3,rrr,V,S,V}, /* add.s */ + {9,4,rrr,V,S,V}, /* add.d */ + {10,3,rrr,V,S,V}, /* sub.s */ + {10,4,rrr,V,S,V}, /* sub.d */ + {9,5,rrr,V,V,V}, /* add.b */ + {9,6,rrr,V,V,V}, /* add.h */ + {9,7,rrr,V,V,V}, /* add.w */ + {9,8,rrr,V,V,V}, /* add.l */ + {9,5,rrr,V,S,V}, /* add.b */ + {9,6,rrr,V,S,V}, /* add.h */ + {9,7,rrr,V,S,V}, /* add.w */ + {9,8,rrr,V,S,V}, /* add.l */ + {10,5,rrr,V,V,V}, /* sub.b */ + {10,6,rrr,V,V,V}, /* sub.h */ + {10,7,rrr,V,V,V}, /* sub.w */ + {10,8,rrr,V,V,V}, /* sub.l */ + {10,5,rrr,V,S,V}, /* sub.b */ + {10,6,rrr,V,S,V}, /* sub.h */ + {10,7,rrr,V,S,V}, /* sub.w */ + {10,8,rrr,V,S,V}, /* sub.l */ + {3,5,rrr,V,V,V}, /* mul.b */ + {3,6,rrr,V,V,V}, /* mul.h */ + {3,7,rrr,V,V,V}, /* mul.w */ + {3,8,rrr,V,V,V}, /* mul.l */ + {3,5,rrr,V,S,V}, /* mul.b */ + {3,6,rrr,V,S,V}, /* mul.h */ + {3,7,rrr,V,S,V}, /* mul.w */ + {3,8,rrr,V,S,V}, /* mul.l */ + {4,5,rrr,V,V,V}, /* div.b */ + {4,6,rrr,V,V,V}, /* div.h */ + {4,7,rrr,V,V,V}, /* div.w */ + {4,8,rrr,V,V,V}, /* div.l */ + {4,5,rrr,V,S,V}, /* div.b */ + {4,6,rrr,V,S,V}, /* div.h */ + {4,7,rrr,V,S,V}, /* div.w */ + {4,8,rrr,V,S,V}, /* div.l */ +}; + +const struct formstr format1[] = { + {11,0,xxx,0,0,0}, /* exit */ + {12,0,a3,0,0,0}, /* jmp */ + {13,2,a3,0,0,0}, /* jmpi.f */ + {13,1,a3,0,0,0}, /* jmpi.t */ + {14,2,a3,0,0,0}, /* jmpa.f */ + {14,1,a3,0,0,0}, /* jmpa.t */ + {15,2,a3,0,0,0}, /* jmps.f */ + {15,1,a3,0,0,0}, /* jmps.t */ + {16,0,a3,0,0,0}, /* tac */ + {17,0,a1r,A,0,0}, /* ldea */ + {18,8,a1l,VLS,0,0}, /* ld.l */ + {18,9,a1l,VM,0,0}, /* ld.x */ + {19,0,a3,0,0,0}, /* tas */ + {20,0,a3,0,0,0}, /* pshea */ + {21,8,a2l,VLS,0,0}, /* st.l */ + {21,9,a2l,VM,0,0}, /* st.x */ + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {22,0,a3,0,0,0}, /* call */ + {23,0,a3,0,0,0}, /* calls */ + {24,0,a3,0,0,0}, /* callq */ + {25,0,a1r,A,0,0}, /* pfork */ + {26,5,a2r,S,0,0}, /* ste.b */ + {26,6,a2r,S,0,0}, /* ste.h */ + {26,7,a2r,S,0,0}, /* ste.w */ + {26,8,a2r,S,0,0}, /* ste.l */ + {18,5,a1r,A,0,0}, /* ld.b */ + {18,6,a1r,A,0,0}, /* ld.h */ + {18,7,a1r,A,0,0}, /* ld.w */ + {27,7,a1r,A,0,0}, /* incr.w */ + {21,5,a2r,A,0,0}, /* st.b */ + {21,6,a2r,A,0,0}, /* st.h */ + {21,7,a2r,A,0,0}, /* st.w */ + {27,8,a1r,S,0,0}, /* incr.l */ + {18,5,a1r,S,0,0}, /* ld.b */ + {18,6,a1r,S,0,0}, /* ld.h */ + {18,7,a1r,S,0,0}, /* ld.w */ + {18,8,a1r,S,0,0}, /* ld.l */ + {21,5,a2r,S,0,0}, /* st.b */ + {21,6,a2r,S,0,0}, /* st.h */ + {21,7,a2r,S,0,0}, /* st.w */ + {21,8,a2r,S,0,0}, /* st.l */ + {18,5,a1r,V,0,0}, /* ld.b */ + {18,6,a1r,V,0,0}, /* ld.h */ + {18,7,a1r,V,0,0}, /* ld.w */ + {18,8,a1r,V,0,0}, /* ld.l */ + {21,5,a2r,V,0,0}, /* st.b */ + {21,6,a2r,V,0,0}, /* st.h */ + {21,7,a2r,V,0,0}, /* st.w */ + {21,8,a2r,V,0,0}, /* st.l */ +}; + +const struct formstr format2[] = { + {28,5,rr,A,A,0}, /* cvtw.b */ + {28,6,rr,A,A,0}, /* cvtw.h */ + {29,7,rr,A,A,0}, /* cvtb.w */ + {30,7,rr,A,A,0}, /* cvth.w */ + {28,5,rr,S,S,0}, /* cvtw.b */ + {28,6,rr,S,S,0}, /* cvtw.h */ + {29,7,rr,S,S,0}, /* cvtb.w */ + {30,7,rr,S,S,0}, /* cvth.w */ + {28,3,rr,S,S,0}, /* cvtw.s */ + {31,7,rr,S,S,0}, /* cvts.w */ + {32,3,rr,S,S,0}, /* cvtd.s */ + {31,4,rr,S,S,0}, /* cvts.d */ + {31,8,rr,S,S,0}, /* cvts.l */ + {32,8,rr,S,S,0}, /* cvtd.l */ + {33,3,rr,S,S,0}, /* cvtl.s */ + {33,4,rr,S,S,0}, /* cvtl.d */ + {34,0,rr,A,A,0}, /* ldpa */ + {8,0,nr,A,0,0}, /* shf */ + {18,6,nr,A,0,0}, /* ld.h */ + {18,7,nr,A,0,0}, /* ld.w */ + {33,7,rr,S,S,0}, /* cvtl.w */ + {28,8,rr,S,S,0}, /* cvtw.l */ + {35,1,rr,S,S,0}, /* plc.t */ + {36,0,rr,S,S,0}, /* tzc */ + {37,6,rr,A,A,0}, /* eq.h */ + {37,7,rr,A,A,0}, /* eq.w */ + {37,6,nr,A,0,0}, /* eq.h */ + {37,7,nr,A,0,0}, /* eq.w */ + {37,5,rr,S,S,0}, /* eq.b */ + {37,6,rr,S,S,0}, /* eq.h */ + {37,7,rr,S,S,0}, /* eq.w */ + {37,8,rr,S,S,0}, /* eq.l */ + {38,6,rr,A,A,0}, /* leu.h */ + {38,7,rr,A,A,0}, /* leu.w */ + {38,6,nr,A,0,0}, /* leu.h */ + {38,7,nr,A,0,0}, /* leu.w */ + {38,5,rr,S,S,0}, /* leu.b */ + {38,6,rr,S,S,0}, /* leu.h */ + {38,7,rr,S,S,0}, /* leu.w */ + {38,8,rr,S,S,0}, /* leu.l */ + {39,6,rr,A,A,0}, /* ltu.h */ + {39,7,rr,A,A,0}, /* ltu.w */ + {39,6,nr,A,0,0}, /* ltu.h */ + {39,7,nr,A,0,0}, /* ltu.w */ + {39,5,rr,S,S,0}, /* ltu.b */ + {39,6,rr,S,S,0}, /* ltu.h */ + {39,7,rr,S,S,0}, /* ltu.w */ + {39,8,rr,S,S,0}, /* ltu.l */ + {40,6,rr,A,A,0}, /* le.h */ + {40,7,rr,A,A,0}, /* le.w */ + {40,6,nr,A,0,0}, /* le.h */ + {40,7,nr,A,0,0}, /* le.w */ + {40,5,rr,S,S,0}, /* le.b */ + {40,6,rr,S,S,0}, /* le.h */ + {40,7,rr,S,S,0}, /* le.w */ + {40,8,rr,S,S,0}, /* le.l */ + {41,6,rr,A,A,0}, /* lt.h */ + {41,7,rr,A,A,0}, /* lt.w */ + {41,6,nr,A,0,0}, /* lt.h */ + {41,7,nr,A,0,0}, /* lt.w */ + {41,5,rr,S,S,0}, /* lt.b */ + {41,6,rr,S,S,0}, /* lt.h */ + {41,7,rr,S,S,0}, /* lt.w */ + {41,8,rr,S,S,0}, /* lt.l */ + {9,7,rr,S,A,0}, /* add.w */ + {8,0,rr,A,A,0}, /* shf */ + {0,0,rr,A,A,0}, /* mov */ + {0,0,rr,S,A,0}, /* mov */ + {0,7,rr,S,S,0}, /* mov.w */ + {8,0,rr,S,S,0}, /* shf */ + {0,0,rr,S,S,0}, /* mov */ + {0,0,rr,A,S,0}, /* mov */ + {5,0,rr,A,A,0}, /* and */ + {6,0,rr,A,A,0}, /* or */ + {7,0,rr,A,A,0}, /* xor */ + {42,0,rr,A,A,0}, /* not */ + {5,0,rr,S,S,0}, /* and */ + {6,0,rr,S,S,0}, /* or */ + {7,0,rr,S,S,0}, /* xor */ + {42,0,rr,S,S,0}, /* not */ + {40,3,rr,S,S,0}, /* le.s */ + {40,4,rr,S,S,0}, /* le.d */ + {41,3,rr,S,S,0}, /* lt.s */ + {41,4,rr,S,S,0}, /* lt.d */ + {9,3,rr,S,S,0}, /* add.s */ + {9,4,rr,S,S,0}, /* add.d */ + {10,3,rr,S,S,0}, /* sub.s */ + {10,4,rr,S,S,0}, /* sub.d */ + {37,3,rr,S,S,0}, /* eq.s */ + {37,4,rr,S,S,0}, /* eq.d */ + {43,6,rr,A,A,0}, /* neg.h */ + {43,7,rr,A,A,0}, /* neg.w */ + {3,3,rr,S,S,0}, /* mul.s */ + {3,4,rr,S,S,0}, /* mul.d */ + {4,3,rr,S,S,0}, /* div.s */ + {4,4,rr,S,S,0}, /* div.d */ + {9,6,rr,A,A,0}, /* add.h */ + {9,7,rr,A,A,0}, /* add.w */ + {9,6,nr,A,0,0}, /* add.h */ + {9,7,nr,A,0,0}, /* add.w */ + {9,5,rr,S,S,0}, /* add.b */ + {9,6,rr,S,S,0}, /* add.h */ + {9,7,rr,S,S,0}, /* add.w */ + {9,8,rr,S,S,0}, /* add.l */ + {10,6,rr,A,A,0}, /* sub.h */ + {10,7,rr,A,A,0}, /* sub.w */ + {10,6,nr,A,0,0}, /* sub.h */ + {10,7,nr,A,0,0}, /* sub.w */ + {10,5,rr,S,S,0}, /* sub.b */ + {10,6,rr,S,S,0}, /* sub.h */ + {10,7,rr,S,S,0}, /* sub.w */ + {10,8,rr,S,S,0}, /* sub.l */ + {3,6,rr,A,A,0}, /* mul.h */ + {3,7,rr,A,A,0}, /* mul.w */ + {3,6,nr,A,0,0}, /* mul.h */ + {3,7,nr,A,0,0}, /* mul.w */ + {3,5,rr,S,S,0}, /* mul.b */ + {3,6,rr,S,S,0}, /* mul.h */ + {3,7,rr,S,S,0}, /* mul.w */ + {3,8,rr,S,S,0}, /* mul.l */ + {4,6,rr,A,A,0}, /* div.h */ + {4,7,rr,A,A,0}, /* div.w */ + {4,6,nr,A,0,0}, /* div.h */ + {4,7,nr,A,0,0}, /* div.w */ + {4,5,rr,S,S,0}, /* div.b */ + {4,6,rr,S,S,0}, /* div.h */ + {4,7,rr,S,S,0}, /* div.w */ + {4,8,rr,S,S,0}, /* div.l */ +}; + +const struct formstr format3[] = { + {32,3,rr,V,V,0}, /* cvtd.s */ + {31,4,rr,V,V,0}, /* cvts.d */ + {33,4,rr,V,V,0}, /* cvtl.d */ + {32,8,rr,V,V,0}, /* cvtd.l */ + {0,0,rrl,S,S,VM}, /* mov */ + {0,0,rlr,S,VM,S}, /* mov */ + {0,0,0,0,0,0}, + {44,0,rr,S,S,0}, /* lop */ + {36,0,rr,V,V,0}, /* tzc */ + {44,0,rr,V,V,0}, /* lop */ + {0,0,0,0,0,0}, + {42,0,rr,V,V,0}, /* not */ + {8,0,rr,S,V,0}, /* shf */ + {35,1,rr,V,V,0}, /* plc.t */ + {45,2,rr,V,V,0}, /* cprs.f */ + {45,1,rr,V,V,0}, /* cprs.t */ + {37,3,rr,V,V,0}, /* eq.s */ + {37,4,rr,V,V,0}, /* eq.d */ + {43,3,rr,V,V,0}, /* neg.s */ + {43,4,rr,V,V,0}, /* neg.d */ + {37,3,rr,S,V,0}, /* eq.s */ + {37,4,rr,S,V,0}, /* eq.d */ + {43,3,rr,S,S,0}, /* neg.s */ + {43,4,rr,S,S,0}, /* neg.d */ + {40,3,rr,V,V,0}, /* le.s */ + {40,4,rr,V,V,0}, /* le.d */ + {41,3,rr,V,V,0}, /* lt.s */ + {41,4,rr,V,V,0}, /* lt.d */ + {40,3,rr,S,V,0}, /* le.s */ + {40,4,rr,S,V,0}, /* le.d */ + {41,3,rr,S,V,0}, /* lt.s */ + {41,4,rr,S,V,0}, /* lt.d */ + {37,5,rr,V,V,0}, /* eq.b */ + {37,6,rr,V,V,0}, /* eq.h */ + {37,7,rr,V,V,0}, /* eq.w */ + {37,8,rr,V,V,0}, /* eq.l */ + {37,5,rr,S,V,0}, /* eq.b */ + {37,6,rr,S,V,0}, /* eq.h */ + {37,7,rr,S,V,0}, /* eq.w */ + {37,8,rr,S,V,0}, /* eq.l */ + {40,5,rr,V,V,0}, /* le.b */ + {40,6,rr,V,V,0}, /* le.h */ + {40,7,rr,V,V,0}, /* le.w */ + {40,8,rr,V,V,0}, /* le.l */ + {40,5,rr,S,V,0}, /* le.b */ + {40,6,rr,S,V,0}, /* le.h */ + {40,7,rr,S,V,0}, /* le.w */ + {40,8,rr,S,V,0}, /* le.l */ + {41,5,rr,V,V,0}, /* lt.b */ + {41,6,rr,V,V,0}, /* lt.h */ + {41,7,rr,V,V,0}, /* lt.w */ + {41,8,rr,V,V,0}, /* lt.l */ + {41,5,rr,S,V,0}, /* lt.b */ + {41,6,rr,S,V,0}, /* lt.h */ + {41,7,rr,S,V,0}, /* lt.w */ + {41,8,rr,S,V,0}, /* lt.l */ + {43,5,rr,V,V,0}, /* neg.b */ + {43,6,rr,V,V,0}, /* neg.h */ + {43,7,rr,V,V,0}, /* neg.w */ + {43,8,rr,V,V,0}, /* neg.l */ + {43,5,rr,S,S,0}, /* neg.b */ + {43,6,rr,S,S,0}, /* neg.h */ + {43,7,rr,S,S,0}, /* neg.w */ + {43,8,rr,S,S,0}, /* neg.l */ +}; + +const struct formstr format4[] = { + {46,0,nops,0,0,0}, /* nop */ + {47,0,pcrel,0,0,0}, /* br */ + {48,2,pcrel,0,0,0}, /* bri.f */ + {48,1,pcrel,0,0,0}, /* bri.t */ + {49,2,pcrel,0,0,0}, /* bra.f */ + {49,1,pcrel,0,0,0}, /* bra.t */ + {50,2,pcrel,0,0,0}, /* brs.f */ + {50,1,pcrel,0,0,0}, /* brs.t */ +}; + +const struct formstr format5[] = { + {51,5,rr,V,V,0}, /* ldvi.b */ + {51,6,rr,V,V,0}, /* ldvi.h */ + {51,7,rr,V,V,0}, /* ldvi.w */ + {51,8,rr,V,V,0}, /* ldvi.l */ + {28,3,rr,V,V,0}, /* cvtw.s */ + {31,7,rr,V,V,0}, /* cvts.w */ + {28,8,rr,V,V,0}, /* cvtw.l */ + {33,7,rr,V,V,0}, /* cvtl.w */ + {52,5,rxr,V,V,0}, /* stvi.b */ + {52,6,rxr,V,V,0}, /* stvi.h */ + {52,7,rxr,V,V,0}, /* stvi.w */ + {52,8,rxr,V,V,0}, /* stvi.l */ + {52,5,rxr,S,V,0}, /* stvi.b */ + {52,6,rxr,S,V,0}, /* stvi.h */ + {52,7,rxr,S,V,0}, /* stvi.w */ + {52,8,rxr,S,V,0}, /* stvi.l */ +}; + +const struct formstr format6[] = { + {53,0,r,A,0,0}, /* ldsdr */ + {54,0,r,A,0,0}, /* ldkdr */ + {55,3,r,S,0,0}, /* ln.s */ + {55,4,r,S,0,0}, /* ln.d */ + {56,0,nops,0,0,0}, /* patu */ + {57,0,r,A,0,0}, /* pate */ + {58,0,nops,0,0,0}, /* pich */ + {59,0,nops,0,0,0}, /* plch */ + {0,0,lr,PSW,A,0}, /* mov */ + {0,0,rxl,A,PSW,0}, /* mov */ + {0,0,lr,PC,A,0}, /* mov */ + {60,0,r,S,0,0}, /* idle */ + {0,0,lr,ITR,S,0}, /* mov */ + {0,0,rxl,S,ITR,0}, /* mov */ + {0,0,0,0,0,0}, + {0,0,rxl,S,ITSR,0}, /* mov */ + {61,0,nops,0,0,0}, /* rtnq */ + {62,0,nops,0,0,0}, /* cfork */ + {63,0,nops,0,0,0}, /* rtn */ + {64,0,nops,0,0,0}, /* wfork */ + {65,0,nops,0,0,0}, /* join */ + {66,0,nops,0,0,0}, /* rtnc */ + {67,3,r,S,0,0}, /* exp.s */ + {67,4,r,S,0,0}, /* exp.d */ + {68,3,r,S,0,0}, /* sin.s */ + {68,4,r,S,0,0}, /* sin.d */ + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {69,3,r,S,0,0}, /* cos.s */ + {69,4,r,S,0,0}, /* cos.d */ + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {70,7,r,A,0,0}, /* psh.w */ + {0,0,0,0,0,0}, + {71,7,r,A,0,0}, /* pop.w */ + {0,0,0,0,0,0}, + {70,7,r,S,0,0}, /* psh.w */ + {70,8,r,S,0,0}, /* psh.l */ + {71,7,r,S,0,0}, /* pop.w */ + {71,8,r,S,0,0}, /* pop.l */ + {72,0,nops,0,0,0}, /* eni */ + {73,0,nops,0,0,0}, /* dsi */ + {74,0,nops,0,0,0}, /* bkpt */ + {75,0,nops,0,0,0}, /* msync */ + {76,0,r,S,0,0}, /* mski */ + {77,0,r,S,0,0}, /* xmti */ + {0,0,rxl,S,VV,0}, /* mov */ + {78,0,nops,0,0,0}, /* tstvv */ + {0,0,lr,VS,A,0}, /* mov */ + {0,0,rxl,A,VS,0}, /* mov */ + {0,0,lr,VL,A,0}, /* mov */ + {0,0,rxl,A,VL,0}, /* mov */ + {0,7,lr,VS,S,0}, /* mov.w */ + {0,7,rxl,S,VS,0}, /* mov.w */ + {0,7,lr,VL,S,0}, /* mov.w */ + {0,7,rxl,S,VL,0}, /* mov.w */ + {79,0,r,A,0,0}, /* diag */ + {80,0,nops,0,0,0}, /* pbkpt */ + {81,3,r,S,0,0}, /* sqrt.s */ + {81,4,r,S,0,0}, /* sqrt.d */ + {82,0,nops,0,0,0}, /* casr */ + {0,0,0,0,0,0}, + {83,3,r,S,0,0}, /* atan.s */ + {83,4,r,S,0,0}, /* atan.d */ +}; + +const struct formstr format7[] = { + {84,5,r,V,0,0}, /* sum.b */ + {84,6,r,V,0,0}, /* sum.h */ + {84,7,r,V,0,0}, /* sum.w */ + {84,8,r,V,0,0}, /* sum.l */ + {85,0,r,V,0,0}, /* all */ + {86,0,r,V,0,0}, /* any */ + {87,0,r,V,0,0}, /* parity */ + {0,0,0,0,0,0}, + {88,5,r,V,0,0}, /* max.b */ + {88,6,r,V,0,0}, /* max.h */ + {88,7,r,V,0,0}, /* max.w */ + {88,8,r,V,0,0}, /* max.l */ + {89,5,r,V,0,0}, /* min.b */ + {89,6,r,V,0,0}, /* min.h */ + {89,7,r,V,0,0}, /* min.w */ + {89,8,r,V,0,0}, /* min.l */ + {84,3,r,V,0,0}, /* sum.s */ + {84,4,r,V,0,0}, /* sum.d */ + {90,3,r,V,0,0}, /* prod.s */ + {90,4,r,V,0,0}, /* prod.d */ + {88,3,r,V,0,0}, /* max.s */ + {88,4,r,V,0,0}, /* max.d */ + {89,3,r,V,0,0}, /* min.s */ + {89,4,r,V,0,0}, /* min.d */ + {90,5,r,V,0,0}, /* prod.b */ + {90,6,r,V,0,0}, /* prod.h */ + {90,7,r,V,0,0}, /* prod.w */ + {90,8,r,V,0,0}, /* prod.l */ + {35,2,lr,VM,S,0}, /* plc.f */ + {35,1,lr,VM,S,0}, /* plc.t */ + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, +}; + +const struct formstr formatx[] = { + {0,0,0,0,0,0}, +}; + +const struct formstr format1a[] = { + {91,0,imr,A,0,0}, /* halt */ + {92,0,a4,0,0,0}, /* sysc */ + {18,6,imr,A,0,0}, /* ld.h */ + {18,7,imr,A,0,0}, /* ld.w */ + {5,0,imr,A,0,0}, /* and */ + {6,0,imr,A,0,0}, /* or */ + {7,0,imr,A,0,0}, /* xor */ + {8,0,imr,A,0,0}, /* shf */ + {9,6,imr,A,0,0}, /* add.h */ + {9,7,imr,A,0,0}, /* add.w */ + {10,6,imr,A,0,0}, /* sub.h */ + {10,7,imr,A,0,0}, /* sub.w */ + {3,6,imr,A,0,0}, /* mul.h */ + {3,7,imr,A,0,0}, /* mul.w */ + {4,6,imr,A,0,0}, /* div.h */ + {4,7,imr,A,0,0}, /* div.w */ + {18,7,iml,VL,0,0}, /* ld.w */ + {18,7,iml,VS,0,0}, /* ld.w */ + {0,0,0,0,0,0}, + {8,7,imr,S,0,0}, /* shf.w */ + {93,0,a5,0,0,0}, /* trap */ + {0,0,0,0,0,0}, + {37,6,imr,A,0,0}, /* eq.h */ + {37,7,imr,A,0,0}, /* eq.w */ + {38,6,imr,A,0,0}, /* leu.h */ + {38,7,imr,A,0,0}, /* leu.w */ + {39,6,imr,A,0,0}, /* ltu.h */ + {39,7,imr,A,0,0}, /* ltu.w */ + {40,6,imr,A,0,0}, /* le.h */ + {40,7,imr,A,0,0}, /* le.w */ + {41,6,imr,A,0,0}, /* lt.h */ + {41,7,imr,A,0,0}, /* lt.w */ +}; + +const struct formstr format1b[] = { + {18,4,imr,S,0,0}, /* ld.d */ + {18,10,imr,S,0,0}, /* ld.u */ + {18,8,imr,S,0,0}, /* ld.l */ + {18,7,imr,S,0,0}, /* ld.w */ + {5,0,imr,S,0,0}, /* and */ + {6,0,imr,S,0,0}, /* or */ + {7,0,imr,S,0,0}, /* xor */ + {8,0,imr,S,0,0}, /* shf */ + {9,6,imr,S,0,0}, /* add.h */ + {9,7,imr,S,0,0}, /* add.w */ + {10,6,imr,S,0,0}, /* sub.h */ + {10,7,imr,S,0,0}, /* sub.w */ + {3,6,imr,S,0,0}, /* mul.h */ + {3,7,imr,S,0,0}, /* mul.w */ + {4,6,imr,S,0,0}, /* div.h */ + {4,7,imr,S,0,0}, /* div.w */ + {9,3,imr,S,0,0}, /* add.s */ + {10,3,imr,S,0,0}, /* sub.s */ + {3,3,imr,S,0,0}, /* mul.s */ + {4,3,imr,S,0,0}, /* div.s */ + {40,3,imr,S,0,0}, /* le.s */ + {41,3,imr,S,0,0}, /* lt.s */ + {37,6,imr,S,0,0}, /* eq.h */ + {37,7,imr,S,0,0}, /* eq.w */ + {38,6,imr,S,0,0}, /* leu.h */ + {38,7,imr,S,0,0}, /* leu.w */ + {39,6,imr,S,0,0}, /* ltu.h */ + {39,7,imr,S,0,0}, /* ltu.w */ + {40,6,imr,S,0,0}, /* le.h */ + {40,7,imr,S,0,0}, /* le.w */ + {41,6,imr,S,0,0}, /* lt.h */ + {41,7,imr,S,0,0}, /* lt.w */ +}; + +const struct formstr e0_format0[] = { + {10,3,rrr,S,V,V}, /* sub.s */ + {10,4,rrr,S,V,V}, /* sub.d */ + {4,3,rrr,S,V,V}, /* div.s */ + {4,4,rrr,S,V,V}, /* div.d */ + {10,11,rrr,S,V,V}, /* sub.s.f */ + {10,12,rrr,S,V,V}, /* sub.d.f */ + {4,11,rrr,S,V,V}, /* div.s.f */ + {4,12,rrr,S,V,V}, /* div.d.f */ + {3,11,rrr,V,V,V}, /* mul.s.f */ + {3,12,rrr,V,V,V}, /* mul.d.f */ + {4,11,rrr,V,V,V}, /* div.s.f */ + {4,12,rrr,V,V,V}, /* div.d.f */ + {3,11,rrr,V,S,V}, /* mul.s.f */ + {3,12,rrr,V,S,V}, /* mul.d.f */ + {4,11,rrr,V,S,V}, /* div.s.f */ + {4,12,rrr,V,S,V}, /* div.d.f */ + {5,2,rrr,V,V,V}, /* and.f */ + {6,2,rrr,V,V,V}, /* or.f */ + {7,2,rrr,V,V,V}, /* xor.f */ + {8,2,rrr,V,V,V}, /* shf.f */ + {5,2,rrr,V,S,V}, /* and.f */ + {6,2,rrr,V,S,V}, /* or.f */ + {7,2,rrr,V,S,V}, /* xor.f */ + {8,2,rrr,V,S,V}, /* shf.f */ + {9,11,rrr,V,V,V}, /* add.s.f */ + {9,12,rrr,V,V,V}, /* add.d.f */ + {10,11,rrr,V,V,V}, /* sub.s.f */ + {10,12,rrr,V,V,V}, /* sub.d.f */ + {9,11,rrr,V,S,V}, /* add.s.f */ + {9,12,rrr,V,S,V}, /* add.d.f */ + {10,11,rrr,V,S,V}, /* sub.s.f */ + {10,12,rrr,V,S,V}, /* sub.d.f */ + {9,13,rrr,V,V,V}, /* add.b.f */ + {9,14,rrr,V,V,V}, /* add.h.f */ + {9,15,rrr,V,V,V}, /* add.w.f */ + {9,16,rrr,V,V,V}, /* add.l.f */ + {9,13,rrr,V,S,V}, /* add.b.f */ + {9,14,rrr,V,S,V}, /* add.h.f */ + {9,15,rrr,V,S,V}, /* add.w.f */ + {9,16,rrr,V,S,V}, /* add.l.f */ + {10,13,rrr,V,V,V}, /* sub.b.f */ + {10,14,rrr,V,V,V}, /* sub.h.f */ + {10,15,rrr,V,V,V}, /* sub.w.f */ + {10,16,rrr,V,V,V}, /* sub.l.f */ + {10,13,rrr,V,S,V}, /* sub.b.f */ + {10,14,rrr,V,S,V}, /* sub.h.f */ + {10,15,rrr,V,S,V}, /* sub.w.f */ + {10,16,rrr,V,S,V}, /* sub.l.f */ + {3,13,rrr,V,V,V}, /* mul.b.f */ + {3,14,rrr,V,V,V}, /* mul.h.f */ + {3,15,rrr,V,V,V}, /* mul.w.f */ + {3,16,rrr,V,V,V}, /* mul.l.f */ + {3,13,rrr,V,S,V}, /* mul.b.f */ + {3,14,rrr,V,S,V}, /* mul.h.f */ + {3,15,rrr,V,S,V}, /* mul.w.f */ + {3,16,rrr,V,S,V}, /* mul.l.f */ + {4,13,rrr,V,V,V}, /* div.b.f */ + {4,14,rrr,V,V,V}, /* div.h.f */ + {4,15,rrr,V,V,V}, /* div.w.f */ + {4,16,rrr,V,V,V}, /* div.l.f */ + {4,13,rrr,V,S,V}, /* div.b.f */ + {4,14,rrr,V,S,V}, /* div.h.f */ + {4,15,rrr,V,S,V}, /* div.w.f */ + {4,16,rrr,V,S,V}, /* div.l.f */ +}; + +const struct formstr e0_format1[] = { + {0,0,0,0,0,0}, + {94,0,a3,0,0,0}, /* tst */ + {95,0,a3,0,0,0}, /* lck */ + {96,0,a3,0,0,0}, /* ulk */ + {17,0,a1r,S,0,0}, /* ldea */ + {97,0,a1r,A,0,0}, /* spawn */ + {98,0,a1r,A,0,0}, /* ldcmr */ + {99,0,a2r,A,0,0}, /* stcmr */ + {100,0,a1r,A,0,0}, /* popr */ + {101,0,a2r,A,0,0}, /* pshr */ + {102,7,a1r,A,0,0}, /* rcvr.w */ + {103,7,a2r,A,0,0}, /* matm.w */ + {104,7,a2r,A,0,0}, /* sndr.w */ + {104,8,a2r,S,0,0}, /* sndr.l */ + {102,8,a1r,S,0,0}, /* rcvr.l */ + {103,8,a2r,S,0,0}, /* matm.l */ + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {105,7,a2r,A,0,0}, /* putr.w */ + {105,8,a2r,S,0,0}, /* putr.l */ + {106,7,a1r,A,0,0}, /* getr.w */ + {106,8,a1r,S,0,0}, /* getr.l */ + {26,13,a2r,S,0,0}, /* ste.b.f */ + {26,14,a2r,S,0,0}, /* ste.h.f */ + {26,15,a2r,S,0,0}, /* ste.w.f */ + {26,16,a2r,S,0,0}, /* ste.l.f */ + {107,7,a2r,A,0,0}, /* matr.w */ + {108,7,a2r,A,0,0}, /* mat.w */ + {109,7,a1r,A,0,0}, /* get.w */ + {110,7,a1r,A,0,0}, /* rcv.w */ + {0,0,0,0,0,0}, + {111,7,a1r,A,0,0}, /* inc.w */ + {112,7,a2r,A,0,0}, /* put.w */ + {113,7,a2r,A,0,0}, /* snd.w */ + {107,8,a2r,S,0,0}, /* matr.l */ + {108,8,a2r,S,0,0}, /* mat.l */ + {109,8,a1r,S,0,0}, /* get.l */ + {110,8,a1r,S,0,0}, /* rcv.l */ + {0,0,0,0,0,0}, + {111,8,a1r,S,0,0}, /* inc.l */ + {112,8,a2r,S,0,0}, /* put.l */ + {113,8,a2r,S,0,0}, /* snd.l */ + {18,13,a1r,V,0,0}, /* ld.b.f */ + {18,14,a1r,V,0,0}, /* ld.h.f */ + {18,15,a1r,V,0,0}, /* ld.w.f */ + {18,16,a1r,V,0,0}, /* ld.l.f */ + {21,13,a2r,V,0,0}, /* st.b.f */ + {21,14,a2r,V,0,0}, /* st.h.f */ + {21,15,a2r,V,0,0}, /* st.w.f */ + {21,16,a2r,V,0,0}, /* st.l.f */ +}; + +const struct formstr e0_format2[] = { + {28,5,rr,V,V,0}, /* cvtw.b */ + {28,6,rr,V,V,0}, /* cvtw.h */ + {29,7,rr,V,V,0}, /* cvtb.w */ + {30,7,rr,V,V,0}, /* cvth.w */ + {28,13,rr,V,V,0}, /* cvtw.b.f */ + {28,14,rr,V,V,0}, /* cvtw.h.f */ + {29,15,rr,V,V,0}, /* cvtb.w.f */ + {30,15,rr,V,V,0}, /* cvth.w.f */ + {31,8,rr,V,V,0}, /* cvts.l */ + {32,7,rr,V,V,0}, /* cvtd.w */ + {33,3,rr,V,V,0}, /* cvtl.s */ + {28,4,rr,V,V,0}, /* cvtw.d */ + {31,16,rr,V,V,0}, /* cvts.l.f */ + {32,15,rr,V,V,0}, /* cvtd.w.f */ + {33,11,rr,V,V,0}, /* cvtl.s.f */ + {28,12,rr,V,V,0}, /* cvtw.d.f */ + {114,0,rr,S,S,0}, /* enal */ + {8,7,rr,S,S,0}, /* shf.w */ + {115,0,rr,S,S,0}, /* enag */ + {0,0,0,0,0,0}, + {28,4,rr,S,S,0}, /* cvtw.d */ + {32,7,rr,S,S,0}, /* cvtd.w */ + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {116,3,rr,S,S,0}, /* frint.s */ + {116,4,rr,S,S,0}, /* frint.d */ + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {116,3,rr,V,V,0}, /* frint.s */ + {116,4,rr,V,V,0}, /* frint.d */ + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {116,11,rr,V,V,0}, /* frint.s.f */ + {116,12,rr,V,V,0}, /* frint.d.f */ + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {81,3,rr,V,V,0}, /* sqrt.s */ + {81,4,rr,V,V,0}, /* sqrt.d */ + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {81,11,rr,V,V,0}, /* sqrt.s.f */ + {81,12,rr,V,V,0}, /* sqrt.d.f */ + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, +}; + +const struct formstr e0_format3[] = { + {32,11,rr,V,V,0}, /* cvtd.s.f */ + {31,12,rr,V,V,0}, /* cvts.d.f */ + {33,12,rr,V,V,0}, /* cvtl.d.f */ + {32,16,rr,V,V,0}, /* cvtd.l.f */ + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {36,2,rr,V,V,0}, /* tzc.f */ + {44,2,rr,V,V,0}, /* lop.f */ + {117,2,rr,V,V,0}, /* xpnd.f */ + {42,2,rr,V,V,0}, /* not.f */ + {8,2,rr,S,V,0}, /* shf.f */ + {35,17,rr,V,V,0}, /* plc.t.f */ + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {37,11,rr,V,V,0}, /* eq.s.f */ + {37,12,rr,V,V,0}, /* eq.d.f */ + {43,11,rr,V,V,0}, /* neg.s.f */ + {43,12,rr,V,V,0}, /* neg.d.f */ + {37,11,rr,S,V,0}, /* eq.s.f */ + {37,12,rr,S,V,0}, /* eq.d.f */ + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {40,11,rr,V,V,0}, /* le.s.f */ + {40,12,rr,V,V,0}, /* le.d.f */ + {41,11,rr,V,V,0}, /* lt.s.f */ + {41,12,rr,V,V,0}, /* lt.d.f */ + {40,11,rr,S,V,0}, /* le.s.f */ + {40,12,rr,S,V,0}, /* le.d.f */ + {41,11,rr,S,V,0}, /* lt.s.f */ + {41,12,rr,S,V,0}, /* lt.d.f */ + {37,13,rr,V,V,0}, /* eq.b.f */ + {37,14,rr,V,V,0}, /* eq.h.f */ + {37,15,rr,V,V,0}, /* eq.w.f */ + {37,16,rr,V,V,0}, /* eq.l.f */ + {37,13,rr,S,V,0}, /* eq.b.f */ + {37,14,rr,S,V,0}, /* eq.h.f */ + {37,15,rr,S,V,0}, /* eq.w.f */ + {37,16,rr,S,V,0}, /* eq.l.f */ + {40,13,rr,V,V,0}, /* le.b.f */ + {40,14,rr,V,V,0}, /* le.h.f */ + {40,15,rr,V,V,0}, /* le.w.f */ + {40,16,rr,V,V,0}, /* le.l.f */ + {40,13,rr,S,V,0}, /* le.b.f */ + {40,14,rr,S,V,0}, /* le.h.f */ + {40,15,rr,S,V,0}, /* le.w.f */ + {40,16,rr,S,V,0}, /* le.l.f */ + {41,13,rr,V,V,0}, /* lt.b.f */ + {41,14,rr,V,V,0}, /* lt.h.f */ + {41,15,rr,V,V,0}, /* lt.w.f */ + {41,16,rr,V,V,0}, /* lt.l.f */ + {41,13,rr,S,V,0}, /* lt.b.f */ + {41,14,rr,S,V,0}, /* lt.h.f */ + {41,15,rr,S,V,0}, /* lt.w.f */ + {41,16,rr,S,V,0}, /* lt.l.f */ + {43,13,rr,V,V,0}, /* neg.b.f */ + {43,14,rr,V,V,0}, /* neg.h.f */ + {43,15,rr,V,V,0}, /* neg.w.f */ + {43,16,rr,V,V,0}, /* neg.l.f */ + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, +}; + +const struct formstr e0_format4[] = { + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, +}; + +const struct formstr e0_format5[] = { + {51,13,rr,V,V,0}, /* ldvi.b.f */ + {51,14,rr,V,V,0}, /* ldvi.h.f */ + {51,15,rr,V,V,0}, /* ldvi.w.f */ + {51,16,rr,V,V,0}, /* ldvi.l.f */ + {28,11,rr,V,V,0}, /* cvtw.s.f */ + {31,15,rr,V,V,0}, /* cvts.w.f */ + {28,16,rr,V,V,0}, /* cvtw.l.f */ + {33,15,rr,V,V,0}, /* cvtl.w.f */ + {52,13,rxr,V,V,0}, /* stvi.b.f */ + {52,14,rxr,V,V,0}, /* stvi.h.f */ + {52,15,rxr,V,V,0}, /* stvi.w.f */ + {52,16,rxr,V,V,0}, /* stvi.l.f */ + {52,13,rxr,S,V,0}, /* stvi.b.f */ + {52,14,rxr,S,V,0}, /* stvi.h.f */ + {52,15,rxr,S,V,0}, /* stvi.w.f */ + {52,16,rxr,S,V,0}, /* stvi.l.f */ +}; + +const struct formstr e0_format6[] = { + {0,0,rxl,S,CIR,0}, /* mov */ + {0,0,lr,CIR,S,0}, /* mov */ + {0,0,lr,TOC,S,0}, /* mov */ + {0,0,lr,CPUID,S,0}, /* mov */ + {0,0,rxl,S,TTR,0}, /* mov */ + {0,0,lr,TTR,S,0}, /* mov */ + {118,0,nops,0,0,0}, /* ctrsl */ + {119,0,nops,0,0,0}, /* ctrsg */ + {0,0,rxl,S,VMU,0}, /* mov */ + {0,0,lr,VMU,S,0}, /* mov */ + {0,0,rxl,S,VML,0}, /* mov */ + {0,0,lr,VML,S,0}, /* mov */ + {0,0,rxl,S,ICR,0}, /* mov */ + {0,0,lr,ICR,S,0}, /* mov */ + {0,0,rxl,S,TCPU,0}, /* mov */ + {0,0,lr,TCPU,S,0}, /* mov */ + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {120,0,nops,0,0,0}, /* stop */ + {0,0,0,0,0,0}, + {0,0,rxl,S,TID,0}, /* mov */ + {0,0,lr,TID,S,0}, /* mov */ + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, +}; + +const struct formstr e0_format7[] = { + {84,13,r,V,0,0}, /* sum.b.f */ + {84,14,r,V,0,0}, /* sum.h.f */ + {84,15,r,V,0,0}, /* sum.w.f */ + {84,16,r,V,0,0}, /* sum.l.f */ + {85,2,r,V,0,0}, /* all.f */ + {86,2,r,V,0,0}, /* any.f */ + {87,2,r,V,0,0}, /* parity.f */ + {0,0,0,0,0,0}, + {88,13,r,V,0,0}, /* max.b.f */ + {88,14,r,V,0,0}, /* max.h.f */ + {88,15,r,V,0,0}, /* max.w.f */ + {88,16,r,V,0,0}, /* max.l.f */ + {89,13,r,V,0,0}, /* min.b.f */ + {89,14,r,V,0,0}, /* min.h.f */ + {89,15,r,V,0,0}, /* min.w.f */ + {89,16,r,V,0,0}, /* min.l.f */ + {84,11,r,V,0,0}, /* sum.s.f */ + {84,12,r,V,0,0}, /* sum.d.f */ + {90,11,r,V,0,0}, /* prod.s.f */ + {90,12,r,V,0,0}, /* prod.d.f */ + {88,11,r,V,0,0}, /* max.s.f */ + {88,12,r,V,0,0}, /* max.d.f */ + {89,11,r,V,0,0}, /* min.s.f */ + {89,12,r,V,0,0}, /* min.d.f */ + {90,13,r,V,0,0}, /* prod.b.f */ + {90,14,r,V,0,0}, /* prod.h.f */ + {90,15,r,V,0,0}, /* prod.w.f */ + {90,16,r,V,0,0}, /* prod.l.f */ + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, +}; + +const struct formstr e1_format0[] = { + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {10,18,rrr,S,V,V}, /* sub.s.t */ + {10,19,rrr,S,V,V}, /* sub.d.t */ + {4,18,rrr,S,V,V}, /* div.s.t */ + {4,19,rrr,S,V,V}, /* div.d.t */ + {3,18,rrr,V,V,V}, /* mul.s.t */ + {3,19,rrr,V,V,V}, /* mul.d.t */ + {4,18,rrr,V,V,V}, /* div.s.t */ + {4,19,rrr,V,V,V}, /* div.d.t */ + {3,18,rrr,V,S,V}, /* mul.s.t */ + {3,19,rrr,V,S,V}, /* mul.d.t */ + {4,18,rrr,V,S,V}, /* div.s.t */ + {4,19,rrr,V,S,V}, /* div.d.t */ + {5,1,rrr,V,V,V}, /* and.t */ + {6,1,rrr,V,V,V}, /* or.t */ + {7,1,rrr,V,V,V}, /* xor.t */ + {8,1,rrr,V,V,V}, /* shf.t */ + {5,1,rrr,V,S,V}, /* and.t */ + {6,1,rrr,V,S,V}, /* or.t */ + {7,1,rrr,V,S,V}, /* xor.t */ + {8,1,rrr,V,S,V}, /* shf.t */ + {9,18,rrr,V,V,V}, /* add.s.t */ + {9,19,rrr,V,V,V}, /* add.d.t */ + {10,18,rrr,V,V,V}, /* sub.s.t */ + {10,19,rrr,V,V,V}, /* sub.d.t */ + {9,18,rrr,V,S,V}, /* add.s.t */ + {9,19,rrr,V,S,V}, /* add.d.t */ + {10,18,rrr,V,S,V}, /* sub.s.t */ + {10,19,rrr,V,S,V}, /* sub.d.t */ + {9,20,rrr,V,V,V}, /* add.b.t */ + {9,21,rrr,V,V,V}, /* add.h.t */ + {9,22,rrr,V,V,V}, /* add.w.t */ + {9,23,rrr,V,V,V}, /* add.l.t */ + {9,20,rrr,V,S,V}, /* add.b.t */ + {9,21,rrr,V,S,V}, /* add.h.t */ + {9,22,rrr,V,S,V}, /* add.w.t */ + {9,23,rrr,V,S,V}, /* add.l.t */ + {10,20,rrr,V,V,V}, /* sub.b.t */ + {10,21,rrr,V,V,V}, /* sub.h.t */ + {10,22,rrr,V,V,V}, /* sub.w.t */ + {10,23,rrr,V,V,V}, /* sub.l.t */ + {10,20,rrr,V,S,V}, /* sub.b.t */ + {10,21,rrr,V,S,V}, /* sub.h.t */ + {10,22,rrr,V,S,V}, /* sub.w.t */ + {10,23,rrr,V,S,V}, /* sub.l.t */ + {3,20,rrr,V,V,V}, /* mul.b.t */ + {3,21,rrr,V,V,V}, /* mul.h.t */ + {3,22,rrr,V,V,V}, /* mul.w.t */ + {3,23,rrr,V,V,V}, /* mul.l.t */ + {3,20,rrr,V,S,V}, /* mul.b.t */ + {3,21,rrr,V,S,V}, /* mul.h.t */ + {3,22,rrr,V,S,V}, /* mul.w.t */ + {3,23,rrr,V,S,V}, /* mul.l.t */ + {4,20,rrr,V,V,V}, /* div.b.t */ + {4,21,rrr,V,V,V}, /* div.h.t */ + {4,22,rrr,V,V,V}, /* div.w.t */ + {4,23,rrr,V,V,V}, /* div.l.t */ + {4,20,rrr,V,S,V}, /* div.b.t */ + {4,21,rrr,V,S,V}, /* div.h.t */ + {4,22,rrr,V,S,V}, /* div.w.t */ + {4,23,rrr,V,S,V}, /* div.l.t */ +}; + +const struct formstr e1_format1[] = { + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {26,20,a2r,S,0,0}, /* ste.b.t */ + {26,21,a2r,S,0,0}, /* ste.h.t */ + {26,22,a2r,S,0,0}, /* ste.w.t */ + {26,23,a2r,S,0,0}, /* ste.l.t */ + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {18,20,a1r,V,0,0}, /* ld.b.t */ + {18,21,a1r,V,0,0}, /* ld.h.t */ + {18,22,a1r,V,0,0}, /* ld.w.t */ + {18,23,a1r,V,0,0}, /* ld.l.t */ + {21,20,a2r,V,0,0}, /* st.b.t */ + {21,21,a2r,V,0,0}, /* st.h.t */ + {21,22,a2r,V,0,0}, /* st.w.t */ + {21,23,a2r,V,0,0}, /* st.l.t */ +}; + +const struct formstr e1_format2[] = { + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {28,20,rr,V,V,0}, /* cvtw.b.t */ + {28,21,rr,V,V,0}, /* cvtw.h.t */ + {29,22,rr,V,V,0}, /* cvtb.w.t */ + {30,22,rr,V,V,0}, /* cvth.w.t */ + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {31,23,rr,V,V,0}, /* cvts.l.t */ + {32,22,rr,V,V,0}, /* cvtd.w.t */ + {33,18,rr,V,V,0}, /* cvtl.s.t */ + {28,19,rr,V,V,0}, /* cvtw.d.t */ + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {116,18,rr,V,V,0}, /* frint.s.t */ + {116,19,rr,V,V,0}, /* frint.d.t */ + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {81,18,rr,V,V,0}, /* sqrt.s.t */ + {81,19,rr,V,V,0}, /* sqrt.d.t */ + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, +}; + +const struct formstr e1_format3[] = { + {32,18,rr,V,V,0}, /* cvtd.s.t */ + {31,19,rr,V,V,0}, /* cvts.d.t */ + {33,19,rr,V,V,0}, /* cvtl.d.t */ + {32,23,rr,V,V,0}, /* cvtd.l.t */ + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {36,1,rr,V,V,0}, /* tzc.t */ + {44,1,rr,V,V,0}, /* lop.t */ + {117,1,rr,V,V,0}, /* xpnd.t */ + {42,1,rr,V,V,0}, /* not.t */ + {8,1,rr,S,V,0}, /* shf.t */ + {35,24,rr,V,V,0}, /* plc.t.t */ + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {37,18,rr,V,V,0}, /* eq.s.t */ + {37,19,rr,V,V,0}, /* eq.d.t */ + {43,18,rr,V,V,0}, /* neg.s.t */ + {43,19,rr,V,V,0}, /* neg.d.t */ + {37,18,rr,S,V,0}, /* eq.s.t */ + {37,19,rr,S,V,0}, /* eq.d.t */ + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {40,18,rr,V,V,0}, /* le.s.t */ + {40,19,rr,V,V,0}, /* le.d.t */ + {41,18,rr,V,V,0}, /* lt.s.t */ + {41,19,rr,V,V,0}, /* lt.d.t */ + {40,18,rr,S,V,0}, /* le.s.t */ + {40,19,rr,S,V,0}, /* le.d.t */ + {41,18,rr,S,V,0}, /* lt.s.t */ + {41,19,rr,S,V,0}, /* lt.d.t */ + {37,20,rr,V,V,0}, /* eq.b.t */ + {37,21,rr,V,V,0}, /* eq.h.t */ + {37,22,rr,V,V,0}, /* eq.w.t */ + {37,23,rr,V,V,0}, /* eq.l.t */ + {37,20,rr,S,V,0}, /* eq.b.t */ + {37,21,rr,S,V,0}, /* eq.h.t */ + {37,22,rr,S,V,0}, /* eq.w.t */ + {37,23,rr,S,V,0}, /* eq.l.t */ + {40,20,rr,V,V,0}, /* le.b.t */ + {40,21,rr,V,V,0}, /* le.h.t */ + {40,22,rr,V,V,0}, /* le.w.t */ + {40,23,rr,V,V,0}, /* le.l.t */ + {40,20,rr,S,V,0}, /* le.b.t */ + {40,21,rr,S,V,0}, /* le.h.t */ + {40,22,rr,S,V,0}, /* le.w.t */ + {40,23,rr,S,V,0}, /* le.l.t */ + {41,20,rr,V,V,0}, /* lt.b.t */ + {41,21,rr,V,V,0}, /* lt.h.t */ + {41,22,rr,V,V,0}, /* lt.w.t */ + {41,23,rr,V,V,0}, /* lt.l.t */ + {41,20,rr,S,V,0}, /* lt.b.t */ + {41,21,rr,S,V,0}, /* lt.h.t */ + {41,22,rr,S,V,0}, /* lt.w.t */ + {41,23,rr,S,V,0}, /* lt.l.t */ + {43,20,rr,V,V,0}, /* neg.b.t */ + {43,21,rr,V,V,0}, /* neg.h.t */ + {43,22,rr,V,V,0}, /* neg.w.t */ + {43,23,rr,V,V,0}, /* neg.l.t */ + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, +}; + +const struct formstr e1_format4[] = { + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, +}; + +const struct formstr e1_format5[] = { + {51,20,rr,V,V,0}, /* ldvi.b.t */ + {51,21,rr,V,V,0}, /* ldvi.h.t */ + {51,22,rr,V,V,0}, /* ldvi.w.t */ + {51,23,rr,V,V,0}, /* ldvi.l.t */ + {28,18,rr,V,V,0}, /* cvtw.s.t */ + {31,22,rr,V,V,0}, /* cvts.w.t */ + {28,23,rr,V,V,0}, /* cvtw.l.t */ + {33,22,rr,V,V,0}, /* cvtl.w.t */ + {52,20,rxr,V,V,0}, /* stvi.b.t */ + {52,21,rxr,V,V,0}, /* stvi.h.t */ + {52,22,rxr,V,V,0}, /* stvi.w.t */ + {52,23,rxr,V,V,0}, /* stvi.l.t */ + {52,20,rxr,S,V,0}, /* stvi.b.t */ + {52,21,rxr,S,V,0}, /* stvi.h.t */ + {52,22,rxr,S,V,0}, /* stvi.w.t */ + {52,23,rxr,S,V,0}, /* stvi.l.t */ +}; + +const struct formstr e1_format6[] = { + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, +}; + +const struct formstr e1_format7[] = { + {84,20,r,V,0,0}, /* sum.b.t */ + {84,21,r,V,0,0}, /* sum.h.t */ + {84,22,r,V,0,0}, /* sum.w.t */ + {84,23,r,V,0,0}, /* sum.l.t */ + {85,1,r,V,0,0}, /* all.t */ + {86,1,r,V,0,0}, /* any.t */ + {87,1,r,V,0,0}, /* parity.t */ + {0,0,0,0,0,0}, + {88,20,r,V,0,0}, /* max.b.t */ + {88,21,r,V,0,0}, /* max.h.t */ + {88,22,r,V,0,0}, /* max.w.t */ + {88,23,r,V,0,0}, /* max.l.t */ + {89,20,r,V,0,0}, /* min.b.t */ + {89,21,r,V,0,0}, /* min.h.t */ + {89,22,r,V,0,0}, /* min.w.t */ + {89,23,r,V,0,0}, /* min.l.t */ + {84,18,r,V,0,0}, /* sum.s.t */ + {84,19,r,V,0,0}, /* sum.d.t */ + {90,18,r,V,0,0}, /* prod.s.t */ + {90,19,r,V,0,0}, /* prod.d.t */ + {88,18,r,V,0,0}, /* max.s.t */ + {88,19,r,V,0,0}, /* max.d.t */ + {89,18,r,V,0,0}, /* min.s.t */ + {89,19,r,V,0,0}, /* min.d.t */ + {90,20,r,V,0,0}, /* prod.b.t */ + {90,21,r,V,0,0}, /* prod.h.t */ + {90,22,r,V,0,0}, /* prod.w.t */ + {90,23,r,V,0,0}, /* prod.l.t */ + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, + {0,0,0,0,0,0}, +}; + +char *lop[] = { + "mov", /* 0 */ + "merg", /* 1 */ + "mask", /* 2 */ + "mul", /* 3 */ + "div", /* 4 */ + "and", /* 5 */ + "or", /* 6 */ + "xor", /* 7 */ + "shf", /* 8 */ + "add", /* 9 */ + "sub", /* 10 */ + "exit", /* 11 */ + "jmp", /* 12 */ + "jmpi", /* 13 */ + "jmpa", /* 14 */ + "jmps", /* 15 */ + "tac", /* 16 */ + "ldea", /* 17 */ + "ld", /* 18 */ + "tas", /* 19 */ + "pshea", /* 20 */ + "st", /* 21 */ + "call", /* 22 */ + "calls", /* 23 */ + "callq", /* 24 */ + "pfork", /* 25 */ + "ste", /* 26 */ + "incr", /* 27 */ + "cvtw", /* 28 */ + "cvtb", /* 29 */ + "cvth", /* 30 */ + "cvts", /* 31 */ + "cvtd", /* 32 */ + "cvtl", /* 33 */ + "ldpa", /* 34 */ + "plc", /* 35 */ + "tzc", /* 36 */ + "eq", /* 37 */ + "leu", /* 38 */ + "ltu", /* 39 */ + "le", /* 40 */ + "lt", /* 41 */ + "not", /* 42 */ + "neg", /* 43 */ + "lop", /* 44 */ + "cprs", /* 45 */ + "nop", /* 46 */ + "br", /* 47 */ + "bri", /* 48 */ + "bra", /* 49 */ + "brs", /* 50 */ + "ldvi", /* 51 */ + "stvi", /* 52 */ + "ldsdr", /* 53 */ + "ldkdr", /* 54 */ + "ln", /* 55 */ + "patu", /* 56 */ + "pate", /* 57 */ + "pich", /* 58 */ + "plch", /* 59 */ + "idle", /* 60 */ + "rtnq", /* 61 */ + "cfork", /* 62 */ + "rtn", /* 63 */ + "wfork", /* 64 */ + "join", /* 65 */ + "rtnc", /* 66 */ + "exp", /* 67 */ + "sin", /* 68 */ + "cos", /* 69 */ + "psh", /* 70 */ + "pop", /* 71 */ + "eni", /* 72 */ + "dsi", /* 73 */ + "bkpt", /* 74 */ + "msync", /* 75 */ + "mski", /* 76 */ + "xmti", /* 77 */ + "tstvv", /* 78 */ + "diag", /* 79 */ + "pbkpt", /* 80 */ + "sqrt", /* 81 */ + "casr", /* 82 */ + "atan", /* 83 */ + "sum", /* 84 */ + "all", /* 85 */ + "any", /* 86 */ + "parity", /* 87 */ + "max", /* 88 */ + "min", /* 89 */ + "prod", /* 90 */ + "halt", /* 91 */ + "sysc", /* 92 */ + "trap", /* 93 */ + "tst", /* 94 */ + "lck", /* 95 */ + "ulk", /* 96 */ + "spawn", /* 97 */ + "ldcmr", /* 98 */ + "stcmr", /* 99 */ + "popr", /* 100 */ + "pshr", /* 101 */ + "rcvr", /* 102 */ + "matm", /* 103 */ + "sndr", /* 104 */ + "putr", /* 105 */ + "getr", /* 106 */ + "matr", /* 107 */ + "mat", /* 108 */ + "get", /* 109 */ + "rcv", /* 110 */ + "inc", /* 111 */ + "put", /* 112 */ + "snd", /* 113 */ + "enal", /* 114 */ + "enag", /* 115 */ + "frint", /* 116 */ + "xpnd", /* 117 */ + "ctrsl", /* 118 */ + "ctrsg", /* 119 */ + "stop", /* 120 */ +}; + +char *rop[] = { + "", /* 0 */ + ".t", /* 1 */ + ".f", /* 2 */ + ".s", /* 3 */ + ".d", /* 4 */ + ".b", /* 5 */ + ".h", /* 6 */ + ".w", /* 7 */ + ".l", /* 8 */ + ".x", /* 9 */ + ".u", /* 10 */ + ".s.f", /* 11 */ + ".d.f", /* 12 */ + ".b.f", /* 13 */ + ".h.f", /* 14 */ + ".w.f", /* 15 */ + ".l.f", /* 16 */ + ".t.f", /* 17 */ + ".s.t", /* 18 */ + ".d.t", /* 19 */ + ".b.t", /* 20 */ + ".h.t", /* 21 */ + ".w.t", /* 22 */ + ".l.t", /* 23 */ + ".t.t", /* 24 */ +}; diff --git a/contrib/binutils/include/opcode/i386.h b/contrib/binutils/include/opcode/i386.h index 71c204c..5e3673e 100644 --- a/contrib/binutils/include/opcode/i386.h +++ b/contrib/binutils/include/opcode/i386.h @@ -1,6 +1,6 @@ /* opcode/i386.h -- Intel 80386 opcode table Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - 2000, 2001 + 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler, and GDB, the GNU Debugger. @@ -896,8 +896,8 @@ static const template i386_optab[] = { {"cmpxchg8b",1,0x0fc7, 1, Cpu586, NoSuf|Modrm, { LLongMem, 0, 0} }, /* Pentium II/Pentium Pro extensions. */ -{"sysenter",0, 0x0f34, X, Cpu686|CpuNo64, NoSuf, { 0, 0, 0} }, -{"sysexit", 0, 0x0f35, X, Cpu686|CpuNo64, NoSuf, { 0, 0, 0} }, +{"sysenter",0, 0x0f34, X, Cpu686, NoSuf, { 0, 0, 0} }, +{"sysexit", 0, 0x0f35, X, Cpu686, NoSuf, { 0, 0, 0} }, {"fxsave", 1, 0x0fae, 0, Cpu686, FP|Modrm, { LLongMem, 0, 0} }, {"fxrstor", 1, 0x0fae, 1, Cpu686, FP|Modrm, { LLongMem, 0, 0} }, {"rdpmc", 0, 0x0f33, X, Cpu686, NoSuf, { 0, 0, 0} }, @@ -1302,6 +1302,30 @@ static const template i386_optab[] = { {"punpckhqdq",2, 0x660f6d, X, CpuSSE2, FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, {"punpcklqdq",2, 0x660f6c, X, CpuSSE2, FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, +/* Prescott New Instructions. */ + +{"addsubpd", 2, 0x660fd0, X, CpuPNI, FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, +{"addsubps", 2, 0xf20fd0, X, CpuPNI, FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, +{"fisttp", 1, 0xdf, 1, CpuPNI, sl_FP|FloatMF|Modrm, { ShortMem|LongMem, 0, 0} }, +/* Intel Syntax */ +{"fisttpd", 1, 0xdd, 1, CpuPNI, FP|Modrm, { LLongMem, 0, 0} }, +{"fisttpq", 1, 0xdd, 1, CpuPNI, FP|Modrm, { LLongMem, 0, 0} }, +{"fisttpll", 1, 0xdd, 1, CpuPNI, FP|Modrm, { LLongMem, 0, 0} }, +{"haddpd", 2, 0x660f7c, X, CpuPNI, FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, +{"haddps", 2, 0xf20f7c, X, CpuPNI, FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, +{"hsubpd", 2, 0x660f7d, X, CpuPNI, FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, +{"hsubps", 2, 0xf20f7d, X, CpuPNI, FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, +{"lddqu", 2, 0xf20ff0, X, CpuPNI, FP|Modrm, { LLongMem, RegXMM, 0 } }, +{"monitor", 0, 0x0f01, 0xc8, CpuPNI, FP|ImmExt, { 0, 0, 0} }, +/* Need to ensure only "monitor %eax,%ecx,%edx" is accepted. */ +{"monitor", 3, 0x0f01, 0xc8, CpuPNI, FP|ImmExt, { Reg32, Reg32, Reg32} }, +{"movddup", 2, 0xf20f12, X, CpuPNI, FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, +{"movshdup", 2, 0xf30f16, X, CpuPNI, FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, +{"movsldup", 2, 0xf30f12, X, CpuPNI, FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, +{"mwait", 0, 0x0f01, 0xc9, CpuPNI, FP|ImmExt, { 0, 0, 0} }, +/* Need to ensure only "mwait %eax,%ecx" is accepted. */ +{"mwait", 2, 0x0f01, 0xc9, CpuPNI, FP|ImmExt, { Reg32, Reg32, 0} }, + /* AMD 3DNow! instructions. */ {"prefetch", 1, 0x0f0d, 0, Cpu3dnow, FP|Modrm, { ByteMem, 0, 0 } }, @@ -1337,6 +1361,15 @@ static const template i386_optab[] = { {"sysret", 0, 0x0f07, X, CpuK6, lq_Suf|DefaultSize, { 0, 0, 0} }, {"swapgs", 0, 0x0f01, 0xf8, Cpu64, NoSuf|ImmExt, { 0, 0, 0} }, +/* VIA PadLock extensions. */ +{"xstorerng", 0, 0x0fa7c0, X, Cpu686|CpuPadLock, NoSuf|IsString, { 0, 0, 0} }, +{"xcryptecb", 0, 0xf30fa7c8, X, Cpu686|CpuPadLock, NoSuf|IsString, { 0, 0, 0} }, +{"xcryptcbc", 0, 0xf30fa7d0, X, Cpu686|CpuPadLock, NoSuf|IsString, { 0, 0, 0} }, +{"xcryptcfb", 0, 0xf30fa7e0, X, Cpu686|CpuPadLock, NoSuf|IsString, { 0, 0, 0} }, +{"xcryptofb", 0, 0xf30fa7e8, X, Cpu686|CpuPadLock, NoSuf|IsString, { 0, 0, 0} }, +/* alias for xstorerng */ +{"xstore", 0, 0x0fa7c0, X, Cpu686|CpuPadLock, NoSuf|IsString, { 0, 0, 0} }, + /* sentinel */ {NULL, 0, 0, 0, 0, 0, { 0, 0, 0} } }; diff --git a/contrib/binutils/include/opcode/ia64.h b/contrib/binutils/include/opcode/ia64.h index d4e6d10..0d33fc6 100644 --- a/contrib/binutils/include/opcode/ia64.h +++ b/contrib/binutils/include/opcode/ia64.h @@ -1,7 +1,6 @@ /* ia64.h -- Header file for ia64 opcode table - Copyright (C) 1998, 1999, 2002 David Mosberger-Tang <davidm@hpl.hp.com> - - See the file HP-COPYRIGHT for additional information. */ + Copyright (C) 1998, 1999, 2002 Free Software Foundation, Inc. + Contributed by David Mosberger-Tang <davidm@hpl.hp.com> */ #ifndef opcode_ia64_h #define opcode_ia64_h @@ -39,13 +38,14 @@ enum ia64_unit }; /* Changes to this enumeration must be propagated to the operand table in - bfd/cpu-ia64-opc.c - */ + bfd/cpu-ia64-opc.c + */ enum ia64_opnd { IA64_OPND_NIL, /* no operand---MUST BE FIRST!*/ /* constants */ + IA64_OPND_AR_CSD, /* application register csd (ar.csd) */ IA64_OPND_AR_CCV, /* application register ccv (ar.ccv) */ IA64_OPND_AR_PFS, /* application register pfs (ar.pfs) */ IA64_OPND_C1, /* the constant 1 */ @@ -133,6 +133,7 @@ enum ia64_opnd IA64_OPND_TGT25b, /* signed 25-bit (ip + 16*bits 6-12, 20-32, 36) */ IA64_OPND_TGT25c, /* signed 25-bit (ip + 16*bits 13-32, 36) */ IA64_OPND_TGT64, /* 64-bit (ip + 16*bits 13-32, 36, 2-40(L)) */ + IA64_OPND_LDXMOV, /* any symbol, generates R_IA64_LDXMOV. */ IA64_OPND_COUNT /* # of operand types (MUST BE LAST!) */ }; @@ -287,7 +288,7 @@ struct ia64_opcode /* Used by ia64_find_next_opcode (). */ short ent_index; - /* Opcode dependencies. */ + /* Opcode dependencies. */ const struct ia64_opcode_dependency *dependencies; }; diff --git a/contrib/binutils/include/opcode/np1.h b/contrib/binutils/include/opcode/np1.h new file mode 100644 index 0000000..c3f7e29 --- /dev/null +++ b/contrib/binutils/include/opcode/np1.h @@ -0,0 +1,422 @@ +/* Print GOULD NPL instructions for GDB, the GNU debugger. + Copyright 1986, 1987, 1989, 1991 Free Software Foundation, Inc. + +This file is part of GDB. + +GDB 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 1, or (at your option) +any later version. + +GDB 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 GDB; see the file COPYING. If not, write to +the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +struct gld_opcode +{ + char *name; + unsigned long opcode; + unsigned long mask; + char *args; + int length; +}; + +/* We store four bytes of opcode for all opcodes because that + is the most any of them need. The actual length of an instruction + is always at least 2 bytes, and at most four. The length of the + instruction is based on the opcode. + + The mask component is a mask saying which bits must match + particular opcode in order for an instruction to be an instance + of that opcode. + + The args component is a string containing characters + that are used to format the arguments to the instruction. */ + +/* Kinds of operands: + r Register in first field + R Register in second field + b Base register in first field + B Base register in second field + v Vector register in first field + V Vector register in first field + A Optional address register (base register) + X Optional index register + I Immediate data (16bits signed) + O Offset field (16bits signed) + h Offset field (15bits signed) + d Offset field (14bits signed) + S Shift count field + + any other characters are printed as is... +*/ + +/* The assembler requires that this array be sorted as follows: + all instances of the same mnemonic must be consecutive. + All instances of the same mnemonic with the same number of operands + must be consecutive. + */ +struct gld_opcode gld_opcodes[] = +{ +{ "lb", 0xb4080000, 0xfc080000, "r,xOA,X", 4 }, +{ "lnb", 0xb8080000, 0xfc080000, "r,xOA,X", 4 }, +{ "lbs", 0xec080000, 0xfc080000, "r,xOA,X", 4 }, +{ "lh", 0xb4000001, 0xfc080001, "r,xOA,X", 4 }, +{ "lnh", 0xb8000001, 0xfc080001, "r,xOA,X", 4 }, +{ "lw", 0xb4000000, 0xfc080000, "r,xOA,X", 4 }, +{ "lnw", 0xb8000000, 0xfc080000, "r,xOA,X", 4 }, +{ "ld", 0xb4000002, 0xfc080002, "r,xOA,X", 4 }, +{ "lnd", 0xb8000002, 0xfc080002, "r,xOA,X", 4 }, +{ "li", 0xf8000000, 0xfc7f0000, "r,I", 4 }, +{ "lpa", 0x50080000, 0xfc080000, "r,xOA,X", 4 }, +{ "la", 0x50000000, 0xfc080000, "r,xOA,X", 4 }, +{ "labr", 0x58080000, 0xfc080000, "b,xOA,X", 4 }, +{ "lbp", 0x90080000, 0xfc080000, "r,xOA,X", 4 }, +{ "lhp", 0x90000001, 0xfc080001, "r,xOA,X", 4 }, +{ "lwp", 0x90000000, 0xfc080000, "r,xOA,X", 4 }, +{ "ldp", 0x90000002, 0xfc080002, "r,xOA,X", 4 }, +{ "suabr", 0x58000000, 0xfc080000, "b,xOA,X", 4 }, +{ "lf", 0xbc000000, 0xfc080000, "r,xOA,X", 4 }, +{ "lfbr", 0xbc080000, 0xfc080000, "b,xOA,X", 4 }, +{ "lwbr", 0x5c000000, 0xfc080000, "b,xOA,X", 4 }, +{ "stb", 0xd4080000, 0xfc080000, "r,xOA,X", 4 }, +{ "sth", 0xd4000001, 0xfc080001, "r,xOA,X", 4 }, +{ "stw", 0xd4000000, 0xfc080000, "r,xOA,X", 4 }, +{ "std", 0xd4000002, 0xfc080002, "r,xOA,X", 4 }, +{ "stf", 0xdc000000, 0xfc080000, "r,xOA,X", 4 }, +{ "stfbr", 0xdc080000, 0xfc080000, "b,xOA,X", 4 }, +{ "stwbr", 0x54000000, 0xfc080000, "b,xOA,X", 4 }, +{ "zmb", 0xd8080000, 0xfc080000, "r,xOA,X", 4 }, +{ "zmh", 0xd8000001, 0xfc080001, "r,xOA,X", 4 }, +{ "zmw", 0xd8000000, 0xfc080000, "r,xOA,X", 4 }, +{ "zmd", 0xd8000002, 0xfc080002, "r,xOA,X", 4 }, +{ "stbp", 0x94080000, 0xfc080000, "r,xOA,X", 4 }, +{ "sthp", 0x94000001, 0xfc080001, "r,xOA,X", 4 }, +{ "stwp", 0x94000000, 0xfc080000, "r,xOA,X", 4 }, +{ "stdp", 0x94000002, 0xfc080002, "r,xOA,X", 4 }, +{ "lil", 0xf80b0000, 0xfc7f0000, "r,D", 4 }, +{ "lwsl1", 0xec000000, 0xfc080000, "r,xOA,X", 4 }, +{ "lwsl2", 0xfc000000, 0xfc080000, "r,xOA,X", 4 }, +{ "lwsl3", 0xfc080000, 0xfc080000, "r,xOA,X", 4 }, + +{ "lvb", 0xb0080000, 0xfc080000, "v,xOA,X", 4 }, +{ "lvh", 0xb0000001, 0xfc080001, "v,xOA,X", 4 }, +{ "lvw", 0xb0000000, 0xfc080000, "v,xOA,X", 4 }, +{ "lvd", 0xb0000002, 0xfc080002, "v,xOA,X", 4 }, +{ "liv", 0x3c040000, 0xfc0f0000, "v,R", 2 }, +{ "livf", 0x3c080000, 0xfc0f0000, "v,R", 2 }, +{ "stvb", 0xd0080000, 0xfc080000, "v,xOA,X", 4 }, +{ "stvh", 0xd0000001, 0xfc080001, "v,xOA,X", 4 }, +{ "stvw", 0xd0000000, 0xfc080000, "v,xOA,X", 4 }, +{ "stvd", 0xd0000002, 0xfc080002, "v,xOA,X", 4 }, + +{ "trr", 0x2c000000, 0xfc0f0000, "r,R", 2 }, +{ "trn", 0x2c040000, 0xfc0f0000, "r,R", 2 }, +{ "trnd", 0x2c0c0000, 0xfc0f0000, "r,R", 2 }, +{ "trabs", 0x2c010000, 0xfc0f0000, "r,R", 2 }, +{ "trabsd", 0x2c090000, 0xfc0f0000, "r,R", 2 }, +{ "trc", 0x2c030000, 0xfc0f0000, "r,R", 2 }, +{ "xcr", 0x28040000, 0xfc0f0000, "r,R", 2 }, +{ "cxcr", 0x2c060000, 0xfc0f0000, "r,R", 2 }, +{ "cxcrd", 0x2c0e0000, 0xfc0f0000, "r,R", 2 }, +{ "tbrr", 0x2c020000, 0xfc0f0000, "r,B", 2 }, +{ "trbr", 0x28030000, 0xfc0f0000, "b,R", 2 }, +{ "xcbr", 0x28020000, 0xfc0f0000, "b,B", 2 }, +{ "tbrbr", 0x28010000, 0xfc0f0000, "b,B", 2 }, + +{ "trvv", 0x28050000, 0xfc0f0000, "v,V", 2 }, +{ "trvvn", 0x2c050000, 0xfc0f0000, "v,V", 2 }, +{ "trvvnd", 0x2c0d0000, 0xfc0f0000, "v,V", 2 }, +{ "trvab", 0x2c070000, 0xfc0f0000, "v,V", 2 }, +{ "trvabd", 0x2c0f0000, 0xfc0f0000, "v,V", 2 }, +{ "cmpv", 0x14060000, 0xfc0f0000, "v,V", 2 }, +{ "expv", 0x14070000, 0xfc0f0000, "v,V", 2 }, +{ "mrvvlt", 0x10030000, 0xfc0f0000, "v,V", 2 }, +{ "mrvvle", 0x10040000, 0xfc0f0000, "v,V", 2 }, +{ "mrvvgt", 0x14030000, 0xfc0f0000, "v,V", 2 }, +{ "mrvvge", 0x14040000, 0xfc0f0000, "v,V", 2 }, +{ "mrvveq", 0x10050000, 0xfc0f0000, "v,V", 2 }, +{ "mrvvne", 0x10050000, 0xfc0f0000, "v,V", 2 }, +{ "mrvrlt", 0x100d0000, 0xfc0f0000, "v,R", 2 }, +{ "mrvrle", 0x100e0000, 0xfc0f0000, "v,R", 2 }, +{ "mrvrgt", 0x140d0000, 0xfc0f0000, "v,R", 2 }, +{ "mrvrge", 0x140e0000, 0xfc0f0000, "v,R", 2 }, +{ "mrvreq", 0x100f0000, 0xfc0f0000, "v,R", 2 }, +{ "mrvrne", 0x140f0000, 0xfc0f0000, "v,R", 2 }, +{ "trvr", 0x140b0000, 0xfc0f0000, "r,V", 2 }, +{ "trrv", 0x140c0000, 0xfc0f0000, "v,R", 2 }, + +{ "bu", 0x40000000, 0xff880000, "xOA,X", 4 }, +{ "bns", 0x70080000, 0xff880000, "xOA,X", 4 }, +{ "bnco", 0x70880000, 0xff880000, "xOA,X", 4 }, +{ "bge", 0x71080000, 0xff880000, "xOA,X", 4 }, +{ "bne", 0x71880000, 0xff880000, "xOA,X", 4 }, +{ "bunge", 0x72080000, 0xff880000, "xOA,X", 4 }, +{ "bunle", 0x72880000, 0xff880000, "xOA,X", 4 }, +{ "bgt", 0x73080000, 0xff880000, "xOA,X", 4 }, +{ "bnany", 0x73880000, 0xff880000, "xOA,X", 4 }, +{ "bs" , 0x70000000, 0xff880000, "xOA,X", 4 }, +{ "bco", 0x70800000, 0xff880000, "xOA,X", 4 }, +{ "blt", 0x71000000, 0xff880000, "xOA,X", 4 }, +{ "beq", 0x71800000, 0xff880000, "xOA,X", 4 }, +{ "buge", 0x72000000, 0xff880000, "xOA,X", 4 }, +{ "bult", 0x72800000, 0xff880000, "xOA,X", 4 }, +{ "ble", 0x73000000, 0xff880000, "xOA,X", 4 }, +{ "bany", 0x73800000, 0xff880000, "xOA,X", 4 }, +{ "brlnk", 0x44000000, 0xfc080000, "r,xOA,X", 4 }, +{ "bib", 0x48000000, 0xfc080000, "r,xOA,X", 4 }, +{ "bih", 0x48080000, 0xfc080000, "r,xOA,X", 4 }, +{ "biw", 0x4c000000, 0xfc080000, "r,xOA,X", 4 }, +{ "bid", 0x4c080000, 0xfc080000, "r,xOA,X", 4 }, +{ "bivb", 0x60000000, 0xfc080000, "r,xOA,X", 4 }, +{ "bivh", 0x60080000, 0xfc080000, "r,xOA,X", 4 }, +{ "bivw", 0x64000000, 0xfc080000, "r,xOA,X", 4 }, +{ "bivd", 0x64080000, 0xfc080000, "r,xOA,X", 4 }, +{ "bvsb", 0x68000000, 0xfc080000, "r,xOA,X", 4 }, +{ "bvsh", 0x68080000, 0xfc080000, "r,xOA,X", 4 }, +{ "bvsw", 0x6c000000, 0xfc080000, "r,xOA,X", 4 }, +{ "bvsd", 0x6c080000, 0xfc080000, "r,xOA,X", 4 }, + +{ "camb", 0x80080000, 0xfc080000, "r,xOA,X", 4 }, +{ "camh", 0x80000001, 0xfc080001, "r,xOA,X", 4 }, +{ "camw", 0x80000000, 0xfc080000, "r,xOA,X", 4 }, +{ "camd", 0x80000002, 0xfc080002, "r,xOA,X", 4 }, +{ "car", 0x10000000, 0xfc0f0000, "r,R", 2 }, +{ "card", 0x14000000, 0xfc0f0000, "r,R", 2 }, +{ "ci", 0xf8050000, 0xfc7f0000, "r,I", 4 }, +{ "chkbnd", 0x5c080000, 0xfc080000, "r,xOA,X", 4 }, + +{ "cavv", 0x10010000, 0xfc0f0000, "v,V", 2 }, +{ "cavr", 0x10020000, 0xfc0f0000, "v,R", 2 }, +{ "cavvd", 0x10090000, 0xfc0f0000, "v,V", 2 }, +{ "cavrd", 0x100b0000, 0xfc0f0000, "v,R", 2 }, + +{ "anmb", 0x84080000, 0xfc080000, "r,xOA,X", 4 }, +{ "anmh", 0x84000001, 0xfc080001, "r,xOA,X", 4 }, +{ "anmw", 0x84000000, 0xfc080000, "r,xOA,X", 4 }, +{ "anmd", 0x84000002, 0xfc080002, "r,xOA,X", 4 }, +{ "anr", 0x04000000, 0xfc0f0000, "r,R", 2 }, +{ "ani", 0xf8080000, 0xfc7f0000, "r,I", 4 }, +{ "ormb", 0xb8080000, 0xfc080000, "r,xOA,X", 4 }, +{ "ormh", 0xb8000001, 0xfc080001, "r,xOA,X", 4 }, +{ "ormw", 0xb8000000, 0xfc080000, "r,xOA,X", 4 }, +{ "ormd", 0xb8000002, 0xfc080002, "r,xOA,X", 4 }, +{ "orr", 0x08000000, 0xfc0f0000, "r,R", 2 }, +{ "oi", 0xf8090000, 0xfc7f0000, "r,I", 4 }, +{ "eomb", 0x8c080000, 0xfc080000, "r,xOA,X", 4 }, +{ "eomh", 0x8c000001, 0xfc080001, "r,xOA,X", 4 }, +{ "eomw", 0x8c000000, 0xfc080000, "r,xOA,X", 4 }, +{ "eomd", 0x8c000002, 0xfc080002, "r,xOA,X", 4 }, +{ "eor", 0x0c000000, 0xfc0f0000, "r,R", 2 }, +{ "eoi", 0xf80a0000, 0xfc7f0000, "r,I", 4 }, + +{ "anvv", 0x04010000, 0xfc0f0000, "v,V", 2 }, +{ "anvr", 0x04020000, 0xfc0f0000, "v,R", 2 }, +{ "orvv", 0x08010000, 0xfc0f0000, "v,V", 2 }, +{ "orvr", 0x08020000, 0xfc0f0000, "v,R", 2 }, +{ "eovv", 0x0c010000, 0xfc0f0000, "v,V", 2 }, +{ "eovr", 0x0c020000, 0xfc0f0000, "v,R", 2 }, + +{ "sacz", 0x100c0000, 0xfc0f0000, "r,R", 2 }, +{ "sla", 0x1c400000, 0xfc600000, "r,S", 2 }, +{ "sll", 0x1c600000, 0xfc600000, "r,S", 2 }, +{ "slc", 0x24400000, 0xfc600000, "r,S", 2 }, +{ "slad", 0x20400000, 0xfc600000, "r,S", 2 }, +{ "slld", 0x20600000, 0xfc600000, "r,S", 2 }, +{ "sra", 0x1c000000, 0xfc600000, "r,S", 2 }, +{ "srl", 0x1c200000, 0xfc600000, "r,S", 2 }, +{ "src", 0x24000000, 0xfc600000, "r,S", 2 }, +{ "srad", 0x20000000, 0xfc600000, "r,S", 2 }, +{ "srld", 0x20200000, 0xfc600000, "r,S", 2 }, +{ "sda", 0x3c030000, 0xfc0f0000, "r,R", 2 }, +{ "sdl", 0x3c020000, 0xfc0f0000, "r,R", 2 }, +{ "sdc", 0x3c010000, 0xfc0f0000, "r,R", 2 }, +{ "sdad", 0x3c0b0000, 0xfc0f0000, "r,R", 2 }, +{ "sdld", 0x3c0a0000, 0xfc0f0000, "r,R", 2 }, + +{ "svda", 0x3c070000, 0xfc0f0000, "v,R", 2 }, +{ "svdl", 0x3c060000, 0xfc0f0000, "v,R", 2 }, +{ "svdc", 0x3c050000, 0xfc0f0000, "v,R", 2 }, +{ "svdad", 0x3c0e0000, 0xfc0f0000, "v,R", 2 }, +{ "svdld", 0x3c0d0000, 0xfc0f0000, "v,R", 2 }, + +{ "sbm", 0xac080000, 0xfc080000, "f,xOA,X", 4 }, +{ "zbm", 0xac000000, 0xfc080000, "f,xOA,X", 4 }, +{ "tbm", 0xa8080000, 0xfc080000, "f,xOA,X", 4 }, +{ "incmb", 0xa0000000, 0xfc080000, "xOA,X", 4 }, +{ "incmh", 0xa0080000, 0xfc080000, "xOA,X", 4 }, +{ "incmw", 0xa4000000, 0xfc080000, "xOA,X", 4 }, +{ "incmd", 0xa4080000, 0xfc080000, "xOA,X", 4 }, +{ "sbmd", 0x7c080000, 0xfc080000, "r,xOA,X", 4 }, +{ "zbmd", 0x7c000000, 0xfc080000, "r,xOA,X", 4 }, +{ "tbmd", 0x78080000, 0xfc080000, "r,xOA,X", 4 }, + +{ "ssm", 0x9c080000, 0xfc080000, "f,xOA,X", 4 }, +{ "zsm", 0x9c000000, 0xfc080000, "f,xOA,X", 4 }, +{ "tsm", 0x98080000, 0xfc080000, "f,xOA,X", 4 }, + +{ "admb", 0xc8080000, 0xfc080000, "r,xOA,X", 4 }, +{ "admh", 0xc8000001, 0xfc080001, "r,xOA,X", 4 }, +{ "admw", 0xc8000000, 0xfc080000, "r,xOA,X", 4 }, +{ "admd", 0xc8000002, 0xfc080002, "r,xOA,X", 4 }, +{ "adr", 0x38000000, 0xfc0f0000, "r,R", 2 }, +{ "armb", 0xe8080000, 0xfc080000, "r,xOA,X", 4 }, +{ "armh", 0xe8000001, 0xfc080001, "r,xOA,X", 4 }, +{ "armw", 0xe8000000, 0xfc080000, "r,xOA,X", 4 }, +{ "armd", 0xe8000002, 0xfc080002, "r,xOA,X", 4 }, +{ "adi", 0xf8010000, 0xfc0f0000, "r,I", 4 }, +{ "sumb", 0xcc080000, 0xfc080000, "r,xOA,X", 4 }, +{ "sumh", 0xcc000001, 0xfc080001, "r,xOA,X", 4 }, +{ "sumw", 0xcc000000, 0xfc080000, "r,xOA,X", 4 }, +{ "sumd", 0xcc000002, 0xfc080002, "r,xOA,X", 4 }, +{ "sur", 0x3c000000, 0xfc0f0000, "r,R", 2 }, +{ "sui", 0xf8020000, 0xfc0f0000, "r,I", 4 }, +{ "mpmb", 0xc0080000, 0xfc080000, "r,xOA,X", 4 }, +{ "mpmh", 0xc0000001, 0xfc080001, "r,xOA,X", 4 }, +{ "mpmw", 0xc0000000, 0xfc080000, "r,xOA,X", 4 }, +{ "mpr", 0x38020000, 0xfc0f0000, "r,R", 2 }, +{ "mprd", 0x3c0f0000, 0xfc0f0000, "r,R", 2 }, +{ "mpi", 0xf8030000, 0xfc0f0000, "r,I", 4 }, +{ "dvmb", 0xc4080000, 0xfc080000, "r,xOA,X", 4 }, +{ "dvmh", 0xc4000001, 0xfc080001, "r,xOA,X", 4 }, +{ "dvmw", 0xc4000000, 0xfc080000, "r,xOA,X", 4 }, +{ "dvr", 0x380a0000, 0xfc0f0000, "r,R", 2 }, +{ "dvi", 0xf8040000, 0xfc0f0000, "r,I", 4 }, +{ "exs", 0x38080000, 0xfc0f0000, "r,R", 2 }, + +{ "advv", 0x30000000, 0xfc0f0000, "v,V", 2 }, +{ "advvd", 0x30080000, 0xfc0f0000, "v,V", 2 }, +{ "adrv", 0x34000000, 0xfc0f0000, "v,R", 2 }, +{ "adrvd", 0x34080000, 0xfc0f0000, "v,R", 2 }, +{ "suvv", 0x30010000, 0xfc0f0000, "v,V", 2 }, +{ "suvvd", 0x30090000, 0xfc0f0000, "v,V", 2 }, +{ "surv", 0x34010000, 0xfc0f0000, "v,R", 2 }, +{ "survd", 0x34090000, 0xfc0f0000, "v,R", 2 }, +{ "mpvv", 0x30020000, 0xfc0f0000, "v,V", 2 }, +{ "mprv", 0x34020000, 0xfc0f0000, "v,R", 2 }, + +{ "adfw", 0xe0080000, 0xfc080000, "r,xOA,X", 4 }, +{ "adfd", 0xe0080002, 0xfc080002, "r,xOA,X", 4 }, +{ "adrfw", 0x38010000, 0xfc0f0000, "r,R", 2 }, +{ "adrfd", 0x38090000, 0xfc0f0000, "r,R", 2 }, +{ "surfw", 0xe0000000, 0xfc080000, "r,xOA,X", 4 }, +{ "surfd", 0xe0000002, 0xfc080002, "r,xOA,X", 4 }, +{ "surfw", 0x38030000, 0xfc0f0000, "r,R", 2 }, +{ "surfd", 0x380b0000, 0xfc0f0000, "r,R", 2 }, +{ "mpfw", 0xe4080000, 0xfc080000, "r,xOA,X", 4 }, +{ "mpfd", 0xe4080002, 0xfc080002, "r,xOA,X", 4 }, +{ "mprfw", 0x38060000, 0xfc0f0000, "r,R", 2 }, +{ "mprfd", 0x380e0000, 0xfc0f0000, "r,R", 2 }, +{ "rfw", 0xe4000000, 0xfc080000, "r,xOA,X", 4 }, +{ "rfd", 0xe4000002, 0xfc080002, "r,xOA,X", 4 }, +{ "rrfw", 0x0c0e0000, 0xfc0f0000, "r", 2 }, +{ "rrfd", 0x0c0f0000, 0xfc0f0000, "r", 2 }, + +{ "advvfw", 0x30040000, 0xfc0f0000, "v,V", 2 }, +{ "advvfd", 0x300c0000, 0xfc0f0000, "v,V", 2 }, +{ "adrvfw", 0x34040000, 0xfc0f0000, "v,R", 2 }, +{ "adrvfd", 0x340c0000, 0xfc0f0000, "v,R", 2 }, +{ "suvvfw", 0x30050000, 0xfc0f0000, "v,V", 2 }, +{ "suvvfd", 0x300d0000, 0xfc0f0000, "v,V", 2 }, +{ "survfw", 0x34050000, 0xfc0f0000, "v,R", 2 }, +{ "survfd", 0x340d0000, 0xfc0f0000, "v,R", 2 }, +{ "mpvvfw", 0x30060000, 0xfc0f0000, "v,V", 2 }, +{ "mpvvfd", 0x300e0000, 0xfc0f0000, "v,V", 2 }, +{ "mprvfw", 0x34060000, 0xfc0f0000, "v,R", 2 }, +{ "mprvfd", 0x340e0000, 0xfc0f0000, "v,R", 2 }, +{ "rvfw", 0x30070000, 0xfc0f0000, "v", 2 }, +{ "rvfd", 0x300f0000, 0xfc0f0000, "v", 2 }, + +{ "fltw", 0x38070000, 0xfc0f0000, "r,R", 2 }, +{ "fltd", 0x380f0000, 0xfc0f0000, "r,R", 2 }, +{ "fixw", 0x38050000, 0xfc0f0000, "r,R", 2 }, +{ "fixd", 0x380d0000, 0xfc0f0000, "r,R", 2 }, +{ "cfpds", 0x3c090000, 0xfc0f0000, "r,R", 2 }, + +{ "fltvw", 0x080d0000, 0xfc0f0000, "v,V", 2 }, +{ "fltvd", 0x080f0000, 0xfc0f0000, "v,V", 2 }, +{ "fixvw", 0x080c0000, 0xfc0f0000, "v,V", 2 }, +{ "fixvd", 0x080e0000, 0xfc0f0000, "v,V", 2 }, +{ "cfpvds", 0x0c0d0000, 0xfc0f0000, "v,V", 2 }, + +{ "orvrn", 0x000a0000, 0xfc0f0000, "r,V", 2 }, +{ "andvrn", 0x00080000, 0xfc0f0000, "r,V", 2 }, +{ "frsteq", 0x04090000, 0xfc0f0000, "r,V", 2 }, +{ "sigma", 0x0c080000, 0xfc0f0000, "r,V", 2 }, +{ "sigmad", 0x0c0a0000, 0xfc0f0000, "r,V", 2 }, +{ "sigmf", 0x08080000, 0xfc0f0000, "r,V", 2 }, +{ "sigmfd", 0x080a0000, 0xfc0f0000, "r,V", 2 }, +{ "prodf", 0x04080000, 0xfc0f0000, "r,V", 2 }, +{ "prodfd", 0x040a0000, 0xfc0f0000, "r,V", 2 }, +{ "maxv", 0x10080000, 0xfc0f0000, "r,V", 2 }, +{ "maxvd", 0x100a0000, 0xfc0f0000, "r,V", 2 }, +{ "minv", 0x14080000, 0xfc0f0000, "r,V", 2 }, +{ "minvd", 0x140a0000, 0xfc0f0000, "r,V", 2 }, + +{ "lpsd", 0xf0000000, 0xfc080000, "xOA,X", 4 }, +{ "ldc", 0xf0080000, 0xfc080000, "xOA,X", 4 }, +{ "spm", 0x040c0000, 0xfc0f0000, "r", 2 }, +{ "rpm", 0x040d0000, 0xfc0f0000, "r", 2 }, +{ "tritr", 0x00070000, 0xfc0f0000, "r", 2 }, +{ "trrit", 0x00060000, 0xfc0f0000, "r", 2 }, +{ "rpswt", 0x04080000, 0xfc0f0000, "r", 2 }, +{ "exr", 0xf8070000, 0xfc0f0000, "", 4 }, +{ "halt", 0x00000000, 0xfc0f0000, "", 2 }, +{ "wait", 0x00010000, 0xfc0f0000, "", 2 }, +{ "nop", 0x00020000, 0xfc0f0000, "", 2 }, +{ "eiae", 0x00030000, 0xfc0f0000, "", 2 }, +{ "efae", 0x000d0000, 0xfc0f0000, "", 2 }, +{ "diae", 0x000e0000, 0xfc0f0000, "", 2 }, +{ "dfae", 0x000f0000, 0xfc0f0000, "", 2 }, +{ "spvc", 0xf8060000, 0xfc0f0000, "r,T,N", 4 }, +{ "rdsts", 0x00090000, 0xfc0f0000, "r", 2 }, +{ "setcpu", 0x000c0000, 0xfc0f0000, "r", 2 }, +{ "cmc", 0x000b0000, 0xfc0f0000, "r", 2 }, +{ "trrcu", 0x00040000, 0xfc0f0000, "r", 2 }, +{ "attnio", 0x00050000, 0xfc0f0000, "", 2 }, +{ "fudit", 0x28080000, 0xfc0f0000, "", 2 }, +{ "break", 0x28090000, 0xfc0f0000, "", 2 }, +{ "frzss", 0x280a0000, 0xfc0f0000, "", 2 }, +{ "ripi", 0x04040000, 0xfc0f0000, "r,R", 2 }, +{ "xcp", 0x04050000, 0xfc0f0000, "r", 2 }, +{ "block", 0x04060000, 0xfc0f0000, "", 2 }, +{ "unblock", 0x04070000, 0xfc0f0000, "", 2 }, +{ "trsc", 0x08060000, 0xfc0f0000, "r,R", 2 }, +{ "tscr", 0x08070000, 0xfc0f0000, "r,R", 2 }, +{ "fq", 0x04080000, 0xfc0f0000, "r", 2 }, +{ "flupte", 0x2c080000, 0xfc0f0000, "r", 2 }, +{ "rviu", 0x040f0000, 0xfc0f0000, "", 2 }, +{ "ldel", 0x280c0000, 0xfc0f0000, "r,R", 2 }, +{ "ldu", 0x280d0000, 0xfc0f0000, "r,R", 2 }, +{ "stdecc", 0x280b0000, 0xfc0f0000, "r,R", 2 }, +{ "trpc", 0x08040000, 0xfc0f0000, "r", 2 }, +{ "tpcr", 0x08050000, 0xfc0f0000, "r", 2 }, +{ "ghalt", 0x0c050000, 0xfc0f0000, "r", 2 }, +{ "grun", 0x0c040000, 0xfc0f0000, "", 2 }, +{ "tmpr", 0x2c0a0000, 0xfc0f0000, "r,R", 2 }, +{ "trmp", 0x2c0b0000, 0xfc0f0000, "r,R", 2 }, + +{ "trrve", 0x28060000, 0xfc0f0000, "r", 2 }, +{ "trver", 0x28070000, 0xfc0f0000, "r", 2 }, +{ "trvlr", 0x280f0000, 0xfc0f0000, "r", 2 }, + +{ "linkfl", 0x18000000, 0xfc0f0000, "r,R", 2 }, +{ "linkbl", 0x18020000, 0xfc0f0000, "r,R", 2 }, +{ "linkfp", 0x18010000, 0xfc0f0000, "r,R", 2 }, +{ "linkbp", 0x18030000, 0xfc0f0000, "r,R", 2 }, +{ "linkpl", 0x18040000, 0xfc0f0000, "r,R", 2 }, +{ "ulinkl", 0x18080000, 0xfc0f0000, "r,R", 2 }, +{ "ulinkp", 0x18090000, 0xfc0f0000, "r,R", 2 }, +{ "ulinktl", 0x180a0000, 0xfc0f0000, "r,R", 2 }, +{ "ulinktp", 0x180b0000, 0xfc0f0000, "r,R", 2 }, +}; + +int numopcodes = sizeof(gld_opcodes) / sizeof(gld_opcodes[0]); + +struct gld_opcode *endop = gld_opcodes + sizeof(gld_opcodes) / + sizeof(gld_opcodes[0]); diff --git a/contrib/binutils/include/opcode/pn.h b/contrib/binutils/include/opcode/pn.h new file mode 100644 index 0000000..8c427a2 --- /dev/null +++ b/contrib/binutils/include/opcode/pn.h @@ -0,0 +1,282 @@ +/* Print GOULD PN (PowerNode) instructions for GDB, the GNU debugger. + Copyright 1986, 1987, 1989, 1991 Free Software Foundation, Inc. + +This file is part of GDB. + +GDB 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 1, or (at your option) +any later version. + +GDB 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 GDB; see the file COPYING. If not, write to +the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +struct gld_opcode +{ + char *name; + unsigned long opcode; + unsigned long mask; + char *args; + int length; +}; + +/* We store four bytes of opcode for all opcodes because that + is the most any of them need. The actual length of an instruction + is always at least 2 bytes, and at most four. The length of the + instruction is based on the opcode. + + The mask component is a mask saying which bits must match + particular opcode in order for an instruction to be an instance + of that opcode. + + The args component is a string containing characters + that are used to format the arguments to the instruction. */ + +/* Kinds of operands: + r Register in first field + R Register in second field + b Base register in first field + B Base register in second field + v Vector register in first field + V Vector register in first field + A Optional address register (base register) + X Optional index register + I Immediate data (16bits signed) + O Offset field (16bits signed) + h Offset field (15bits signed) + d Offset field (14bits signed) + S Shift count field + + any other characters are printed as is... +*/ + +/* The assembler requires that this array be sorted as follows: + all instances of the same mnemonic must be consecutive. + All instances of the same mnemonic with the same number of operands + must be consecutive. + */ +struct gld_opcode gld_opcodes[] = +{ +{ "abm", 0xa0080000, 0xfc080000, "f,xOA,X", 4 }, +{ "abr", 0x18080000, 0xfc0c0000, "r,f", 2 }, +{ "aci", 0xfc770000, 0xfc7f8000, "r,I", 4 }, +{ "adfd", 0xe0080002, 0xfc080002, "r,xOA,X", 4 }, +{ "adfw", 0xe0080000, 0xfc080000, "r,xOA,X", 4 }, +{ "adi", 0xc8010000, 0xfc7f0000, "r,I", 4 }, +{ "admb", 0xb8080000, 0xfc080000, "r,xOA,X", 4 }, +{ "admd", 0xb8000002, 0xfc080002, "r,xOA,X", 4 }, +{ "admh", 0xb8000001, 0xfc080001, "r,xOA,X", 4 }, +{ "admw", 0xb8000000, 0xfc080000, "r,xOA,X", 4 }, +{ "adr", 0x38000000, 0xfc0f0000, "r,R", 2 }, +{ "adrfd", 0x38090000, 0xfc0f0000, "r,R", 2 }, +{ "adrfw", 0x38010000, 0xfc0f0000, "r,R", 2 }, +{ "adrm", 0x38080000, 0xfc0f0000, "r,R", 2 }, +{ "ai", 0xfc030000, 0xfc07ffff, "I", 4 }, +{ "anmb", 0x84080000, 0xfc080000, "r,xOA,X", 4 }, +{ "anmd", 0x84000002, 0xfc080002, "r,xOA,X", 4 }, +{ "anmh", 0x84000001, 0xfc080001, "r,xOA,X", 4 }, +{ "anmw", 0x84000000, 0xfc080000, "r,xOA,X", 4 }, +{ "anr", 0x04000000, 0xfc0f0000, "r,R", 2 }, +{ "armb", 0xe8080000, 0xfc080000, "r,xOA,X", 4 }, +{ "armd", 0xe8000002, 0xfc080002, "r,xOA,X", 4 }, +{ "armh", 0xe8000001, 0xfc080001, "r,xOA,X", 4 }, +{ "armw", 0xe8000000, 0xfc080000, "r,xOA,X", 4 }, +{ "bcf", 0xf0000000, 0xfc080000, "I,xOA,X", 4 }, +{ "bct", 0xec000000, 0xfc080000, "I,xOA,X", 4 }, +{ "bei", 0x00060000, 0xffff0000, "", 2 }, +{ "bft", 0xf0000000, 0xff880000, "xOA,X", 4 }, +{ "bib", 0xf4000000, 0xfc780000, "r,xOA", 4 }, +{ "bid", 0xf4600000, 0xfc780000, "r,xOA", 4 }, +{ "bih", 0xf4200000, 0xfc780000, "r,xOA", 4 }, +{ "biw", 0xf4400000, 0xfc780000, "r,xOA", 4 }, +{ "bl", 0xf8800000, 0xff880000, "xOA,X", 4 }, +{ "bsub", 0x5c080000, 0xff8f0000, "", 2 }, +{ "bsubm", 0x28080000, 0xfc080000, "", 4 }, +{ "bu", 0xec000000, 0xff880000, "xOA,X", 4 }, +{ "call", 0x28080000, 0xfc0f0000, "", 2 }, +{ "callm", 0x5c080000, 0xff880000, "", 4 }, +{ "camb", 0x90080000, 0xfc080000, "r,xOA,X", 4 }, +{ "camd", 0x90000002, 0xfc080002, "r,xOA,X", 4 }, +{ "camh", 0x90000001, 0xfc080001, "r,xOA,X", 4 }, +{ "camw", 0x90000000, 0xfc080000, "r.xOA,X", 4 }, +{ "car", 0x10000000, 0xfc0f0000, "r,R", 2 }, +{ "cd", 0xfc060000, 0xfc070000, "r,f", 4 }, +{ "cea", 0x000f0000, 0xffff0000, "", 2 }, +{ "ci", 0xc8050000, 0xfc7f0000, "r,I", 4 }, +{ "cmc", 0x040a0000, 0xfc7f0000, "r", 2 }, +{ "cmmb", 0x94080000, 0xfc080000, "r,xOA,X", 4 }, +{ "cmmd", 0x94000002, 0xfc080002, "r,xOA,X", 4 }, +{ "cmmh", 0x94000001, 0xfc080001, "r,xOA,X", 4 }, +{ "cmmw", 0x94000000, 0xfc080000, "r,xOA,X", 4 }, +{ "cmr", 0x14000000, 0xfc0f0000, "r,R", 2 }, +{ "daci", 0xfc7f0000, 0xfc7f8000, "r,I", 4 }, +{ "dae", 0x000e0000, 0xffff0000, "", 2 }, +{ "dai", 0xfc040000, 0xfc07ffff, "I", 4 }, +{ "dci", 0xfc6f0000, 0xfc7f8000, "r,I", 4 }, +{ "di", 0xfc010000, 0xfc07ffff, "I", 4 }, +{ "dvfd", 0xe4000002, 0xfc080002, "r,xOA,X", 4 }, +{ "dvfw", 0xe4000000, 0xfc080000, "r,xOA,X", 4 }, +{ "dvi", 0xc8040000, 0xfc7f0000, "r,I", 4 }, +{ "dvmb", 0xc4080000, 0xfc080000, "r,xOA,X", 4 }, +{ "dvmh", 0xc4000001, 0xfc080001, "r,xOA,X", 4 }, +{ "dvmw", 0xc4000000, 0xfc080000, "r,xOA,X", 4 }, +{ "dvr", 0x380a0000, 0xfc0f0000, "r,R", 2 }, +{ "dvrfd", 0x380c0000, 0xfc0f0000, "r,R", 4 }, +{ "dvrfw", 0x38040000, 0xfc0f0000, "r,xOA,X", 4 }, +{ "eae", 0x00080000, 0xffff0000, "", 2 }, +{ "eci", 0xfc670000, 0xfc7f8080, "r,I", 4 }, +{ "ecwcs", 0xfc4f0000, 0xfc7f8000, "", 4 }, +{ "ei", 0xfc000000, 0xfc07ffff, "I", 4 }, +{ "eomb", 0x8c080000, 0xfc080000, "r,xOA,X", 4 }, +{ "eomd", 0x8c000002, 0xfc080002, "r,xOA,X", 4 }, +{ "eomh", 0x8c000001, 0xfc080001, "r,xOA,X", 4 }, +{ "eomw", 0x8c000000, 0xfc080000, "r,xOA,X", 4 }, +{ "eor", 0x0c000000, 0xfc0f0000, "r,R", 2 }, +{ "eorm", 0x0c080000, 0xfc0f0000, "r,R", 2 }, +{ "es", 0x00040000, 0xfc7f0000, "r", 2 }, +{ "exm", 0xa8000000, 0xff880000, "xOA,X", 4 }, +{ "exr", 0xc8070000, 0xfc7f0000, "r", 2 }, +{ "exrr", 0xc8070002, 0xfc7f0002, "r", 2 }, +{ "fixd", 0x380d0000, 0xfc0f0000, "r,R", 2 }, +{ "fixw", 0x38050000, 0xfc0f0000, "r,R", 2 }, +{ "fltd", 0x380f0000, 0xfc0f0000, "r,R", 2 }, +{ "fltw", 0x38070000, 0xfc0f0000, "r,R", 2 }, +{ "grio", 0xfc3f0000, 0xfc7f8000, "r,I", 4 }, +{ "halt", 0x00000000, 0xffff0000, "", 2 }, +{ "hio", 0xfc370000, 0xfc7f8000, "r,I", 4 }, +{ "jwcs", 0xfa080000, 0xff880000, "xOA,X", 4 }, +{ "la", 0x50000000, 0xfc000000, "r,xOA,X", 4 }, +{ "labr", 0x58080000, 0xfc080000, "b,xOA,X", 4 }, +{ "lb", 0xac080000, 0xfc080000, "r,xOA,X", 4 }, +{ "lcs", 0x00030000, 0xfc7f0000, "r", 2 }, +{ "ld", 0xac000002, 0xfc080002, "r,xOA,X", 4 }, +{ "lear", 0x80000000, 0xfc080000, "r,xOA,X", 4 }, +{ "lf", 0xcc000000, 0xfc080000, "r,xOA,X", 4 }, +{ "lfbr", 0xcc080000, 0xfc080000, "b,xOA,X", 4 }, +{ "lh", 0xac000001, 0xfc080001, "r,xOA,X", 4 }, +{ "li", 0xc8000000, 0xfc7f0000, "r,I", 4 }, +{ "lmap", 0x2c070000, 0xfc7f0000, "r", 2 }, +{ "lmb", 0xb0080000, 0xfc080000, "r,xOA,X", 4 }, +{ "lmd", 0xb0000002, 0xfc080002, "r,xOA,X", 4 }, +{ "lmh", 0xb0000001, 0xfc080001, "r,xOA,X", 4 }, +{ "lmw", 0xb0000000, 0xfc080000, "r,xOA,X", 4 }, +{ "lnb", 0xb4080000, 0xfc080000, "r,xOA,X", 4 }, +{ "lnd", 0xb4000002, 0xfc080002, "r,xOA,X", 4 }, +{ "lnh", 0xb4000001, 0xfc080001, "r,xOA,X", 4 }, +{ "lnw", 0xb4000000, 0xfc080000, "r,xOA,X", 4 }, +{ "lpsd", 0xf9800000, 0xff880000, "r,xOA,X", 4 }, +{ "lpsdcm", 0xfa800000, 0xff880000, "r,xOA,X", 4 }, +{ "lw", 0xac000000, 0xfc080000, "r,xOA,X", 4 }, +{ "lwbr", 0x5c000000, 0xfc080000, "b,xOA,X", 4 }, +{ "mpfd", 0xe4080002, 0xfc080002, "r,xOA,X", 4 }, +{ "mpfw", 0xe4080000, 0xfc080000, "r,xOA,X", 4 }, +{ "mpi", 0xc8030000, 0xfc7f0000, "r,I", 4 }, +{ "mpmb", 0xc0080000, 0xfc080000, "r,xOA,X", 4 }, +{ "mpmh", 0xc0000001, 0xfc080001, "r,xOA,X", 4 }, +{ "mpmw", 0xc0000000, 0xfc080000, "r,xOA,X", 4 }, +{ "mpr", 0x38020000, 0xfc0f0000, "r,R", 2 }, +{ "mprfd", 0x380e0000, 0xfc0f0000, "r,R", 2 }, +{ "mprfw", 0x38060000, 0xfc0f0000, "r,R", 2 }, +{ "nop", 0x00020000, 0xffff0000, "", 2 }, +{ "ormb", 0x88080000, 0xfc080000, "r,xOA,X", 4 }, +{ "ormd", 0x88000002, 0xfc080002, "r,xOA,X", 4 }, +{ "ormh", 0x88000001, 0xfc080001, "r,xOA,X", 4 }, +{ "ormw", 0x88000000, 0xfc080000, "r,xOA,X", 4 }, +{ "orr", 0x08000000, 0xfc0f0000, "r,R", 2 }, +{ "orrm", 0x08080000, 0xfc0f0000, "r,R", 2 }, +{ "rdsts", 0x00090000, 0xfc7f0000, "r", 2 }, +{ "return", 0x280e0000, 0xfc7f0000, "", 2 }, +{ "ri", 0xfc020000, 0xfc07ffff, "I", 4 }, +{ "rnd", 0x00050000, 0xfc7f0000, "r", 2 }, +{ "rpswt", 0x040b0000, 0xfc7f0000, "r", 2 }, +{ "rschnl", 0xfc2f0000, 0xfc7f8000, "r,I", 4 }, +{ "rsctl", 0xfc470000, 0xfc7f8000, "r,I", 4 }, +{ "rwcs", 0x000b0000, 0xfc0f0000, "r,R", 2 }, +{ "sacz", 0x10080000, 0xfc0f0000, "r,R", 2 }, +{ "sbm", 0x98080000, 0xfc080000, "f,xOA,X", 4 }, +{ "sbr", 0x18000000, 0xfc0c0000, "r,f", 4 }, +{ "sea", 0x000d0000, 0xffff0000, "", 2 }, +{ "setcpu", 0x2c090000, 0xfc7f0000, "r", 2 }, +{ "sio", 0xfc170000, 0xfc7f8000, "r,I", 4 }, +{ "sipu", 0x000a0000, 0xffff0000, "", 2 }, +{ "sla", 0x1c400000, 0xfc600000, "r,S", 2 }, +{ "slad", 0x20400000, 0xfc600000, "r,S", 2 }, +{ "slc", 0x24400000, 0xfc600000, "r,S", 2 }, +{ "sll", 0x1c600000, 0xfc600000, "r,S", 2 }, +{ "slld", 0x20600000, 0xfc600000, "r,S", 2 }, +{ "smc", 0x04070000, 0xfc070000, "", 2 }, +{ "sra", 0x1c000000, 0xfc600000, "r,S", 2 }, +{ "srad", 0x20000000, 0xfc600000, "r,S", 2 }, +{ "src", 0x24000000, 0xfc600000, "r,S", 2 }, +{ "srl", 0x1c200000, 0xfc600000, "r,S", 2 }, +{ "srld", 0x20200000, 0xfc600000, "r,S", 2 }, +{ "stb", 0xd4080000, 0xfc080000, "r,xOA,X", 4 }, +{ "std", 0xd4000002, 0xfc080002, "r,xOA,X", 4 }, +{ "stf", 0xdc000000, 0xfc080000, "r,xOA,X", 4 }, +{ "stfbr", 0x54000000, 0xfc080000, "b,xOA,X", 4 }, +{ "sth", 0xd4000001, 0xfc080001, "r,xOA,X", 4 }, +{ "stmb", 0xd8080000, 0xfc080000, "r,xOA,X", 4 }, +{ "stmd", 0xd8000002, 0xfc080002, "r,xOA,X", 4 }, +{ "stmh", 0xd8000001, 0xfc080001, "r,xOA,X", 4 }, +{ "stmw", 0xd8000000, 0xfc080000, "r,xOA,X", 4 }, +{ "stpio", 0xfc270000, 0xfc7f8000, "r,I", 4 }, +{ "stw", 0xd4000000, 0xfc080000, "r,xOA,X", 4 }, +{ "stwbr", 0x54000000, 0xfc080000, "b,xOA,X", 4 }, +{ "suabr", 0x58000000, 0xfc080000, "b,xOA,X", 4 }, +{ "sufd", 0xe0000002, 0xfc080002, "r,xOA,X", 4 }, +{ "sufw", 0xe0000000, 0xfc080000, "r,xOA,X", 4 }, +{ "sui", 0xc8020000, 0xfc7f0000, "r,I", 4 }, +{ "sumb", 0xbc080000, 0xfc080000, "r,xOA,X", 4 }, +{ "sumd", 0xbc000002, 0xfc080002, "r,xOA,X", 4 }, +{ "sumh", 0xbc000001, 0xfc080001, "r,xOA,X", 4 }, +{ "sumw", 0xbc000000, 0xfc080000, "r,xOA,X", 4 }, +{ "sur", 0x3c000000, 0xfc0f0000, "r,R", 2 }, +{ "surfd", 0x380b0000, 0xfc0f0000, "r,xOA,X", 4 }, +{ "surfw", 0x38030000, 0xfc0f0000, "r,R", 2 }, +{ "surm", 0x3c080000, 0xfc0f0000, "r,R", 2 }, +{ "svc", 0xc8060000, 0xffff0000, "", 4 }, +{ "tbm", 0xa4080000, 0xfc080000, "f,xOA,X", 4 }, +{ "tbr", 0x180c0000, 0xfc0c0000, "r,f", 2 }, +{ "tbrr", 0x2c020000, 0xfc0f0000, "r,B", 2 }, +{ "tccr", 0x28040000, 0xfc7f0000, "", 2 }, +{ "td", 0xfc050000, 0xfc070000, "r,f", 4 }, +{ "tio", 0xfc1f0000, 0xfc7f8000, "r,I", 4 }, +{ "tmapr", 0x2c0a0000, 0xfc0f0000, "r,R", 2 }, +{ "tpcbr", 0x280c0000, 0xfc7f0000, "r", 2 }, +{ "trbr", 0x2c010000, 0xfc0f0000, "b,R", 2 }, +{ "trc", 0x2c030000, 0xfc0f0000, "r,R", 2 }, +{ "trcc", 0x28050000, 0xfc7f0000, "", 2 }, +{ "trcm", 0x2c0b0000, 0xfc0f0000, "r,R", 2 }, +{ "trn", 0x2c040000, 0xfc0f0000, "r,R", 2 }, +{ "trnm", 0x2c0c0000, 0xfc0f0000, "r,R", 2 }, +{ "trr", 0x2c000000, 0xfc0f0000, "r,R", 2 }, +{ "trrm", 0x2c080000, 0xfc0f0000, "r,R", 2 }, +{ "trsc", 0x2c0e0000, 0xfc0f0000, "r,R", 2 }, +{ "trsw", 0x28000000, 0xfc7f0000, "r", 2 }, +{ "tscr", 0x2c0f0000, 0xfc0f0000, "r,R", 2 }, +{ "uei", 0x00070000, 0xffff0000, "", 2 }, +{ "wait", 0x00010000, 0xffff0000, "", 2 }, +{ "wcwcs", 0xfc5f0000, 0xfc7f8000, "", 4 }, +{ "wwcs", 0x000c0000, 0xfc0f0000, "r,R", 2 }, +{ "xcbr", 0x28020000, 0xfc0f0000, "b,B", 2 }, +{ "xcr", 0x2c050000, 0xfc0f0000, "r,R", 2 }, +{ "xcrm", 0x2c0d0000, 0xfc0f0000, "r,R", 2 }, +{ "zbm", 0x9c080000, 0xfc080000, "f,xOA,X", 4 }, +{ "zbr", 0x18040000, 0xfc0c0000, "r,f", 2 }, +{ "zmb", 0xf8080000, 0xfc080000, "r,xOA,X", 4 }, +{ "zmd", 0xf8000002, 0xfc080002, "r,xOA,X", 4 }, +{ "zmh", 0xf8000001, 0xfc080001, "r,xOA,X", 4 }, +{ "zmw", 0xf8000000, 0xfc080000, "r,xOA,X", 4 }, +{ "zr", 0x0c000000, 0xfc0f0000, "r", 2 }, +}; + +int numopcodes = sizeof(gld_opcodes) / sizeof(gld_opcodes[0]); + +struct gld_opcode *endop = gld_opcodes + sizeof(gld_opcodes) / + sizeof(gld_opcodes[0]); diff --git a/contrib/binutils/include/opcode/ppc.h b/contrib/binutils/include/opcode/ppc.h index f7db66f..d55caa7 100644 --- a/contrib/binutils/include/opcode/ppc.h +++ b/contrib/binutils/include/opcode/ppc.h @@ -1,5 +1,5 @@ /* ppc.h -- Header file for PowerPC opcode table - Copyright 1994, 1995, 1999, 2000, 2001, 2002 + Copyright 1994, 1995, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Written by Ian Lance Taylor, Cygnus Support @@ -59,53 +59,80 @@ extern const int powerpc_num_opcodes; /* Values defined for the flags field of a struct powerpc_opcode. */ /* Opcode is defined for the PowerPC architecture. */ -#define PPC_OPCODE_PPC (01) +#define PPC_OPCODE_PPC 1 /* Opcode is defined for the POWER (RS/6000) architecture. */ -#define PPC_OPCODE_POWER (02) +#define PPC_OPCODE_POWER 2 /* Opcode is defined for the POWER2 (Rios 2) architecture. */ -#define PPC_OPCODE_POWER2 (04) +#define PPC_OPCODE_POWER2 4 /* Opcode is only defined on 32 bit architectures. */ -#define PPC_OPCODE_32 (010) +#define PPC_OPCODE_32 8 /* Opcode is only defined on 64 bit architectures. */ -#define PPC_OPCODE_64 (020) +#define PPC_OPCODE_64 0x10 /* Opcode is supported by the Motorola PowerPC 601 processor. The 601 is assumed to support all PowerPC (PPC_OPCODE_PPC) instructions, but it also supports many additional POWER instructions. */ -#define PPC_OPCODE_601 (040) +#define PPC_OPCODE_601 0x20 /* Opcode is supported in both the Power and PowerPC architectures (ie, compiler's -mcpu=common or assembler's -mcom). */ -#define PPC_OPCODE_COMMON (0100) +#define PPC_OPCODE_COMMON 0x40 /* Opcode is supported for any Power or PowerPC platform (this is for the assembler's -many option, and it eliminates duplicates). */ -#define PPC_OPCODE_ANY (0200) +#define PPC_OPCODE_ANY 0x80 /* Opcode is supported as part of the 64-bit bridge. */ -#define PPC_OPCODE_64_BRIDGE (0400) +#define PPC_OPCODE_64_BRIDGE 0x100 /* Opcode is supported by Altivec Vector Unit */ -#define PPC_OPCODE_ALTIVEC (01000) +#define PPC_OPCODE_ALTIVEC 0x200 /* Opcode is supported by PowerPC 403 processor. */ -#define PPC_OPCODE_403 (02000) +#define PPC_OPCODE_403 0x400 /* Opcode is supported by PowerPC BookE processor. */ -#define PPC_OPCODE_BOOKE (04000) +#define PPC_OPCODE_BOOKE 0x800 /* Opcode is only supported by 64-bit PowerPC BookE processor. */ -#define PPC_OPCODE_BOOKE64 (010000) +#define PPC_OPCODE_BOOKE64 0x1000 + +/* Opcode is supported by PowerPC 440 processor. */ +#define PPC_OPCODE_440 0x2000 /* Opcode is only supported by Power4 architecture. */ -#define PPC_OPCODE_POWER4 (020000) +#define PPC_OPCODE_POWER4 0x4000 /* Opcode isn't supported by Power4 architecture. */ -#define PPC_OPCODE_NOPOWER4 (040000) +#define PPC_OPCODE_NOPOWER4 0x8000 + +/* Opcode is only supported by POWERPC Classic architecture. */ +#define PPC_OPCODE_CLASSIC 0x10000 + +/* Opcode is only supported by e500x2 Core. */ +#define PPC_OPCODE_SPE 0x20000 + +/* Opcode is supported by e500x2 Integer select APU. */ +#define PPC_OPCODE_ISEL 0x40000 + +/* Opcode is an e500 SPE floating point instruction. */ +#define PPC_OPCODE_EFS 0x80000 + +/* Opcode is supported by branch locking APU. */ +#define PPC_OPCODE_BRLOCK 0x100000 + +/* Opcode is supported by performance monitor APU. */ +#define PPC_OPCODE_PMR 0x200000 + +/* Opcode is supported by cache locking APU. */ +#define PPC_OPCODE_CACHELCK 0x400000 + +/* Opcode is supported by machine check APU. */ +#define PPC_OPCODE_RFMCI 0x800000 /* A macro to extract the major opcode from an instruction. */ #define PPC_OP(i) (((i) >> 26) & 0x3f) @@ -124,7 +151,7 @@ struct powerpc_operand operand value into an instruction, check this field. If it is NULL, execute - i |= (op & ((1 << o->bits) - 1)) << o->shift; + i |= (op & ((1 << o->bits) - 1)) << o->shift; (i is the instruction which we are filling in, o is a pointer to this structure, and op is the opcode value; this assumes twos complement arithmetic). @@ -136,15 +163,14 @@ struct powerpc_operand string (the operand will be inserted in any case). If the operand value is legal, *ERRMSG will be unchanged (most operands can accept any value). */ - unsigned long (*insert) PARAMS ((unsigned long instruction, long op, - int dialect, - const char **errmsg)); + unsigned long (*insert) + (unsigned long instruction, long op, int dialect, const char **errmsg); /* Extraction function. This is used by the disassembler. To extract this operand type from an instruction, check this field. If it is NULL, compute - op = ((i) >> o->shift) & ((1 << o->bits) - 1); + op = ((i) >> o->shift) & ((1 << o->bits) - 1); if ((o->flags & PPC_OPERAND_SIGNED) != 0 && (op & (1 << (o->bits - 1))) != 0) op -= 1 << o->bits; @@ -157,8 +183,7 @@ struct powerpc_operand non-zero if this operand type can not actually be extracted from this operand (i.e., the instruction does not match). If the operand is valid, *INVALID will not be changed. */ - long (*extract) PARAMS ((unsigned long instruction, int dialect, - int *invalid)); + long (*extract) (unsigned long instruction, int dialect, int *invalid); /* One bit syntax flags. */ unsigned long flags; @@ -208,17 +233,20 @@ extern const struct powerpc_operand powerpc_operands[]; register names with a leading 'r'. */ #define PPC_OPERAND_GPR (040) +/* Like PPC_OPERAND_GPR, but don't print a leading 'r' for r0. */ +#define PPC_OPERAND_GPR_0 (0100) + /* This operand names a floating point register. The disassembler prints these with a leading 'f'. */ -#define PPC_OPERAND_FPR (0100) +#define PPC_OPERAND_FPR (0200) /* This operand is a relative branch displacement. The disassembler prints these symbolically if possible. */ -#define PPC_OPERAND_RELATIVE (0200) +#define PPC_OPERAND_RELATIVE (0400) /* This operand is an absolute branch address. The disassembler prints these symbolically if possible. */ -#define PPC_OPERAND_ABSOLUTE (0400) +#define PPC_OPERAND_ABSOLUTE (01000) /* This operand is optional, and is zero if omitted. This is used for the optional BF and L fields in the comparison instructions. The @@ -226,7 +254,7 @@ extern const struct powerpc_operand powerpc_operands[]; and the number of operands remaining for the opcode, and decide whether this operand is present or not. The disassembler should print this operand out only if it is not zero. */ -#define PPC_OPERAND_OPTIONAL (01000) +#define PPC_OPERAND_OPTIONAL (02000) /* This flag is only used with PPC_OPERAND_OPTIONAL. If this operand is omitted, then for the next operand use this operand value plus @@ -234,21 +262,24 @@ extern const struct powerpc_operand powerpc_operands[]; hack is needed because the Power rotate instructions can take either 4 or 5 operands. The disassembler should print this operand out regardless of the PPC_OPERAND_OPTIONAL field. */ -#define PPC_OPERAND_NEXT (02000) +#define PPC_OPERAND_NEXT (04000) /* This operand should be regarded as a negative number for the purposes of overflow checking (i.e., the normal most negative number is disallowed and one more than the normal most positive number is allowed). This flag will only be set for a signed operand. */ -#define PPC_OPERAND_NEGATIVE (04000) +#define PPC_OPERAND_NEGATIVE (010000) /* This operand names a vector unit register. The disassembler prints these with a leading 'v'. */ -#define PPC_OPERAND_VR (010000) +#define PPC_OPERAND_VR (020000) /* This operand is for the DS field in a DS form instruction. */ -#define PPC_OPERAND_DS (020000) +#define PPC_OPERAND_DS (040000) + +/* This operand is for the DQ field in a DQ form instruction. */ +#define PPC_OPERAND_DQ (0100000) /* The POWER and PowerPC assemblers use a few macros. We keep them with the operands table for simplicity. The macro table is an diff --git a/contrib/binutils/include/opcode/s390.h b/contrib/binutils/include/opcode/s390.h index 1a42be6..f582a4e 100644 --- a/contrib/binutils/include/opcode/s390.h +++ b/contrib/binutils/include/opcode/s390.h @@ -24,10 +24,18 @@ /* List of instruction sets variations. */ -enum s390_opcode_arch_val +enum s390_opcode_mode_val { S390_OPCODE_ESA = 0, - S390_OPCODE_ESAME + S390_OPCODE_ZARCH + }; + +enum s390_opcode_cpu_val + { + S390_OPCODE_G5 = 0, + S390_OPCODE_G6, + S390_OPCODE_Z900, + S390_OPCODE_Z990 }; /* The opcode table is an array of struct s390_opcode. */ @@ -55,8 +63,11 @@ struct s390_opcode appear in assembly code, and are terminated by a zero. */ unsigned char operands[6]; - /* Bitmask of architectures this opcode is available for. */ - unsigned int architecture; + /* Bitmask of execution modes this opcode is available for. */ + unsigned int modes; + + /* First cpu this opcode is available for. */ + enum s390_opcode_cpu_val min_cpu; }; /* The table itself is sorted by major opcode number, and is otherwise diff --git a/contrib/binutils/include/opcode/sparc.h b/contrib/binutils/include/opcode/sparc.h index c412923..c336493 100644 --- a/contrib/binutils/include/opcode/sparc.h +++ b/contrib/binutils/include/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 - Free Software Foundation, Inc. + Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 2000, 2002, + 2003 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler, GDB, the GNU debugger, and the GNU Binutils. @@ -74,8 +74,7 @@ struct sparc_opcode_arch { extern const struct sparc_opcode_arch sparc_opcode_archs[]; /* Given architecture name, look up it's sparc_opcode_arch_val value. */ -extern enum sparc_opcode_arch_val sparc_opcode_lookup_arch - PARAMS ((const char *)); +extern enum sparc_opcode_arch_val sparc_opcode_lookup_arch (const char *); /* Return the bitmask of supported architectures for ARCH. */ #define SPARC_OPCODE_SUPPORTED(ARCH) (sparc_opcode_archs[ARCH].supported) @@ -223,14 +222,14 @@ The following chars are unused: (note: ,[] are used as punctuation) extern const struct sparc_opcode sparc_opcodes[]; extern const int sparc_num_opcodes; -extern int sparc_encode_asi PARAMS ((const char *)); -extern const char *sparc_decode_asi PARAMS ((int)); -extern int sparc_encode_membar PARAMS ((const char *)); -extern const char *sparc_decode_membar PARAMS ((int)); -extern int sparc_encode_prefetch PARAMS ((const char *)); -extern const char *sparc_decode_prefetch PARAMS ((int)); -extern int sparc_encode_sparclet_cpreg PARAMS ((const char *)); -extern const char *sparc_decode_sparclet_cpreg PARAMS ((int)); +extern int sparc_encode_asi (const char *); +extern const char *sparc_decode_asi (int); +extern int sparc_encode_membar (const char *); +extern const char *sparc_decode_membar (int); +extern int sparc_encode_prefetch (const char *); +extern const char *sparc_decode_prefetch (int); +extern int sparc_encode_sparclet_cpreg (const char *); +extern const char *sparc_decode_sparclet_cpreg (int); /* * Local Variables: diff --git a/contrib/binutils/include/partition.h b/contrib/binutils/include/partition.h index 885a79b..5d3623f 100644 --- a/contrib/binutils/include/partition.h +++ b/contrib/binutils/include/partition.h @@ -78,4 +78,8 @@ extern void partition_print PARAMS((partition, #define partition_find(partition__, element__) \ ((partition__)->elements[(element__)].class_element) +#ifdef __cplusplus +} +#endif /* __cplusplus */ + #endif /* _PARTITION_H */ diff --git a/contrib/binutils/include/safe-ctype.h b/contrib/binutils/include/safe-ctype.h index b2ad849..69a3f74 100644 --- a/contrib/binutils/include/safe-ctype.h +++ b/contrib/binutils/include/safe-ctype.h @@ -37,7 +37,24 @@ Boston, MA 02111-1307, USA. */ #ifdef isalpha #error "safe-ctype.h and ctype.h may not be used simultaneously" +#endif + +/* Determine host character set. */ +#define HOST_CHARSET_UNKNOWN 0 +#define HOST_CHARSET_ASCII 1 +#define HOST_CHARSET_EBCDIC 2 + +#if '\n' == 0x0A && ' ' == 0x20 && '0' == 0x30 \ + && 'A' == 0x41 && 'a' == 0x61 && '!' == 0x21 +# define HOST_CHARSET HOST_CHARSET_ASCII #else +# if '\n' == 0x15 && ' ' == 0x40 && '0' == 0xF0 \ + && 'A' == 0xC1 && 'a' == 0x81 && '!' == 0x5A +# define HOST_CHARSET HOST_CHARSET_EBCDIC +# else +# define HOST_CHARSET HOST_CHARSET_UNKNOWN +# endif +#endif /* Categories. */ @@ -99,5 +116,4 @@ extern const unsigned char _sch_tolower[256]; #define TOUPPER(c) _sch_toupper[(c) & 0xff] #define TOLOWER(c) _sch_tolower[(c) & 0xff] -#endif /* no ctype.h */ #endif /* SAFE_CTYPE_H */ diff --git a/contrib/binutils/include/splay-tree.h b/contrib/binutils/include/splay-tree.h index 23f7ac6..86707fc 100644 --- a/contrib/binutils/include/splay-tree.h +++ b/contrib/binutils/include/splay-tree.h @@ -36,6 +36,10 @@ extern "C" { #include "ansidecl.h" +#ifndef GTY +#define GTY(X) +#endif + /* Use typedefs for the key and data types to facilitate changing these types, if necessary. These types should be sufficiently wide that any pointer or scalar can be cast to these types, and then @@ -65,7 +69,7 @@ typedef int (*splay_tree_foreach_fn) PARAMS((splay_tree_node, void*)); node structures. The first argument is the number of bytes needed; the second is a data pointer the splay tree functions pass through to the allocator. This function must never return zero. */ -typedef void *(*splay_tree_allocate_fn) PARAMS((int, void *)); +typedef PTR (*splay_tree_allocate_fn) PARAMS((int, void *)); /* The type of a function used to free memory allocated using the corresponding splay_tree_allocate_fn. The first argument is the @@ -74,24 +78,24 @@ typedef void *(*splay_tree_allocate_fn) PARAMS((int, void *)); typedef void (*splay_tree_deallocate_fn) PARAMS((void *, void *)); /* The nodes in the splay tree. */ -struct splay_tree_node_s +struct splay_tree_node_s GTY(()) { /* The key. */ - splay_tree_key key; + splay_tree_key GTY ((use_param1 (""))) key; /* The value. */ - splay_tree_value value; + splay_tree_value GTY ((use_param2 (""))) value; /* The left and right children, respectively. */ - splay_tree_node left; - splay_tree_node right; + splay_tree_node GTY ((use_params (""))) left; + splay_tree_node GTY ((use_params (""))) right; }; /* The splay tree itself. */ -typedef struct splay_tree_s +struct splay_tree_s GTY(()) { /* The root of the tree. */ - splay_tree_node root; + splay_tree_node GTY ((use_params (""))) root; /* The comparision function. */ splay_tree_compare_fn comp; @@ -105,9 +109,10 @@ typedef struct splay_tree_s /* Allocate/free functions, and a data pointer to pass to them. */ splay_tree_allocate_fn allocate; splay_tree_deallocate_fn deallocate; - void *allocate_data; + PTR GTY((skip (""))) allocate_data; -} *splay_tree; +}; +typedef struct splay_tree_s *splay_tree; extern splay_tree splay_tree_new PARAMS((splay_tree_compare_fn, splay_tree_delete_key_fn, |