Changeset 609 for branches/GNU/src/binutils/include
- Timestamp:
- Aug 16, 2003, 6:59:22 PM (22 years ago)
- Location:
- branches/GNU/src/binutils/include
- Files:
-
- 98 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/GNU/src/binutils/include/ChangeLog
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 2001-06-07 Alan Modra <amodra@bigpond.net.au> 2 3 * Many files: Update copyright notices. 4 5 2001-05-28 Philip Blundell <philb@gnu.org> 6 7 From 2001-05-11 Jakub Jelinek <jakub@redhat.com> 8 * elf/ia64.h (ELF_STRING_ia64_unwind_once): Define. 9 (ELF_STRING_ia64_unwind_info_once): Define. 1 2003-05-21 Nick Clifton <nickc@redhat.com> 2 3 * bfdlink.h (struct bfd_link_hash_table): Fix typo in comment. 4 5 2003-05-09 Alan Modra <amodra@bigpond.net.au> 6 7 * xtensa-isa-internal.h (xtensa_isa_module_struct): Remove const on 8 gen_num_opcodes_fn return type. 9 10 2003-04-28 H.J. Lu <hjl@gnu.org> 11 12 * bfdlink.h (bfd_link_info): Add relax_finalizing. 13 14 2003-04-23 H.J. Lu <hjl@gnu.org> 15 16 * bfdlink.h (bfd_link_callbacks): Add error_handler. 17 18 2003-04-04 Svein E. Seldal <Svein.Seldal@solidas.com> 19 20 * coff/tic4x.h: Namespace cleanup. Replace s/c4x/tic4x 21 and s/c3x/tic3x/ 22 * coff/tc-tic4x.h: Ditto 23 * opcode/tic4x.h: Ditto 24 25 2003-04-02 Bob Wilson <bob.wilson@acm.org> 26 27 * xtensa-config.h: Remove comment indicating that this is a 28 generated file. 29 30 2003-04-01 Bob Wilson <bob.wilson@acm.org> 31 32 * dis-asm.h (print_insn_xtensa): Declare. 33 * xtensa-config.h: New file. 34 * xtensa-isa-internal.h: Likewise. 35 * xtensa-isa.h: Likewise. 36 37 2003-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 38 39 * ansidecl.h (ATTRIBUTE_NONNULL, ATTRIBUTE_NULL_PRINTF, 40 ATTRIBUTE_NULL_PRINTF_1, ATTRIBUTE_NULL_PRINTF_2, 41 ATTRIBUTE_NULL_PRINTF_3, ATTRIBUTE_NULL_PRINTF_4, 42 ATTRIBUTE_NULL_PRINTF_5): New. 43 (ATTRIBUTE_PRINTF): Add ATTRIBUTE_NONNULL. 44 45 2003-03-17 Jan Hubicka <jh@suse.cz> 46 47 * hashtab.h (htab_traverse_noresize): Declare. 48 49 2003-02-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 50 51 * libiberty.h: Document return value of physmem routines. 52 53 2003-02-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 54 55 * libiberty.h (physmem_total, physmem_available): Prototype. 56 57 2003-02-20 Daniel Jacobowitz <drow@mvista.com> 58 59 * libiberty.h (lrealpath): Add declaration. 60 61 2003-01-31 Grant Grundler <grundler@dsl2.external.hp.com> 62 63 * hppa.h (ldwa, ldda): Add ordered opcodes. 64 65 2003-01-26 Daniel Jacobowitz <drow@mvista.com> 66 67 * hashtab.h (htab_alloc_with_arg, htab_free_with_arg): Add new types. 68 (struct htab): Add alloc_arg, alloc_with_arg_f, free_with_arg_f. 69 (htab_create_alloc_ex): New prototype. 70 (htab_set_functions_ex): New prototype. 71 72 2003-01-25 Jakub Jelinek <jakub@redhat.com> 73 74 * elf/sparc.h: Add TLS relocs. Move R_SPARC_REV32 to 252. 75 76 2003-01-20 Svein E. Seldal <Svein.Seldal@solidas.com> 77 78 * coff/tic4x.h (TICOFF_TARGET_MACHINE_GET): Fixed define bug 79 * coff/ti.h (TICOFF_TARGET_MACHINE_GET): Added macros 80 81 2002-07-17 Geoffrey Keating <geoffk@redhat.com> 82 83 * splay-tree.h (GTY): Define if undefined. 84 (splay_tree_allocate_fn): Return PTR for compatibility, not void *. 85 (struct splay_tree_node_s): Support gengtype. 86 (struct splay_tree_s): Likewise. Make allocate_data a PTR, 87 not a void *. 88 89 2002-01-02 Ben Elliston <bje@redhat.com> 90 91 * dis-asm.h (print_insn_iq2000): Declare. 92 93 2002-12-24 Dmitry Diky <diwil@mail.ru> 94 95 * dis-asm.h: Add msp430 disassembler prototype. 96 97 2002-12-27 Chris Demetriou <cgd@broadcom.com> 98 99 * dis-asm.h (print_mips_disassembler_options): Prototype. 100 101 2002-12-23 Alan Modra <amodra@bigpond.net.au> 102 103 * bfdlink.h (struct bfd_link_info): Add "strip_discarded". 104 105 2002-12-20 Alan Modra <amodra@bigpond.net.au> 106 107 * bfdlink.h (struct bfd_link_info): Replace bfd_boolean fields with 108 bit-fields. Rearrange to put all like types together. 109 110 2002-11-30 Alan Modra <amodra@bigpond.net.au> 111 112 * bfdlink.h: Replace boolean with bfd_boolean. Formatting. 113 114 2002-11-23 Simon Burge <simonb@wasabisystems.com> 115 116 * libiberty.h (basename): Add NetBSD to the list. 117 118 2002-11-22 Daniel Jacobowitz <drow@mvista.com> 119 120 * libiberty.h (make_relative_prefix): Add prototype. 121 122 2002-11-16 Klee Dienes <kdienes@apple.com> 123 124 * opcode/m88k.h (INSTAB): Remove 'next' field. 125 (instruction): Remove definition; replace with extern declaration 126 and mark as const. 127 128 2002-11-14 Egor Duda <deo@logos-m.ru> 129 130 * bfdlink.h (struct bfd_link_info): Add new boolean 131 field pei386_runtime_pseudo_reloc. 132 133 2002-10-26 Roger Sayle <roger@eyesopen.com> 134 135 * partition.h: Close the extern "C" scope when compiling with C++. 136 137 2002-10-26 Roger Sayle <roger@eyesopen.com> 138 DJ Delorie <dj@redhat.com> 139 140 PR bootstrap/8351 141 * getopt.h: Avoid prototyping getopt with no arguments in C++. 142 143 2002-10-24 Nathan Tallent <eraxxon@alumni.rice.edu> 144 145 * ansidecl.h (__STDC__): Add (__alpha && __cplusplus) to the 146 list of platform compilers that may look, smell and act 147 like __STDC__ but that may not define it. 148 149 2002-10-11 David O'Brien <obrien@FreeBSD.org> 150 151 * getopt.h: getopt is in unistd.h (based on SUSv2). 152 153 2002-09-26 Jakub Jelinek <jakub@redhat.com> 154 155 * elf/x86-64.h: Add TLS relocs. 156 157 2002-09-26 Andrew Cagney <ac131313@redhat.com> 158 159 * regs/: Delete directory. 160 161 2002-09-19 Alexandre Oliva <aoliva@redhat.com> 162 163 * libiberty.h (asprintf, vasprintf): Don't declare them if the 164 corresponding HAVE_DECL_ macro is 1. 165 166 2002-09-19 Jakub Jelinek <jakub@redhat.com> 167 168 * elf/i386.h (R_386_TLS_TPOFF, R_386_TLS_IE, R_386_TLS_GOTIE): 169 Define. 170 171 2002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu> 172 173 * dis-asm.h: Remove (errant) trailing semicolon (;) from the 174 extern "C" { } declaration. 175 176 2002-09-04 Nick Clifton <nickc@redhat.com> 177 178 * dis-asm.h (print_ppc_disassembler_options): Prototype. 179 180 2002-08-28 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 181 182 * coff/internal.h: Add new relocation types. 183 * coff/ti.h: Add file-header flags for tic4x code. 184 * dis-asm.h: Add standard disassembler for tic4x. 185 * opcode/tic4x.h: New file. 186 * coff/tic4x.h: New file 187 188 2002-08-07 H.J. Lu <hjl@gnu.org> 189 190 * bfdlink.h (bfd_link_info): Add allow_undefined_version. 191 (bfd_elf_version_expr): Add symver and script. 192 193 2002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au> 194 195 * bfdlink.h (bfd_link_common_skip_ar_symbols): New enum. 196 (struct bfd_link_info): Add new field 'common_skip_ar_symbols'. 197 198 2002-07-25 Richard Sandiford <rsandifo@redhat.com> 199 200 * opcode/mips.h (CPU_R2000): Remove. 201 202 2002-07-19 Denis Chertykov <denisc@overta.ru> 203 Matthew Green <mrg@redhat.com> 204 205 * dis-asm.h (print_insn_ip2k): Declare. 206 207 2002-07-10 Jakub Jelinek <jakub@redhat.com> 208 209 * elf/common.h (SHT_GNU_LIBLIST, DT_GNU_PRELINKED, 210 DT_GNU_CONFLICT*, DT_GNU_LIBLIST*): Define. 211 212 2002-07-01 Alan Modra <amodra@bigpond.net.au> 213 214 * bfdlink.h (struct bfd_sym_chain): Declare. 215 (struct bfd_link_info): Add gc_sym_list. Formatting fixes. 216 217 2002-06-25 Alan Modra <amodra@bigpond.net.au> 218 219 * demangle.h: #include "ansidecl.h" rather than #include <ansidecl.h>. 220 * fibheap.h: Likewise. 221 * hashtab.h: Likewise. 222 * partition.h: Likewise. 223 * sort.h: Likewise. 224 * splay-tree.h: Likewise. 225 226 2002-06-24 Alan Modra <amodra@bigpond.net.au> 227 228 * libiberty.h (basename): Don't declare if HAVE_DECL_BASENAME. 229 * getopt.h (getopt): Don't declare if HAVE_DECL_GETOPT. 230 231 2002-06-18 Dave Brolley <brolley@redhat.com> 232 233 From Catherine Moore: 234 * dis-asm.h (print_insn_frv): New prototype. 235 236 2002-06-09 Andrew Cagney <cagney@redhat.com> 237 238 * remote-sim.h: Move to directory gdb/. 239 * callback.h: Move to directory gdb/. 240 241 2002-06-07 Charles Wilson <cwilson@ece.gatech.edu> 242 243 * bfdlink.h (struct bfd_link_info): Change type of 244 pei386_auto_import field to int so that -1 can mean enabled by 245 default and 1 can mean enabled by command line switch. 246 247 2002-06-06 DJ Delorie <dj@redhat.com> 248 249 * hashtab.h (htab): Rearrange new members for backward 250 compatibility. 251 (htab_create): Don't use a macro that requires other headers. 252 253 2002-06-05 Geoffrey Keating <geoffk@redhat.com> 254 255 * hashtab.h (htab_create): Restore prototype for backward 256 compatibility. 257 (htab_try_create): Likewise. 258 259 2002-05-22 Geoffrey Keating <geoffk@redhat.com> 260 261 * hashtab.h (struct htab): Update for change to length specifier. 262 263 2002-05-10 Geoffrey Keating <geoffk@redhat.com> 264 265 * hashtab.h (GTY): Define if undefined. 266 (htab_alloc): New typedef. 267 (htab_free): New typedef. 268 (struct htab): Support gengtype; allow user-specified memory 269 allocation. 270 (htab_create_alloc): New. 271 (htab_create): Replace with #define. 272 (htab_try_create): Delete. 273 274 2002-05-31 Michal Ludvig <mludvig@suse.cz> 275 276 * elf/dwarf2.h (DW_CFA_low_user, DW_CFA_high_user): Renamed 277 to DW_CFA_lo_user, DW_CFA_hi_user respectively. 278 279 2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net> 280 281 * dis-asm.h: Prototype print_insn_dlx. 282 283 2002-05-23 Andrew Cagney <ac131313@redhat.com> 284 285 * sim-d10v.h: Delete file. Moved to include/gdb/. 286 287 2002-05-23 Jakub Jelinek <jakub@redhat.com> 288 289 * elf/common.h (PT_TLS, SHF_TLS, STT_TLS, DF_STATIC_TLS): Define. 290 * elf/ia64.h (R_IA64_LTOFF_TPREL22): Renamed from R_IA64_LTOFF_TP22. 291 * elf/i386.h: Add TLS relocs. 292 293 2002-05-21 H.J. Lu (hjl@gnu.org) 294 295 * bfdlink.h (bfd_link_info): Add allow_multiple_definition. 296 297 2002-05-17 J"orn Rennecke <joern.rennecke@superh.com> 298 299 * dis-asm.h (print_insn_shl, print_insn_sh64l): Remove prototype. 300 301 2002-04-16 David S. Miller <davem@redhat.com> 302 303 * xregex2.h (__restrict_arr): Define to __restrict on GCC 304 3.1 and later. Do not redefine. 305 306 2002-04-01 Phil Edwards <pme@gcc.gnu.org> 307 308 * dyn-string.h: Also allow IN_GLIBCPP_V3 to redefine names. 309 310 2002-03-10 Daniel Jacobowitz <drow@mvista.com> 311 312 * gdb: New directory. 313 314 2002-03-06 Andrew Cagney <ac131313@redhat.com> 315 316 * floatformat.h (floatformat_arm_ext): Delete declaration. 317 318 2002-02-21 Jim Blandy <jimb@redhat.com> 319 320 Allow the user to specify functions for allocating memory for 321 splay tree roots and nodes. 322 * splay-tree.h (splay_tree_allocate_fn, splay_tree_deallocate_fn): 323 New types. 324 (splay_tree): New fields: `allocate', `deallocate', and 325 `allocate_data'. 326 (splay_tree_new_with_allocator): New function declaration. 327 328 2002-02-15 Alan Modra <amodra@bigpond.net.au> 329 330 Support arbitrary length fill patterns. 331 * bfdlink.h (enum bfd_link_order_type): Remove bfd_fill_link_order. 332 (struct bfd_link_order): Remove fill. Add data.size. 333 334 2002-02-08 Alexandre Oliva <aoliva@redhat.com> 335 336 Contribute sh64-elf. 337 2000-11-25 Hans-Peter Nilsson <hpn@cygnus.com> 338 * dis-asm.h (print_insn_sh64): New prototype. 339 (print_insn_sh64l): New prototype. 340 (print_insn_sh64x_media): New prototype. 341 342 2002-02-05 Frank Ch. Eigler <fche@redhat.com> 343 344 * dis-asm.h (disassemble_info): New field `insn_sets'. 345 (INIT_DISASSEMBLE_INFO): Clear it. 346 347 2002-02-05 Jason Merrill <jason@redhat.com> 348 349 * demangle.h (cplus_demangle_v3): Add "options" parm. 350 (cplus_demangle_v3_type): Remove prototype. 351 (DMGL_VERBOSE): New macro. 352 (DMGL_TYPES): New macro. 353 354 2002-02-02 H.J. Lu (hjl@gnu.org) 355 356 * demangle.h (cplus_demangle_v3_type): New prototype. 357 358 2002-01-31 Ivan Guzvinec <ivang@opencores.org> 359 360 * dis-asm.h : Add support for or32 targets 361 362 2002-01-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 363 364 * libiberty.h (C_alloca): Add ATTRIBUTE_MALLOC. 365 366 2002-01-27 David O'Brien <obrien@FreeBSD.org> 367 368 * cgen.h (BFD_VERSION): Use BFD_VERSION_DATE instead. 369 370 2001-12-14 Nick Clifton <nickc@cambridge.redhat.com> 371 372 * dis-asm.h (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialise the 373 disassembler_options field (to NULL). 374 375 2001-12-13 Jakub Jelinek <jakub@redhat.com> 376 377 * bfdlink.h (struct bfd_link_info): Add eh_frame_hdr field. 378 379 2001-12-07 Geoffrey Keating <geoffk@redhat.com> 380 381 * dis-asm.h (print_insn_xstormy16): Declare. 382 383 2001-12-06 Richard Henderson <rth@redhat.com> 384 385 * demangle.h (no_demangling): New. 386 (NO_DEMANGLING_STYLE_STRING): New. 387 388 2001-11-14 Alan Modra <amodra@bigpond.net.au> 389 390 * dis-asm.h (print_insn_i386): Declare. 391 392 2001-11-11 Timothy Wall <twall@alum.mit.edu> 393 394 * dis-asm.h: Fix comment to refer to octets rather than bytes. 395 396 2001-10-30 Hans-Peter Nilsson <hp@bitrange.com> 397 398 * dis-asm.h (print_insn_mmix): Add prototype. 399 400 2001-10-24 Neil Booth <neil@daikokuya.demon.co.uk> 401 402 * safe-ctype.h (_sch_isbasic, IS_ISOBASIC): New. 403 404 2001-10-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 405 406 * libiberty.h (hex_init): Revert delete. 407 408 * libiberty.h (_hex_value): Const-ify. 409 (hex_init): Delete. 410 411 2001-10-16 Christopher Faylor <cgf@redhat.com> 412 413 * filenames.h: Add cygwin to the list of dosish style path systems. 414 415 2001-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 416 417 * demangle.h (demangler_engine): Const-ify. 418 * libiberty.h (buildargv): Likewise. 419 420 2001-10-03 Vassili Karpov <malc@pulsesoft.com> 421 422 * bfdlink.h (struct bfd_link_info): Add nocopyreloc field. 423 424 2001-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 425 426 * libiberty.h (reconcat): New function. 427 428 2001-09-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 429 430 * libiberty.h (concat, concat_length, concat_copy, concat_copy2, 431 ACONCAT): Improve comments. 432 433 2001-09-18 Alan Modra <amodra@bigpond.net.au> 434 435 * objalloc.h (OBJALLOC_ALIGN): Define using offsetof. 436 437 2001-09-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 438 439 * libiberty.h (concat_length, concat_copy, concat_copy2, 440 libiberty_concat_ptr, ACONCAT): New. 441 442 * libiberty.h (ASTRDUP): New macro. 443 libiberty_optr, libiberty_nptr, libiberty_len): Declare. 444 445 2001-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 446 447 * ansidecl.h: Update comments reflecting previous change. 448 449 2001-08-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 450 451 * ansidecl.h (VA_OPEN, VA_CLOSE): Allow multiple uses. 452 453 2001-08-25 Nick Clifton <nickc@cambridge.redhat.com> 454 455 * bfdlink.h (struct bfd_link_info): Change 'spare_dynamic_tags' to 456 unsigned to remove a compile time warning message. 457 458 2001-08-24 H.J. Lu <hjl@gnu.org> 459 460 * bfdlink.h (bfd_link_hash_table_type): New. The linker hash 461 table type, bfd_link_generic_hash_table and 462 bfd_link_elf_hash_table. 463 (bfd_link_hash_table): Add a new field, type, for the linker 464 hash table type. 465 466 2001-08-23 Jakub Jelinek <jakub@redhat.com> 467 468 * bfdlink.h (struct bfd_link_info): Add combreloc and 469 spare_dynamic_tags fields. 470 471 2001-08-23 Lars Brinkhoff <lars@nocrew.org> 472 473 * dyn-string.h, fibheap.h, partition.h, sort.h, splay-tree.h: 474 replace "GNU CC" with "GCC". 475 476 2001-08-21 Richard Henderson <rth@redhat.com> 477 478 * fibheap.h: Tidy formatting. 479 (fibnode_t): Limit degree to 31 bits to avoid warning. 480 481 2001-08-20 Daniel Berlin <dan@cgsoftware.com> 482 483 * fibheap.h: New file. Fibonacci heap. 484 485 2001-08-20 Andrew Cagney <ac131313@redhat.com> 486 487 * floatformat.h (floatformat_arm_ext): Document as deprecated. 488 (floatformat_arm_ext_big, floatformat_arm_ext_littlebyte_bigword) 489 (floatformat_ia64_spill_little, floatformat_ia64_quad_little) 490 (floatformat_ia64_spill_big, floatformat_ia64_quad_big) 491 (floatformat_m88110_harris_ext): Declare. 492 493 2001-08-18 Zack Weinberg <zackw@panix.com> 494 495 * ansidecl.h: Reorganize for readability, remove documentation 496 of obsolete macros, document PARAMS and VPARAMS. Add new 497 macros VA_OPEN, VA_CLOSE, and VA_FIXEDARG for nicer variadic 498 function implementation. 499 500 2001-08-16 Richard Henderson <rth@redhat.com> 501 502 * hashtab.h (htab_hash_string): Declare. 503 504 2001-08-10 Andrew Cagney <ac131313@redhat.com> 505 506 * libiberty.h (lbasename): Change function declaration to return a 507 const char pointer. 508 509 2001-08-02 Mark Kettenis <kettenis@gnu.org> 510 511 * xregex.h (_REGEX_RE_COMP): Define. 512 (re_comp): Define to xre_comp. 513 (re_exec): Define to xre_exec. 514 515 2001-08-02 Charles Wilson <cwilson@ece.gatech.edu> 516 517 * bfdlink.h (struct bfd_link_info): add new boolean 518 field pei386_auto_import. 519 520 2001-07-18 Andreas Jaeger <aj@suse.de> 521 522 * xregex2.h: Place under LGPL version 2.1. 523 524 2001-07-10 Jeff Johnston <jjohnstn@redhat.com> 525 526 * xregex.h: New file to support libiberty regex. 527 * xregex2.h: Ditto. 528 529 2001-06-15 Hans-Peter Nilsson <hp@axis.com> 530 531 * bfdlink.h (struct bfd_link_info): New member export_dynamic. 532 533 2001-05-16 Matt Kraai <kraai@alumni.carnegiemellon.edu> 534 535 * partition.h: Fix misspelling of `implementation'. 536 537 2001-05-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 538 539 * ansidecl.h (NULL_PTR): Delete. 540 541 2001-05-07 Zack Weinberg <zackw@stanford.edu> 542 543 * demangle.h: Use PARAMS for all prototypes. 544 * ternary.h: Use PARAMS for all prototypes. Use PTR, not void *. 545 Make arguments constant where possible. 546 547 2001-05-07 Mark Mitchell <mark@codesourcery.com> 548 549 * splay-tree.h (splay_tree_max): New function. 550 (splay_tree_min): Likewise. 551 552 2001-04-27 Johan Rydberg <jrydberg@opencores.org> 553 554 * dis-asm.h (print_insn_openrisc): Add prototype. 555 556 2001-04-15 Daniel Berlin <dan@cgsoftware.com> 557 558 * ternary.h: New file - Ternary search tree header. 559 560 2001-04-13 Jakub Jelinek <jakub@redhat.com> 561 562 * bfdlink.h (bfd_link_discard): Add discard_sec_merge. 563 564 2001-04-03 Zack Weinberg <zackw@stanford.edu> 565 566 * ansidecl.h: All logic from gcc/gansidecl.h moved here. 567 568 2001-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 569 570 * libiberty.h (alloca): Handle setting C_ALLOCA. 571 572 2001-03-20 Jim Blandy <jimb@redhat.com> 573 574 * demangle.h (enum gnu_v3_constructor_kinds, 575 is_gnu_v3_mangled_ctor, enum gnu_v3_destructor_kinds, 576 is_gnu_v3_mangled_dtor): New declarations. 577 578 2001-03-14 Nick Clifton <nickc@redhat.com> 579 580 * ansidecl.h: Fix copyright dates. 581 * demangle.h: Fix copyright dates. 582 * floatformat.h: Fix copyright dates. 583 * fnmatch.h: Fix copyright dates. 584 * getopt.h: Fix copyright dates. 585 * libiberty.h: Add FSF copyright notice. 586 * md5.h: Fix copyright dates. 587 * obstack.h: Fix copyright dates. 588 * splay-tree.h: Fix copyright dates. 589 590 2001-03-10 Neil Booth <neil@daikokuya.demon.co.uk> 591 John David Anglin <dave@hiauly1.hia.nrc.ca> 592 593 * libiberty.h: Add lbasename. 594 595 2001-03-06 Zack Weinberg <zackw@stanford.edu> 596 597 * libiberty.h: Prototype C_alloca; define alloca to either 598 __builtin_alloca or C_alloca as appropriate. 599 600 2001-03-01 John David Anglin <dave@hiauly1.hia.nrc.ca> 601 602 * safe-ctype.h (_sch_test): Cast enum bit to unsigned short int for pcc 603 compatibility. 604 605 2001-02-18 lars brinkhoff <lars@nocrew.org> 606 607 * dis-asm.h: Add PDP-11 target. 608 609 2001-02-09 Martin Schwidefsky <schwidefsky@de.ibm.com> 610 611 * dis-asm.h: Add linux target for S/390. 10 612 11 613 2001-01-11 Peter Targett <peter.targett@arccores.com> … … 49 651 * getopt.h obstack.h: Standarize copyright statement. 50 652 51 2000-12-0 5Richard Henderson <rth@redhat.com>653 2000-12-04 Richard Henderson <rth@redhat.com> 52 654 53 655 * demangle.h: Change "new_abi" to "v3" everywhere. 54 656 55 2000-11-2 9Zack Weinberg <zack@wolery.stanford.edu>657 2000-11-22 Zack Weinberg <zack@wolery.stanford.edu> 56 658 57 659 * libiberty.h: Move #includes to top. Prototype xmalloc_failed. … … 1803 2405 Thu Oct 24 22:11:11 1991 John Gilmore (gnu at cygnus.com) 1804 2406 1805 RS/6000 support, by Metin G. Ozisik, Mimi Ph ûông-Thåo Võ, and2407 RS/6000 support, by Metin G. Ozisik, Mimi Phûông-Thåo Võ, and 1806 2408 John Gilmore. 1807 2409 -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/ansidecl.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* ANSI and traditional C compatability macros 2 Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000 2 Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 3 3 Free Software Foundation, Inc. 4 4 This file is part of the GNU C Library. … … 22 22 ANSI C is assumed if __STDC__ is #defined. 23 23 24 Macro ANSI C definition Traditional C definition 25 ----- ---- - ---------- ----------- - ---------- 26 PTR `void *' `char *' 27 LONG_DOUBLE `long double' `double' 28 VOLATILE `volatile' `' 29 SIGNED `signed' `' 30 PTRCONST `void *const' `char *' 31 ANSI_PROTOTYPES 1 not defined 32 33 CONST is also defined, but is obsolete. Just use const. 34 35 obsolete -- DEFUN (name, arglist, args) 36 37 Defines function NAME. 38 39 ARGLIST lists the arguments, separated by commas and enclosed in 40 parentheses. ARGLIST becomes the argument list in traditional C. 41 42 ARGS list the arguments with their types. It becomes a prototype in 43 ANSI C, and the type declarations in traditional C. Arguments should 44 be separated with `AND'. For functions with a variable number of 45 arguments, the last thing listed should be `DOTS'. 46 47 obsolete -- DEFUN_VOID (name) 48 49 Defines a function NAME, which takes no arguments. 50 51 obsolete -- EXFUN (name, (prototype)) -- obsolete. 52 53 Replaced by PARAMS. Do not use; will disappear someday soon. 54 Was used in external function declarations. 55 In ANSI C it is `NAME PROTOTYPE' (so PROTOTYPE should be enclosed in 56 parentheses). In traditional C it is `NAME()'. 57 For a function that takes no arguments, PROTOTYPE should be `(void)'. 58 59 obsolete -- PROTO (type, name, (prototype) -- obsolete. 60 61 This one has also been replaced by PARAMS. Do not use. 62 63 PARAMS ((args)) 64 65 We could use the EXFUN macro to handle prototype declarations, but 66 the name is misleading and the result is ugly. So we just define a 67 simple macro to handle the parameter lists, as in: 68 69 static int foo PARAMS ((int, char)); 70 71 This produces: `static int foo();' or `static int foo (int, char);' 72 73 EXFUN would have done it like this: 74 75 static int EXFUN (foo, (int, char)); 76 77 but the function is not external...and it's hard to visually parse 78 the function name out of the mess. EXFUN should be considered 79 obsolete; new code should be written to use PARAMS. 80 81 DOTS is also obsolete. 82 83 Examples: 84 85 extern int printf PARAMS ((const char *format, ...)); 86 */ 24 Macro ANSI C definition Traditional C definition 25 ----- ---- - ---------- ----------- - ---------- 26 ANSI_PROTOTYPES 1 not defined 27 PTR `void *' `char *' 28 PTRCONST `void *const' `char *' 29 LONG_DOUBLE `long double' `double' 30 const not defined `' 31 volatile not defined `' 32 signed not defined `' 33 VA_START(ap, var) va_start(ap, var) va_start(ap) 34 35 Note that it is safe to write "void foo();" indicating a function 36 with no return value, in all K+R compilers we have been able to test. 37 38 For declaring functions with prototypes, we also provide these: 39 40 PARAMS ((prototype)) 41 -- for functions which take a fixed number of arguments. Use this 42 when declaring the function. When defining the function, write a 43 K+R style argument list. For example: 44 45 char *strcpy PARAMS ((char *dest, char *source)); 46 ... 47 char * 48 strcpy (dest, source) 49 char *dest; 50 char *source; 51 { ... } 52 53 54 VPARAMS ((prototype, ...)) 55 -- for functions which take a variable number of arguments. Use 56 PARAMS to declare the function, VPARAMS to define it. For example: 57 58 int printf PARAMS ((const char *format, ...)); 59 ... 60 int 61 printf VPARAMS ((const char *format, ...)) 62 { 63 ... 64 } 65 66 For writing functions which take variable numbers of arguments, we 67 also provide the VA_OPEN, VA_CLOSE, and VA_FIXEDARG macros. These 68 hide the differences between K+R <varargs.h> and C89 <stdarg.h> more 69 thoroughly than the simple VA_START() macro mentioned above. 70 71 VA_OPEN and VA_CLOSE are used *instead of* va_start and va_end. 72 Immediately after VA_OPEN, put a sequence of VA_FIXEDARG calls 73 corresponding to the list of fixed arguments. Then use va_arg 74 normally to get the variable arguments, or pass your va_list object 75 around. You do not declare the va_list yourself; VA_OPEN does it 76 for you. 77 78 Here is a complete example: 79 80 int 81 printf VPARAMS ((const char *format, ...)) 82 { 83 int result; 84 85 VA_OPEN (ap, format); 86 VA_FIXEDARG (ap, const char *, format); 87 88 result = vfprintf (stdout, format, ap); 89 VA_CLOSE (ap); 90 91 return result; 92 } 93 94 95 You can declare variables either before or after the VA_OPEN, 96 VA_FIXEDARG sequence. Also, VA_OPEN and VA_CLOSE are the beginning 97 and end of a block. They must appear at the same nesting level, 98 and any variables declared after VA_OPEN go out of scope at 99 VA_CLOSE. Unfortunately, with a K+R compiler, that includes the 100 argument list. You can have multiple instances of VA_OPEN/VA_CLOSE 101 pairs in a single function in case you need to traverse the 102 argument list more than once. 103 104 For ease of writing code which uses GCC extensions but needs to be 105 portable to other compilers, we provide the GCC_VERSION macro that 106 simplifies testing __GNUC__ and __GNUC_MINOR__ together, and various 107 wrappers around __attribute__. Also, __extension__ will be #defined 108 to nothing if it doesn't work. See below. 109 110 This header also defines a lot of obsolete macros: 111 CONST, VOLATILE, SIGNED, PROTO, EXFUN, DEFUN, DEFUN_VOID, 112 AND, DOTS, NOARGS. Don't use them. */ 87 113 88 114 #ifndef _ANSIDECL_H 89 90 #define _ANSIDECL_H 1 91 115 #define _ANSIDECL_H 1 92 116 93 117 /* Every source file includes this file, 94 118 so they will all get the switch for lint. */ 95 119 /* LINTLIBRARY */ 96 97 98 #if defined (__STDC__) || defined (_AIX) || (defined (__mips) && defined (_SYSTYPE_SVR4)) || defined(_WIN32)99 /* All known AIX compilers implement these things (but don't always100 define __STDC__). The RISC/OS MIPS compiler defines these things101 in SVR4 mode, but does not define __STDC__. */102 103 #define PTR void *104 #define PTRCONST void *CONST105 #define LONG_DOUBLE long double106 107 #ifndef IN_GCC108 #define AND ,109 #define NOARGS void110 #define VOLATILE volatile111 #define SIGNED signed112 #endif /* ! IN_GCC */113 114 #define PARAMS(paramlist) paramlist115 #define ANSI_PROTOTYPES 1116 117 #define VPARAMS(ARGS) ARGS118 #define VA_START(va_list,var) va_start(va_list,var)119 120 /* These are obsolete. Do not use. */121 #ifndef IN_GCC122 #define CONST const123 #define DOTS , ...124 #define PROTO(type, name, arglist) type name arglist125 #define EXFUN(name, proto) name proto126 #define DEFUN(name, arglist, args) name(args)127 #define DEFUN_VOID(name) name(void)128 #endif /* ! IN_GCC */129 130 #else /* Not ANSI C. */131 132 #define PTR char *133 #define PTRCONST PTR134 #define LONG_DOUBLE double135 136 #ifndef IN_GCC137 #define AND ;138 #define NOARGS139 #define VOLATILE140 #define SIGNED141 #endif /* !IN_GCC */142 143 #ifndef const /* some systems define it in header files for non-ansi mode */144 #define const145 #endif146 147 #define PARAMS(paramlist) ()148 149 #define VPARAMS(ARGS) (va_alist) va_dcl150 #define VA_START(va_list,var) va_start(va_list)151 152 /* These are obsolete. Do not use. */153 #ifndef IN_GCC154 #define CONST155 #define DOTS156 #define PROTO(type, name, arglist) type name ()157 #define EXFUN(name, proto) name()158 #define DEFUN(name, arglist, args) name arglist args;159 #define DEFUN_VOID(name) name()160 #endif /* ! IN_GCC */161 162 #endif /* ANSI C. */163 164 120 165 121 /* Using MACRO(x,y) in cpp #if conditionals does not work with some … … 181 137 #endif /* GCC_VERSION */ 182 138 139 #if defined (__STDC__) || defined (_AIX) || (defined (__mips) && defined (_SYSTYPE_SVR4)) || defined(_WIN32) || (defined(__alpha) && defined(__cplusplus)) 140 /* All known AIX compilers implement these things (but don't always 141 define __STDC__). The RISC/OS MIPS compiler defines these things 142 in SVR4 mode, but does not define __STDC__. */ 143 /* eraxxon@alumni.rice.edu: The Compaq C++ compiler, unlike many other 144 C++ compilers, does not define __STDC__, though it acts as if this 145 was so. (Verified versions: 5.7, 6.2, 6.3, 6.5) */ 146 147 #define ANSI_PROTOTYPES 1 148 #define PTR void * 149 #define PTRCONST void *const 150 #define LONG_DOUBLE long double 151 152 #define PARAMS(ARGS) ARGS 153 #define VPARAMS(ARGS) ARGS 154 #define VA_START(VA_LIST, VAR) va_start(VA_LIST, VAR) 155 156 /* variadic function helper macros */ 157 /* "struct Qdmy" swallows the semicolon after VA_OPEN/VA_FIXEDARG's 158 use without inhibiting further decls and without declaring an 159 actual variable. */ 160 #define VA_OPEN(AP, VAR) { va_list AP; va_start(AP, VAR); { struct Qdmy 161 #define VA_CLOSE(AP) } va_end(AP); } 162 #define VA_FIXEDARG(AP, T, N) struct Qdmy 163 164 #undef const 165 #undef volatile 166 #undef signed 167 168 /* inline requires special treatment; it's in C99, and GCC >=2.7 supports 169 it too, but it's not in C89. */ 170 #undef inline 171 #if __STDC_VERSION__ > 199901L 172 /* it's a keyword */ 173 #else 174 # if GCC_VERSION >= 2007 175 # define inline __inline__ /* __inline__ prevents -pedantic warnings */ 176 # else 177 # define inline /* nothing */ 178 # endif 179 #endif 180 181 /* These are obsolete. Do not use. */ 182 #ifndef IN_GCC 183 #define CONST const 184 #define VOLATILE volatile 185 #define SIGNED signed 186 187 #define PROTO(type, name, arglist) type name arglist 188 #define EXFUN(name, proto) name proto 189 #define DEFUN(name, arglist, args) name(args) 190 #define DEFUN_VOID(name) name(void) 191 #define AND , 192 #define DOTS , ... 193 #define NOARGS void 194 #endif /* ! IN_GCC */ 195 196 #else /* Not ANSI C. */ 197 198 #undef ANSI_PROTOTYPES 199 #define PTR char * 200 #define PTRCONST PTR 201 #define LONG_DOUBLE double 202 203 #define PARAMS(args) () 204 #define VPARAMS(args) (va_alist) va_dcl 205 #define VA_START(va_list, var) va_start(va_list) 206 207 #define VA_OPEN(AP, VAR) { va_list AP; va_start(AP); { struct Qdmy 208 #define VA_CLOSE(AP) } va_end(AP); } 209 #define VA_FIXEDARG(AP, TYPE, NAME) TYPE NAME = va_arg(AP, TYPE) 210 211 /* some systems define these in header files for non-ansi mode */ 212 #undef const 213 #undef volatile 214 #undef signed 215 #undef inline 216 #define const 217 #define volatile 218 #define signed 219 #define inline 220 221 #ifndef IN_GCC 222 #define CONST 223 #define VOLATILE 224 #define SIGNED 225 226 #define PROTO(type, name, arglist) type name () 227 #define EXFUN(name, proto) name() 228 #define DEFUN(name, arglist, args) name arglist args; 229 #define DEFUN_VOID(name) name() 230 #define AND ; 231 #define DOTS 232 #define NOARGS 233 #endif /* ! IN_GCC */ 234 235 #endif /* ANSI C. */ 236 183 237 /* Define macros for some gcc attributes. This permits us to use the 184 238 macros freely, and know that they will come into play for the … … 215 269 #endif /* ATTRIBUTE_NORETURN */ 216 270 271 /* Attribute `nonnull' was valid as of gcc 3.3. */ 272 #ifndef ATTRIBUTE_NONNULL 273 # if (GCC_VERSION >= 3003) 274 # define ATTRIBUTE_NONNULL(m) __attribute__ ((__nonnull__ (m))) 275 # else 276 # define ATTRIBUTE_NONNULL(m) 277 # endif /* GNUC >= 3.3 */ 278 #endif /* ATTRIBUTE_NONNULL */ 279 280 /* Use ATTRIBUTE_PRINTF when the format specifier must not be NULL. 281 This was the case for the `printf' format attribute by itself 282 before GCC 3.3, but as of 3.3 we need to add the `nonnull' 283 attribute to retain this behavior. */ 217 284 #ifndef ATTRIBUTE_PRINTF 218 #define ATTRIBUTE_PRINTF(m, n) __attribute__ ((__format__ (__printf__, m, n))) 285 #define ATTRIBUTE_PRINTF(m, n) __attribute__ ((__format__ (__printf__, m, n))) ATTRIBUTE_NONNULL(m) 219 286 #define ATTRIBUTE_PRINTF_1 ATTRIBUTE_PRINTF(1, 2) 220 287 #define ATTRIBUTE_PRINTF_2 ATTRIBUTE_PRINTF(2, 3) … … 224 291 #endif /* ATTRIBUTE_PRINTF */ 225 292 293 /* Use ATTRIBUTE_NULL_PRINTF when the format specifier may be NULL. A 294 NULL format specifier was allowed as of gcc 3.3. */ 295 #ifndef ATTRIBUTE_NULL_PRINTF 296 # if (GCC_VERSION >= 3003) 297 # define ATTRIBUTE_NULL_PRINTF(m, n) __attribute__ ((__format__ (__printf__, m, n))) 298 # else 299 # define ATTRIBUTE_NULL_PRINTF(m, n) 300 # endif /* GNUC >= 3.3 */ 301 # define ATTRIBUTE_NULL_PRINTF_1 ATTRIBUTE_NULL_PRINTF(1, 2) 302 # define ATTRIBUTE_NULL_PRINTF_2 ATTRIBUTE_NULL_PRINTF(2, 3) 303 # define ATTRIBUTE_NULL_PRINTF_3 ATTRIBUTE_NULL_PRINTF(3, 4) 304 # define ATTRIBUTE_NULL_PRINTF_4 ATTRIBUTE_NULL_PRINTF(4, 5) 305 # define ATTRIBUTE_NULL_PRINTF_5 ATTRIBUTE_NULL_PRINTF(5, 6) 306 #endif /* ATTRIBUTE_NULL_PRINTF */ 307 226 308 /* We use __extension__ in some places to suppress -pedantic warnings 227 309 about GCC extensions. This feature didn't work properly before … … 231 313 #endif 232 314 315 /* Bootstrap support: Adjust certain macros defined by Autoconf, 316 which are only valid for the stage1 compiler. If we detect 317 a modern version of GCC, we are probably in stage2 or beyond, 318 so unconditionally reset the values. Note that const, inline, 319 etc. have been dealt with above. */ 320 #if (GCC_VERSION >= 2007) 321 # ifndef HAVE_LONG_DOUBLE 322 # define HAVE_LONG_DOUBLE 1 323 # endif 324 #endif /* GCC >= 2.7 */ 325 233 326 #endif /* ansidecl.h */ -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/aout/ChangeLog
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 2001-06-07 Alan Modra <amodra@bigpond.net.au> 2 3 * Many files: Update copyright notices. 4 5 Mon Apr 3 13:29:08 2000 Hans-Peter Nilsson <hp@axis.com> 1 2003-03-06 Elias Athanasopoulos <elathan@phys.uoa.gr> 2 3 * aout64.h (BYTES_IN_WORD): Define if necessary. 4 5 2001-09-18 Alan Modra <amodra@bigpond.net.au> 6 7 * aout64.h: Formatting fixes. 8 (N_TXTADDR): Evaluate to a bfd_vma. 9 (N_DATADDR): Avoid negative unsigned warning. 10 * hp300hpux.h: Formatting fixes. 11 (N_DATADDR): Avoid negative unsigned warning. 12 13 2000-04-03 Hans-Peter Nilsson <hp@axis.com> 6 14 7 15 * aout64.h (RELOC_EXT_BITS_EXTERN_BIG): Wrap definition in #ifndef. … … 17 25 defined as 0. 18 26 19 Sun Jun 28 11:33:48 1998 Peter Schauer <pes@regent.e-technik.tu-muenchen.de>27 1998-06-28 Peter Schauer <pes@regent.e-technik.tu-muenchen.de> 20 28 21 29 * stab.def: Add N_ALIAS from SunPro F77. 22 30 23 Mon Mar 11 12:15:52 1996Ian Lance Taylor <ian@cygnus.com>31 1996-03-11 Ian Lance Taylor <ian@cygnus.com> 24 32 25 33 * stab.def: Use __define_stab_duplicate rather than __define_stab … … 28 36 stab.def. 29 37 30 Fri Oct 27 17:47:16 1995Niklas Hallqvist <niklas@appli.se>38 1995-10-27 Niklas Hallqvist <niklas@appli.se> 31 39 32 40 * aout64.h, host.h, hp300hpux.h, sun4.h: Changed PAGE_SIZE to 33 41 TARGET_PAGE_SIZE. 34 42 35 Tue Sep 12 12:07:02 1995Ian Lance Taylor <ian@cygnus.com>43 1995-09-12 Ian Lance Taylor <ian@cygnus.com> 36 44 37 45 * sun4.h (struct internal_sun4_dynamic_link): Change all fields 38 46 from long to unsigned long. 39 47 40 Wed Jul 12 00:15:13 1995Ken Raeburn <raeburn@kr-pc.cygnus.com>48 1995-07-12 Ken Raeburn <raeburn@kr-pc.cygnus.com> 41 49 42 50 * sun4.h (PAGE_SIZE): Undefine before defining. 43 51 44 Thu Jun 16 14:22:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) 52 1994-09-04 Richard Earnshaw (rwe@pegasus.esprit.ec.org) 53 54 * aout64.h: Only define QMAGIC if it isn't already defined. 55 56 1994-06-16 Ian Lance Taylor (ian@tweedledumb.cygnus.com) 45 57 46 58 * aout64.h (BMAGIC): Define. 47 59 48 Sat Jun 11 16:16:09 1994Ian Lance Taylor (ian@tweedledumb.cygnus.com)60 1994-06-11 Ian Lance Taylor (ian@tweedledumb.cygnus.com) 49 61 50 62 Add weak symbols as an extension to a.out. … … 52 64 * stab.def: Update symbol value table. 53 65 54 Thu Jun 2 17:13:38 1994Ian Lance Taylor (ian@tweedledumb.cygnus.com)66 1994-06-02 Ian Lance Taylor (ian@tweedledumb.cygnus.com) 55 67 56 68 * sun4.h (EXTERNAL_SUN4_DYNAMIC_DEBUGGER_SIZE): Correct from 28 to 57 69 24. Fix up ld_got comment. 58 70 59 Wed Mar 30 00:31:49 1994Peter Schauer (pes@regent.e-technik.tu-muenchen.de)71 1994-03-30 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) 60 72 61 73 * dynix3.h: Cleanup, adapt to current bfd version. 62 74 63 Sat Feb 26 10:25:53 1994Ian Lance Taylor (ian@cygnus.com)75 1994-02-26 Ian Lance Taylor (ian@cygnus.com) 64 76 65 77 * aout64.h: Add casts to avoid warnings from SVR4 cc. 66 78 67 Fri Feb 11 12:56:04 1994Stan Shebs (shebs@andros.cygnus.com)79 1994-02-11 Stan Shebs (shebs@andros.cygnus.com) 68 80 69 81 * ar.h (ARMAG, ARMAGB, ARFMAG): Change '\n' to '\012', for greater 70 82 portability. 71 83 72 Fri Jan 21 00:59:06 1994Ian Lance Taylor (ian@tweedledumb.cygnus.com)84 1994-01-21 Ian Lance Taylor (ian@tweedledumb.cygnus.com) 73 85 74 86 * sun4.h: Added information about SunOS shared libraries. 75 87 76 Fri Jan 7 08:20:13 1994Jim Kingdon (kingdon@deneb.cygnus.com)88 1994-01-07 Jim Kingdon (kingdon@deneb.cygnus.com) 77 89 78 90 * aout64.h (N_TXTADDR): Add comment regarding OMAGIC and NMAGIC. 79 91 80 Sat Dec 25 14:55:41 1993Jim Kingdon (kingdon@lioth.cygnus.com)92 1993-12-25 Jim Kingdon (kingdon@lioth.cygnus.com) 81 93 82 94 * aout64.h (N_DATOFF): Don't pad (revert change of 8 Jul 1993). 83 95 84 Tue Nov 16 15:43:46 1993Jim Kingdon (kingdon@lioth.cygnus.com)96 1993-11-16 Jim Kingdon (kingdon@lioth.cygnus.com) 85 97 86 98 * aout64.h: New macros ZMAGIC_DISK_BLOCK_SIZE and N_DISK_BLOCK_SIZE … … 88 100 (N_TXTOFF, N_DATOFF): Use them. 89 101 90 Thu Nov 4 00:33:48 1993Ken Raeburn (raeburn@kr-pc.cygnus.com)102 1993-11-04 Ken Raeburn (raeburn@kr-pc.cygnus.com) 91 103 92 104 * aout64.h (RELOC_STD_BITS_RELATIVE_LITTLE): Fixed value to match … … 94 106 (RELOC_STD_BITS_JMPTABLE_LITTLE): Likewise. 95 107 96 Wed Nov 3 13:48:27 1993 David J. Mackenzie (djm@thepub.cygnus.com)108 1993-11-03 David J. Mackenzie (djm@thepub.cygnus.com) 97 109 98 110 * aout64.h (RELOC_STD_BITS_BASEREL_LITTLE): Make it 0x10 (Ken's 99 111 suggestion) to avoid conflict with RELOC_STD_BITS_EXTERN_LITTLE. 100 112 101 Fri Oct 29 15:09:52 1993Ian Lance Taylor (ian@tweedledumb.cygnus.com)113 1993-10-29 Ian Lance Taylor (ian@tweedledumb.cygnus.com) 102 114 103 115 * hp300hpux.h (N_SHARED_LIB): Define to be 0. 104 116 105 Mon Sep 13 21:00:56 1993 John Gilmore (gnu@cygnus.com)117 1993-09-13 John Gilmore (gnu@cygnus.com) 106 118 107 119 * ar.h (ARMAP_TIME_OFFSET): Add and describe. … … 111 123 * aout64.h [ARCH_SIZE != 64]: Allow N_BADMAG to be overridden. 112 124 113 Mon Aug 16 14:30:14 1993Jim Kingdon (kingdon@lioth.cygnus.com)125 1993-08-16 Jim Kingdon (kingdon@lioth.cygnus.com) 114 126 115 127 * stab_gnu.h: Include aout/stab.def not just stab.def. 116 128 117 Sun Jul 18 21:41:47 1993Jim Kingdon (kingdon@rtl.cygnus.com)129 1993-07-18 Jim Kingdon (kingdon@rtl.cygnus.com) 118 130 119 131 * dynix3.h: New, for symmetry running dynix. 120 132 121 Thu Jul 8 12:52:22 1993Jim Kingdon (kingdon@lioth.cygnus.com)133 1993-07-08 Jim Kingdon (kingdon@lioth.cygnus.com) 122 134 123 135 * aout64.h (N_BADMAG): Recognize QMAGIC. … … 125 137 N_DATOFF: Pad text size if we need to. 126 138 127 Fri Jun 18 19:19:38 1993Jim Kingdon (kingdon@lioth.cygnus.com)139 1993-06-18 Jim Kingdon (kingdon@lioth.cygnus.com) 128 140 129 141 * stab.def (N_ECOML): Fix comment. 130 142 131 Mon May 31 09:21:30 1993Jim Kingdon (kingdon@cygnus.com)143 1993-05-31 Jim Kingdon (kingdon@cygnus.com) 132 144 133 145 * stab.def: Remove Solaris information on N_FUN stabstring grammar; 134 146 I've transferred it to gdb/doc/stabs.texinfo, where it belongs. 135 147 136 Mon May 10 05:48:43 1993Ken Raeburn (raeburn@kr-pc.cygnus.com)148 1993-05-10 Ken Raeburn (raeburn@kr-pc.cygnus.com) 137 149 138 150 * hp300hpux.h: Patch from Glenn Engel for linker problem and … … 144 156 (N_HEADER_IN_TEXT, N_DATADDR): New macros. 145 157 146 Thu Apr 29 12:07:37 1993Ken Raeburn (raeburn@deneb.cygnus.com)158 1993-04-29 Ken Raeburn (raeburn@deneb.cygnus.com) 147 159 148 160 * hp300hpux.h: New file from Glenn Engel, glenne@lsid.hp.com. 149 161 150 Tue Apr 27 05:51:04 1993Ken Raeburn (raeburn@kr-pc.cygnus.com)162 1993-04-27 Ken Raeburn (raeburn@kr-pc.cygnus.com) 151 163 152 164 * aout64.h (struct external_exec, *MAGIC, N_BADMAG): Don't define … … 157 169 `external_nlist' is already defined as a macro. 158 170 159 Sat Aug 15 04:23:02 1992John Gilmore (gnu@cygnus.com)171 1992-08-15 John Gilmore (gnu@cygnus.com) 160 172 161 173 * adobe.h: Add description of a.out.adobe format. 162 174 163 Fri Jul 3 00:36:52 1992John Gilmore (gnu at cygnus.com)175 1992-07-03 John Gilmore (gnu at cygnus.com) 164 176 165 177 * stab.def: Update more Solaris definitions. 166 178 * stab_gnu.h: Add N_SO language types, and Solaris basic float types. 167 179 168 Sun Jun 14 10:53:53 1992John Gilmore (gnu at cygnus.com)180 1992-06-14 John Gilmore (gnu at cygnus.com) 169 181 170 182 * stab.def: Update descriptions of Solaris-2 stabs; add N_UNDF. 171 183 172 Thu Jun 11 01:12:07 1992John Gilmore (gnu at cygnus.com)184 1992-06-11 John Gilmore (gnu at cygnus.com) 173 185 174 186 * stab.def: Add N_OBJ and N_OPT from Solaris-2. 175 187 176 Thu Jan 30 18:12:44 1992John Gilmore (gnu at cygnus.com)177 178 * aout /aout64.h: N_TXTSIZE needs some more parentheses.188 1992-01-30 John Gilmore (gnu at cygnus.com) 189 190 * aout64.h: N_TXTSIZE needs some more parentheses. 179 191 I don't trust C precedence. 180 192 181 Wed Dec 18 14:32:01 1991Per Bothner (bothner at cygnus.com)182 183 * aout /aout64.h: Move common sunos-specific test193 1991-12-18 Per Bothner (bothner at cygnus.com) 194 195 * aout64.h: Move common sunos-specific test 184 196 to recognize shared libraries into new macro N_SHARED_LIB. 185 Use it to simplify &reformat N_TXTADDR, N_TXTOFF, N_TXTSIZE.186 187 Sat Nov 30 20:34:52 1991Steve Chamberlain (sac at rtl.cygnus.com)188 189 * ChangeLog, aout64.h, ar.h, encap.h, host.h, hp.h, ranlib.h,190 reloc.h, stab.def, stab_gnu.h, sun4.h: All moved from the191 d evo/include directory197 Use it to simplify & reformat N_TXTADDR, N_TXTOFF, N_TXTSIZE. 198 199 1991-11-30 Steve Chamberlain (sac at rtl.cygnus.com) 200 201 * aout64.h, ar.h, encap.h, host.h, hp.h, ranlib.h, reloc.h, 202 stab.def, stab_gnu.h, sun4.h: All moved from the devo/include 203 directory. 192 204 193 205 -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/aout/aout64.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* `a.out' object-file definitions, including extensions to 64-bit fields 2 2 3 Copyright 2001 Free Software Foundation, Inc.3 Copyright 2001, 2003 Free Software Foundation, Inc. 4 4 5 5 This program is free software; you can redistribute it and/or modify … … 20 20 #define __A_OUT_64_H__ 21 21 22 /* This is the layout on disk of the 32-bit or 64-bit exec header. */ 22 #ifndef BYTES_IN_WORD 23 #define BYTES_IN_WORD 4 24 #endif 25 26 /* This is the layout on disk of the 32-bit or 64-bit exec header. */ 23 27 24 28 #ifndef external_exec 25 29 struct external_exec 26 30 { 27 bfd_byte e_info[4]; /* magic number and stuff*/28 bfd_byte e_text[BYTES_IN_WORD]; /* length of text section in bytes*/29 bfd_byte e_data[BYTES_IN_WORD]; /* length of data section in bytes*/30 bfd_byte e_bss[BYTES_IN_WORD]; /* length of bss area in bytes*/31 bfd_byte e_syms[BYTES_IN_WORD]; /* length of symbol table in bytes*/32 bfd_byte e_entry[BYTES_IN_WORD]; /* start address*/33 bfd_byte e_trsize[BYTES_IN_WORD]; /* length of text relocation info*/34 bfd_byte e_drsize[BYTES_IN_WORD]; /* length of data relocation info*/31 bfd_byte e_info[4]; /* Magic number and stuff. */ 32 bfd_byte e_text[BYTES_IN_WORD]; /* Length of text section in bytes. */ 33 bfd_byte e_data[BYTES_IN_WORD]; /* Length of data section in bytes. */ 34 bfd_byte e_bss[BYTES_IN_WORD]; /* Length of bss area in bytes. */ 35 bfd_byte e_syms[BYTES_IN_WORD]; /* Length of symbol table in bytes. */ 36 bfd_byte e_entry[BYTES_IN_WORD]; /* Start address. */ 37 bfd_byte e_trsize[BYTES_IN_WORD]; /* Length of text relocation info. */ 38 bfd_byte e_drsize[BYTES_IN_WORD]; /* Length of data relocation info. */ 35 39 }; 36 40 37 41 #define EXEC_BYTES_SIZE (4 + BYTES_IN_WORD * 7) 38 42 39 /* Magic numbers for a.out files */43 /* Magic numbers for a.out files. */ 40 44 41 45 #if ARCH_SIZE==64 42 #define OMAGIC 0x1001 /* Code indicating object file */46 #define OMAGIC 0x1001 /* Code indicating object file. */ 43 47 #define ZMAGIC 0x1002 /* Code indicating demand-paged executable. */ 44 48 #define NMAGIC 0x1003 /* Code indicating pure executable. */ … … 50 54 && N_MAGIC(x) != ZMAGIC) 51 55 #else 52 #define OMAGIC 0407 /* ...object file or impure executable. */56 #define OMAGIC 0407 /* Object file or impure executable. */ 53 57 #define NMAGIC 0410 /* Code indicating pure executable. */ 54 58 #define ZMAGIC 0413 /* Code indicating demand-paged executable. */ … … 127 131 * QMAGIC is always like a ZMAGIC for which N_HEADER_IN_TEXT is true, 128 132 and for which the starting address is TARGET_PAGE_SIZE (or should this be 129 SEGMENT_SIZE?) (TEXT_START_ADDR only applies to ZMAGIC, not to QMAGIC). 130 */ 133 SEGMENT_SIZE?) (TEXT_START_ADDR only applies to ZMAGIC, not to QMAGIC). */ 131 134 132 135 /* This macro is only relevant for ZMAGIC files; QMAGIC always has the header 133 136 in the text. */ 134 137 #ifndef N_HEADER_IN_TEXT 135 #define N_HEADER_IN_TEXT(x) (((x).a_entry & (TARGET_PAGE_SIZE-1)) >= EXEC_BYTES_SIZE) 138 #define N_HEADER_IN_TEXT(x) \ 139 (((x).a_entry & (TARGET_PAGE_SIZE-1)) >= EXEC_BYTES_SIZE) 136 140 #endif 137 141 … … 153 157 #ifndef N_TXTADDR 154 158 #define N_TXTADDR(x) \ 155 (/* The address of a QMAGIC file is always one page in, */ \ 156 /* with the header in the text. */ \ 157 N_IS_QMAGIC (x) ? TARGET_PAGE_SIZE + EXEC_BYTES_SIZE : \ 158 N_MAGIC(x) != ZMAGIC ? 0 : /* object file or NMAGIC */\ 159 N_SHARED_LIB(x) ? 0 : \ 160 N_HEADER_IN_TEXT(x) ? \ 161 TEXT_START_ADDR + EXEC_BYTES_SIZE : /* no padding */\ 162 TEXT_START_ADDR /* a page of padding */\ 163 ) 159 (/* The address of a QMAGIC file is always one page in, \ 160 with the header in the text. */ \ 161 N_IS_QMAGIC (x) \ 162 ? (bfd_vma) TARGET_PAGE_SIZE + EXEC_BYTES_SIZE \ 163 : (N_MAGIC (x) != ZMAGIC \ 164 ? (bfd_vma) 0 /* Object file or NMAGIC. */ \ 165 : (N_SHARED_LIB (x) \ 166 ? (bfd_vma) 0 \ 167 : (N_HEADER_IN_TEXT (x) \ 168 ? (bfd_vma) TEXT_START_ADDR + EXEC_BYTES_SIZE \ 169 : (bfd_vma) TEXT_START_ADDR)))) 164 170 #endif 165 171 … … 179 185 /* Offset in an a.out of the start of the text section. */ 180 186 #ifndef N_TXTOFF 181 #define N_TXTOFF(x) \ 182 (/* For {O,N,Q}MAGIC, no padding. */ \ 183 N_MAGIC(x) != ZMAGIC ? EXEC_BYTES_SIZE : \ 184 N_SHARED_LIB(x) ? 0 : \ 185 N_HEADER_IN_TEXT(x) ? \ 186 EXEC_BYTES_SIZE : /* no padding */\ 187 ZMAGIC_DISK_BLOCK_SIZE /* a page of padding */\ 188 ) 187 #define N_TXTOFF(x) \ 188 (/* For {O,N,Q}MAGIC, no padding. */ \ 189 N_MAGIC (x) != ZMAGIC \ 190 ? EXEC_BYTES_SIZE \ 191 : (N_SHARED_LIB (x) \ 192 ? 0 \ 193 : (N_HEADER_IN_TEXT (x) \ 194 ? EXEC_BYTES_SIZE /* No padding. */ \ 195 : ZMAGIC_DISK_BLOCK_SIZE /* A page of padding. */))) 189 196 #endif 190 197 /* Size of the text section. It's always as stated, except that we … … 195 202 #ifndef N_TXTSIZE 196 203 #define N_TXTSIZE(x) \ 197 (/* For QMAGIC, we don't consider the header part of the text section. */\ 198 N_IS_QMAGIC (x) ? (x).a_text - EXEC_BYTES_SIZE : \ 199 (N_MAGIC(x) != ZMAGIC || N_SHARED_LIB(x)) ? (x).a_text : \ 200 N_HEADER_IN_TEXT(x) ? \ 201 (x).a_text - EXEC_BYTES_SIZE: /* no padding */\ 202 (x).a_text /* a page of padding */\ 203 ) 204 (/* For QMAGIC, we don't consider the header part of the text section. */\ 205 N_IS_QMAGIC (x) \ 206 ? (x).a_text - EXEC_BYTES_SIZE \ 207 : ((N_MAGIC (x) != ZMAGIC || N_SHARED_LIB (x)) \ 208 ? (x).a_text \ 209 : (N_HEADER_IN_TEXT (x) \ 210 ? (x).a_text - EXEC_BYTES_SIZE /* No padding. */ \ 211 : (x).a_text /* A page of padding. */ ))) 204 212 #endif 205 213 /* The address of the data segment in virtual memory. 206 214 It is the text segment address, plus text segment size, rounded 207 up to a N_SEGSIZE boundary for pure or pageable files. */215 up to a N_SEGSIZE boundary for pure or pageable files. */ 208 216 #ifndef N_DATADDR 209 217 #define N_DATADDR(x) \ 210 (N_MAGIC(x)==OMAGIC? (N_TXTADDR(x)+N_TXTSIZE(x)) \ 211 : (N_SEGSIZE(x) + ((N_TXTADDR(x)+N_TXTSIZE(x)-1) & ~(N_SEGSIZE(x)-1)))) 218 (N_MAGIC (x) == OMAGIC \ 219 ? (N_TXTADDR (x) + N_TXTSIZE (x)) \ 220 : (N_SEGSIZE (x) + ((N_TXTADDR (x) + N_TXTSIZE (x) - 1) \ 221 & ~ (bfd_vma) (N_SEGSIZE (x) - 1)))) 212 222 #endif 213 223 /* The address of the BSS segment -- immediately after the data segment. */ 214 224 215 #define N_BSSADDR(x) (N_DATADDR (x) + (x).a_data)225 #define N_BSSADDR(x) (N_DATADDR (x) + (x).a_data) 216 226 217 227 /* Offsets of the various portions of the file after the text segment. */ … … 230 240 231 241 #ifndef N_DATOFF 232 #define N_DATOFF(x) \ 233 (N_TXTOFF(x) + N_TXTSIZE(x)) 234 #endif 235 242 #define N_DATOFF(x) (N_TXTOFF (x) + N_TXTSIZE (x)) 243 #endif 236 244 #ifndef N_TRELOFF 237 #define N_TRELOFF(x) ( N_DATOFF(x) + (x).a_data)245 #define N_TRELOFF(x) (N_DATOFF (x) + (x).a_data) 238 246 #endif 239 247 #ifndef N_DRELOFF 240 #define N_DRELOFF(x) ( N_TRELOFF(x) + (x).a_trsize)248 #define N_DRELOFF(x) (N_TRELOFF (x) + (x).a_trsize) 241 249 #endif 242 250 #ifndef N_SYMOFF 243 #define N_SYMOFF(x) ( N_DRELOFF(x) + (x).a_drsize)251 #define N_SYMOFF(x) (N_DRELOFF (x) + (x).a_drsize) 244 252 #endif 245 253 #ifndef N_STROFF 246 #define N_STROFF(x) ( N_SYMOFF(x) + (x).a_syms)254 #define N_STROFF(x) (N_SYMOFF (x) + (x).a_syms) 247 255 #endif 248 256 … … 250 258 /* Symbols */ 251 259 #ifndef external_nlist 252 struct external_nlist { 253 bfd_byte e_strx[BYTES_IN_WORD]; /* index into string table of name */ 254 bfd_byte e_type[1]; /* type of symbol */ 255 bfd_byte e_other[1]; /* misc info (usually empty) */ 256 bfd_byte e_desc[2]; /* description field */ 257 bfd_byte e_value[BYTES_IN_WORD]; /* value of symbol */ 260 struct external_nlist 261 { 262 bfd_byte e_strx[BYTES_IN_WORD]; /* Index into string table of name. */ 263 bfd_byte e_type[1]; /* Type of symbol. */ 264 bfd_byte e_other[1]; /* Misc info (usually empty). */ 265 bfd_byte e_desc[2]; /* Description field. */ 266 bfd_byte e_value[BYTES_IN_WORD]; /* Value of symbol. */ 258 267 }; 259 268 #define EXTERNAL_NLIST_SIZE (BYTES_IN_WORD+4+BYTES_IN_WORD) 260 269 #endif 261 270 262 struct internal_nlist { 263 unsigned long n_strx; /* index into string table of name */ 264 unsigned char n_type; /* type of symbol */ 265 unsigned char n_other; /* misc info (usually empty) */ 266 unsigned short n_desc; /* description field */ 267 bfd_vma n_value; /* value of symbol */ 271 struct internal_nlist 272 { 273 unsigned long n_strx; /* Index into string table of name. */ 274 unsigned char n_type; /* Type of symbol. */ 275 unsigned char n_other; /* Misc info (usually empty). */ 276 unsigned short n_desc; /* Description field. */ 277 bfd_vma n_value; /* Value of symbol. */ 268 278 }; 269 279 270 280 /* The n_type field is the symbol type, containing: */ 271 281 272 #define N_UNDF 0 /* Undefined symbol */273 #define N_ABS 2 /* Absolute symbol -- defined at particular addr */274 #define N_TEXT 4 /* Text sym -- defined at offset in text seg */275 #define N_DATA 6 /* Data sym -- defined at offset in data seg */276 #define N_BSS 8 /* BSS sym -- defined at offset in zero'd seg */277 #define N_COMM 0x12 /* Common symbol (visible after shared lib dynlink) */278 #define N_FN 0x1f /* File name of .o file */279 #define N_FN_SEQ 0x0C /* N_FN from Sequent compilers (sigh) */282 #define N_UNDF 0 /* Undefined symbol. */ 283 #define N_ABS 2 /* Absolute symbol -- defined at particular addr. */ 284 #define N_TEXT 4 /* Text sym -- defined at offset in text seg. */ 285 #define N_DATA 6 /* Data sym -- defined at offset in data seg. */ 286 #define N_BSS 8 /* BSS sym -- defined at offset in zero'd seg. */ 287 #define N_COMM 0x12 /* Common symbol (visible after shared lib dynlink). */ 288 #define N_FN 0x1f /* File name of .o file. */ 289 #define N_FN_SEQ 0x0C /* N_FN from Sequent compilers (sigh). */ 280 290 /* Note: N_EXT can only be usefully OR-ed with N_UNDF, N_ABS, N_TEXT, 281 291 N_DATA, or N_BSS. When the low-order bit of other types is set, 282 292 (e.g. N_WARNING versus N_FN), they are two different types. */ 283 #define N_EXT 1 /* External symbol (as opposed to local-to-this-file) */293 #define N_EXT 1 /* External symbol (as opposed to local-to-this-file). */ 284 294 #define N_TYPE 0x1e 285 #define N_STAB 0xe0 /* If any of these bits are on, it's a debug symbol */295 #define N_STAB 0xe0 /* If any of these bits are on, it's a debug symbol. */ 286 296 287 297 #define N_INDR 0x0a … … 299 309 300 310 /* These appear as input to LD, in a .o file. */ 301 #define N_SETA 0x14 /* Absolute set element symbol */302 #define N_SETT 0x16 /* Text set element symbol */303 #define N_SETD 0x18 /* Data set element symbol */304 #define N_SETB 0x1A /* Bss set element symbol */311 #define N_SETA 0x14 /* Absolute set element symbol. */ 312 #define N_SETT 0x16 /* Text set element symbol. */ 313 #define N_SETD 0x18 /* Data set element symbol. */ 314 #define N_SETB 0x1A /* Bss set element symbol. */ 305 315 306 316 /* This is output from LD. */ … … 333 343 the target with a displacement of 16 or 32 bits. On the sparc, move 334 344 instructions use an offset of 14 bits, so the offset is stored in 335 the reloc field, and the data in the section is ignored. 336 */ 345 the reloc field, and the data in the section is ignored. */ 337 346 338 347 /* This structure describes a single relocation to be performed. … … 341 350 Likewise, the data-relocation section applies to the data section. */ 342 351 343 struct reloc_std_external { 344 bfd_byte r_address[BYTES_IN_WORD]; /* offset of of data to relocate */ 345 bfd_byte r_index[3]; /* symbol table index of symbol */ 346 bfd_byte r_type[1]; /* relocation type */ 352 struct reloc_std_external 353 { 354 bfd_byte r_address[BYTES_IN_WORD]; /* Offset of of data to relocate. */ 355 bfd_byte r_index[3]; /* Symbol table index of symbol. */ 356 bfd_byte r_type[1]; /* Relocation type. */ 347 357 }; 348 358 … … 367 377 #define RELOC_STD_BITS_RELATIVE_LITTLE ((unsigned int) 0x40) 368 378 369 #define RELOC_STD_SIZE (BYTES_IN_WORD + 3 + 1) /* Bytes per relocation entry */379 #define RELOC_STD_SIZE (BYTES_IN_WORD + 3 + 1) /* Bytes per relocation entry. */ 370 380 371 381 struct reloc_std_internal … … 390 400 /* The next three bits are for SunOS shared libraries, and seem to 391 401 be undocumented. */ 392 unsigned int r_baserel:1; /* Linkage table relative */393 unsigned int r_jmptable:1; /* pc-relative to jump table */394 unsigned int r_relative:1; /* "relative relocation" */402 unsigned int r_baserel:1; /* Linkage table relative. */ 403 unsigned int r_jmptable:1; /* pc-relative to jump table. */ 404 unsigned int r_relative:1; /* "relative relocation". */ 395 405 /* unused */ 396 unsigned int r_pad:1; /* Padding -- set to zero */ 397 }; 398 399 400 /* EXTENDED RELOCS */ 401 402 struct reloc_ext_external { 403 bfd_byte r_address[BYTES_IN_WORD]; /* offset of of data to relocate */ 404 bfd_byte r_index[3]; /* symbol table index of symbol */ 405 bfd_byte r_type[1]; /* relocation type */ 406 bfd_byte r_addend[BYTES_IN_WORD]; /* datum addend */ 406 unsigned int r_pad:1; /* Padding -- set to zero. */ 407 }; 408 409 410 /* EXTENDED RELOCS. */ 411 412 struct reloc_ext_external 413 { 414 bfd_byte r_address[BYTES_IN_WORD]; /* Offset of of data to relocate. */ 415 bfd_byte r_index[3]; /* Symbol table index of symbol. */ 416 bfd_byte r_type[1]; /* Relocation type. */ 417 bfd_byte r_addend[BYTES_IN_WORD]; /* Datum addend. */ 407 418 }; 408 419 … … 431 442 #endif 432 443 433 /* Bytes per relocation entry */444 /* Bytes per relocation entry. */ 434 445 #define RELOC_EXT_SIZE (BYTES_IN_WORD + 3 + 1 + BYTES_IN_WORD) 435 446 436 447 enum reloc_type 437 448 { 438 /* simple relocations*/449 /* Simple relocations. */ 439 450 RELOC_8, /* data[0:7] = addend + sv */ 440 451 RELOC_16, /* data[0:15] = addend + sv */ 441 452 RELOC_32, /* data[0:31] = addend + sv */ 442 /* pc-rel displacement*/453 /* PC-rel displacement. */ 443 454 RELOC_DISP8, /* data[0:7] = addend - pc + sv */ 444 455 RELOC_DISP16, /* data[0:15] = addend - pc + sv */ 445 456 RELOC_DISP32, /* data[0:31] = addend - pc + sv */ 446 /* Special */457 /* Special. */ 447 458 RELOC_WDISP30, /* data[0:29] = (addend + sv - pc)>>2 */ 448 459 RELOC_WDISP22, /* data[0:21] = (addend + sv - pc)>>2 */ … … 453 464 RELOC_SFA_BASE, 454 465 RELOC_SFA_OFF13, 455 /* P.I.C. (base-relative) */466 /* P.I.C. (base-relative). */ 456 467 RELOC_BASE10, /* Not sure - maybe we can do this the */ 457 468 RELOC_BASE13, /* right way now */ 458 469 RELOC_BASE22, 459 /* for some sort of pc-rel P.I.C. (?)*/470 /* For some sort of pc-rel P.I.C. (?) */ 460 471 RELOC_PC10, 461 472 RELOC_PC22, 462 /* P.I.C. jump table */473 /* P.I.C. jump table. */ 463 474 RELOC_JMP_TBL, 464 /* reputedly for shared libraries somehow*/475 /* Reputedly for shared libraries somehow. */ 465 476 RELOC_SEGOFF16, 466 477 RELOC_GLOB_DAT, … … 474 485 RELOC_HLO10, /* data[0:9] = (addend + sv) >> 32 */ 475 486 476 /* 29K relocation types */487 /* 29K relocation types. */ 477 488 RELOC_JUMPTARG, 478 489 RELOC_CONST, 479 490 RELOC_CONSTH, 480 491 481 /* All the new ones I can think of, for sparc v9 */ 482 492 /* All the new ones I can think of, for sparc v9. */ 483 493 RELOC_64, /* data[0:63] = addend + sv */ 484 494 RELOC_DISP64, /* data[0:63] = addend - pc + sv */ … … 490 500 Since this is a clean slate, can we throw away the ones we dont 491 501 understand ? Should we sort the values ? What about using a 492 microcode format like the 68k ? 493 */ 502 microcode format like the 68k ? */ 494 503 NO_RELOC 495 504 }; 496 505 497 506 498 struct reloc_internal { 499 bfd_vma r_address; /* offset of of data to relocate */ 500 long r_index; /* symbol table index of symbol */ 501 enum reloc_type r_type; /* relocation type */ 502 bfd_vma r_addend; /* datum addend */ 507 struct reloc_internal 508 { 509 bfd_vma r_address; /* Offset of of data to relocate. */ 510 long r_index; /* Symbol table index of symbol. */ 511 enum reloc_type r_type; /* Relocation type. */ 512 bfd_vma r_addend; /* Datum addend. */ 503 513 }; 504 514 … … 507 517 508 518 Q. 509 What about archive indexes ? 510 511 */ 519 What about archive indexes ? */ 512 520 513 521 #endif /* __A_OUT_64_H__ */ -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/aout/dynix3.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 23 23 24 24 /* struct exec for Dynix 3 25 * 26 * a_gdtbl and a_bootstrap are only for standalone binaries. 27 * Shared data fields are not supported by the kernel as of Dynix 3.1, 28 * but are supported by Dynix compiler programs. 29 */ 30 struct dynix_external_exec { 31 unsigned char e_info[4]; 32 unsigned char e_text[4]; 33 unsigned char e_data[4]; 34 unsigned char e_bss[4]; 35 unsigned char e_syms[4]; 36 unsigned char e_entry[4]; 37 unsigned char e_trsize[4]; 38 unsigned char e_drsize[4]; 39 unsigned char e_g_code[8], e_g_data[8], e_g_desc[8]; 40 unsigned char e_shdata[4]; 41 unsigned char e_shbss[4]; 42 unsigned char e_shdrsize[4]; 43 unsigned char e_bootstrap[44]; 44 unsigned char e_reserved[12]; 45 unsigned char e_version[4]; 46 }; 25 26 a_gdtbl and a_bootstrap are only for standalone binaries. 27 Shared data fields are not supported by the kernel as of Dynix 3.1, 28 but are supported by Dynix compiler programs. */ 29 struct dynix_external_exec 30 { 31 unsigned char e_info[4]; 32 unsigned char e_text[4]; 33 unsigned char e_data[4]; 34 unsigned char e_bss[4]; 35 unsigned char e_syms[4]; 36 unsigned char e_entry[4]; 37 unsigned char e_trsize[4]; 38 unsigned char e_drsize[4]; 39 unsigned char e_g_code[8]; 40 unsigned char e_g_data[8]; 41 unsigned char e_g_desc[8]; 42 unsigned char e_shdata[4]; 43 unsigned char e_shbss[4]; 44 unsigned char e_shdrsize[4]; 45 unsigned char e_bootstrap[44]; 46 unsigned char e_reserved[12]; 47 unsigned char e_version[4]; 48 }; 47 49 48 50 #define EXEC_BYTES_SIZE (128) 49 51 50 /* 51 * All executables under Dynix are demand paged with read-only text, 52 * Thus no NMAGIC. 53 * 54 * ZMAGIC has a page of 0s at virtual 0, 55 * XMAGIC has an invalid page at virtual 0 56 */ 52 /* All executables under Dynix are demand paged with read-only text, 53 Thus no NMAGIC. 54 55 ZMAGIC has a page of 0s at virtual 0, 56 XMAGIC has an invalid page at virtual 0. */ 57 57 #define OMAGIC 0x12eb /* .o */ 58 58 #define ZMAGIC 0x22eb /* zero @ 0, demand load */ -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/aout/hp300hpux.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* Special version of <a.out.h> for use under hp-ux. 2 Copyright 1988, 1993, 1995 Free Software Foundation, Inc. */2 Copyright 1988, 1993, 1995, 2001 Free Software Foundation, Inc. */ 3 3 4 4 struct hp300hpux_exec_bytes … … 74 74 75 75 #define N_DATADDR(x) \ 76 ((N_MAGIC(x)==OMAGIC || N_MAGIC(x)==HPUX_DOT_O_MAGIC) ? \ 77 (N_TXTADDR(x)+N_TXTSIZE(x)) \ 78 : (N_SEGSIZE(x) + ((N_TXTADDR(x)+N_TXTSIZE(x)-1) & ~(N_SEGSIZE(x)-1)))) 76 ((N_MAGIC (x) == OMAGIC || N_MAGIC (x) == HPUX_DOT_O_MAGIC) \ 77 ? (N_TXTADDR (x) + N_TXTSIZE (x)) \ 78 : (N_SEGSIZE (x) + ((N_TXTADDR (x) + N_TXTSIZE (x) - 1) \ 79 & ~ (bfd_vma) (N_SEGSIZE (x) - 1)))) 79 80 80 #define _N_BADMACH(x) \ 81 (((N_MACHTYPE (x)) != HP9000S200_ID) && \ 82 ((N_MACHTYPE (x)) != HP98x6_ID)) 81 #define _N_BADMACH(x) \ 82 (((N_MACHTYPE (x)) != HP9000S200_ID) && ((N_MACHTYPE (x)) != HP98x6_ID)) 83 83 84 84 #define _N_BADMAG(x) (N_MAGIC(x) != HPUX_DOT_O_MAGIC \ -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/bfdlink.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* bfdlink.h -- header file for BFD link routines 2 Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 2 Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002 3 3 Free Software Foundation, Inc. 4 4 Written by Steve Chamberlain and Ian Lance Taylor, Cygnus Support. 5 5 6 This file is part of BFD, the Binary File Descriptor library.7 8 This program is free software; you can redistribute it and/or modify9 it under the terms of the GNU General Public License as published by10 the Free Software Foundation; either version 2 of the License, or11 (at your option) any later version.12 13 This program is distributed in the hope that it will be useful,14 but WITHOUT ANY WARRANTY; without even the implied warranty of15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the16 GNU General Public License for more details.17 18 You should have received a copy of the GNU General Public License19 along with this program; if not, write to the Free Software20 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */6 This file is part of BFD, the Binary File Descriptor library. 7 8 This program is free software; you can redistribute it and/or modify 9 it under the terms of the GNU General Public License as published by 10 the Free Software Foundation; either version 2 of the License, or 11 (at your option) any later version. 12 13 This program is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 GNU General Public License for more details. 17 18 You should have received a copy of the GNU General Public License 19 along with this program; if not, write to the Free Software 20 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 21 21 22 22 #ifndef BFDLINK_H … … 36 36 enum bfd_link_discard 37 37 { 38 discard_sec_merge, /* Discard local temporary symbols in SEC_MERGE 39 sections. */ 38 40 discard_none, /* Don't discard any locals. */ 39 41 discard_l, /* Discard local temporary symbols. */ 40 42 discard_all /* Discard all locals. */ 41 43 }; 44 45 /* Describes the type of hash table entry structure being used. 46 Different hash table structure have different fields and so 47 support different linking features. */ 48 enum bfd_link_hash_table_type 49 { 50 bfd_link_generic_hash_table, 51 bfd_link_elf_hash_table 52 }; 42 53 43 54 … … 55 66 bfd_link_hash_indirect, /* Symbol is an indirect link. */ 56 67 bfd_link_hash_warning /* Like indirect, but warn if referenced. */ 68 }; 69 70 enum bfd_link_common_skip_ar_aymbols 71 { 72 bfd_link_common_skip_none, 73 bfd_link_common_skip_text, 74 bfd_link_common_skip_data, 75 bfd_link_common_skip_all 57 76 }; 58 77 … … 111 130 { 112 131 /* The linker needs to know three things about common 113 114 115 116 117 118 119 120 132 symbols: the size, the alignment, and the section in 133 which the symbol should be placed. We store the size 134 here, and we allocate a small structure to hold the 135 section and the alignment. The alignment is stored as a 136 power of two. We don't store all the information 137 directly because we don't want to increase the size of 138 the union; this structure is a major space user in the 139 linker. */ 121 140 bfd_size_type size; /* Common symbol size. */ 122 141 struct bfd_link_hash_common_entry … … 146 165 /* Entries are added to the tail of the undefs list. */ 147 166 struct bfd_link_hash_entry *undefs_tail; 148 }; 149 150 /* Look up an entry in a link hash table. If FOLLOW is true, this 167 /* The type of the link hash table. */ 168 enum bfd_link_hash_table_type type; 169 }; 170 171 /* Look up an entry in a link hash table. If FOLLOW is TRUE, this 151 172 follows bfd_link_hash_indirect and bfd_link_hash_warning links to 152 173 the real symbol. */ 153 174 extern struct bfd_link_hash_entry *bfd_link_hash_lookup 154 PARAMS ((struct bfd_link_hash_table *, const char *, b oolean create,155 b oolean copy,boolean follow));175 PARAMS ((struct bfd_link_hash_table *, const char *, bfd_boolean create, 176 bfd_boolean copy, bfd_boolean follow)); 156 177 157 178 /* Look up an entry in the main linker hash table if the symbol might … … 160 181 161 182 extern struct bfd_link_hash_entry *bfd_wrapped_link_hash_lookup 162 PARAMS ((bfd *, struct bfd_link_info *, const char *, b oolean,boolean,163 b oolean));183 PARAMS ((bfd *, struct bfd_link_info *, const char *, bfd_boolean, 184 bfd_boolean, bfd_boolean)); 164 185 165 186 /* Traverse a link hash table. */ 166 187 extern void bfd_link_hash_traverse 167 188 PARAMS ((struct bfd_link_hash_table *, 168 b oolean (*) (struct bfd_link_hash_entry *, PTR),189 bfd_boolean (*) (struct bfd_link_hash_entry *, PTR), 169 190 PTR)); 170 191 … … 173 194 PARAMS ((struct bfd_link_hash_table *, struct bfd_link_hash_entry *)); 174 195 196 struct bfd_sym_chain 197 { 198 struct bfd_sym_chain *next; 199 const char *name; 200 }; 201 175 202 176 203 /* This structure holds all the information needed to communicate … … 179 206 struct bfd_link_info 180 207 { 181 /* Function callbacks. */ 182 const struct bfd_link_callbacks *callbacks; 183 /* true if BFD should generate a relocateable object file. */ 184 boolean relocateable; 185 /* true if BFD should generate relocation information in the final executable. */ 186 boolean emitrelocations; 187 /* true if BFD should generate a "task linked" object file, 188 similar to relocatable but also with globals converted to statics. */ 189 boolean task_link; 190 /* true if BFD should generate a shared object. */ 191 boolean shared; 192 /* true if BFD should pre-bind symbols in a shared object. */ 193 boolean symbolic; 194 /* true if shared objects should be linked directly, not shared. */ 195 boolean static_link; 196 /* true if the output file should be in a traditional format. This 208 /* TRUE if BFD should generate a relocatable object file. */ 209 unsigned int relocateable: 1; 210 211 /* TRUE if BFD should generate relocation information in the final 212 executable. */ 213 unsigned int emitrelocations: 1; 214 215 /* TRUE if BFD should generate a "task linked" object file, 216 similar to relocatable but also with globals converted to 217 statics. */ 218 unsigned int task_link: 1; 219 220 /* TRUE if BFD should generate a shared object. */ 221 unsigned int shared: 1; 222 223 /* TRUE if BFD should pre-bind symbols in a shared object. */ 224 unsigned int symbolic: 1; 225 226 /* TRUE if BFD should export all symbols in the dynamic symbol table 227 of an executable, rather than only those used. */ 228 unsigned int export_dynamic: 1; 229 230 /* TRUE if shared objects should be linked directly, not shared. */ 231 unsigned int static_link: 1; 232 233 /* TRUE if the output file should be in a traditional format. This 197 234 is equivalent to the setting of the BFD_TRADITIONAL_FORMAT flag 198 235 on the output file, but may be checked when reading the input 199 236 files. */ 200 boolean traditional_format; 201 /* true if we want to produced optimized output files. This might 237 unsigned int traditional_format: 1; 238 239 /* TRUE if we want to produced optimized output files. This might 202 240 need much more time and therefore must be explicitly selected. */ 203 boolean optimize; 204 /* true if BFD should generate errors for undefined symbols 241 unsigned int optimize: 1; 242 243 /* TRUE if BFD should generate errors for undefined symbols 205 244 even if generating a shared object. */ 206 boolean no_undefined; 207 /* true if BFD should allow undefined symbols in shared objects even 245 unsigned int no_undefined: 1; 246 247 /* TRUE if BFD should allow undefined symbols in shared objects even 208 248 when no_undefined is set to disallow undefined symbols. The net 209 249 result will be that undefined symbols in regular objects will … … 217 257 select an appropriate memset function. Apparently it is also 218 258 normal for HPPA shared libraries to have undefined symbols. */ 219 boolean allow_shlib_undefined; 259 unsigned int allow_shlib_undefined: 1; 260 261 /* TRUE if ok to have multiple definition. */ 262 unsigned int allow_multiple_definition: 1; 263 264 /* TRUE if ok to have version with no definition. */ 265 unsigned int allow_undefined_version: 1; 266 267 /* TRUE if symbols should be retained in memory, FALSE if they 268 should be freed and reread. */ 269 unsigned int keep_memory: 1; 270 271 /* TRUE if every symbol should be reported back via the notice 272 callback. */ 273 unsigned int notice_all: 1; 274 275 /* TRUE if executable should not contain copy relocs. 276 Setting this true may result in a non-sharable text segment. */ 277 unsigned int nocopyreloc: 1; 278 279 /* TRUE if the new ELF dynamic tags are enabled. */ 280 unsigned int new_dtags: 1; 281 282 /* TRUE if non-PLT relocs should be merged into one reloc section 283 and sorted so that relocs against the same symbol come together. */ 284 unsigned int combreloc: 1; 285 286 /* TRUE if .eh_frame_hdr section and PT_GNU_EH_FRAME ELF segment 287 should be created. */ 288 unsigned int eh_frame_hdr: 1; 289 290 /* TRUE if global symbols in discarded sections should be stripped. */ 291 unsigned int strip_discarded: 1; 292 293 /* TRUE if relaxation is being finalized. */ 294 unsigned int relax_finalizing: 1; 295 220 296 /* Which symbols to strip. */ 221 297 enum bfd_link_strip strip; 298 222 299 /* Which local symbols to discard. */ 223 300 enum bfd_link_discard discard; 224 /* true if symbols should be retained in memory, false if they 225 should be freed and reread. */ 226 boolean keep_memory; 301 302 /* Criteria for skipping symbols when detemining 303 whether to include an object from an archive. */ 304 enum bfd_link_common_skip_ar_aymbols common_skip_ar_aymbols; 305 306 /* Function callbacks. */ 307 const struct bfd_link_callbacks *callbacks; 308 309 /* Hash table handled by BFD. */ 310 struct bfd_link_hash_table *hash; 311 312 /* Hash table of symbols to keep. This is NULL unless strip is 313 strip_some. */ 314 struct bfd_hash_table *keep_hash; 315 316 /* Hash table of symbols to report back via the notice callback. If 317 this is NULL, and notice_all is FALSE, then no symbols are 318 reported back. */ 319 struct bfd_hash_table *notice_hash; 320 321 /* Hash table of symbols which are being wrapped (the --wrap linker 322 option). If this is NULL, no symbols are being wrapped. */ 323 struct bfd_hash_table *wrap_hash; 324 227 325 /* The list of input BFD's involved in the link. These are chained 228 326 together via the link_next field. */ 229 327 bfd *input_bfds; 328 230 329 /* If a symbol should be created for each input BFD, this is section 231 330 where those symbols should be placed. It must be a section in … … 234 333 linker command language. */ 235 334 asection *create_object_symbols_section; 236 /* Hash table handled by BFD. */ 237 struct bfd_link_hash_table *hash; 238 /* Hash table of symbols to keep. This is NULL unless strip is 239 strip_some. */ 240 struct bfd_hash_table *keep_hash; 241 /* true if every symbol should be reported back via the notice 242 callback. */ 243 boolean notice_all; 244 /* Hash table of symbols to report back via the notice callback. If 245 this is NULL, and notice_all is false, then no symbols are 246 reported back. */ 247 struct bfd_hash_table *notice_hash; 248 /* Hash table of symbols which are being wrapped (the --wrap linker 249 option). If this is NULL, no symbols are being wrapped. */ 250 struct bfd_hash_table *wrap_hash; 335 336 /* List of global symbol names that are starting points for marking 337 sections against garbage collection. */ 338 struct bfd_sym_chain *gc_sym_list; 339 251 340 /* If a base output file is wanted, then this points to it */ 252 341 PTR base_file; 253 254 /* If non-zero, specifies that branches which are problematic for the255 MPC860 C0 (or earlier) should be checked for and modified. It gives the256 number of bytes that should be checked at the end of each text page. */257 int mpc860c0;258 342 259 343 /* The function to call when the executable or shared object is 260 344 loaded. */ 261 345 const char *init_function; 346 262 347 /* The function to call when the executable or shared object is 263 348 unloaded. */ 264 349 const char *fini_function; 265 350 266 /* true if the new ELF dynamic tags are enabled. */ 267 boolean new_dtags; 351 /* If non-zero, specifies that branches which are problematic for the 352 MPC860 C0 (or earlier) should be checked for and modified. It gives the 353 number of bytes that should be checked at the end of each text page. */ 354 int mpc860c0; 355 356 /* Non-zero if auto-import thunks for DATA items in pei386 DLLs 357 should be generated/linked against. Set to 1 if this feature 358 is explicitly requested by the user, -1 if enabled by default. */ 359 int pei386_auto_import; 360 361 /* Non-zero if runtime relocs for DATA items with non-zero addends 362 in pei386 DLLs should be generated. Set to 1 if this feature 363 is explicitly requested by the user, -1 if enabled by default. */ 364 int pei386_runtime_pseudo_reloc; 365 366 /* How many spare .dynamic DT_NULL entries should be added? */ 367 unsigned int spare_dynamic_tags; 268 368 269 369 /* May be used to set DT_FLAGS for ELF. */ … … 277 377 called by the BFD linker routines. The first argument to each 278 378 callback function is the bfd_link_info structure being used. Each 279 function returns a boolean value. If the function returns false,379 function returns a boolean value. If the function returns FALSE, 280 380 then the BFD function which called it will return with a failure 281 381 indication. */ … … 287 387 name of the symbol which caused the archive element to be pulled 288 388 in. */ 289 boolean (*add_archive_element) PARAMS ((struct bfd_link_info *, 290 bfd *abfd, 291 const char *name)); 389 bfd_boolean (*add_archive_element) 390 PARAMS ((struct bfd_link_info *, bfd *abfd, const char *name)); 292 391 /* A function which is called when a symbol is found with multiple 293 392 definitions. NAME is the symbol which is defined multiple times. … … 296 395 the new value. OBFD may be NULL. OSEC and NSEC may be 297 396 bfd_com_section or bfd_ind_section. */ 298 boolean (*multiple_definition) PARAMS ((struct bfd_link_info *, 299 const char *name, 300 bfd *obfd, 301 asection *osec, 302 bfd_vma oval, 303 bfd *nbfd, 304 asection *nsec, 305 bfd_vma nval)); 397 bfd_boolean (*multiple_definition) 398 PARAMS ((struct bfd_link_info *, const char *name, 399 bfd *obfd, asection *osec, bfd_vma oval, 400 bfd *nbfd, asection *nsec, bfd_vma nval)); 306 401 /* A function which is called when a common symbol is defined 307 402 multiple times. NAME is the symbol appearing multiple times. … … 315 410 bfd_link_hash_indirect. If NTYPE is bfd_link_hash_common, NSIZE 316 411 is the size of the new symbol. */ 317 boolean (*multiple_common) PARAMS ((struct bfd_link_info *, 318 const char *name, 319 bfd *obfd, 320 enum bfd_link_hash_type otype, 321 bfd_vma osize, 322 bfd *nbfd, 323 enum bfd_link_hash_type ntype, 324 bfd_vma nsize)); 412 bfd_boolean (*multiple_common) 413 PARAMS ((struct bfd_link_info *, const char *name, 414 bfd *obfd, enum bfd_link_hash_type otype, bfd_vma osize, 415 bfd *nbfd, enum bfd_link_hash_type ntype, bfd_vma nsize)); 325 416 /* A function which is called to add a symbol to a set. ENTRY is 326 417 the link hash table entry for the set itself (e.g., … … 329 420 get the size of the entry when generating an executable file. 330 421 ABFD, SEC and VALUE identify the value to add to the set. */ 331 b oolean (*add_to_set) PARAMS ((struct bfd_link_info *,332 333 bfd_reloc_code_real_type reloc,334 bfd *abfd, asection *sec,bfd_vma value));422 bfd_boolean (*add_to_set) 423 PARAMS ((struct bfd_link_info *, struct bfd_link_hash_entry *entry, 424 bfd_reloc_code_real_type reloc, bfd *abfd, asection *sec, 425 bfd_vma value)); 335 426 /* A function which is called when the name of a g++ constructor or 336 427 destructor is found. This is only called by some object file 337 formats. CONSTRUCTOR is true for a constructor, falsefor a428 formats. CONSTRUCTOR is TRUE for a constructor, FALSE for a 338 429 destructor. This will use BFD_RELOC_CTOR when generating a 339 430 relocateable file. NAME is the name of the symbol found. ABFD, 340 431 SECTION and VALUE are the value of the symbol. */ 341 boolean (*constructor) PARAMS ((struct bfd_link_info *, 342 boolean constructor, 343 const char *name, bfd *abfd, asection *sec, 344 bfd_vma value)); 432 bfd_boolean (*constructor) 433 PARAMS ((struct bfd_link_info *, bfd_boolean constructor, 434 const char *name, bfd *abfd, asection *sec, bfd_vma value)); 345 435 /* A function which is called to issue a linker warning. For 346 436 example, this is called when there is a reference to a warning … … 350 440 which trigerred the warning; either ABFD or SECTION or both may 351 441 be NULL if the location is not known. */ 352 boolean (*warning) PARAMS ((struct bfd_link_info *, 353 const char *warning, const char *symbol, 354 bfd *abfd, asection *section, 355 bfd_vma address)); 442 bfd_boolean (*warning) 443 PARAMS ((struct bfd_link_info *, const char *warning, const char *symbol, 444 bfd *abfd, asection *section, bfd_vma address)); 356 445 /* A function which is called when a relocation is attempted against 357 446 an undefined symbol. NAME is the symbol which is undefined. … … 359 448 reference is made. FATAL indicates whether an undefined symbol is 360 449 a fatal error or not. In some cases SECTION may be NULL. */ 361 boolean (*undefined_symbol) PARAMS ((struct bfd_link_info *, 362 const char *name, bfd *abfd, 363 asection *section, 364 bfd_vma address, 365 boolean fatal)); 450 bfd_boolean (*undefined_symbol) 451 PARAMS ((struct bfd_link_info *, const char *name, bfd *abfd, 452 asection *section, bfd_vma address, bfd_boolean fatal)); 366 453 /* A function which is called when a reloc overflow occurs. NAME is 367 454 the name of the symbol or section the reloc is against, … … 371 458 bfd_section_reloc_link_order or bfd_symbol_reloc_link_order, then 372 459 ABFD will be NULL. */ 373 boolean (*reloc_overflow) PARAMS ((struct bfd_link_info *, 374 const char *name, 375 const char *reloc_name, bfd_vma addend, 376 bfd *abfd, asection *section, 377 bfd_vma address)); 460 bfd_boolean (*reloc_overflow) 461 PARAMS ((struct bfd_link_info *, const char *name, const char *reloc_name, 462 bfd_vma addend, bfd *abfd, asection *section, bfd_vma address)); 378 463 /* A function which is called when a dangerous reloc is performed. 379 464 The canonical example is an a29k IHCONST reloc which does not … … 383 468 bfd_section_reloc_link_order or bfd_symbol_reloc_link_order, then 384 469 ABFD will be NULL. */ 385 boolean (*reloc_dangerous) PARAMS ((struct bfd_link_info *, 386 const char *message, 387 bfd *abfd, asection *section, 388 bfd_vma address)); 470 bfd_boolean (*reloc_dangerous) 471 PARAMS ((struct bfd_link_info *, const char *message, 472 bfd *abfd, asection *section, bfd_vma address)); 389 473 /* A function which is called when a reloc is found to be attached 390 474 to a symbol which is not being written out. NAME is the name of … … 393 477 bfd_section_reloc_link_order or bfd_symbol_reloc_link_order, then 394 478 ABFD will be NULL. */ 395 boolean (*unattached_reloc) PARAMS ((struct bfd_link_info *, 396 const char *name, 397 bfd *abfd, asection *section, 398 bfd_vma address)); 479 bfd_boolean (*unattached_reloc) 480 PARAMS ((struct bfd_link_info *, const char *name, 481 bfd *abfd, asection *section, bfd_vma address)); 399 482 /* A function which is called when a symbol in notice_hash is 400 483 defined or referenced. NAME is the symbol. ABFD, SECTION and 401 484 ADDRESS are the value of the symbol. If SECTION is 402 485 bfd_und_section, this is a reference. */ 403 boolean (*notice) PARAMS ((struct bfd_link_info *, const char *name, 404 bfd *abfd, asection *section, bfd_vma address)); 486 bfd_boolean (*notice) 487 PARAMS ((struct bfd_link_info *, const char *name, 488 bfd *abfd, asection *section, bfd_vma address)); 489 /* A function which is called for reporting a linker error. ID is the 490 error identifier. The remaining input is the same as einfo () in 491 ld. */ 492 bfd_boolean (*error_handler) 493 PARAMS ((int id, const char * fmt, ...)); 405 494 }; 406 495 … … 415 504 bfd_undefined_link_order, /* Undefined. */ 416 505 bfd_indirect_link_order, /* Built from a section. */ 417 bfd_fill_link_order, /* Fill with a 16 bit constant. */418 506 bfd_data_link_order, /* Set to explicit data. */ 419 507 bfd_section_reloc_link_order, /* Relocate against a section. */ … … 424 512 attached to the section whose contents they are describing. */ 425 513 426 struct bfd_link_order 514 struct bfd_link_order 427 515 { 428 516 /* Next link_order in chain. */ … … 431 519 enum bfd_link_order_type type; 432 520 /* Offset within output section. */ 433 bfd_vma offset; 521 bfd_vma offset; 434 522 /* Size within output section. */ 435 523 bfd_size_type size; 436 524 /* Type specific information. */ 437 union 525 union 438 526 { 439 struct 527 struct 440 528 { 441 529 /* Section to include. If this is used, then … … 449 537 struct 450 538 { 451 /* Value to fill with. */ 452 unsigned int value; 453 } fill; 454 struct 455 { 456 /* Data to put into file. The size field gives the number 457 of bytes which this field points to. */ 539 /* Size of contents, or zero when contents size == size 540 within output section. 541 A non-zero value allows filling of the output section 542 with an arbitrary repeated pattern. */ 543 unsigned int size; 544 /* Data to put into file. */ 458 545 bfd_byte *contents; 459 546 } data; … … 521 608 const char *pattern; 522 609 /* Matching function. */ 523 int (*match) PARAMS((struct bfd_elf_version_expr *, const char *)); 610 int (*match) PARAMS ((struct bfd_elf_version_expr *, const char *)); 611 /* Defined by ".symver". */ 612 unsigned int symver: 1; 613 /* Defined by version script. */ 614 unsigned int script : 1; 524 615 }; 525 616 -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/bout.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 52 52 #define BMAGIC 0415 53 53 /* We don't accept the following (see N_BADMAG macro). 54 * They're just here so GNU code will compile. 55 */ 54 They're just here so GNU code will compile. */ 56 55 #define OMAGIC 0407 /* old impure format */ 57 56 #define NMAGIC 0410 /* read-only text */ … … 59 58 60 59 /* FILE HEADER 61 *All 'lengths' are given as a number of bytes.62 *All 'alignments' are for relinkable files only; an alignment of63 *'n' indicates the corresponding segment must begin at an64 * address that is a multiple of (2**n).65 */ 66 struct external_exec{67 68 69 70 71 unsigned char e_bss[4];/* Length of uninitialized data area */72 73 74 75 60 All 'lengths' are given as a number of bytes. 61 All 'alignments' are for relinkable files only; an alignment of 62 'n' indicates the corresponding segment must begin at an 63 address that is a multiple of (2**n). */ 64 struct external_exec 65 { 66 /* Standard stuff */ 67 unsigned char e_info[4]; /* Identifies this as a b.out file */ 68 unsigned char e_text[4]; /* Length of text */ 69 unsigned char e_data[4]; /* Length of data */ 70 unsigned char e_bss[4]; /* Length of uninitialized data area */ 71 unsigned char e_syms[4]; /* Length of symbol table */ 72 unsigned char e_entry[4]; /* Runtime start address */ 73 unsigned char e_trsize[4]; /* Length of text relocation info */ 74 unsigned char e_drsize[4]; /* Length of data relocation info */ 76 75 77 78 79 80 81 82 83 unsigned char e_relaxable[1];/* Assembled with enough info to allow linker to relax */84 };76 /* Added for i960 */ 77 unsigned char e_tload[4]; /* Text runtime load address */ 78 unsigned char e_dload[4]; /* Data runtime load address */ 79 unsigned char e_talign[1]; /* Alignment of text segment */ 80 unsigned char e_dalign[1]; /* Alignment of data segment */ 81 unsigned char e_balign[1]; /* Alignment of bss segment */ 82 unsigned char e_relaxable[1];/* Assembled with enough info to allow linker to relax */ 83 }; 85 84 86 85 #define EXEC_BYTES_SIZE (sizeof (struct external_exec)) 87 86 88 87 /* These macros use the a_xxx field names, since they operate on the exec 89 structure after it's been byte-swapped and realigned on the host machine. */88 structure after it's been byte-swapped and realigned on the host machine. */ 90 89 #define N_BADMAG(x) (((x).a_info)!=BMAGIC) 91 90 #define N_TXTOFF(x) EXEC_BYTES_SIZE … … 104 103 #endif 105 104 106 /* A single entry in the symbol table 107 */ 108 struct nlist { 109 union { 110 char *n_name; 111 struct nlist *n_next; 112 long n_strx; /* Index into string table */ 113 } n_un; 114 unsigned char n_type; /* See below */ 115 char n_other; /* Used in i80960 support -- see below */ 116 short n_desc; 117 unsigned long n_value; 118 }; 105 /* A single entry in the symbol table. */ 106 struct nlist 107 { 108 union 109 { 110 char* n_name; 111 struct nlist * n_next; 112 long n_strx; /* Index into string table */ 113 } n_un; 114 115 unsigned char n_type; /* See below */ 116 char n_other; /* Used in i80960 support -- see below */ 117 short n_desc; 118 unsigned long n_value; 119 }; 119 120 120 121 121 /* Legal values of n_type 122 */ 122 /* Legal values of n_type. */ 123 123 #define N_UNDF 0 /* Undefined symbol */ 124 124 #define N_ABS 2 /* Absolute symbol */ … … 133 133 134 134 /* MEANING OF 'n_other' 135 * 136 * If non-zero, the 'n_other' fields indicates either a leaf procedure or 137 * a system procedure, as follows: 138 * 139 * 1 <= n_other <= 32 : 140 * The symbol is the entry point to a system procedure. 141 * 'n_value' is the address of the entry, as for any other 142 * procedure. The system procedure number (which can be used in 143 * a 'calls' instruction) is (n_other-1). These entries come from 144 * '.sysproc' directives. 145 * 146 * n_other == N_CALLNAME 147 * the symbol is the 'call' entry point to a leaf procedure. 148 * The *next* symbol in the symbol table must be the corresponding 149 * 'bal' entry point to the procedure (see following). These 150 * entries come from '.leafproc' directives in which two different 151 * symbols are specified (the first one is represented here). 152 * 153 * 154 * n_other == N_BALNAME 155 * the symbol is the 'bal' entry point to a leaf procedure. 156 * These entries result from '.leafproc' directives in which only 157 * one symbol is specified, or in which the same symbol is 158 * specified twice. 159 * 160 * Note that an N_CALLNAME entry *must* have a corresponding N_BALNAME entry, 161 * but not every N_BALNAME entry must have an N_CALLNAME entry. 162 */ 135 136 If non-zero, the 'n_other' fields indicates either a leaf procedure or 137 a system procedure, as follows: 138 139 1 <= n_other <= 32 : 140 The symbol is the entry point to a system procedure. 141 'n_value' is the address of the entry, as for any other 142 procedure. The system procedure number (which can be used in 143 a 'calls' instruction) is (n_other-1). These entries come from 144 '.sysproc' directives. 145 146 n_other == N_CALLNAME 147 the symbol is the 'call' entry point to a leaf procedure. 148 The *next* symbol in the symbol table must be the corresponding 149 'bal' entry point to the procedure (see following). These 150 entries come from '.leafproc' directives in which two different 151 symbols are specified (the first one is represented here). 152 153 154 n_other == N_BALNAME 155 the symbol is the 'bal' entry point to a leaf procedure. 156 These entries result from '.leafproc' directives in which only 157 one symbol is specified, or in which the same symbol is 158 specified twice. 159 160 Note that an N_CALLNAME entry *must* have a corresponding N_BALNAME entry, 161 but not every N_BALNAME entry must have an N_CALLNAME entry. */ 163 162 #define N_CALLNAME ((char)-1) 164 163 #define N_BALNAME ((char)-2) … … 168 167 169 168 #define b_out_relocation_info relocation_info 170 struct relocation_info { 171 int r_address; /* File address of item to be relocated */ 172 unsigned 169 struct relocation_info 170 { 171 int r_address; /* File address of item to be relocated. */ 172 unsigned 173 173 #define r_index r_symbolnum 174 r_symbolnum:24,/* Index of symbol on which relocation is based, 175 * if r_extern is set. Otherwise set to 176 * either N_TEXT, N_DATA, or N_BSS to 177 * indicate section on which relocation is 178 * based. 179 */ 180 r_pcrel:1, /* 1 => relocate PC-relative; else absolute 181 * On i960, pc-relative implies 24-bit 182 * address, absolute implies 32-bit. 183 */ 184 r_length:2, /* Number of bytes to relocate: 185 * 0 => 1 byte 186 * 1 => 2 bytes -- used for 13 bit pcrel 187 * 2 => 4 bytes 188 */ 189 r_extern:1, 190 r_bsr:1, /* Something for the GNU NS32K assembler */ 191 r_disp:1, /* Something for the GNU NS32K assembler */ 192 r_callj:1, /* 1 if relocation target is an i960 'callj' */ 193 r_relaxable:1; /* 1 if enough info is left to relax 194 the data */ 174 r_symbolnum:24, /* Index of symbol on which relocation is based, 175 if r_extern is set. Otherwise set to 176 either N_TEXT, N_DATA, or N_BSS to 177 indicate section on which relocation is 178 based. */ 179 r_pcrel:1, /* 1 => relocate PC-relative; else absolute 180 On i960, pc-relative implies 24-bit 181 address, absolute implies 32-bit. */ 182 r_length:2, /* Number of bytes to relocate: 183 0 => 1 byte 184 1 => 2 bytes -- used for 13 bit pcrel 185 2 => 4 bytes. */ 186 r_extern:1, 187 r_bsr:1, /* Something for the GNU NS32K assembler. */ 188 r_disp:1, /* Something for the GNU NS32K assembler. */ 189 r_callj:1, /* 1 if relocation target is an i960 'callj'. */ 190 r_relaxable:1; /* 1 if enough info is left to relax the data. */ 195 191 }; -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/ChangeLog
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 2001-06-11 Alan Modra <amodra@bigpond.net.au> 2 3 Merge from mainline. 4 2001-02-09 David Mosberger <davidm@hpl.hp.com> 1 2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com> 2 3 * coff/h8300.h (H8300HNMAGIC, H8300SNMAGIC): New. 4 (H8300HNBADMAG, H8300SNBADMAG): New. 5 6 2003-04-15 Rohit Kumar Srivastava <rohits@kpitcummins.com> 7 8 * sh.h: Replace occurrances of 'Hitachi' with 'Renesas'. 9 * h8300.h: Likewise. 10 * h8500.h: Likewise. 11 12 2003-03-25 Stan Cox <scox@redhat.com> 13 Nick Clifton <nickc@redhat.com> 14 15 Contribute support for Intel's iWMMXt chip - an ARM variant: 16 17 * arm.h (ARM_NOTE_SECTION): Define. 18 19 2002-11-30 Alan Modra <amodra@bigpond.net.au> 20 21 * ecoff.h: Replace boolean with bfd_boolean. 22 * xcoff.h: Likewise. 23 24 2002-03-18 Tom Rix <trix@redhat.com> 25 26 * rs6k64.h: Add U64_TOCMAGIC, AIX 5 64 bit magic number. 27 28 2002-02-01 Tom Rix <trix@redhat.com> 29 30 * xcoff.h: Conditionally support <aiaff> for pre AIX 4.3. 31 32 2002-01-31 Ivan Guzvinec <ivang@opencores.org> 33 34 * or32.h: New file. 35 36 2001-12-24 Tom Rix <trix@redhat.com> 37 38 * xcoff.h (xcoff_big_format_p): Make <bigaf> the default archive 39 format. 40 (XCOFFARMAG_ELEMENT_SIZE, XCOFFARMAGBIG_ELEMENT_SIZE): Define for 41 archive header ascii elements. 42 43 2001-12-17 Tom Rix <trix@redhat.com> 44 45 * xcoff.h : Add .except and .typchk section string and styp flags. 46 Fix xcoff_big_format_p macro. 47 48 2001-12-16 Tom Rix <trix@redhat.com> 49 50 * xcoff.h : Clean up formatting. 51 52 2002-01-15 Richard Earnshaw <rearnsha@arm.com> 53 54 * arm.h (F_VFP_FLOAT): Define. 55 56 2001-11-11 Timothy Wall <twall@alum.mit.edu> 57 58 * ti.h: Move arch-specific stuff from here... 59 (COFF_ADJUST_SYM_IN/OUT): Optionally put page flag into symbol 60 value. 61 * tic54x.h: ...to here. 62 63 2001-10-26 Christian Groessler <cpg@aladdin.de> 64 65 * external.h (GET_LINENO_LNNO): Fix usage of H_GET_32/16. 66 (PUT_LINENO_LNNO): Likewise with H_PUT_32/16. 67 68 2001-09-21 Nick Clifton <nickc@cambridge.redhat.com> 69 70 * ti.h (GET_SCNHDR_PAGE): Fix compile time warning. 71 72 2001-09-18 Alan Modra <amodra@bigpond.net.au> 73 74 * external.h (GET_LINENO_LNNO): Use H_GET_32/16. 75 (PUT_LINENO_LNNO): Use H_PUT_32/16. 76 * m88k.h (GET_LNSZ_SIZE, GET_LNSZ_LNNO, GET_SCN_NRELOC, 77 GET_SCN_NLINNO): Use H_GET_32. 78 (PUT_LNSZ_LNNO, PUT_LNSZ_SIZE, PUT_SCN_NRELOC, PUT_SCN_NLINNO): 79 Use H_PUT_32. 80 * ti.h: Formatting fixes. Make use of H_GET_* and H_PUT_* throughout. 81 * xcoff.h: White space changes. 82 83 2001-09-05 Tom Rix <trix@redhat.com> 84 85 * xcoff.h : Add XCOFF_SYSCALL32 and XCOFF_SYSCALL64 hash table flags. 86 87 2001-08-27 Andreas Jaeger <aj@suse.de> 88 89 * xcoff.h (struct __rtinit): Make proper prototype for rtl. 90 91 Fri Aug 24 01:18:51 2001 J"orn Rennecke <amylaar@redhat.com> 92 93 * internal.h (R_JMP2, R_JMPL2, R_MOVL2): Comment spelling fix. 94 95 2001-04-05 Tom Rix <trix@redhat.com> 96 97 * rs6000.h : move xcoff32 external structures from xcofflink. 98 * rs6k64.h : move xcoff64 external structures from xcofflink. 99 * internal.h : promote 32 bit structure elements to 64 bit 100 for xcoff64 support 101 * xcoff.h : New file. 102 103 2001-03-23 Nick Clifton <nickc@redhat.com> 104 105 * a29k.h: Fix compile time warning. 106 * external.h: Fix compile time warning. 107 * m88k.h: Fix compile time warning. 108 109 2001-03-13 Nick Clifton <nickc@redhat.com> 110 111 * external.h: New file. Common structure definitions found in 112 other COFF header files. 113 114 * a29k.h: Use external.h. 115 * apollo.h: Use external.h. 116 * arm.h: Use external.h. 117 * h8300.h: Use external.h. 118 * h8500.h: Use external.h. 119 * i386.h: Use external.h. 120 * i860.h: Use external.h. 121 * ia64.h: Use external.h. 122 * m68k.h: Use external.h. 123 * m88k.h: Use external.h. 124 * mcore.h: Use external.h. 125 * mips.h: Use external.h. 126 * mipspe.h: Use external.h. 127 * powerpc.h: Use external.h. 128 * rs6000.h: Use external.h. 129 * rs6k64.h: Use external.h. 130 * sh.h: Use external.h. 131 * sparc.h: Use external.h. 132 * tic30.h: Use external.h. 133 * tic80.h: Use external.h. 134 * w65.h: Use external.h. 135 * we32k.h: Use external.h. 136 * z8k.h: Use external.h. 137 138 2001-02-09 David Mosberger <davidm@hpl.hp.com> 139 5 140 * pe.h (PEPAOUTSZ): Rename from PEP64AOUTSZ. 6 141 Rename from PEPAOUTHDR. 7 142 8 2001-06-07 Alan Modra <amodra@bigpond.net.au> 9 10 * Many files: Update copyright notices. 11 12 2001-02-17 Philip Blundell <philb@gnu.org> 13 14 From 2001-01-23 H.J. Lu <hjl@gnu.org> 143 2001-01-23 H.J. Lu <hjl@gnu.org> 144 15 145 * pe.h (struct external_PEI_DOS_hdr): New. 16 146 (struct external_PEI_IMAGE_hdr): New. -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/a29k.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 23 23 #endif 24 24 25 /****************************************************************/ 26 27 /* 28 ** File Header and related definitions 29 */ 30 31 struct external_filehdr 32 { 33 char f_magic[2]; /* magic number */ 34 char f_nscns[2]; /* number of sections */ 35 char f_timdat[4]; /* time & date stamp */ 36 char f_symptr[4]; /* file pointer to symtab */ 37 char f_nsyms[4]; /* number of symtab entries */ 38 char f_opthdr[2]; /* sizeof(optional hdr) */ 39 char f_flags[2]; /* flags */ 40 }; 41 42 #define FILHDR struct external_filehdr 43 #define FILHSZ 20 44 45 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/ 25 #define L_LNNO_SIZE 2 26 #include "coff/external.h" 46 27 47 28 /* … … 53 34 #define SIPRBOMAGIC 0573 /* Am29000 (Byte 0 is LSB) */ 54 35 55 56 36 #define A29K_MAGIC_BIG SIPFBOMAGIC 57 37 #define A29K_MAGIC_LITTLE SIPRBOMAGIC 58 #define A29KBADMAG(x) ( ((x).f_magic!=A29K_MAGIC_BIG) && \59 ((x).f_magic !=A29K_MAGIC_LITTLE))38 #define A29KBADMAG(x) ( ((x).f_magic != A29K_MAGIC_BIG) && \ 39 ((x).f_magic != A29K_MAGIC_LITTLE)) 60 40 61 41 #define OMAGIC A29K_MAGIC_BIG … … 71 51 /*--------------------------------------------------------------*/ 72 52 73 /*74 ** Optional (a.out) header75 */76 77 typedef struct external_aouthdr78 {79 char magic[2]; /* type of file */80 char vstamp[2]; /* version stamp */81 char tsize[4]; /* text size in bytes, padded to FW bdry*/82 char dsize[4]; /* initialized data " " */83 char bsize[4]; /* uninitialized data " " */84 char entry[4]; /* entry pt. */85 char text_start[4]; /* base of text used for this file */86 char data_start[4]; /* base of data used for this file */87 } AOUTHDR;88 89 #define AOUTSZ 2890 #define AOUTHDRSZ 2891 53 92 54 /* aouthdr magic numbers */ … … 94 56 #define SHMAGIC 0406 /* NYU/Ultra3 shared data executable 95 57 (writable text) */ 96 58 #undef _ETEXT 97 59 #define _ETEXT "_etext" 98 60 99 61 /*--------------------------------------------------------------*/ 100 62 101 /*102 ** Section header and related definitions103 */104 63 105 struct external_scnhdr 106 { 107 char s_name[8]; /* section name */ 108 char s_paddr[4]; /* physical address, aliased s_nlib */ 109 char s_vaddr[4]; /* virtual address */ 110 char s_size[4]; /* section size */ 111 char s_scnptr[4]; /* file ptr to raw data for section */ 112 char s_relptr[4]; /* file ptr to relocation */ 113 char s_lnnoptr[4]; /* file ptr to line numbers */ 114 char s_nreloc[2]; /* number of relocation entries */ 115 char s_nlnno[2]; /* number of line number entries*/ 116 char s_flags[4]; /* flags */ 117 }; 118 119 #define SCNHDR struct external_scnhdr 120 #define SCNHSZ 40 121 122 /* 123 * names of "special" sections 124 */ 125 #define _TEXT ".text" 126 #define _DATA ".data" 127 #define _BSS ".bss" 64 /* More names of "special" sections. */ 128 65 #define _LIT ".lit" 129 66 … … 151 88 */ 152 89 153 struct external_reloc { 90 struct external_reloc 91 { 154 92 char r_vaddr[4]; /* (virtual) address of reference */ 155 93 char r_symndx[4]; /* index into symbol table */ … … 200 138 /*--------------------------------------------------------------*/ 201 139 202 /*203 ** Line number entry declaration and related definitions204 */205 206 struct external_lineno207 {208 union {209 char l_symndx[4]; /* function name symbol index, iff l_lnno == 0*/210 char l_paddr[4]; /* (physical) address of line number */211 } l_addr;212 char l_lnno[2]; /* line number */213 };214 215 #define LINENO struct external_lineno216 #define LINESZ 6 /* sizeof (LINENO) */217 218 /*--------------------------------------------------------------*/219 220 /*221 ** Symbol entry declaration and related definitions222 */223 224 #define E_SYMNMLEN 8 /* Number of characters in a symbol name */225 226 struct external_syment227 {228 union {229 char e_name[E_SYMNMLEN];230 struct {231 char e_zeroes[4];232 char e_offset[4];233 } e;234 } e;235 char e_value[4];236 char e_scnum[2];237 char e_type[2];238 char e_sclass[1];239 char e_numaux[1];240 };241 242 #define SYMENT struct external_syment243 #define SYMESZ 18244 245 140 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/ 246 141 … … 252 147 #define C_EXTREG 20 /* external global register */ 253 148 #define C_DEFREG 21 /* ext. def. of global register */ 254 255 256 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/257 258 /*259 ** Derived symbol mask/shifts.260 */261 262 #define N_BTMASK (0xf)263 #define N_BTSHFT (4)264 #define N_TMASK (0x30)265 #define N_TSHIFT (2)266 267 /*--------------------------------------------------------------*/268 269 /*270 ** Auxiliary symbol table entry declaration and related271 ** definitions.272 */273 274 #define E_FILNMLEN 14 /* # characters in a file name */275 #define E_DIMNUM 4 /* # array dimensions in auxiliary entry */276 277 union external_auxent {278 struct {279 char x_tagndx[4]; /* str, un, or enum tag indx */280 union {281 struct {282 char x_lnno[2]; /* declaration line number */283 char x_size[2]; /* str/union/array size */284 } x_lnsz;285 char x_fsize[4]; /* size of function */286 } x_misc;287 union {288 struct { /* if ISFCN, tag, or .bb */289 char x_lnnoptr[4]; /* ptr to fcn line # */290 char x_endndx[4]; /* entry ndx past block end */291 } x_fcn;292 struct { /* if ISARY, up to 4 dimen. */293 char x_dimen[E_DIMNUM][2];294 } x_ary;295 } x_fcnary;296 char x_tvndx[2]; /* tv index */297 } x_sym;298 299 union {300 char x_fname[E_FILNMLEN];301 struct {302 char x_zeroes[4];303 char x_offset[4];304 } x_n;305 } x_file;306 307 struct {308 char x_scnlen[4]; /* section length */309 char x_nreloc[2]; /* # relocation entries */310 char x_nlinno[2]; /* # line numbers */311 } x_scn;312 313 struct {314 char x_tvfill[4]; /* tv fill value */315 char x_tvlen[2]; /* length of .tv */316 char x_tvran[2][2]; /* tv range */317 } x_tv; /* info about .tv section (in auxent of symbol .tv)) */318 };319 320 #define AUXENT union external_auxent321 #define AUXESZ 18 -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/alpha.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 20 20 /********************** FILE HEADER **********************/ 21 21 22 struct external_filehdr { 22 struct external_filehdr 23 { 23 24 unsigned char f_magic[2]; /* magic number */ 24 25 unsigned char f_nscns[2]; /* number of sections */ … … 44 45 45 46 /********************** AOUT "OPTIONAL HEADER" **********************/ 46 47 47 48 48 typedef struct external_aouthdr … … 71 71 /********************** SECTION HEADER **********************/ 72 72 73 struct external_scnhdr { 73 struct external_scnhdr 74 { 74 75 unsigned char s_name[8]; /* section name */ 75 76 unsigned char s_paddr[8]; /* physical address, aliased s_nlib */ … … 89 90 /********************** RELOCATION DIRECTIVES **********************/ 90 91 91 struct external_reloc { 92 struct external_reloc 93 { 92 94 unsigned char r_vaddr[8]; 93 95 unsigned char r_symndx[4]; … … 167 169 /* File header as a set of bytes */ 168 170 169 struct hdr_ext { 171 struct hdr_ext 172 { 170 173 unsigned char h_magic[2]; 171 174 unsigned char h_vstamp[2]; … … 197 200 /* File descriptor external record */ 198 201 199 struct fdr_ext { 202 struct fdr_ext 203 { 200 204 unsigned char f_adr[8]; 201 205 unsigned char f_cbLineOffset[8]; -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/apollo.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 17 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 18 18 19 /********************** FILE HEADER **********************/ 20 21 struct external_filehdr { 22 char f_magic[2]; /* magic number */ 23 char f_nscns[2]; /* number of sections */ 24 char f_timdat[4]; /* time & date stamp */ 25 char f_symptr[4]; /* file pointer to symtab */ 26 char f_nsyms[4]; /* number of symtab entries */ 27 char f_opthdr[2]; /* sizeof(optional hdr) */ 28 char f_flags[2]; /* flags */ 29 }; 30 19 #define DO_NOT_DEFINE_AOUTHDR 20 #define L_LNNO_SIZE 2 21 #include "coff/external.h" 31 22 32 23 /* Motorola 68000/68008/68010/68020 */ … … 48 39 ((x).f_magic!=MC68KROMAGIC) && ((x).f_magic!=MC68KPGMAGIC) && ((x).f_magic!=M68MAGIC) && ((x).f_magic!=M68TVMAGIC) && \ 49 40 ((x).f_magic!=APOLLOM68KMAGIC) ) 50 51 52 #define FILHDR struct external_filehdr53 #define FILHSZ 2054 55 41 56 42 /********************** AOUT "OPTIONAL HEADER" **********************/ … … 76 62 #define AOUTSZ 44 77 63 64 /* Apollo allowa for larger section names by allowing 65 them to be in the string table. */ 78 66 79 80 /********************** SECTION HEADER **********************/ 81 82 struct external_scnhdr { 83 /* Apollo allow for larger section names by allowing it to be in 84 * the string table. 85 */ 86 char s_name[8]; 87 char s_paddr[4]; /* physical address, aliased s_nlib */ 88 char s_vaddr[4]; /* virtual address */ 89 char s_size[4]; /* section size */ 90 char s_scnptr[4]; /* file ptr to raw data for section */ 91 char s_relptr[4]; /* file ptr to relocation */ 92 char s_lnnoptr[4]; /* file ptr to line numbers */ 93 char s_nreloc[2]; /* number of relocation entries */ 94 char s_nlnno[2]; /* number of line number entries*/ 95 char s_flags[4]; /* flags */ 96 }; 97 98 /* If s_zeores is all zeroes, s_offset gives the real location of the name 99 * in the string table. 100 */ 67 /* If s_zeores is all zeroes, s_offset gives the real 68 location of the name in the string table. */ 101 69 102 70 #define s_zeroes section_name.s_name 103 71 #define s_offset (section_name.s_name+4) 104 72 105 /* 106 * names of "special" sections 107 */ 108 #define _TEXT ".text" 109 #define _DATA ".data" 110 #define _BSS ".bss" 73 /* More names of "special" sections. */ 111 74 #define _TV ".tv" 112 75 #define _INIT ".init" … … 123 86 #define _UNWIND ".unwind" /* Stack unwind information */ 124 87 125 #define SCNHDR struct external_scnhdr126 #define SCNHSZ 40127 128 129 /********************** LINE NUMBERS **********************/130 131 /* 1 line number entry for every "breakpointable" source line in a section.132 * Line numbers are grouped on a per function basis; first entry in a function133 * grouping will have l_lnno = 0 and in place of physical address will be the134 * symbol table index of the function name.135 */136 struct external_lineno {137 union {138 char l_symndx[4]; /* function name symbol index, iff l_lnno == 0*/139 char l_paddr[4]; /* (physical) address of line number */140 } l_addr;141 char l_lnno[2]; /* line number */142 };143 144 145 #define LINENO struct external_lineno146 #define LINESZ 6147 148 149 /********************** SYMBOLS **********************/150 151 #define E_SYMNMLEN 8 /* # characters in a symbol name */152 #define E_FILNMLEN 14 /* # characters in a file name */153 #define E_DIMNUM 4 /* # array dimensions in auxiliary entry */154 155 struct external_syment156 {157 union {158 char e_name[E_SYMNMLEN];159 struct {160 char e_zeroes[4];161 char e_offset[4];162 } e;163 } e;164 char e_value[4];165 char e_scnum[2];166 char e_type[2];167 char e_sclass[1];168 char e_numaux[1];169 };170 171 172 173 #define N_BTMASK (017)174 #define N_TMASK (060)175 #define N_BTSHFT (4)176 #define N_TSHIFT (2)177 178 179 union external_auxent {180 struct {181 char x_tagndx[4]; /* str, un, or enum tag indx */182 union {183 struct {184 char x_lnno[2]; /* declaration line number */185 char x_size[2]; /* str/union/array size */186 } x_lnsz;187 char x_fsize[4]; /* size of function */188 } x_misc;189 union {190 struct { /* if ISFCN, tag, or .bb */191 char x_lnnoptr[4]; /* ptr to fcn line # */192 char x_endndx[4]; /* entry ndx past block end */193 } x_fcn;194 struct { /* if ISARY, up to 4 dimen. */195 char x_dimen[E_DIMNUM][2];196 } x_ary;197 } x_fcnary;198 char x_tvndx[2]; /* tv index */199 } x_sym;200 201 union {202 char x_fname[E_FILNMLEN];203 struct {204 char x_zeroes[4];205 char x_offset[4];206 } x_n;207 } x_file;208 209 struct {210 char x_scnlen[4]; /* section length */211 char x_nreloc[2]; /* # relocation entries */212 char x_nlinno[2]; /* # line numbers */213 } x_scn;214 215 struct {216 char x_tvfill[4]; /* tv fill value */217 char x_tvlen[2]; /* length of .tv */218 char x_tvran[2][2]; /* tv range */219 } x_tv; /* info about .tv section (in auxent of symbol .tv)) */220 221 222 };223 224 #define SYMENT struct external_syment225 #define SYMESZ 18226 #define AUXENT union external_auxent227 #define AUXESZ 18228 229 230 231 88 /********************** RELOCATION DIRECTIVES **********************/ 232 89 233 234 struct external_reloc{90 struct external_reloc 91 { 235 92 char r_vaddr[4]; 236 93 char r_symndx[4]; … … 241 98 242 99 }; 243 244 100 245 101 #define RELOC struct external_reloc -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/arm.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* ARM COFF support for BFD. 2 Copyright 1998, 1999, 2000 Free Software Foundation, Inc.2 Copyright 1998, 1999, 2000, 2002 Free Software Foundation, Inc. 3 3 4 4 This file is part of BFD, the Binary File Descriptor library. … … 20 20 #define COFFARM 1 21 21 22 /********************** FILE HEADER **********************/ 23 24 struct external_filehdr 25 { 26 char f_magic[2]; /* magic number */ 27 char f_nscns[2]; /* number of sections */ 28 char f_timdat[4]; /* time & date stamp */ 29 char f_symptr[4]; /* file pointer to symtab */ 30 char f_nsyms[4]; /* number of symtab entries */ 31 char f_opthdr[2]; /* sizeof(optional hdr) */ 32 char f_flags[2]; /* flags */ 33 }; 22 #define L_LNNO_SIZE 2 23 #define INCLUDE_COMDAT_FIELDS_IN_AUXENT 24 #include "coff/external.h" 34 25 35 26 /* Bits for f_flags: 36 * F_RELFLG relocation info stripped from file 37 * F_EXEC file is executable (no unresolved external references) 38 * F_LNNO line numbers stripped from file 39 * F_LSYMS local symbols stripped from file 40 * F_INTERWORK file supports switching between ARM and Thumb instruction sets 41 * F_INTERWORK_SET the F_INTERWORK bit is valid 42 * F_APCS_FLOAT code passes float arguments in float registers 43 * F_PIC code is reentrant/position-independent 44 * F_AR32WR file has byte ordering of an AR32WR machine (e.g. vax) 45 * F_APCS_26 file uses 26 bit ARM Procedure Calling Standard 46 * F_APCS_SET the F_APCS_26, F_APCS_FLOAT and F_PIC bits have been initialised 47 * F_SOFT_FLOAT code does not use floating point instructions 48 */ 27 F_RELFLG relocation info stripped from file 28 F_EXEC file is executable (no unresolved external references) 29 F_LNNO line numbers stripped from file 30 F_LSYMS local symbols stripped from file 31 F_INTERWORK file supports switching between ARM and Thumb instruction sets 32 F_INTERWORK_SET the F_INTERWORK bit is valid 33 F_APCS_FLOAT code passes float arguments in float registers 34 F_PIC code is reentrant/position-independent 35 F_AR32WR file has byte ordering of an AR32WR machine (e.g. vax) 36 F_APCS_26 file uses 26 bit ARM Procedure Calling Standard 37 F_APCS_SET the F_APCS_26, F_APCS_FLOAT and F_PIC bits have been initialised 38 F_SOFT_FLOAT code does not use floating point instructions. */ 49 39 50 40 #define F_RELFLG (0x0001) … … 61 51 #define F_APCS_SET (0x0800) 62 52 #define F_SOFT_FLOAT (0x2000) 53 #define F_VFP_FLOAT (0x4000) 63 54 64 55 /* Bits stored in flags field of the internal_f structure */ … … 78 69 79 70 /* 80 * ARMMAGIC ought to encoded the procesor type, 81 * but it is too late to change it now, instead 82 * the flags field of the internal_f structure 83 * is used as shown above. 84 * 85 * XXX - NC 5/6/97 86 */ 71 ARMMAGIC ought to encoded the procesor type, 72 but it is too late to change it now, instead 73 the flags field of the internal_f structure 74 is used as shown above. 75 76 XXX - NC 5/6/97. */ 87 77 88 78 #define ARMMAGIC 0xa00 /* I just made this up */ … … 96 86 #define ARMBADMAG(x) (((x).f_magic != ARMMAGIC) && ((x).f_magic != ARMPEMAGIC) && ((x).f_magic != THUMBPEMAGIC)) 97 87 98 #define FILHDR struct external_filehdr99 #define FILHSZ 20100 101 102 /********************** AOUT "OPTIONAL HEADER" **********************/103 104 105 typedef struct106 {107 char magic[2]; /* type of file */108 char vstamp[2]; /* version stamp */109 char tsize[4]; /* text size in bytes, padded to FW bdry*/110 char dsize[4]; /* initialized data " " */111 char bsize[4]; /* uninitialized data " " */112 char entry[4]; /* entry pt. */113 char text_start[4]; /* base of text used for this file */114 char data_start[4]; /* base of data used for this file */115 }116 AOUTHDR;117 118 119 #define AOUTSZ 28120 #define AOUTHDRSZ 28121 122 88 #define OMAGIC 0404 /* object files, eg as output */ 123 89 #define ZMAGIC 0413 /* demand load format, eg normal ld output */ 124 90 #define STMAGIC 0401 /* target shlib */ 125 91 #define SHMAGIC 0443 /* host shlib */ 126 127 92 128 93 /* define some NT default values */ … … 133 98 #define NT_DEF_COMMIT 0x1000 134 99 135 /********************** SECTION HEADER **********************/136 struct external_scnhdr137 {138 char s_name[8]; /* section name */139 char s_paddr[4]; /* physical address, aliased s_nlib */140 char s_vaddr[4]; /* virtual address */141 char s_size[4]; /* section size */142 char s_scnptr[4]; /* file ptr to raw data for section */143 char s_relptr[4]; /* file ptr to relocation */144 char s_lnnoptr[4]; /* file ptr to line numbers */145 char s_nreloc[2]; /* number of relocation entries */146 char s_nlnno[2]; /* number of line number entries*/147 char s_flags[4]; /* flags */148 };149 150 #define SCNHDR struct external_scnhdr151 #define SCNHSZ 40152 153 /*154 * names of "special" sections155 */156 #define _TEXT ".text"157 #define _DATA ".data"158 #define _BSS ".bss"159 #define _COMMENT ".comment"160 #define _LIB ".lib"161 162 100 /* We use the .rdata section to hold read only data. */ 163 101 #define _LIT ".rdata" 164 165 /********************** LINE NUMBERS **********************/166 167 /* 1 line number entry for every "breakpointable" source line in a section.168 * Line numbers are grouped on a per function basis; first entry in a function169 * grouping will have l_lnno = 0 and in place of physical address will be the170 * symbol table index of the function name.171 */172 struct external_lineno173 {174 union175 {176 char l_symndx[4]; /* function name symbol index, iff l_lnno == 0*/177 char l_paddr[4]; /* (physical) address of line number */178 } l_addr;179 char l_lnno[2]; /* line number */180 };181 182 183 #define LINENO struct external_lineno184 #define LINESZ 6185 186 187 /********************** SYMBOLS **********************/188 189 #define E_SYMNMLEN 8 /* # characters in a symbol name */190 #define E_FILNMLEN 14 /* # characters in a file name */191 #define E_DIMNUM 4 /* # array dimensions in auxiliary entry */192 193 struct external_syment194 {195 union196 {197 char e_name[E_SYMNMLEN];198 struct199 {200 char e_zeroes[4];201 char e_offset[4];202 } e;203 } e;204 char e_value[4];205 char e_scnum[2];206 char e_type[2];207 char e_sclass[1];208 char e_numaux[1];209 };210 211 #define N_BTMASK (0xf)212 #define N_TMASK (0x30)213 #define N_BTSHFT (4)214 #define N_TSHIFT (2)215 216 union external_auxent217 {218 struct219 {220 char x_tagndx[4]; /* str, un, or enum tag indx */221 union222 {223 struct224 {225 char x_lnno[2]; /* declaration line number */226 char x_size[2]; /* str/union/array size */227 } x_lnsz;228 char x_fsize[4]; /* size of function */229 } x_misc;230 union231 {232 struct /* if ISFCN, tag, or .bb */233 {234 char x_lnnoptr[4]; /* ptr to fcn line # */235 char x_endndx[4]; /* entry ndx past block end */236 } x_fcn;237 struct /* if ISARY, up to 4 dimen. */238 {239 char x_dimen[E_DIMNUM][2];240 } x_ary;241 } x_fcnary;242 char x_tvndx[2]; /* tv index */243 } x_sym;244 245 union246 {247 char x_fname[E_FILNMLEN];248 struct249 {250 char x_zeroes[4];251 char x_offset[4];252 } x_n;253 } x_file;254 255 struct256 {257 char x_scnlen[4]; /* section length */258 char x_nreloc[2]; /* # relocation entries */259 char x_nlinno[2]; /* # line numbers */260 char x_checksum[4]; /* section COMDAT checksum */261 char x_associated[2]; /* COMDAT associated section index */262 char x_comdat[1]; /* COMDAT selection number */263 } x_scn;264 265 struct266 {267 char x_tvfill[4]; /* tv fill value */268 char x_tvlen[2]; /* length of .tv */269 char x_tvran[2][2]; /* tv range */270 } x_tv; /* info about .tv section (in auxent of symbol .tv)) */271 };272 273 #define SYMENT struct external_syment274 #define SYMESZ 18275 #define AUXENT union external_auxent276 #define AUXESZ 18277 278 #define _ETEXT "etext"279 102 280 103 /********************** RELOCATION DIRECTIVES **********************/ … … 302 125 #define RELSZ 14 303 126 #endif 127 128 #define ARM_NOTE_SECTION ".note" -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/ecoff.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 3 3 symconst.h. 4 4 5 Copyright 2001 Free Software Foundation, Inc.5 Copyright 2001, 2002 Free Software Foundation, Inc. 6 6 7 7 This program is free software; you can redistribute it and/or modify … … 9 9 the Free Software Foundation; either version 2 of the License, or 10 10 (at your option) any later version. 11 11 12 12 This program is distributed in the hope that it will be useful, 13 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 15 GNU General Public License for more details. 16 16 17 17 You should have received a copy of the GNU General Public License 18 18 along with this program; if not, write to the Free Software 19 19 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 20 20 21 21 #ifndef ECOFF_H 22 22 #define ECOFF_H … … 431 431 ecoff_debug_info structure. The section argument is used for 432 432 ELF, not straight ECOFF. */ 433 b oolean (*read_debug_info) PARAMS ((bfd *, asection *,434 433 bfd_boolean (*read_debug_info) 434 PARAMS ((bfd *, asection *, struct ecoff_debug_info *)); 435 435 }; 436 436 -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/go32exe.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 19 19 #define STUBSIZE 2048 20 20 21 struct external_filehdr_go32_exe { 22 char stub[STUBSIZE]; /* the stub to load the image */ 23 /* the standard COFF header */ 24 char f_magic[2]; /* magic number */ 25 char f_nscns[2]; /* number of sections */ 26 char f_timdat[4]; /* time & date stamp */ 27 char f_symptr[4]; /* file pointer to symtab */ 28 char f_nsyms[4]; /* number of symtab entries */ 29 char f_opthdr[2]; /* sizeof(optional hdr) */ 30 char f_flags[2]; /* flags */ 31 }; 21 struct external_filehdr_go32_exe 22 { 23 char stub[STUBSIZE];/* the stub to load the image */ 24 /* the standard COFF header */ 25 char f_magic[2]; /* magic number */ 26 char f_nscns[2]; /* number of sections */ 27 char f_timdat[4]; /* time & date stamp */ 28 char f_symptr[4]; /* file pointer to symtab */ 29 char f_nsyms[4]; /* number of symtab entries */ 30 char f_opthdr[2]; /* sizeof(optional hdr) */ 31 char f_flags[2]; /* flags */ 32 }; 32 33 33 34 #undef FILHDR -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/h8300.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 /* coff information for HitachiH8/300 and H8/300-H1 /* coff information for Renesas H8/300 and H8/300-H 2 2 3 Copyright 2001 Free Software Foundation, Inc.3 Copyright 2001, 2003 Free Software Foundation, Inc. 4 4 5 5 This program is free software; you can redistribute it and/or modify … … 17 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 18 18 19 /********************** FILE HEADER **********************/ 20 21 struct external_filehdr { 22 char f_magic[2]; /* magic number */ 23 char f_nscns[2]; /* number of sections */ 24 char f_timdat[4]; /* time & date stamp */ 25 char f_symptr[4]; /* file pointer to symtab */ 26 char f_nsyms[4]; /* number of symtab entries */ 27 char f_opthdr[2]; /* sizeof(optional hdr) */ 28 char f_flags[2]; /* flags */ 29 }; 30 31 19 #define L_LNNO_SIZE 4 20 #include "coff/external.h" 32 21 33 22 #define H8300MAGIC 0x8300 34 23 #define H8300HMAGIC 0x8301 35 24 #define H8300SMAGIC 0x8302 25 #define H8300HNMAGIC 0x8303 26 #define H8300SNMAGIC 0x8304 36 27 37 #define H8300BADMAG(x) (((x).f_magic!=H8300MAGIC)) 38 #define H8300HBADMAG(x) (((x).f_magic!=H8300HMAGIC)) 39 #define H8300SBADMAG(x) (((x).f_magic!=H8300SMAGIC)) 28 #define H8300BADMAG(x) (((x).f_magic != H8300MAGIC)) 29 #define H8300HBADMAG(x) (((x).f_magic != H8300HMAGIC)) 30 #define H8300SBADMAG(x) (((x).f_magic != H8300SMAGIC)) 31 #define H8300HNBADMAG(x) (((x).f_magic != H8300HNMAGIC)) 32 #define H8300SNBADMAG(x) (((x).f_magic != H8300SNMAGIC)) 40 33 41 #define FILHDR struct external_filehdr 42 #define FILHSZ 20 43 44 45 /********************** AOUT "OPTIONAL HEADER" **********************/ 46 47 48 typedef struct 49 { 50 char magic[2]; /* type of file */ 51 char vstamp[2]; /* version stamp */ 52 char tsize[4]; /* text size in bytes, padded to FW bdry*/ 53 char dsize[4]; /* initialized data " " */ 54 char bsize[4]; /* uninitialized data " " */ 55 char entry[4]; /* entry pt. */ 56 char text_start[4]; /* base of text used for this file */ 57 char data_start[4]; /* base of data used for this file */ 58 } 59 AOUTHDR; 60 61 62 #define AOUTHDRSZ 28 63 #define AOUTSZ 28 64 65 66 67 68 /********************** SECTION HEADER **********************/ 69 70 71 struct external_scnhdr { 72 char s_name[8]; /* section name */ 73 char s_paddr[4]; /* physical address, aliased s_nlib */ 74 char s_vaddr[4]; /* virtual address */ 75 char s_size[4]; /* section size */ 76 char s_scnptr[4]; /* file ptr to raw data for section */ 77 char s_relptr[4]; /* file ptr to relocation */ 78 char s_lnnoptr[4]; /* file ptr to line numbers */ 79 char s_nreloc[2]; /* number of relocation entries */ 80 char s_nlnno[2]; /* number of line number entries*/ 81 char s_flags[4]; /* flags */ 82 }; 83 84 /* 85 * names of "special" sections 86 */ 87 #define _TEXT ".text" 88 #define _DATA ".data" 89 #define _BSS ".bss" 90 91 92 #define SCNHDR struct external_scnhdr 93 #define SCNHSZ 40 94 95 96 /********************** LINE NUMBERS **********************/ 97 98 /* 1 line number entry for every "breakpointable" source line in a section. 99 * Line numbers are grouped on a per function basis; first entry in a function 100 * grouping will have l_lnno = 0 and in place of physical address will be the 101 * symbol table index of the function name. 102 */ 103 struct external_lineno { 104 union { 105 char l_symndx[4]; /* function name symbol index, iff l_lnno == 0*/ 106 char l_paddr[4]; /* (physical) address of line number */ 107 } l_addr; 108 char l_lnno[4]; /* line number */ 109 }; 110 111 #define GET_LINENO_LNNO(abfd, ext) bfd_h_get_32(abfd, (bfd_byte *) (ext->l_lnno)); 112 #define PUT_LINENO_LNNO(abfd,val, ext) bfd_h_put_32(abfd,val, (bfd_byte *) (ext->l_lnno)); 113 114 #define LINENO struct external_lineno 115 #define LINESZ 8 116 117 118 /********************** SYMBOLS **********************/ 119 120 #define E_SYMNMLEN 8 /* # characters in a symbol name */ 121 #define E_FILNMLEN 14 /* # characters in a file name */ 122 #define E_DIMNUM 4 /* # array dimensions in auxiliary entry */ 123 124 struct external_syment 125 { 126 union { 127 char e_name[E_SYMNMLEN]; 128 struct { 129 char e_zeroes[4]; 130 char e_offset[4]; 131 } e; 132 } e; 133 char e_value[4]; 134 char e_scnum[2]; 135 char e_type[2]; 136 char e_sclass[1]; 137 char e_numaux[1]; 138 }; 139 140 141 142 #define N_BTMASK (017) 143 #define N_TMASK (060) 144 #define N_BTSHFT (4) 145 #define N_TSHIFT (2) 146 147 148 union external_auxent { 149 struct { 150 char x_tagndx[4]; /* str, un, or enum tag indx */ 151 union { 152 struct { 153 char x_lnno[2]; /* declaration line number */ 154 char x_size[2]; /* str/union/array size */ 155 } x_lnsz; 156 char x_fsize[4]; /* size of function */ 157 } x_misc; 158 union { 159 struct { /* if ISFCN, tag, or .bb */ 160 char x_lnnoptr[4]; /* ptr to fcn line # */ 161 char x_endndx[4]; /* entry ndx past block end */ 162 } x_fcn; 163 struct { /* if ISARY, up to 4 dimen. */ 164 char x_dimen[E_DIMNUM][2]; 165 } x_ary; 166 } x_fcnary; 167 char x_tvndx[2]; /* tv index */ 168 } x_sym; 169 170 union { 171 char x_fname[E_FILNMLEN]; 172 struct { 173 char x_zeroes[4]; 174 char x_offset[4]; 175 } x_n; 176 } x_file; 177 178 struct { 179 char x_scnlen[4]; /* section length */ 180 char x_nreloc[2]; /* # relocation entries */ 181 char x_nlinno[2]; /* # line numbers */ 182 } x_scn; 183 184 struct { 185 char x_tvfill[4]; /* tv fill value */ 186 char x_tvlen[2]; /* length of .tv */ 187 char x_tvran[2][2]; /* tv range */ 188 } x_tv; /* info about .tv section (in auxent of symbol .tv)) */ 189 190 191 }; 192 193 #define SYMENT struct external_syment 194 #define SYMESZ 18 195 #define AUXENT union external_auxent 196 #define AUXESZ 18 197 198 199 200 /********************** RELOCATION DIRECTIVES **********************/ 34 /* Relocation directives. */ 201 35 202 36 /* The external reloc has an offset field, because some of the reloc 203 37 types on the h8 don't have room in the instruction for the entire 204 offset - eg the strange jump and high page addressing modes */38 offset - eg the strange jump and high page addressing modes. */ 205 39 206 struct external_reloc { 40 struct external_reloc 41 { 207 42 char r_vaddr[4]; 208 43 char r_symndx[4]; … … 212 47 }; 213 48 214 215 49 #define RELOC struct external_reloc 216 50 #define RELSZ 16 -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/h8500.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 /* coff information for HitachiH8/5001 /* coff information for Renesas H8/500 2 2 3 Copyright 2001 Free Software Foundation, Inc.3 Copyright 2001, 2003 Free Software Foundation, Inc. 4 4 5 5 This program is free software; you can redistribute it and/or modify … … 17 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 18 18 19 /********************** FILE HEADER **********************/ 20 21 struct external_filehdr { 22 char f_magic[2]; /* magic number */ 23 char f_nscns[2]; /* number of sections */ 24 char f_timdat[4]; /* time & date stamp */ 25 char f_symptr[4]; /* file pointer to symtab */ 26 char f_nsyms[4]; /* number of symtab entries */ 27 char f_opthdr[2]; /* sizeof(optional hdr) */ 28 char f_flags[2]; /* flags */ 29 }; 30 31 19 #define L_LNNO_SIZE 4 20 #include "coff/external.h" 32 21 33 22 #define H8500MAGIC 0x8500 34 23 35 36 #define H8500BADMAG(x) ((0xffff && ((x).f_magic)!=H8500MAGIC)) 37 38 #define FILHDR struct external_filehdr 39 #define FILHSZ 20 40 41 42 /********************** AOUT "OPTIONAL HEADER" **********************/ 43 44 45 typedef struct 46 { 47 char magic[2]; /* type of file */ 48 char vstamp[2]; /* version stamp */ 49 char tsize[4]; /* text size in bytes, padded to FW bdry*/ 50 char dsize[4]; /* initialized data " " */ 51 char bsize[4]; /* uninitialized data " " */ 52 char entry[4]; /* entry pt. */ 53 char text_start[4]; /* base of text used for this file */ 54 char data_start[4]; /* base of data used for this file */ 55 } 56 AOUTHDR; 57 58 59 #define AOUTHDRSZ 28 60 #define AOUTSZ 28 61 62 63 64 65 /********************** SECTION HEADER **********************/ 66 67 68 struct external_scnhdr { 69 char s_name[8]; /* section name */ 70 char s_paddr[4]; /* physical address, aliased s_nlib */ 71 char s_vaddr[4]; /* virtual address */ 72 char s_size[4]; /* section size */ 73 char s_scnptr[4]; /* file ptr to raw data for section */ 74 char s_relptr[4]; /* file ptr to relocation */ 75 char s_lnnoptr[4]; /* file ptr to line numbers */ 76 char s_nreloc[2]; /* number of relocation entries */ 77 char s_nlnno[2]; /* number of line number entries*/ 78 char s_flags[4]; /* flags */ 79 }; 80 81 /* 82 * names of "special" sections 83 */ 84 #define _TEXT ".text" 85 #define _DATA ".data" 86 #define _BSS ".bss" 87 88 89 #define SCNHDR struct external_scnhdr 90 #define SCNHSZ 40 91 92 93 /********************** LINE NUMBERS **********************/ 94 95 /* 1 line number entry for every "breakpointable" source line in a section. 96 * Line numbers are grouped on a per function basis; first entry in a function 97 * grouping will have l_lnno = 0 and in place of physical address will be the 98 * symbol table index of the function name. 99 */ 100 struct external_lineno { 101 union { 102 char l_symndx[4]; /* function name symbol index, iff l_lnno == 0*/ 103 char l_paddr[4]; /* (physical) address of line number */ 104 } l_addr; 105 char l_lnno[4]; /* line number */ 106 }; 107 108 #define GET_LINENO_LNNO(abfd, ext) bfd_h_get_32(abfd, (bfd_byte *) (ext->l_lnno)); 109 #define PUT_LINENO_LNNO(abfd,val, ext) bfd_h_put_32(abfd,val, (bfd_byte *) (ext->l_lnno)); 110 111 #define LINENO struct external_lineno 112 #define LINESZ 8 113 114 115 /********************** SYMBOLS **********************/ 116 117 #define E_SYMNMLEN 8 /* # characters in a symbol name */ 118 #define E_FILNMLEN 14 /* # characters in a file name */ 119 #define E_DIMNUM 4 /* # array dimensions in auxiliary entry */ 120 121 struct external_syment 122 { 123 union { 124 char e_name[E_SYMNMLEN]; 125 struct { 126 char e_zeroes[4]; 127 char e_offset[4]; 128 } e; 129 } e; 130 char e_value[4]; 131 char e_scnum[2]; 132 char e_type[2]; 133 char e_sclass[1]; 134 char e_numaux[1]; 135 }; 136 137 138 139 #define N_BTMASK (017) 140 #define N_TMASK (060) 141 #define N_BTSHFT (4) 142 #define N_TSHIFT (2) 143 144 145 union external_auxent { 146 struct { 147 char x_tagndx[4]; /* str, un, or enum tag indx */ 148 union { 149 struct { 150 char x_lnno[2]; /* declaration line number */ 151 char x_size[2]; /* str/union/array size */ 152 } x_lnsz; 153 char x_fsize[4]; /* size of function */ 154 } x_misc; 155 union { 156 struct { /* if ISFCN, tag, or .bb */ 157 char x_lnnoptr[4]; /* ptr to fcn line # */ 158 char x_endndx[4]; /* entry ndx past block end */ 159 } x_fcn; 160 struct { /* if ISARY, up to 4 dimen. */ 161 char x_dimen[E_DIMNUM][2]; 162 } x_ary; 163 } x_fcnary; 164 char x_tvndx[2]; /* tv index */ 165 } x_sym; 166 167 union { 168 char x_fname[E_FILNMLEN]; 169 struct { 170 char x_zeroes[4]; 171 char x_offset[4]; 172 } x_n; 173 } x_file; 174 175 struct { 176 char x_scnlen[4]; /* section length */ 177 char x_nreloc[2]; /* # relocation entries */ 178 char x_nlinno[2]; /* # line numbers */ 179 } x_scn; 180 181 struct { 182 char x_tvfill[4]; /* tv fill value */ 183 char x_tvlen[2]; /* length of .tv */ 184 char x_tvran[2][2]; /* tv range */ 185 } x_tv; /* info about .tv section (in auxent of symbol .tv)) */ 186 187 188 }; 189 190 #define SYMENT struct external_syment 191 #define SYMESZ 18 192 #define AUXENT union external_auxent 193 #define AUXESZ 18 194 195 24 #define H8500BADMAG(x) ((0xffff && ((x).f_magic) != H8500MAGIC)) 196 25 197 26 /********************** RELOCATION DIRECTIVES **********************/ … … 199 28 /* The external reloc has an offset field, because some of the reloc 200 29 types on the h8 don't have room in the instruction for the entire 201 offset - eg the strange jump and high page addressing modes */30 offset - eg the strange jump and high page addressing modes. */ 202 31 203 struct external_reloc { 32 struct external_reloc 33 { 204 34 char r_vaddr[4]; 205 35 char r_symndx[4]; … … 209 39 }; 210 40 211 212 41 #define RELOC struct external_reloc 213 42 #define RELSZ 16 -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/i386.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 17 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 18 18 19 20 /********************** FILE HEADER **********************/ 21 22 struct external_filehdr { 23 char f_magic[2]; /* magic number */ 24 char f_nscns[2]; /* number of sections */ 25 char f_timdat[4]; /* time & date stamp */ 26 char f_symptr[4]; /* file pointer to symtab */ 27 char f_nsyms[4]; /* number of symtab entries */ 28 char f_opthdr[2]; /* sizeof(optional hdr) */ 29 char f_flags[2]; /* flags */ 30 }; 19 #define L_LNNO_SIZE 2 20 #define INCLUDE_COMDAT_FIELDS_IN_AUXENT 21 #include "coff/external.h" 31 22 32 23 /* Bits for f_flags: 33 * F_RELFLG relocation info stripped from file 34 * F_EXEC file is executable (no unresolved external references) 35 * F_LNNO line numbers stripped from file 36 * F_LSYMS local symbols stripped from file 37 * F_AR32WR file has byte ordering of an AR32WR machine (e.g. vax) 38 */ 24 F_RELFLG relocation info stripped from file 25 F_EXEC file is executable (no unresolved external references) 26 F_LNNO line numbers stripped from file 27 F_LSYMS local symbols stripped from file 28 F_AR32WR file has byte ordering of an AR32WR machine (e.g. vax). */ 39 29 40 30 #define F_RELFLG (0x0001) … … 42 32 #define F_LNNO (0x0004) 43 33 #define F_LSYMS (0x0008) 44 45 46 34 47 35 #define I386MAGIC 0x14c … … 53 41 #define LYNXCOFFMAGIC 0415 54 42 55 #define I386BADMAG(x) ( ((x).f_magic != I386MAGIC) \43 #define I386BADMAG(x) ( ((x).f_magic != I386MAGIC) \ 56 44 && (x).f_magic != I386AIXMAGIC \ 57 45 && (x).f_magic != I386PTXMAGIC \ 58 46 && (x).f_magic != LYNXCOFFMAGIC) 59 60 #define FILHDR struct external_filehdr61 #define FILHSZ 2062 63 64 /********************** AOUT "OPTIONAL HEADER" **********************/65 66 67 typedef struct68 {69 char magic[2]; /* type of file */70 char vstamp[2]; /* version stamp */71 char tsize[4]; /* text size in bytes, padded to FW bdry*/72 char dsize[4]; /* initialized data " " */73 char bsize[4]; /* uninitialized data " " */74 char entry[4]; /* entry pt. */75 char text_start[4]; /* base of text used for this file */76 char data_start[4]; /* base of data used for this file */77 78 79 }80 AOUTHDR;81 82 83 #define AOUTSZ 2884 #define AOUTHDRSZ 2885 47 86 48 #define OMAGIC 0404 /* object files, eg as output */ … … 88 50 #define STMAGIC 0401 /* target shlib */ 89 51 #define SHMAGIC 0443 /* host shlib */ 90 91 52 92 53 /* define some NT default values */ … … 97 58 #define NT_DEF_COMMIT 0x1000 98 59 99 /********************** SECTION HEADER **********************/100 101 102 struct external_scnhdr {103 char s_name[8]; /* section name */104 char s_paddr[4]; /* physical address, aliased s_nlib */105 char s_vaddr[4]; /* virtual address */106 char s_size[4]; /* section size */107 char s_scnptr[4]; /* file ptr to raw data for section */108 char s_relptr[4]; /* file ptr to relocation */109 char s_lnnoptr[4]; /* file ptr to line numbers */110 char s_nreloc[2]; /* number of relocation entries */111 char s_nlnno[2]; /* number of line number entries*/112 char s_flags[4]; /* flags */113 };114 115 #define SCNHDR struct external_scnhdr116 #define SCNHSZ 40117 118 /*119 * names of "special" sections120 */121 #define _TEXT ".text"122 #define _DATA ".data"123 #define _BSS ".bss"124 #define _COMMENT ".comment"125 #define _LIB ".lib"126 127 /********************** LINE NUMBERS **********************/128 129 /* 1 line number entry for every "breakpointable" source line in a section.130 * Line numbers are grouped on a per function basis; first entry in a function131 * grouping will have l_lnno = 0 and in place of physical address will be the132 * symbol table index of the function name.133 */134 struct external_lineno {135 union {136 char l_symndx[4]; /* function name symbol index, iff l_lnno == 0*/137 char l_paddr[4]; /* (physical) address of line number */138 } l_addr;139 char l_lnno[2]; /* line number */140 };141 142 143 #define LINENO struct external_lineno144 #define LINESZ 6145 146 147 /********************** SYMBOLS **********************/148 149 #define E_SYMNMLEN 8 /* # characters in a symbol name */150 #define E_FILNMLEN 14 /* # characters in a file name */151 #define E_DIMNUM 4 /* # array dimensions in auxiliary entry */152 153 struct external_syment154 {155 union {156 char e_name[E_SYMNMLEN];157 struct {158 char e_zeroes[4];159 char e_offset[4];160 } e;161 } e;162 char e_value[4];163 char e_scnum[2];164 char e_type[2];165 char e_sclass[1];166 char e_numaux[1];167 };168 169 #define N_BTMASK (0xf)170 #define N_TMASK (0x30)171 #define N_BTSHFT (4)172 #define N_TSHIFT (2)173 174 union external_auxent {175 struct {176 char x_tagndx[4]; /* str, un, or enum tag indx */177 union {178 struct {179 char x_lnno[2]; /* declaration line number */180 char x_size[2]; /* str/union/array size */181 } x_lnsz;182 char x_fsize[4]; /* size of function */183 } x_misc;184 union {185 struct { /* if ISFCN, tag, or .bb */186 char x_lnnoptr[4]; /* ptr to fcn line # */187 char x_endndx[4]; /* entry ndx past block end */188 } x_fcn;189 struct { /* if ISARY, up to 4 dimen. */190 char x_dimen[E_DIMNUM][2];191 } x_ary;192 } x_fcnary;193 char x_tvndx[2]; /* tv index */194 } x_sym;195 196 union {197 char x_fname[E_FILNMLEN];198 struct {199 char x_zeroes[4];200 char x_offset[4];201 } x_n;202 } x_file;203 204 struct {205 char x_scnlen[4]; /* section length */206 char x_nreloc[2]; /* # relocation entries */207 char x_nlinno[2]; /* # line numbers */208 char x_checksum[4]; /* section COMDAT checksum */209 char x_associated[2]; /* COMDAT associated section index */210 char x_comdat[1]; /* COMDAT selection number */211 } x_scn;212 213 struct {214 char x_tvfill[4]; /* tv fill value */215 char x_tvlen[2]; /* length of .tv */216 char x_tvran[2][2]; /* tv range */217 } x_tv; /* info about .tv section (in auxent of symbol .tv)) */218 219 220 };221 222 #define SYMENT struct external_syment223 #define SYMESZ 18224 #define AUXENT union external_auxent225 #define AUXESZ 18226 227 228 # define _ETEXT "etext"229 230 231 60 /********************** RELOCATION DIRECTIVES **********************/ 232 61 233 234 235 struct external_reloc { 62 struct external_reloc 63 { 236 64 char r_vaddr[4]; 237 65 char r_symndx[4]; … … 239 67 }; 240 68 241 242 69 #define RELOC struct external_reloc 243 70 #define RELSZ 10 -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/i860.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 17 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 18 18 19 /* ********************* FILE HEADER **********************/19 /* This file was hacked from i386.h [dolan@ssd.intel.com] */ 20 20 21 struct external_filehdr { 22 char f_magic[2]; /* magic number */ 23 char f_nscns[2]; /* number of sections */ 24 char f_timdat[4]; /* time & date stamp */ 25 char f_symptr[4]; /* file pointer to symtab */ 26 char f_nsyms[4]; /* number of symtab entries */ 27 char f_opthdr[2]; /* sizeof(optional hdr) */ 28 char f_flags[2]; /* flags */ 29 }; 30 21 #define L_LNNO_SIZE 2 22 #include "coff/external.h" 31 23 32 24 /* Bits for f_flags: 33 * F_RELFLG relocation info stripped from file 34 * F_EXEC file is executable (no unresolved external references) 35 * F_LNNO line numbers stripped from file 36 * F_LSYMS local symbols stripped from file 37 * F_AR32WR file has byte ordering of an AR32WR machine (e.g. vax) 38 */ 25 F_RELFLG relocation info stripped from file 26 F_EXEC file is executable (no unresolved external references) 27 F_LNNO line numbers stripped from file 28 F_LSYMS local symbols stripped from file 29 F_AR32WR file has byte ordering of an AR32WR machine (e.g. vax). */ 39 30 40 31 #define F_RELFLG (0x0001) … … 43 34 #define F_LSYMS (0x0008) 44 35 45 46 47 36 #define I860MAGIC 0x14d 48 37 49 38 #define I860BADMAG(x) ((x).f_magic != I860MAGIC) 50 39 51 #define FILHDR struct external_filehdr52 #define FILHSZ 2053 54 55 /********************** AOUT "OPTIONAL HEADER" **********************/56 57 58 typedef struct59 {60 char magic[2]; /* type of file */61 char vstamp[2]; /* version stamp */62 char tsize[4]; /* text size in bytes, padded to FW bdry*/63 char dsize[4]; /* initialized data " " */64 char bsize[4]; /* uninitialized data " " */65 char entry[4]; /* entry pt. */66 char text_start[4]; /* base of text used for this file */67 char data_start[4]; /* base of data used for this file */68 }69 AOUTHDR;70 71 72 #define AOUTSZ 2873 #define AOUTHDRSZ 2874 75 40 /* FIXME: What are the a.out magic numbers? */ 76 41 77 /********************** SECTION HEADER **********************/ 78 79 80 struct external_scnhdr { 81 char s_name[8]; /* section name */ 82 char s_paddr[4]; /* physical address, aliased s_nlib */ 83 char s_vaddr[4]; /* virtual address */ 84 char s_size[4]; /* section size */ 85 char s_scnptr[4]; /* file ptr to raw data for section */ 86 char s_relptr[4]; /* file ptr to relocation */ 87 char s_lnnoptr[4]; /* file ptr to line numbers */ 88 char s_nreloc[2]; /* number of relocation entries */ 89 char s_nlnno[2]; /* number of line number entries*/ 90 char s_flags[4]; /* flags */ 91 }; 92 93 #define SCNHDR struct external_scnhdr 94 #define SCNHSZ 40 95 96 /* 97 * names of "special" sections 98 */ 99 #define _TEXT ".text" 100 #define _DATA ".data" 101 #define _BSS ".bss" 102 #define _COMMENT ".comment" 103 #define _LIB ".lib" 104 105 /********************** LINE NUMBERS **********************/ 106 107 /* 1 line number entry for every "breakpointable" source line in a section. 108 * Line numbers are grouped on a per function basis; first entry in a function 109 * grouping will have l_lnno = 0 and in place of physical address will be the 110 * symbol table index of the function name. 111 */ 112 struct external_lineno { 113 union { 114 char l_symndx[4]; /* function name symbol index, iff l_lnno == 0*/ 115 char l_paddr[4]; /* (physical) address of line number */ 116 } l_addr; 117 char l_lnno[2]; /* line number */ 118 }; 119 120 121 #define LINENO struct external_lineno 122 #define LINESZ 6 123 124 125 /********************** SYMBOLS **********************/ 126 127 #define E_SYMNMLEN 8 /* # characters in a symbol name */ 128 #define E_FILNMLEN 14 /* # characters in a file name */ 129 #define E_DIMNUM 4 /* # array dimensions in auxiliary entry */ 130 131 struct external_syment 132 { 133 union { 134 char e_name[E_SYMNMLEN]; 135 struct { 136 char e_zeroes[4]; 137 char e_offset[4]; 138 } e; 139 } e; 140 char e_value[4]; 141 char e_scnum[2]; 142 char e_type[2]; 143 char e_sclass[1]; 144 char e_numaux[1]; 145 }; 146 147 #define N_BTMASK (0xf) 148 #define N_TMASK (0x30) 149 #define N_BTSHFT (4) 150 #define N_TSHIFT (2) 151 152 union external_auxent { 153 struct { 154 char x_tagndx[4]; /* str, un, or enum tag indx */ 155 union { 156 struct { 157 char x_lnno[2]; /* declaration line number */ 158 char x_size[2]; /* str/union/array size */ 159 } x_lnsz; 160 char x_fsize[4]; /* size of function */ 161 } x_misc; 162 union { 163 struct { /* if ISFCN, tag, or .bb */ 164 char x_lnnoptr[4]; /* ptr to fcn line # */ 165 char x_endndx[4]; /* entry ndx past block end */ 166 } x_fcn; 167 struct { /* if ISARY, up to 4 dimen. */ 168 char x_dimen[E_DIMNUM][2]; 169 } x_ary; 170 } x_fcnary; 171 char x_tvndx[2]; /* tv index */ 172 } x_sym; 173 174 union { 175 char x_fname[E_FILNMLEN]; 176 struct { 177 char x_zeroes[4]; 178 char x_offset[4]; 179 } x_n; 180 } x_file; 181 182 struct { 183 char x_scnlen[4]; /* section length */ 184 char x_nreloc[2]; /* # relocation entries */ 185 char x_nlinno[2]; /* # line numbers */ 186 } x_scn; 187 188 struct { 189 char x_tvfill[4]; /* tv fill value */ 190 char x_tvlen[2]; /* length of .tv */ 191 char x_tvran[2][2]; /* tv range */ 192 } x_tv; /* info about .tv section (in auxent of symbol .tv)) */ 193 194 195 }; 196 197 #define SYMENT struct external_syment 198 #define SYMESZ 18 199 #define AUXENT union external_auxent 200 #define AUXESZ 18 201 202 203 # define _ETEXT "etext" 204 42 #define _ETEXT "etext" 205 43 206 44 /********************** RELOCATION DIRECTIVES **********************/ 207 45 208 209 210 struct external_reloc { 46 struct external_reloc 47 { 211 48 char r_vaddr[4]; 212 49 char r_symndx[4]; … … 214 51 }; 215 52 216 217 53 #define RELOC struct external_reloc 218 54 #define RELSZ 10 -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/i960.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 21 21 /********************** FILE HEADER **********************/ 22 22 23 struct external_filehdr { 24 char f_magic[2]; /* magic number */ 25 char f_nscns[2]; /* number of sections */ 26 char f_timdat[4]; /* time & date stamp */ 27 char f_symptr[4]; /* file pointer to symtab */ 28 char f_nsyms[4]; /* number of symtab entries */ 29 char f_opthdr[2]; /* sizeof(optional hdr) */ 30 char f_flags[2]; /* flags */ 23 struct external_filehdr 24 { 25 char f_magic[2]; /* magic number */ 26 char f_nscns[2]; /* number of sections */ 27 char f_timdat[4]; /* time & date stamp */ 28 char f_symptr[4]; /* file pointer to symtab */ 29 char f_nsyms[4]; /* number of symtab entries */ 30 char f_opthdr[2]; /* sizeof(optional hdr) */ 31 char f_flags[2]; /* flags */ 31 32 }; 32 33 … … 66 67 /********************** AOUT "OPTIONAL HEADER" **********************/ 67 68 68 typedef struct { 69 unsigned long phys_addr; 70 unsigned long bitarray; 69 typedef struct 70 { 71 unsigned long phys_addr; 72 unsigned long bitarray; 71 73 } TAGBITS; 72 73 74 74 75 75 typedef struct … … 100 100 /********************** SECTION HEADER **********************/ 101 101 102 103 struct external_scnhdr{104 105 106 107 108 109 110 111 112 113 114 102 struct external_scnhdr 103 { 104 char s_name[8]; /* section name */ 105 char s_paddr[4]; /* physical address, aliased s_nlib */ 106 char s_vaddr[4]; /* virtual address */ 107 char s_size[4]; /* section size */ 108 char s_scnptr[4]; /* file ptr to raw data for section */ 109 char s_relptr[4]; /* file ptr to relocation */ 110 char s_lnnoptr[4]; /* file ptr to line numbers */ 111 char s_nreloc[2]; /* number of relocation entries */ 112 char s_nlnno[2]; /* number of line number entries*/ 113 char s_flags[4]; /* flags */ 114 char s_align[4]; /* section alignment */ 115 115 }; 116 116 … … 133 133 * symbol table index of the function name. 134 134 */ 135 struct external_lineno { 136 union { 137 char l_symndx[4]; /* function name symbol index, iff l_lnno == 0*/ 138 char l_paddr[4]; /* (physical) address of line number */ 139 } l_addr; 140 char l_lnno[2]; /* line number */ 141 char padding[2]; /* force alignment */ 135 struct external_lineno 136 { 137 union 138 { 139 char l_symndx[4]; /* function name symbol index, iff l_lnno == 0*/ 140 char l_paddr[4]; /* (physical) address of line number */ 141 } l_addr; 142 143 char l_lnno[2]; /* line number */ 144 char padding[2]; /* force alignment */ 142 145 }; 143 146 … … 145 148 #define LINENO struct external_lineno 146 149 #define LINESZ 8 147 148 150 149 151 /********************** SYMBOLS **********************/ … … 155 157 struct external_syment 156 158 { 157 union { 159 union 160 { 158 161 char e_name[E_SYMNMLEN]; 159 struct { 162 163 struct 164 { 160 165 char e_zeroes[4]; 161 166 char e_offset[4]; 162 167 } e; 163 168 } e; 169 164 170 char e_value[4]; 165 171 char e_scnum[2]; … … 171 177 }; 172 178 173 174 175 176 179 #define N_BTMASK (0x1f) 177 180 #define N_TMASK (0x60) … … 179 182 #define N_TSHIFT (2) 180 183 181 union external_auxent { 182 struct { 183 char x_tagndx[4]; /* str, un, or enum tag indx */ 184 union { 185 struct { 186 char x_lnno[2]; /* declaration line number */ 187 char x_size[2]; /* str/union/array size */ 188 } x_lnsz; 189 char x_fsize[4]; /* size of function */ 190 } x_misc; 191 union { 192 struct { /* if ISFCN, tag, or .bb */ 193 char x_lnnoptr[4]; /* ptr to fcn line # */ 194 char x_endndx[4]; /* entry ndx past block end */ 195 } x_fcn; 196 struct { /* if ISARY, up to 4 dimen. */ 197 char x_dimen[E_DIMNUM][2]; 198 } x_ary; 199 } x_fcnary; 200 char x_tvndx[2]; /* tv index */ 201 } x_sym; 202 203 union { 204 char x_fname[E_FILNMLEN]; 205 struct { 206 char x_zeroes[4]; 207 char x_offset[4]; 208 } x_n; 209 } x_file; 210 211 struct { 212 char x_scnlen[4]; /* section length */ 213 char x_nreloc[2]; /* # relocation entries */ 214 char x_nlinno[2]; /* # line numbers */ 215 } x_scn; 216 217 struct { 218 char x_tvfill[4]; /* tv fill value */ 219 char x_tvlen[2]; /* length of .tv */ 220 char x_tvran[2][2]; /* tv range */ 221 } x_tv; /* info about .tv section (in auxent of symbol .tv)) */ 222 223 /****************************************** 224 * I960-specific *2nd* aux. entry formats 225 ******************************************/ 226 struct { 227 /* This is a very old typo that keeps getting propagated. */ 184 union external_auxent 185 { 186 struct 187 { 188 char x_tagndx[4]; /* str, un, or enum tag indx */ 189 190 union 191 { 192 struct 193 { 194 char x_lnno[2]; /* declaration line number */ 195 char x_size[2]; /* str/union/array size */ 196 } x_lnsz; 197 198 char x_fsize[4]; /* size of function */ 199 200 } x_misc; 201 202 union 203 { 204 struct /* if ISFCN, tag, or .bb */ 205 { 206 char x_lnnoptr[4]; /* ptr to fcn line # */ 207 char x_endndx[4]; /* entry ndx past block end */ 208 } x_fcn; 209 210 struct /* if ISARY, up to 4 dimen. */ 211 { 212 char x_dimen[E_DIMNUM][2]; 213 } x_ary; 214 215 } x_fcnary; 216 217 char x_tvndx[2]; /* tv index */ 218 219 } x_sym; 220 221 union 222 { 223 char x_fname[E_FILNMLEN]; 224 225 struct 226 { 227 char x_zeroes[4]; 228 char x_offset[4]; 229 } x_n; 230 231 } x_file; 232 233 struct 234 { 235 char x_scnlen[4]; /* section length */ 236 char x_nreloc[2]; /* # relocation entries */ 237 char x_nlinno[2]; /* # line numbers */ 238 239 } x_scn; 240 241 struct 242 { 243 char x_tvfill[4]; /* tv fill value */ 244 char x_tvlen[2]; /* length of .tv */ 245 char x_tvran[2][2]; /* tv range */ 246 247 } x_tv; /* info about .tv section (in auxent of symbol .tv)) */ 248 249 /****************************************** 250 * I960-specific *2nd* aux. entry formats 251 ******************************************/ 252 struct 253 { 254 /* This is a very old typo that keeps getting propagated. */ 228 255 #define x_stdindx x_stindx 229 230 231 232 struct { 233 char x_balntry[4]; /* BAL entry point */ 234 } x_bal; /* BAL-callable function*/235 236 struct { 237 char x_timestamp[4]; /* time stamp */ 238 char x_idstring[20]; /* producer identity string */ 239 } x_ident; /* Producer ident info*/240 241 }; 242 243 256 char x_stindx[4]; /* sys. table entry */ 257 } x_sc; /* system call entry */ 258 259 struct 260 { 261 char x_balntry[4]; /* BAL entry point */ 262 } x_bal; /* BAL-callable function */ 263 264 struct 265 { 266 char x_timestamp[4]; /* time stamp */ 267 char x_idstring[20]; /* producer identity string */ 268 269 } x_ident; /* Producer ident info */ 270 }; 244 271 245 272 #define SYMENT struct external_syment … … 252 279 /********************** RELOCATION DIRECTIVES **********************/ 253 280 254 struct external_reloc { 281 struct external_reloc 282 { 255 283 char r_vaddr[4]; 256 284 char r_symndx[4]; -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/ia64.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 17 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 18 18 19 20 /********************** FILE HEADER **********************/ 21 22 struct external_filehdr { 23 char f_magic[2]; /* magic number */ 24 char f_nscns[2]; /* number of sections */ 25 char f_timdat[4]; /* time & date stamp */ 26 char f_symptr[4]; /* file pointer to symtab */ 27 char f_nsyms[4]; /* number of symtab entries */ 28 char f_opthdr[2]; /* sizeof(optional hdr) */ 29 char f_flags[2]; /* flags */ 30 }; 19 #define DO_NOT_DEFINE_AOUTHDR 20 #define L_LNNO_SIZE 2 21 #define INCLUDE_COMDAT_FIELDS_IN_AUXENT 22 #include "coff/external.h" 31 23 32 24 #define IA64MAGIC 0x200 … … 47 39 #define F_LSYMS (0x0008) 48 40 49 50 #define FILHDR struct external_filehdr51 #define FILHSZ 2052 53 54 41 /********************** AOUT "OPTIONAL HEADER" **********************/ 55 56 57 42 typedef struct 58 43 { … … 83 68 #define SHMAGIC 0443 /* host shlib */ 84 69 85 86 70 /* define some NT default values */ 87 71 /* #define NT_IMAGE_BASE 0x400000 moved to internal.h */ … … 91 75 #define NT_DEF_COMMIT 0x1000 92 76 93 /********************** SECTION HEADER **********************/94 95 96 struct external_scnhdr {97 char s_name[8]; /* section name */98 char s_paddr[4]; /* physical address, aliased s_nlib */99 char s_vaddr[4]; /* virtual address */100 char s_size[4]; /* section size */101 char s_scnptr[4]; /* file ptr to raw data for section */102 char s_relptr[4]; /* file ptr to relocation */103 char s_lnnoptr[4]; /* file ptr to line numbers */104 char s_nreloc[2]; /* number of relocation entries */105 char s_nlnno[2]; /* number of line number entries*/106 char s_flags[4]; /* flags */107 };108 109 #define SCNHDR struct external_scnhdr110 #define SCNHSZ 40111 112 /*113 * names of "special" sections114 */115 #define _TEXT ".text"116 #define _DATA ".data"117 #define _BSS ".bss"118 #define _COMMENT ".comment"119 #define _LIB ".lib"120 121 /********************** LINE NUMBERS **********************/122 123 /* 1 line number entry for every "breakpointable" source line in a section.124 * Line numbers are grouped on a per function basis; first entry in a function125 * grouping will have l_lnno = 0 and in place of physical address will be the126 * symbol table index of the function name.127 */128 struct external_lineno {129 union {130 char l_symndx[4]; /* function name symbol index, iff l_lnno == 0*/131 char l_paddr[4]; /* (physical) address of line number */132 } l_addr;133 char l_lnno[2]; /* line number */134 };135 136 137 #define LINENO struct external_lineno138 #define LINESZ 6139 140 141 /********************** SYMBOLS **********************/142 143 #define E_SYMNMLEN 8 /* # characters in a symbol name */144 #define E_FILNMLEN 14 /* # characters in a file name */145 #define E_DIMNUM 4 /* # array dimensions in auxiliary entry */146 147 struct external_syment148 {149 union {150 char e_name[E_SYMNMLEN];151 struct {152 char e_zeroes[4];153 char e_offset[4];154 } e;155 } e;156 char e_value[4];157 char e_scnum[2];158 char e_type[2];159 char e_sclass[1];160 char e_numaux[1];161 };162 163 #define N_BTMASK (0xf)164 #define N_TMASK (0x30)165 #define N_BTSHFT (4)166 #define N_TSHIFT (2)167 168 union external_auxent {169 struct {170 char x_tagndx[4]; /* str, un, or enum tag indx */171 union {172 struct {173 char x_lnno[2]; /* declaration line number */174 char x_size[2]; /* str/union/array size */175 } x_lnsz;176 char x_fsize[4]; /* size of function */177 } x_misc;178 union {179 struct { /* if ISFCN, tag, or .bb */180 char x_lnnoptr[4]; /* ptr to fcn line # */181 char x_endndx[4]; /* entry ndx past block end */182 } x_fcn;183 struct { /* if ISARY, up to 4 dimen. */184 char x_dimen[E_DIMNUM][2];185 } x_ary;186 } x_fcnary;187 char x_tvndx[2]; /* tv index */188 } x_sym;189 190 union {191 char x_fname[E_FILNMLEN];192 struct {193 char x_zeroes[4];194 char x_offset[4];195 } x_n;196 } x_file;197 198 struct {199 char x_scnlen[4]; /* section length */200 char x_nreloc[2]; /* # relocation entries */201 char x_nlinno[2]; /* # line numbers */202 char x_checksum[4]; /* section COMDAT checksum */203 char x_associated[2]; /* COMDAT associated section index */204 char x_comdat[1]; /* COMDAT selection number */205 } x_scn;206 207 struct {208 char x_tvfill[4]; /* tv fill value */209 char x_tvlen[2]; /* length of .tv */210 char x_tvran[2][2]; /* tv range */211 } x_tv; /* info about .tv section (in auxent of symbol .tv)) */212 213 214 };215 216 #define SYMENT struct external_syment217 #define SYMESZ 18218 #define AUXENT union external_auxent219 #define AUXESZ 18220 221 222 # define _ETEXT "etext"223 224 225 77 /********************** RELOCATION DIRECTIVES **********************/ 226 78 227 228 229 struct external_reloc { 79 struct external_reloc 80 { 230 81 char r_vaddr[4]; 231 82 char r_symndx[4]; … … 233 84 }; 234 85 235 236 86 #define RELOC struct external_reloc 237 87 #define RELSZ 10 -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/internal.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 62 62 struct internal_extra_pe_filehdr pe; 63 63 64 /* standard coff internal info*/64 /* Standard coff internal info. */ 65 65 unsigned short f_magic; /* magic number */ 66 66 unsigned short f_nscns; /* number of sections */ … … 75 75 76 76 /* Bits for f_flags: 77 * F_RELFLG relocation info stripped from file 78 * F_EXEC file is executable (no unresolved external references) 79 * F_LNNO line numbers stripped from file 80 * F_LSYMS local symbols stripped from file 81 * F_AR16WR file is 16-bit little-endian 82 * F_AR32WR file is 32-bit little-endian 83 * F_AR32W file is 32-bit big-endian 84 * F_DYNLOAD rs/6000 aix: dynamically loadable w/imports & exports 85 * F_SHROBJ rs/6000 aix: file is a shared object 86 * F_DLL PE format DLL 87 */ 77 F_RELFLG relocation info stripped from file 78 F_EXEC file is executable (no unresolved external references) 79 F_LNNO line numbers stripped from file 80 F_LSYMS local symbols stripped from file 81 F_AR16WR file is 16-bit little-endian 82 F_AR32WR file is 32-bit little-endian 83 F_AR32W file is 32-bit big-endian 84 F_DYNLOAD rs/6000 aix: dynamically loadable w/imports & exports 85 F_SHROBJ rs/6000 aix: file is a shared object 86 F_DLL PE format DLL. */ 88 87 89 88 #define F_RELFLG (0x0001) … … 98 97 #define F_DLL (0x2000) 99 98 100 /* extra structure which is used in the optional header*/99 /* Extra structure which is used in the optional header. */ 101 100 typedef struct _IMAGE_DATA_DIRECTORY 102 101 { … … 175 174 176 175 /* RS/6000 stuff */ 177 unsigned longo_toc; /* address of TOC */176 bfd_vma o_toc; /* address of TOC */ 178 177 short o_snentry; /* section number for entry point */ 179 178 short o_sntext; /* section number for text */ … … 186 185 short o_modtype; /* Module type field, 1R,RE,RO */ 187 186 short o_cputype; /* Encoded CPU type */ 188 unsigned longo_maxstack; /* max stack size allowed. */189 unsigned longo_maxdata; /* max data size allowed. */187 bfd_vma o_maxstack; /* max stack size allowed. */ 188 bfd_vma o_maxdata; /* max data size allowed. */ 190 189 191 190 /* ECOFF stuff */ … … 201 200 long vid[2]; /* Version id */ 202 201 203 204 202 struct internal_extra_pe_aouthdr pe; 205 206 203 }; 207 204 … … 323 320 }; 324 321 325 /* 326 * s_flags "type" 327 */ 322 /* s_flags "type". */ 328 323 #define STYP_REG (0x0000) /* "regular": allocated, relocated, loaded */ 329 324 #define STYP_DSECT (0x0001) /* "dummy": relocated only*/ … … 344 339 #define STYP_LIB (0x0800) /* for .lib: same as INFO */ 345 340 #define STYP_MERGE (0x2000) /* merge section -- combines with text, data or bss sections only */ 346 #define STYP_REVERSE_PAD (0x4000) /* section will be padded with no-op instructions wherever padding is necessary and there is a347 348 word of contiguous bytes349 beginning on a wordboundary. */341 #define STYP_REVERSE_PAD (0x4000) /* section will be padded with no-op instructions 342 wherever padding is necessary and there is a 343 word of contiguous bytes beginning on a word 344 boundary. */ 350 345 351 346 #define STYP_LIT 0x8020 /* Literal data (like STYP_TEXT) */ 352 347 353 348 354 355 349 /********************** LINE NUMBERS **********************/ 356 350 357 351 /* 1 line number entry for every "breakpointable" source line in a section. 358 * Line numbers are grouped on a per function basis; first entry in a function 359 * grouping will have l_lnno = 0 and in place of physical address will be the 360 * symbol table index of the function name. 361 */ 352 Line numbers are grouped on a per function basis; first entry in a function 353 grouping will have l_lnno = 0 and in place of physical address will be the 354 symbol table index of the function name. */ 362 355 363 356 struct internal_lineno … … 365 358 union 366 359 { 367 longl_symndx; /* function name symbol index, iff l_lnno == 0*/368 longl_paddr; /* (physical) address of line number */360 bfd_signed_vma l_symndx; /* function name symbol index, iff l_lnno == 0*/ 361 bfd_signed_vma l_paddr; /* (physical) address of line number */ 369 362 } l_addr; 370 363 unsigned long l_lnno; /* line number */ … … 389 382 char *_n_nptr[2]; /* allows for overlaying */ 390 383 } _n; 391 longn_value; /* value of symbol */384 bfd_vma n_value; /* value of symbol */ 392 385 short n_scnum; /* section number */ 393 386 unsigned short n_flags; /* copy of flags from filhdr */ … … 401 394 #define n_offset _n._n_n._n_offset 402 395 403 404 396 /* Relocatable symbols have number of the section in which they are defined, 405 or one of the following: */397 or one of the following: */ 406 398 407 399 #define N_UNDEF ((short)0) /* undefined symbol */ … … 411 403 #define P_TV ((short)-4) /* indicates symbol needs postload transfer vector*/ 412 404 413 /* 414 * Type of a symbol, in low N bits of the word 415 */ 405 /* Type of a symbol, in low N bits of the word. */ 406 416 407 #define T_NULL 0 417 408 #define T_VOID 1 /* function argument (only used by compiler) */ … … 432 423 #define T_LNGDBL 16 /* long double */ 433 424 434 /* 435 * derived types, in n_type 436 */ 425 /* Derived types, in n_type. */ 426 437 427 #define DT_NON (0) /* no derived type */ 438 428 #define DT_PTR (1) /* pointer */ … … 479 469 struct 480 470 { /* if ISFCN, tag, or .bb */ 481 longx_lnnoptr; /* ptr to fcn line # */471 bfd_signed_vma x_lnnoptr; /* ptr to fcn line # */ 482 472 union 483 473 { /* entry ndx past block end */ … … 530 520 union 531 521 { /* csect length or enclosing csect */ 532 longl;522 bfd_signed_vma l; 533 523 struct coff_ptr_struct *p; 534 524 } x_scnlen; … … 611 601 612 602 #define R_DIR16 1 603 #define R_REL24 5 613 604 #define R_DIR32 6 614 605 #define R_IMAGEBASE 7 … … 619 610 #define R_PCRWORD 19 620 611 #define R_PCRLONG 20 612 #define R_PCR24 21 621 613 #define R_IPRSHORT 24 622 614 #define R_IPRLONG 26 … … 625 617 #define R_TAGWORD 31 626 618 #define R_JUMPTARG 32 /* strange 29k 00xx00xx reloc */ 619 #define R_PARTLS16 32 620 #define R_PARTMS8 33 627 621 628 622 #define R_PCR16L 128 … … 650 644 651 645 /* This reloc identifies a bra with an 8-bit pc-relative 652 target that was formerl ly a jmp insn with a 16bit target. */646 target that was formerly a jmp insn with a 16bit target. */ 653 647 #define R_JMP2 0x44 654 648 … … 662 656 663 657 /* This reloc identifies a bra with an 8-bit pc-relative 664 target that was formerl ly a jmp insn with a 24bit target. */658 target that was formerly a jmp insn with a 24bit target. */ 665 659 #define R_JMPL2 0x47 666 660 … … 690 684 #define R_MOVL1 0x4c 691 685 692 /* This reloc identifies mov.[wl] insns which formerl ly had686 /* This reloc identifies mov.[wl] insns which formerly had 693 687 a 32/24bit absolute address and now have a 16bit absolute address. */ 694 688 #define R_MOVL2 0x4d -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/m68k.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 20 20 #define GNU_COFF_M68K_H 1 21 21 22 /********************** FILE HEADER **********************/ 23 24 struct external_filehdr { 25 char f_magic[2]; /* magic number */ 26 char f_nscns[2]; /* number of sections */ 27 char f_timdat[4]; /* time & date stamp */ 28 char f_symptr[4]; /* file pointer to symtab */ 29 char f_nsyms[4]; /* number of symtab entries */ 30 char f_opthdr[2]; /* sizeof(optional hdr) */ 31 char f_flags[2]; /* flags */ 32 }; 33 22 #define L_LNNO_SIZE 2 23 #include "coff/external.h" 34 24 35 25 /* Motorola 68000/68008/68010/68020 */ … … 42 32 #define M68TVMAGIC 0211 43 33 44 /* this is the magic of the Bull dpx/2 */34 /* This is the magic of the Bull dpx/2 */ 45 35 #define MC68KBCSMAGIC 0526 46 36 … … 53 43 /* This intentionally does not include MC68KBCSMAGIC; it only includes 54 44 magic numbers which imply that names do not have underscores. */ 55 #define M68KBADMAG(x) (((x).f_magic!=MC68MAGIC) && ((x).f_magic!=MC68KWRMAGIC) && ((x).f_magic!=MC68TVMAGIC) && \ 56 ((x).f_magic!=MC68KROMAGIC) && ((x).f_magic!=MC68KPGMAGIC) && ((x).f_magic!=M68MAGIC) && ((x).f_magic!=M68TVMAGIC) && ((x).f_magic!=LYNXCOFFMAGIC) ) 45 #define M68KBADMAG(x) (((x).f_magic != MC68MAGIC) \ 46 && ((x).f_magic != MC68KWRMAGIC) \ 47 && ((x).f_magic != MC68TVMAGIC) \ 48 && ((x).f_magic != MC68KROMAGIC) \ 49 && ((x).f_magic != MC68KPGMAGIC) \ 50 && ((x).f_magic != M68MAGIC) \ 51 && ((x).f_magic != M68TVMAGIC) \ 52 && ((x).f_magic != LYNXCOFFMAGIC)) 57 53 58 54 /* Magic numbers for the a.out header. */ … … 63 59 #define PAGEMAGICPEXECPAGED 0413 /* pure executable (paged) */ 64 60 65 #define FILHDR struct external_filehdr66 #define FILHSZ 2067 68 69 /********************** AOUT "OPTIONAL HEADER" **********************/70 71 72 typedef struct73 {74 char magic[2]; /* type of file */75 char vstamp[2]; /* version stamp */76 char tsize[4]; /* text size in bytes, padded to FW bdry*/77 char dsize[4]; /* initialized data " " */78 char bsize[4]; /* uninitialized data " " */79 char entry[4]; /* entry pt. */80 char text_start[4]; /* base of text used for this file */81 char data_start[4]; /* base of data used for this file */82 }83 AOUTHDR;84 85 #define AOUTSZ 2886 #define AOUTHDRSZ 2887 88 89 /********************** SECTION HEADER **********************/90 91 92 struct external_scnhdr {93 char s_name[8]; /* section name */94 char s_paddr[4]; /* physical address, aliased s_nlib */95 char s_vaddr[4]; /* virtual address */96 char s_size[4]; /* section size */97 char s_scnptr[4]; /* file ptr to raw data for section */98 char s_relptr[4]; /* file ptr to relocation */99 char s_lnnoptr[4]; /* file ptr to line numbers */100 char s_nreloc[2]; /* number of relocation entries */101 char s_nlnno[2]; /* number of line number entries*/102 char s_flags[4]; /* flags */103 };104 105 /*106 * names of "special" sections107 */108 #define _TEXT ".text"109 #define _DATA ".data"110 #define _BSS ".bss"111 #define _COMMENT ".comment"112 113 #define SCNHDR struct external_scnhdr114 #define SCNHSZ 40115 116 117 /********************** LINE NUMBERS **********************/118 119 /* 1 line number entry for every "breakpointable" source line in a section.120 * Line numbers are grouped on a per function basis; first entry in a function121 * grouping will have l_lnno = 0 and in place of physical address will be the122 * symbol table index of the function name.123 */124 struct external_lineno {125 union {126 char l_symndx[4]; /* function name symbol index, iff l_lnno == 0*/127 char l_paddr[4]; /* (physical) address of line number */128 } l_addr;129 char l_lnno[2]; /* line number */130 };131 132 133 #define LINENO struct external_lineno134 #define LINESZ 6135 136 137 /********************** SYMBOLS **********************/138 139 #define E_SYMNMLEN 8 /* # characters in a symbol name */140 #define E_FILNMLEN 14 /* # characters in a file name */141 #define E_DIMNUM 4 /* # array dimensions in auxiliary entry */142 143 struct external_syment144 {145 union {146 char e_name[E_SYMNMLEN];147 struct {148 char e_zeroes[4];149 char e_offset[4];150 } e;151 } e;152 char e_value[4];153 char e_scnum[2];154 char e_type[2];155 char e_sclass[1];156 char e_numaux[1];157 };158 159 160 161 #define N_BTMASK (017)162 #define N_TMASK (060)163 #define N_BTSHFT (4)164 #define N_TSHIFT (2)165 166 167 union external_auxent {168 struct {169 char x_tagndx[4]; /* str, un, or enum tag indx */170 union {171 struct {172 char x_lnno[2]; /* declaration line number */173 char x_size[2]; /* str/union/array size */174 } x_lnsz;175 char x_fsize[4]; /* size of function */176 } x_misc;177 union {178 struct { /* if ISFCN, tag, or .bb */179 char x_lnnoptr[4]; /* ptr to fcn line # */180 char x_endndx[4]; /* entry ndx past block end */181 } x_fcn;182 struct { /* if ISARY, up to 4 dimen. */183 char x_dimen[E_DIMNUM][2];184 } x_ary;185 } x_fcnary;186 char x_tvndx[2]; /* tv index */187 } x_sym;188 189 union {190 char x_fname[E_FILNMLEN];191 struct {192 char x_zeroes[4];193 char x_offset[4];194 } x_n;195 } x_file;196 197 struct {198 char x_scnlen[4]; /* section length */199 char x_nreloc[2]; /* # relocation entries */200 char x_nlinno[2]; /* # line numbers */201 } x_scn;202 203 struct {204 char x_tvfill[4]; /* tv fill value */205 char x_tvlen[2]; /* length of .tv */206 char x_tvran[2][2]; /* tv range */207 } x_tv; /* info about .tv section (in auxent of symbol .tv)) */208 209 210 };211 212 #define SYMENT struct external_syment213 #define SYMESZ 18214 #define AUXENT union external_auxent215 #define AUXESZ 18216 217 218 219 61 /********************** RELOCATION DIRECTIVES **********************/ 220 62 221 222 struct external_reloc{63 struct external_reloc 64 { 223 65 char r_vaddr[4]; 224 66 char r_symndx[4]; … … 227 69 char r_offset[4]; 228 70 #endif 229 230 71 }; 231 232 72 233 73 #define RELOC struct external_reloc -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/m88k.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 17 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 18 18 19 /********************** FILE HEADER **********************/ 20 struct external_filehdr { 21 char f_magic[2]; /* magic number */ 22 char f_nscns[2]; /* number of sections */ 23 char f_timdat[4]; /* time & date stamp */ 24 char f_symptr[4]; /* file pointer to symtab */ 25 char f_nsyms[4]; /* number of symtab entries */ 26 char f_opthdr[2]; /* sizeof(optional hdr) */ 27 char f_flags[2]; /* flags */ 28 }; 19 #define DO_NOT_DEFINE_SCNHDR 20 #define L_LNNO_SIZE 4 21 #define DO_NOT_DEFINE_SYMENT 22 #define DO_NOT_DEFINE_AUXENT 23 #include "coff/external.h" 29 24 30 25 #define MC88MAGIC 0540 /* 88k BCS executable */ … … 32 27 #define MC88OMAGIC 0555 /* Object file */ 33 28 34 #define MC88BADMAG(x) (((x).f_magic!=MC88MAGIC) &&((x).f_magic!=MC88DMAGIC) && ((x).f_magic != MC88OMAGIC)) 29 #define MC88BADMAG(x) (((x).f_magic != MC88MAGIC) \ 30 && ((x).f_magic != MC88DMAGIC) \ 31 && ((x).f_magic != MC88OMAGIC)) 35 32 36 #define FILHDR struct external_filehdr 37 #define FILHSZ 20 38 39 40 /********************** AOUT "OPTIONAL HEADER" **********************/ 41 42 43 #define PAGEMAGIC3 0414 /* Split i&d, zero mapped */ 33 #define PAGEMAGIC3 0414 /* Split i&d, zero mapped */ 44 34 #define PAGEMAGICBCS 0413 45 35 46 47 typedef struct48 {49 char magic[2]; /* type of file */50 char vstamp[2]; /* version stamp */51 char tsize[4]; /* text size in bytes, padded to FW bdry*/52 char dsize[4]; /* initialized data " " */53 char bsize[4]; /* uninitialized data " " */54 char entry[4]; /* entry pt. */55 char text_start[4]; /* base of text used for this file */56 char data_start[4]; /* base of data used for this file */57 }58 AOUTHDR;59 60 61 /* compute size of a header */62 63 #define AOUTSZ 2864 #define AOUTHDRSZ 2865 66 67 36 /********************** SECTION HEADER **********************/ 68 69 37 70 38 struct external_scnhdr … … 82 50 }; 83 51 84 85 52 #define SCNHDR struct external_scnhdr 86 53 #define SCNHSZ 44 87 54 88 /* 89 * names of "special" sections 90 */ 55 /* Names of "special" sections. */ 91 56 #define _TEXT ".text" 92 57 #define _DATA ".data" 93 58 #define _BSS ".bss" 94 59 #define _COMMENT ".comment" 95 96 /********************** LINE NUMBERS **********************/97 98 /* 1 line number entry for every "breakpointable" source line in a section.99 * Line numbers are grouped on a per function basis; first entry in a function100 * grouping will have l_lnno = 0 and in place of physical address will be the101 * symbol table index of the function name.102 */103 struct external_lineno{104 union {105 char l_symndx[4]; /* function name symbol index, iff l_lnno == 0*/106 char l_paddr[4]; /* (physical) address of line number */107 } l_addr;108 109 char l_lnno[4];110 111 };112 113 #define LINENO struct external_lineno114 #define LINESZ 8115 60 116 61 … … 123 68 struct external_syment 124 69 { 125 union { 70 union 71 { 126 72 char e_name[E_SYMNMLEN]; 127 struct { 73 74 struct 75 { 128 76 char e_zeroes[4]; 129 77 char e_offset[4]; 130 78 } e; 79 131 80 } e; 81 132 82 char e_value[4]; 133 83 char e_scnum[2]; … … 138 88 }; 139 89 140 141 142 143 90 #define N_BTMASK 017 144 91 #define N_TMASK 060 … … 146 93 #define N_TSHIFT 2 147 94 148 149 95 /* Note that this isn't the same shape as other coffs */ 150 union external_auxent { 151 struct { 96 union external_auxent 97 { 98 struct 99 { 152 100 char x_tagndx[4]; /* str, un, or enum tag indx */ 153 101 /* 4 */ 154 union { 102 103 union 104 { 155 105 char x_fsize[4]; /* size of function */ 156 struct { 106 107 struct 108 { 157 109 char x_lnno[4]; /* declaration line number */ 158 110 char x_size[4]; /* str/union/array size */ 159 111 } x_lnsz; 112 160 113 } x_misc; 161 114 162 115 /* 12 */ 163 union { 164 struct { /* if ISFCN, tag, or .bb */ 116 union 117 { 118 struct /* if ISFCN, tag, or .bb */ 119 { 165 120 char x_lnnoptr[4]; /* ptr to fcn line # */ 166 121 char x_endndx[4]; /* entry ndx past block end */ 167 122 } x_fcn; 168 struct { /* if ISARY, up to 4 dimen. */ 123 124 struct /* if ISARY, up to 4 dimen. */ 125 { 169 126 char x_dimen[E_DIMNUM][2]; 170 127 } x_ary; 128 171 129 } x_fcnary; 172 130 /* 20 */ … … 174 132 } x_sym; 175 133 176 union { 134 union 135 { 177 136 char x_fname[E_FILNMLEN]; 178 struct { 137 138 struct 139 { 179 140 char x_zeroes[4]; 180 141 char x_offset[4]; 181 142 } x_n; 143 182 144 } x_file; 183 145 184 struct { 146 struct 147 { 185 148 char x_scnlen[4]; /* section length */ 186 149 char x_nreloc[4]; /* # relocation entries */ … … 188 151 } x_scn; 189 152 190 struct { 153 struct 154 { 191 155 char x_tvfill[4]; /* tv fill value */ 192 156 char x_tvlen[2]; /* length of .tv */ 193 157 char x_tvran[2][2]; /* tv range */ 194 158 } x_tv; /* info about .tv section (in auxent of symbol .tv)) */ 195 196 159 }; 197 160 198 #define GET_FCN_LNNOPTR(abfd, ext) bfd_h_get_32(abfd, (bfd_byte *)ext->x_sym.x_fcnary.x_fcn.x_lnnoptr) 199 #define GET_FCN_ENDNDX(abfd, ext) bfd_h_get_32(abfd, (bfd_byte *) ext->x_sym.x_fcnary.x_fcn.x_endndx) 200 #define PUT_FCN_LNNOPTR(abfd, in, ext) bfd_h_put_32(abfd, in, (bfd_byte *) ext->x_sym.x_fcnary.x_fcn.x_lnnoptr) 201 #define PUT_FCN_ENDNDX(abfd, in, ext) bfd_h_put_32(abfd, in, (bfd_byte *) ext->x_sym.x_fcnary.x_fcn.x_endndx) 202 #define GET_LNSZ_SIZE(abfd, ext) bfd_h_get_32(abfd, (bfd_byte *) ext->x_sym.x_misc.x_lnsz.x_size) 203 #define GET_LNSZ_LNNO(abfd, ext) bfd_h_get_32(abfd, (bfd_byte *) ext->x_sym.x_misc.x_lnsz.x_lnno) 204 #define PUT_LNSZ_LNNO(abfd, in, ext) bfd_h_put_32(abfd, in, (bfd_byte *) ext->x_sym.x_misc.x_lnsz.x_lnno) 205 #define PUT_LNSZ_SIZE(abfd, in, ext) bfd_h_put_32(abfd, in, (bfd_byte *) ext->x_sym.x_misc.x_lnsz.x_size) 206 #define GET_SCN_SCNLEN(abfd, ext) bfd_h_get_32(abfd, (bfd_byte *) ext->x_scn.x_scnlen) 207 #define GET_SCN_NRELOC(abfd, ext) bfd_h_get_32(abfd, (bfd_byte *) ext->x_scn.x_nreloc) 208 #define GET_SCN_NLINNO(abfd, ext) bfd_h_get_32(abfd, (bfd_byte *) ext->x_scn.x_nlinno) 209 #define PUT_SCN_SCNLEN(abfd,in, ext) bfd_h_put_32(abfd, in, (bfd_byte *) ext->x_scn.x_scnlen) 210 #define PUT_SCN_NRELOC(abfd,in, ext) bfd_h_put_32(abfd, in, (bfd_byte *)ext->x_scn.x_nreloc) 211 #define PUT_SCN_NLINNO(abfd,in, ext) bfd_h_put_32(abfd,in, (bfd_byte *) ext->x_scn.x_nlinno) 212 #define GET_LINENO_LNNO(abfd, ext) bfd_h_get_32(abfd, (bfd_byte *) (ext->l_lnno)) 213 #define PUT_LINENO_LNNO(abfd,val, ext) bfd_h_put_32(abfd,val, (bfd_byte *) (ext->l_lnno)); 214 215 161 #define GET_LNSZ_SIZE(abfd, ext) \ 162 H_GET_32 (abfd, ext->x_sym.x_misc.x_lnsz.x_size) 163 #define GET_LNSZ_LNNO(abfd, ext) \ 164 H_GET_32 (abfd, ext->x_sym.x_misc.x_lnsz.x_lnno) 165 #define PUT_LNSZ_LNNO(abfd, in, ext) \ 166 H_PUT_32 (abfd, in, ext->x_sym.x_misc.x_lnsz.x_lnno) 167 #define PUT_LNSZ_SIZE(abfd, in, ext) \ 168 H_PUT_32 (abfd, in, ext->x_sym.x_misc.x_lnsz.x_size) 169 #define GET_SCN_NRELOC(abfd, ext) \ 170 H_GET_32 (abfd, ext->x_scn.x_nreloc) 171 #define GET_SCN_NLINNO(abfd, ext) \ 172 H_GET_32 (abfd, ext->x_scn.x_nlinno) 173 #define PUT_SCN_NRELOC(abfd, in, ext) \ 174 H_PUT_32 (abfd, in, ext->x_scn.x_nreloc) 175 #define PUT_SCN_NLINNO(abfd, in, ext) \ 176 H_PUT_32 (abfd,in, ext->x_scn.x_nlinno) 216 177 217 178 #define SYMENT struct external_syment … … 220 181 #define AUXESZ 20 221 182 222 223 183 /********************** RELOCATION DIRECTIVES **********************/ 224 184 225 struct external_reloc { 185 struct external_reloc 186 { 226 187 char r_vaddr[4]; 227 188 char r_symndx[4]; -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/mcore.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 23 23 #define _COFF_MORE_H 24 24 25 #define INCLUDE_COMDAT_FIELDS_IN_AUXENT 26 #define L_LNNO_SIZE 2 27 #include "coff/external.h" 28 29 #define MCOREMAGIC 0xb00 /* I just made this up */ 30 31 #define MCOREBADMAG(x) (((x).f_magic != MCOREMAGIC)) 25 32 26 33 #define E_DIMNUM 4 /* # array dimensions in auxiliary entry */ … … 37 44 #define PEMCORE 38 45 39 typedef struct40 {41 char magic [2]; /* type of file */42 char vstamp [2]; /* version stamp */43 char tsize [4]; /* text size in bytes, padded to FW bdry*/44 char dsize [4]; /* initialized data " " */45 char bsize [4]; /* uninitialized data " " */46 char entry [4]; /* entry pt. */47 char text_start [4]; /* base of text used for this file */48 char data_start [4]; /* base of data used for this file */49 }50 AOUTHDR;51 52 #define AOUTSZ 2853 #define AOUTHDRSZ 2854 55 46 #define OMAGIC 0404 /* object files, eg as output */ 56 47 #define ZMAGIC 0413 /* demand load format, eg normal ld output */ … … 61 52 #define IMAGE_NT_OPTIONAL_HDR_MAGIC 0x10b 62 53 63 64 54 /* Define some NT default values. */ 65 55 #define NT_SECTION_ALIGNMENT 0x1000 … … 67 57 #define NT_DEF_RESERVE 0x100000 68 58 #define NT_DEF_COMMIT 0x1000 69 70 59 71 60 struct external_reloc … … 80 69 #define RELSZ 14 81 70 82 #define MCOREMAGIC 0xb00 /* I just made this up */83 84 #define MCOREBADMAG(x) (((x).f_magic!= MCOREMAGIC))85 86 struct external_filehdr87 {88 char f_magic [2]; /* magic number */89 char f_nscns [2]; /* number of sections */90 char f_timdat [4]; /* time & date stamp */91 char f_symptr [4]; /* file pointer to symtab */92 char f_nsyms [4]; /* number of symtab entries */93 char f_opthdr [2]; /* sizeof(optional hdr) */94 char f_flags [2]; /* flags */95 };96 97 #define FILHDR struct external_filehdr98 #define FILHSZ 2099 100 101 #define E_SYMNMLEN 8 /* # characters in a symbol name */102 #define E_FILNMLEN 14 /* # characters in a file name */103 #define E_DIMNUM 4 /* # array dimensions in auxiliary entry */104 105 struct external_syment106 {107 union108 {109 char e_name [E_SYMNMLEN];110 struct111 {112 char e_zeroes [4];113 char e_offset [4];114 } e;115 } e;116 117 char e_value [4];118 char e_scnum [2];119 char e_type [2];120 char e_sclass [1];121 char e_numaux [1];122 };123 124 #define N_BTMASK 0xf125 #define N_TMASK 0x30126 #define N_BTSHFT 4127 #define N_TSHIFT 2128 129 union external_auxent130 {131 struct132 {133 char x_tagndx [4]; /* str, un, or enum tag indx */134 135 union136 {137 struct138 {139 char x_lnno [2]; /* declaration line number */140 char x_size [2]; /* str/union/array size */141 } x_lnsz;142 143 char x_fsize [4]; /* size of function */144 145 } x_misc;146 147 union148 {149 struct /* if ISFCN, tag, or .bb */150 {151 char x_lnnoptr [4]; /* ptr to fcn line # */152 char x_endndx [4]; /* entry ndx past block end */153 } x_fcn;154 155 struct /* if ISARY, up to 4 dimen. */156 {157 char x_dimen [E_DIMNUM][2];158 } x_ary;159 160 } x_fcnary;161 162 char x_tvndx [2]; /* tv index */163 164 } x_sym;165 166 union167 {168 char x_fname [E_FILNMLEN];169 170 struct171 {172 char x_zeroes [4];173 char x_offset [4];174 } x_n;175 176 } x_file;177 178 struct179 {180 char x_scnlen [4]; /* section length */181 char x_nreloc [2]; /* # relocation entries */182 char x_nlinno [2]; /* # line numbers */183 char x_checksum [4]; /* section COMDAT checksum */184 char x_associated [2]; /* COMDAT associated section index */185 char x_comdat [1]; /* COMDAT selection number */186 } x_scn;187 188 struct189 {190 char x_tvfill [4]; /* tv fill value */191 char x_tvlen [2]; /* length of .tv */192 char x_tvran [2][2]; /* tv range */193 } x_tv; /* info about .tv section (in auxent of symbol .tv)) */194 };195 196 #define SYMENT struct external_syment197 #define SYMESZ 18198 #define AUXENT union external_auxent199 #define AUXESZ 18200 201 /* 1 line number entry for every "breakpointable" source line in a section.202 Line numbers are grouped on a per function basis; first entry in a function203 grouping will have l_lnno = 0 and in place of physical address will be the204 symbol table index of the function name. */205 struct external_lineno206 {207 union208 {209 char l_symndx [4]; /* function name symbol index, iff l_lnno == 0*/210 char l_paddr [4]; /* (physical) address of line number */211 } l_addr;212 213 char l_lnno [2]; /* line number */214 };215 216 #define LINENO struct external_lineno217 #define LINESZ 6218 219 #define GET_LINENO_LNNO(abfd, ext) bfd_h_get_32 (abfd, (bfd_byte *) (ext->l_lnno));220 #define PUT_LINENO_LNNO(abfd,val, ext) bfd_h_put_32 (abfd, val, (bfd_byte *) (ext->l_lnno));221 222 struct external_scnhdr223 {224 char s_name [8]; /* section name */225 char s_paddr [4]; /* physical address, aliased s_nlib */226 char s_vaddr [4]; /* virtual address */227 char s_size [4]; /* section size */228 char s_scnptr [4]; /* file ptr to raw data for section */229 char s_relptr [4]; /* file ptr to relocation */230 char s_lnnoptr [4]; /* file ptr to line numbers */231 char s_nreloc [2]; /* number of relocation entries */232 char s_nlnno [2]; /* number of line number entries*/233 char s_flags [4]; /* flags */234 };235 236 #define SCNHDR struct external_scnhdr237 #define SCNHSZ 40238 239 /* Names of "special" sections. */240 #define _TEXT ".text"241 #define _DATA ".data"242 #define _BSS ".bss"243 244 245 246 71 #endif /* __COFF_MCORE_H */ -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/mips.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 18 18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 19 19 20 /********************** FILE HEADER **********************/ 21 22 struct external_filehdr { 23 unsigned char f_magic[2]; /* magic number */ 24 unsigned char f_nscns[2]; /* number of sections */ 25 unsigned char f_timdat[4]; /* time & date stamp */ 26 unsigned char f_symptr[4]; /* file pointer to symtab */ 27 unsigned char f_nsyms[4]; /* number of symtab entries */ 28 unsigned char f_opthdr[2]; /* sizeof(optional hdr) */ 29 unsigned char f_flags[2]; /* flags */ 30 }; 20 #define DO_NOT_DEFINE_AOUTHDR 21 #define L_LNNO_SIZE 4 22 #include "coff/external.h" 31 23 32 24 /* Magic numbers are defined in coff/ecoff.h. */ … … 39 31 ((x).f_magic!=MIPS_MAGIC_BIG3)) 40 32 41 #define FILHDR struct external_filehdr42 #define FILHSZ 2043 33 44 34 /********************** AOUT "OPTIONAL HEADER" **********************/ 45 46 35 47 36 typedef struct external_aouthdr … … 66 55 #define AOUTHDRSZ 56 67 56 68 /********************** SECTION HEADER **********************/69 70 struct external_scnhdr {71 unsigned char s_name[8]; /* section name */72 unsigned char s_paddr[4]; /* physical address, aliased s_nlib */73 unsigned char s_vaddr[4]; /* virtual address */74 unsigned char s_size[4]; /* section size */75 unsigned char s_scnptr[4]; /* file ptr to raw data for section */76 unsigned char s_relptr[4]; /* file ptr to relocation */77 unsigned char s_lnnoptr[4]; /* file ptr to line numbers */78 unsigned char s_nreloc[2]; /* number of relocation entries */79 unsigned char s_nlnno[2]; /* number of line number entries*/80 unsigned char s_flags[4]; /* flags */81 };82 83 #define SCNHDR struct external_scnhdr84 #define SCNHSZ 4085 86 57 /********************** RELOCATION DIRECTIVES **********************/ 87 58 88 struct external_reloc { 89 unsigned char r_vaddr[4]; 90 unsigned char r_bits[4]; 91 }; 59 struct external_reloc 60 { 61 unsigned char r_vaddr[4]; 62 unsigned char r_bits[4]; 63 }; 92 64 93 65 #define RELOC struct external_reloc … … 179 151 /* File header as a set of bytes */ 180 152 181 struct hdr_ext { 153 struct hdr_ext 154 { 182 155 unsigned char h_magic[2]; 183 156 unsigned char h_vstamp[2]; … … 209 182 /* File descriptor external record */ 210 183 211 struct fdr_ext { 184 struct fdr_ext 185 { 212 186 unsigned char f_adr[4]; 213 187 unsigned char f_rss[4]; … … 255 229 /* Procedure descriptor external record */ 256 230 257 struct pdr_ext { 231 struct pdr_ext 232 { 258 233 unsigned char p_adr[4]; 259 234 unsigned char p_isym[4]; … … 274 249 /* Runtime procedure table */ 275 250 276 struct rpdr_ext { 251 struct rpdr_ext 252 { 277 253 unsigned char p_adr[4]; 278 254 unsigned char p_regmask[4]; … … 290 266 /* Line numbers */ 291 267 292 struct line_ext { 268 struct line_ext 269 { 293 270 unsigned char l_line[4]; 294 271 }; … … 296 273 /* Symbol external record */ 297 274 298 struct sym_ext { 275 struct sym_ext 276 { 299 277 unsigned char s_iss[4]; 300 278 unsigned char s_value[4]; … … 336 314 /* External symbol external record */ 337 315 338 struct ext_ext { 316 struct ext_ext 317 { 339 318 unsigned char es_bits1[1]; 340 319 unsigned char es_bits2[1]; … … 354 333 /* Dense numbers external record */ 355 334 356 struct dnr_ext { 335 struct dnr_ext 336 { 357 337 unsigned char d_rfd[4]; 358 338 unsigned char d_index[4]; … … 361 341 /* Relative file descriptor */ 362 342 363 struct rfd_ext { 343 struct rfd_ext 344 { 364 345 unsigned char rfd[4]; 365 346 }; … … 367 348 /* Optimizer symbol external record */ 368 349 369 struct opt_ext { 350 struct opt_ext 351 { 370 352 unsigned char o_bits1[1]; 371 353 unsigned char o_bits2[1]; -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/mipspe.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 17 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 18 18 19 /********************** FILE HEADER **********************/ 20 21 struct external_filehdr { 22 char f_magic[2]; /* magic number */ 23 char f_nscns[2]; /* number of sections */ 24 char f_timdat[4]; /* time & date stamp */ 25 char f_symptr[4]; /* file pointer to symtab */ 26 char f_nsyms[4]; /* number of symtab entries */ 27 char f_opthdr[2]; /* sizeof(optional hdr) */ 28 char f_flags[2]; /* flags */ 29 }; 30 31 19 #define L_LNNO_SIZE 2 20 #define INCLUDE_COMDAT_FIELDS_IN_AUXENT 21 #include "coff/external.h" 32 22 33 23 #define MIPS_ARCH_MAGIC_WINCE 0x0166 /* Windows CE - little endian */ 34 24 #define MIPS_PE_MAGIC 0x010b 35 25 36 #define MIPSBADMAG(x) \ 37 ((x).f_magic!=MIPS_ARCH_MAGIC_WINCE) 38 39 #define FILHDR struct external_filehdr 40 #define FILHSZ 20 41 42 43 /********************** AOUT "OPTIONAL HEADER" **********************/ 44 45 46 typedef struct 47 { 48 char magic[2]; /* type of file */ 49 char vstamp[2]; /* version stamp */ 50 char tsize[4]; /* text size in bytes, padded to FW bdry*/ 51 char dsize[4]; /* initialized data " " */ 52 char bsize[4]; /* uninitialized data " " */ 53 char entry[4]; /* entry pt. */ 54 char text_start[4]; /* base of text used for this file */ 55 char data_start[4]; /* base of data used for this file */ 56 } 57 AOUTHDR; 58 59 60 #define AOUTHDRSZ 28 61 #define AOUTSZ 28 62 63 64 26 #define MIPSBADMAG(x) ((x).f_magic != MIPS_ARCH_MAGIC_WINCE) 65 27 66 28 /* define some NT default values */ … … 71 33 #define NT_DEF_COMMIT 0x1000 72 34 73 /********************** SECTION HEADER **********************/74 75 76 struct external_scnhdr {77 char s_name[8]; /* section name */78 char s_paddr[4]; /* physical address, aliased s_nlib */79 char s_vaddr[4]; /* virtual address */80 char s_size[4]; /* section size */81 char s_scnptr[4]; /* file ptr to raw data for section */82 char s_relptr[4]; /* file ptr to relocation */83 char s_lnnoptr[4]; /* file ptr to line numbers */84 char s_nreloc[2]; /* number of relocation entries */85 char s_nlnno[2]; /* number of line number entries*/86 char s_flags[4]; /* flags */87 };88 89 /*90 * names of "special" sections91 */92 #define _TEXT ".text"93 #define _DATA ".data"94 #define _BSS ".bss"95 96 97 #define SCNHDR struct external_scnhdr98 #define SCNHSZ 4099 100 101 /********************** LINE NUMBERS **********************/102 103 /* 1 line number entry for every "breakpointable" source line in a section.104 * Line numbers are grouped on a per function basis; first entry in a function105 * grouping will have l_lnno = 0 and in place of physical address will be the106 * symbol table index of the function name.107 */108 struct external_lineno {109 union {110 char l_symndx[4]; /* function name symbol index, iff l_lnno == 0*/111 char l_paddr[4]; /* (physical) address of line number */112 } l_addr;113 char l_lnno[2]; /* line number */114 };115 116 #define GET_LINENO_LNNO(abfd, ext) bfd_h_get_16(abfd, (bfd_byte *) (ext->l_lnno));117 #define PUT_LINENO_LNNO(abfd,val, ext) bfd_h_put_16(abfd,val, (bfd_byte *) (ext->l_lnno));118 119 #define LINENO struct external_lineno120 #define LINESZ 6121 122 123 /********************** SYMBOLS **********************/124 125 #define E_SYMNMLEN 8 /* # characters in a symbol name */126 #define E_FILNMLEN 14 /* # characters in a file name */127 #define E_DIMNUM 4 /* # array dimensions in auxiliary entry */128 129 struct external_syment130 {131 union {132 char e_name[E_SYMNMLEN];133 struct {134 char e_zeroes[4];135 char e_offset[4];136 } e;137 } e;138 char e_value[4];139 char e_scnum[2];140 char e_type[2];141 char e_sclass[1];142 char e_numaux[1];143 };144 145 146 147 #define N_BTMASK (017)148 #define N_TMASK (060)149 #define N_BTSHFT (4)150 #define N_TSHIFT (2)151 152 153 union external_auxent {154 struct {155 char x_tagndx[4]; /* str, un, or enum tag indx */156 union {157 struct {158 char x_lnno[2]; /* declaration line number */159 char x_size[2]; /* str/union/array size */160 } x_lnsz;161 char x_fsize[4]; /* size of function */162 } x_misc;163 union {164 struct { /* if ISFCN, tag, or .bb */165 char x_lnnoptr[4]; /* ptr to fcn line # */166 char x_endndx[4]; /* entry ndx past block end */167 } x_fcn;168 struct { /* if ISARY, up to 4 dimen. */169 char x_dimen[E_DIMNUM][2];170 } x_ary;171 } x_fcnary;172 char x_tvndx[2]; /* tv index */173 } x_sym;174 175 union {176 char x_fname[E_FILNMLEN];177 struct {178 char x_zeroes[4];179 char x_offset[4];180 } x_n;181 } x_file;182 183 struct {184 char x_scnlen[4]; /* section length */185 char x_nreloc[2]; /* # relocation entries */186 char x_nlinno[2]; /* # line numbers */187 char x_checksum[4]; /* section COMDAT checksum */188 char x_associated[2]; /* COMDAT associated section index */189 char x_comdat[1]; /* COMDAT selection number */190 } x_scn;191 192 struct {193 char x_tvfill[4]; /* tv fill value */194 char x_tvlen[2]; /* length of .tv */195 char x_tvran[2][2]; /* tv range */196 } x_tv; /* info about .tv section (in auxent of symbol .tv)) */197 198 199 };200 201 #define SYMENT struct external_syment202 #define SYMESZ 18203 #define AUXENT union external_auxent204 #define AUXESZ 18205 206 207 208 35 /********************** RELOCATION DIRECTIVES **********************/ 209 36 210 37 /* The external reloc has an offset field, because some of the reloc 211 38 types on the h8 don't have room in the instruction for the entire 212 offset - eg the strange jump and high page addressing modes */39 offset - eg the strange jump and high page addressing modes. */ 213 40 214 struct external_reloc { 41 struct external_reloc 42 { 215 43 char r_vaddr[4]; 216 44 char r_symndx[4]; 217 45 char r_type[2]; 218 46 }; 219 220 47 221 48 #define RELOC struct external_reloc -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/powerpc.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 19 19 20 20 Initial release: Kim Knuttila (krk@cygnus.com) */ 21 22 /********************** FILE HEADER **********************/ 23 24 struct external_filehdr { 25 char f_magic[2]; /* magic number */ 26 char f_nscns[2]; /* number of sections */ 27 char f_timdat[4]; /* time & date stamp */ 28 char f_symptr[4]; /* file pointer to symtab */ 29 char f_nsyms[4]; /* number of symtab entries */ 30 char f_opthdr[2]; /* sizeof(optional hdr) */ 31 char f_flags[2]; /* flags */ 32 }; 33 34 #define FILHDR struct external_filehdr 35 #define FILHSZ 20 21 #define L_LNNO_SIZE 2 22 #define INCLUDE_COMDAT_FIELDS_IN_AUXENT 23 #include "coff/external.h" 36 24 37 25 /* Bits for f_flags: 38 * F_RELFLG relocation info stripped from file 39 * F_EXEC file is executable (no unresolved external references) 40 * F_LNNO line numbers stripped from file 41 * F_LSYMS local symbols stripped from file 42 * F_AR32WR file has byte ordering of an AR32WR machine (e.g. vax) 43 */ 26 F_RELFLG relocation info stripped from file 27 F_EXEC file is executable (no unresolved external references) 28 F_LNNO line numbers stripped from file 29 F_LSYMS local symbols stripped from file 30 F_AR32WR file has byte ordering of an AR32WR machine (e.g. vax). */ 44 31 45 32 #define F_RELFLG (0x0001) … … 58 45 #define PPCBADMAG(x) ((x).f_magic != PPCMAGIC) 59 46 60 /********************** AOUT "OPTIONAL HEADER" **********************/61 62 typedef struct63 {64 char magic[2]; /* type of file */65 char vstamp[2]; /* version stamp */66 char tsize[4]; /* text size in bytes, padded to FW bdry*/67 char dsize[4]; /* initialized data " " */68 char bsize[4]; /* uninitialized data " " */69 char entry[4]; /* entry pt. */70 char text_start[4]; /* base of text used for this file */71 char data_start[4]; /* base of data used for this file */72 }73 AOUTHDR;74 75 #define AOUTSZ 2876 #define AOUTHDRSZ 2877 78 /********************** SECTION HEADER **********************/79 80 struct external_scnhdr {81 char s_name[8]; /* section name */82 char s_paddr[4]; /* physical address, aliased s_nlib */83 char s_vaddr[4]; /* virtual address */84 char s_size[4]; /* section size */85 char s_scnptr[4]; /* file ptr to raw data for section */86 char s_relptr[4]; /* file ptr to relocation */87 char s_lnnoptr[4]; /* file ptr to line numbers */88 char s_nreloc[2]; /* number of relocation entries */89 char s_nlnno[2]; /* number of line number entries */90 char s_flags[4]; /* flags */91 };92 93 #define SCNHDR struct external_scnhdr94 #define SCNHSZ 4095 96 /*97 * names of "special" sections98 */99 #define _TEXT ".text"100 #define _DATA ".data"101 #define _BSS ".bss"102 #define _COMMENT ".comment"103 #define _LIB ".lib"104 105 /********************** LINE NUMBERS **********************/106 107 /* 1 line number entry for every "breakpointable" source line in a section.108 * Line numbers are grouped on a per function basis; first entry in a function109 * grouping will have l_lnno = 0 and in place of physical address will be the110 * symbol table index of the function name.111 */112 struct external_lineno {113 union {114 char l_symndx[4]; /* function name symbol index, iff l_lnno == 0 */115 char l_paddr[4]; /* (physical) address of line number */116 } l_addr;117 char l_lnno[2]; /* line number */118 };119 120 #define LINENO struct external_lineno121 #define LINESZ 6122 123 /********************** SYMBOLS **********************/124 125 #define E_SYMNMLEN 8 /* # characters in a symbol name */126 127 /* Allow the file name length to be overridden in the including file */128 #ifndef E_FILNMLEN129 #define E_FILNMLEN 14130 #endif131 132 #define E_DIMNUM 4 /* # array dimensions in auxiliary entry */133 134 struct external_syment135 {136 union {137 char e_name[E_SYMNMLEN];138 struct {139 char e_zeroes[4];140 char e_offset[4];141 } e;142 } e;143 char e_value[4];144 char e_scnum[2];145 char e_type[2];146 char e_sclass[1];147 char e_numaux[1];148 };149 150 #define SYMENT struct external_syment151 #define SYMESZ 18152 153 #define N_BTMASK (0xf)154 #define N_TMASK (0x30)155 #define N_BTSHFT (4)156 #define N_TSHIFT (2)157 158 union external_auxent {159 struct {160 char x_tagndx[4]; /* str, un, or enum tag indx */161 union {162 struct {163 char x_lnno[2]; /* declaration line number */164 char x_size[2]; /* str/union/array size */165 } x_lnsz;166 char x_fsize[4]; /* size of function */167 } x_misc;168 union {169 struct { /* if ISFCN, tag, or .bb */170 char x_lnnoptr[4]; /* ptr to fcn line # */171 char x_endndx[4]; /* entry ndx past block end */172 } x_fcn;173 struct { /* if ISARY, up to 4 dimen. */174 char x_dimen[E_DIMNUM][2];175 } x_ary;176 } x_fcnary;177 char x_tvndx[2]; /* tv index */178 } x_sym;179 180 union {181 char x_fname[E_FILNMLEN];182 struct {183 char x_zeroes[4];184 char x_offset[4];185 } x_n;186 } x_file;187 188 struct {189 char x_scnlen[4]; /* section length */190 char x_nreloc[2]; /* # relocation entries */191 char x_nlinno[2]; /* # line numbers */192 char x_checksum[4]; /* section COMDAT checksum */193 char x_associated[2]; /* COMDAT associated section index */194 char x_comdat[1]; /* COMDAT selection number */195 } x_scn;196 };197 198 #define AUXENT union external_auxent199 #define AUXESZ 18200 201 #define _ETEXT "etext"202 203 47 /********************** RELOCATION DIRECTIVES **********************/ 204 48 205 struct external_reloc { 49 struct external_reloc 50 { 206 51 char r_vaddr[4]; 207 52 char r_symndx[4]; -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/rs6000.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 67 67 #define AOUTHDRSZ 72 68 68 69 #define RS6K_AOUTHDR_OMAGIC 0x0107 /* old: text & data writeable */70 #define RS6K_AOUTHDR_NMAGIC 0x0108 /* new: text r/o, data r/w */71 #define RS6K_AOUTHDR_ZMAGIC 0x010B /* paged: text r/o, both page-aligned */72 73 74 69 /********************** SECTION HEADER **********************/ 75 70 … … 88 83 }; 89 84 90 /*91 * names of "special" sections92 */93 #define _TEXT ".text"94 #define _DATA ".data"95 #define _BSS ".bss"96 #define _PAD ".pad"97 #define _LOADER ".loader"98 99 85 #define SCNHDR struct external_scnhdr 100 86 #define SCNHSZ 40 101 102 /* XCOFF uses a special .loader section with type STYP_LOADER. */103 #define STYP_LOADER 0x1000104 105 /* XCOFF uses a special .debug section with type STYP_DEBUG. */106 #define STYP_DEBUG 0x2000107 108 /* XCOFF handles line number or relocation overflow by creating109 another section header with STYP_OVRFLO set. */110 #define STYP_OVRFLO 0x8000111 87 112 88 /********************** LINE NUMBERS **********************/ … … 242 218 /* For new sections we havn't heard of before */ 243 219 #define DEFAULT_SECTION_ALIGNMENT 4 220 221 /* The ldhdr structure. This appears at the start of the .loader 222 section. */ 223 224 struct external_ldhdr 225 { 226 bfd_byte l_version[4]; 227 bfd_byte l_nsyms[4]; 228 bfd_byte l_nreloc[4]; 229 bfd_byte l_istlen[4]; 230 bfd_byte l_nimpid[4]; 231 bfd_byte l_impoff[4]; 232 bfd_byte l_stlen[4]; 233 bfd_byte l_stoff[4]; 234 }; 235 236 #define LDHDRSZ (8 * 4) 237 238 struct external_ldsym 239 { 240 union 241 { 242 bfd_byte _l_name[SYMNMLEN]; 243 struct 244 { 245 bfd_byte _l_zeroes[4]; 246 bfd_byte _l_offset[4]; 247 } _l_l; 248 } _l; 249 bfd_byte l_value[4]; 250 bfd_byte l_scnum[2]; 251 bfd_byte l_smtype[1]; 252 bfd_byte l_smclas[1]; 253 bfd_byte l_ifile[4]; 254 bfd_byte l_parm[4]; 255 }; 256 257 #define LDSYMSZ (8 + 3 * 4 + 2 + 2) 258 259 struct external_ldrel 260 { 261 bfd_byte l_vaddr[4]; 262 bfd_byte l_symndx[4]; 263 bfd_byte l_rtype[2]; 264 bfd_byte l_rsecnm[2]; 265 }; 266 267 #define LDRELSZ (2 * 4 + 2 * 2) -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/rs6k64.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* IBM RS/6000 "XCOFF64" file definitions for BFD. 2 Copyright (C) 2000 Free Software Foundation, Inc.2 Copyright (C) 2000, 2002 Free Software Foundation, Inc. 3 3 4 4 This program is free software; you can redistribute it and/or modify … … 14 14 You should have received a copy of the GNU General Public License 15 15 along with this program; if not, write to the Free Software 16 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 */ 16 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 18 17 19 18 /********************** FILE HEADER **********************/ 20 19 21 struct external_filehdr { 22 char f_magic[2]; /* magic number */ 23 char f_nscns[2]; /* number of sections */ 24 char f_timdat[4]; /* time & date stamp */ 25 char f_symptr[8];/* file pointer to symtab */ 26 char f_opthdr[2]; /* sizeof(optional hdr) */ 27 char f_flags[2]; /* flags */ 28 char f_nsyms[4]; /* number of symtab entries */ 29 }; 30 31 /* IBM RS/6000 */ 32 #define U803XTOCMAGIC 0757 /* readonly text segments and TOC, XCOFF64 */ 33 34 #define BADMAG(x) ((x).f_magic != U803XTOCMAGIC) 20 struct external_filehdr 21 { 22 char f_magic[2]; /* magic number */ 23 char f_nscns[2]; /* number of sections */ 24 char f_timdat[4]; /* time & date stamp */ 25 char f_symptr[8]; /* file pointer to symtab */ 26 char f_opthdr[2]; /* sizeof(optional hdr) */ 27 char f_flags[2]; /* flags */ 28 char f_nsyms[4]; /* number of symtab entries */ 29 }; 30 31 /* IBM RS/6000. */ 32 #define U803XTOCMAGIC 0757 /* Aix 4.3 64-bit XCOFF */ 33 #define U64_TOCMAGIC 0767 /* AIX 5+ 64-bit XCOFF */ 34 #define BADMAG(x) ((x).f_magic != U803XTOCMAGIC && (x).f_magic != U64_TOCMAGIC) 35 35 36 36 #define FILHDR struct external_filehdr … … 38 38 39 39 /********************** AOUT "OPTIONAL HEADER" **********************/ 40 41 40 42 41 typedef struct … … 45 44 unsigned char vstamp[2]; /* version stamp */ 46 45 unsigned char o_debugger[4]; /* reserved */ 47 unsigned char text_start[8]; /* base of text used for this file */48 unsigned char data_start[8]; /* base of data used for this file */49 unsigned char o_toc[8]; /* address of TOC */46 unsigned char text_start[8]; /* base of text used for this file */ 47 unsigned char data_start[8]; /* base of data used for this file */ 48 unsigned char o_toc[8]; /* address of TOC */ 50 49 unsigned char o_snentry[2]; /* section number of entry point */ 51 50 unsigned char o_sntext[2]; /* section number of .text section */ … … 63 62 unsigned char bsize[8]; /* uninitialized data " " */ 64 63 unsigned char entry[8]; /* entry pt. */ 65 unsigned char o_maxstack[8]; /* max stack size (??) */66 unsigned char o_maxdata[8]; /* max data size (??) */64 unsigned char o_maxstack[8]; /* max stack size (??) */ 65 unsigned char o_maxdata[8]; /* max data size (??) */ 67 66 unsigned char o_resv3[16]; /* reserved */ 68 67 } … … 73 72 #define AOUTHDRSZ 72 74 73 75 #define RS6K_AOUTHDR_OMAGIC 0x0107 /* old: text & data writeable */76 #define RS6K_AOUTHDR_NMAGIC 0x0108 /* new: text r/o, data r/w */77 #define RS6K_AOUTHDR_ZMAGIC 0x010B /* paged: text r/o, both page-aligned */78 79 80 74 /********************** SECTION HEADER **********************/ 81 75 82 83 struct external_scnhdr { 84 char s_name[8]; /* section name */ 85 char s_paddr[8]; /* physical address, aliased s_nlib */ 86 char s_vaddr[8]; /* virtual address */ 87 char s_size[8]; /* section size */ 88 char s_scnptr[8]; /* file ptr to raw data for section */ 89 char s_relptr[8]; /* file ptr to relocation */ 90 char s_lnnoptr[8]; /* file ptr to line numbers */ 91 char s_nreloc[4]; /* number of relocation entries */ 92 char s_nlnno[4]; /* number of line number entries*/ 93 char s_flags[4]; /* flags */ 94 char s_pad[4]; /* padding */ 95 }; 96 97 /* 98 * names of "special" sections 99 */ 100 #define _TEXT ".text" 101 #define _DATA ".data" 102 #define _BSS ".bss" 103 #define _PAD ".pad" 104 #define _LOADER ".loader" 76 struct external_scnhdr 77 { 78 char s_name[8]; /* section name */ 79 char s_paddr[8]; /* physical address, aliased s_nlib */ 80 char s_vaddr[8]; /* virtual address */ 81 char s_size[8]; /* section size */ 82 char s_scnptr[8]; /* file ptr to raw data for section */ 83 char s_relptr[8]; /* file ptr to relocation */ 84 char s_lnnoptr[8]; /* file ptr to line numbers */ 85 char s_nreloc[4]; /* number of relocation entries */ 86 char s_nlnno[4]; /* number of line number entries*/ 87 char s_flags[4]; /* flags */ 88 char s_pad[4]; /* padding */ 89 }; 105 90 106 91 #define SCNHDR struct external_scnhdr … … 108 93 #define SCNHSZ 72 109 94 110 /* XCOFF uses a special .loader section with type STYP_LOADER. */111 #define STYP_LOADER 0x1000112 113 /* XCOFF uses a special .debug section with type STYP_DEBUG. */114 #define STYP_DEBUG 0x2000115 116 /* XCOFF handles line number or relocation overflow by creating117 another section header with STYP_OVRFLO set. */118 #define STYP_OVRFLO 0x8000119 120 95 /********************** LINE NUMBERS **********************/ 121 96 122 97 /* 1 line number entry for every "breakpointable" source line in a section. 123 * Line numbers are grouped on a per function basis; first entry in a function 124 * grouping will have l_lnno = 0 and in place of physical address will be the 125 * symbol table index of the function name. 126 */ 127 struct external_lineno { 128 union { 129 char l_symndx[8];/* function name symbol index, iff l_lnno == 0*/ 130 char l_paddr[8]; /* (physical) address of line number */ 131 } l_addr; 132 char l_lnno[4]; /* line number */ 133 }; 134 98 Line numbers are grouped on a per function basis; first entry in a function 99 grouping will have l_lnno = 0 and in place of physical address will be the 100 symbol table index of the function name. */ 101 102 struct external_lineno 103 { 104 union 105 { 106 char l_symndx[4]; /* function name symbol index, iff l_lnno == 0*/ 107 char l_paddr[8]; /* (physical) address of line number */ 108 } l_addr; 109 110 char l_lnno[4]; /* line number */ 111 }; 135 112 136 113 #define LINENO struct external_lineno 137 114 138 115 #define LINESZ 12 139 140 116 141 117 /********************** SYMBOLS **********************/ … … 147 123 struct external_syment 148 124 { 149 union { 150 char e_value[8]; 151 } e; 125 char e_value[8]; 152 126 char e_offset[4]; 153 127 char e_scnum[2]; … … 157 131 }; 158 132 159 160 161 133 #define N_BTMASK (017) 162 134 #define N_TMASK (060) 163 135 #define N_BTSHFT (4) 164 136 #define N_TSHIFT (2) 165 166 167 union external_auxent { 168 137 138 union external_auxent 139 { 169 140 struct { 170 141 union { … … 222 193 #define SYMNAME_IN_DEBUG(symptr) ((symptr)->n_sclass & DBXMASK) 223 194 224 /* Values for auxtype field in XCOFF64, taken from AIX 4.3 sym.h */195 /* Values for auxtype field in XCOFF64, taken from AIX 4.3 sym.h. */ 225 196 #define _AUX_EXCEPT 255 226 197 #define _AUX_FCN 254 … … 229 200 #define _AUX_CSECT 251 230 201 231 232 233 202 /********************** RELOCATION DIRECTIVES **********************/ 234 203 235 236 struct external_reloc{204 struct external_reloc 205 { 237 206 char r_vaddr[8]; 238 207 char r_symndx[4]; … … 240 209 char r_type[1]; 241 210 }; 242 243 211 244 212 #define RELOC struct external_reloc … … 250 218 /* For new sections we havn't heard of before */ 251 219 #define DEFAULT_SECTION_ALIGNMENT 4 220 221 /* The ldhdr structure. This appears at the start of the .loader 222 section. */ 223 224 struct external_ldhdr 225 { 226 bfd_byte l_version[4]; 227 bfd_byte l_nsyms[4]; 228 bfd_byte l_nreloc[4]; 229 bfd_byte l_istlen[4]; 230 bfd_byte l_nimpid[4]; 231 bfd_byte l_stlen[4]; 232 bfd_byte l_impoff[8]; 233 bfd_byte l_stoff[8]; 234 bfd_byte l_symoff[8]; 235 bfd_byte l_rldoff[8]; 236 }; 237 #define LDHDRSZ (56) 238 239 struct external_ldsym 240 { 241 bfd_byte l_value[8]; 242 bfd_byte l_offset[4]; 243 bfd_byte l_scnum[2]; 244 bfd_byte l_smtype[1]; 245 bfd_byte l_smclas[1]; 246 bfd_byte l_ifile[4]; 247 bfd_byte l_parm[4]; 248 }; 249 250 #define LDSYMSZ (24) 251 252 struct external_ldrel 253 { 254 bfd_byte l_vaddr[8]; 255 bfd_byte l_rtype[2]; 256 bfd_byte l_rsecnm[2]; 257 bfd_byte l_symndx[4]; 258 }; 259 260 #define LDRELSZ (16) -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/sh.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 /* coff information for HitachiSH1 /* coff information for Renesas SH 2 2 3 Copyright 2001 Free Software Foundation, Inc.3 Copyright 2001, 2003 Free Software Foundation, Inc. 4 4 5 5 This program is free software; you can redistribute it and/or modify … … 17 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 18 18 19 /********************** FILE HEADER **********************/ 20 21 struct external_filehdr { 22 char f_magic[2]; /* magic number */ 23 char f_nscns[2]; /* number of sections */ 24 char f_timdat[4]; /* time & date stamp */ 25 char f_symptr[4]; /* file pointer to symtab */ 26 char f_nsyms[4]; /* number of symtab entries */ 27 char f_opthdr[2]; /* sizeof(optional hdr) */ 28 char f_flags[2]; /* flags */ 29 }; 30 31 19 #ifdef COFF_WITH_PE 20 #define L_LNNO_SIZE 2 21 #else 22 #define L_LNNO_SIZE 4 23 #endif 24 #define INCLUDE_COMDAT_FIELDS_IN_AUXENT 25 #include "coff/external.h" 32 26 33 27 #define SH_ARCH_MAGIC_BIG 0x0500 … … 36 30 #define SH_PE_MAGIC 0x010b 37 31 38 39 32 #define SHBADMAG(x) \ 40 (((x).f_magic!=SH_ARCH_MAGIC_BIG) && \ 41 ((x).f_magic!=SH_ARCH_MAGIC_WINCE) && \ 42 ((x).f_magic!=SH_ARCH_MAGIC_LITTLE)) 43 44 #define FILHDR struct external_filehdr 45 #define FILHSZ 20 46 47 48 /********************** AOUT "OPTIONAL HEADER" **********************/ 49 50 51 typedef struct 52 { 53 char magic[2]; /* type of file */ 54 char vstamp[2]; /* version stamp */ 55 char tsize[4]; /* text size in bytes, padded to FW bdry*/ 56 char dsize[4]; /* initialized data " " */ 57 char bsize[4]; /* uninitialized data " " */ 58 char entry[4]; /* entry pt. */ 59 char text_start[4]; /* base of text used for this file */ 60 char data_start[4]; /* base of data used for this file */ 61 } 62 AOUTHDR; 63 64 65 #define AOUTHDRSZ 28 66 #define AOUTSZ 28 67 68 33 (((x).f_magic != SH_ARCH_MAGIC_BIG) && \ 34 ((x).f_magic != SH_ARCH_MAGIC_WINCE) && \ 35 ((x).f_magic != SH_ARCH_MAGIC_LITTLE)) 69 36 70 37 /* Define some NT default values. */ … … 75 42 #define NT_DEF_COMMIT 0x1000 76 43 77 /********************** SECTION HEADER **********************/78 79 80 struct external_scnhdr {81 char s_name[8]; /* section name */82 char s_paddr[4]; /* physical address, aliased s_nlib */83 char s_vaddr[4]; /* virtual address */84 char s_size[4]; /* section size */85 char s_scnptr[4]; /* file ptr to raw data for section */86 char s_relptr[4]; /* file ptr to relocation */87 char s_lnnoptr[4]; /* file ptr to line numbers */88 char s_nreloc[2]; /* number of relocation entries */89 char s_nlnno[2]; /* number of line number entries*/90 char s_flags[4]; /* flags */91 };92 93 /*94 * names of "special" sections95 */96 #define _TEXT ".text"97 #define _DATA ".data"98 #define _BSS ".bss"99 100 101 #define SCNHDR struct external_scnhdr102 #define SCNHSZ 40103 104 105 /********************** LINE NUMBERS **********************/106 107 /* 1 line number entry for every "breakpointable" source line in a section.108 * Line numbers are grouped on a per function basis; first entry in a function109 * grouping will have l_lnno = 0 and in place of physical address will be the110 * symbol table index of the function name.111 */112 struct external_lineno {113 union {114 char l_symndx[4]; /* function name symbol index, iff l_lnno == 0*/115 char l_paddr[4]; /* (physical) address of line number */116 } l_addr;117 #ifdef COFF_WITH_PE118 char l_lnno[2]; /* line number */119 #else120 char l_lnno[4]; /* line number */121 #endif122 };123 124 #define GET_LINENO_LNNO(abfd, ext) bfd_h_get_32(abfd, (bfd_byte *) (ext->l_lnno));125 #define PUT_LINENO_LNNO(abfd,val, ext) bfd_h_put_32(abfd,val, (bfd_byte *) (ext->l_lnno));126 127 #define LINENO struct external_lineno128 #ifdef COFF_WITH_PE129 #define LINESZ 6130 #undef GET_LINENO_LNNO131 #define GET_LINENO_LNNO(abfd, ext) bfd_h_get_16(abfd, (bfd_byte *) (ext->l_lnno));132 #undef PUT_LINENO_LNNO133 #define PUT_LINENO_LNNO(abfd,val, ext) bfd_h_put_16(abfd,val, (bfd_byte *) (ext->l_lnno));134 #else135 #define LINESZ 8136 #endif137 138 139 /********************** SYMBOLS **********************/140 141 #define E_SYMNMLEN 8 /* # characters in a symbol name */142 #define E_FILNMLEN 14 /* # characters in a file name */143 #define E_DIMNUM 4 /* # array dimensions in auxiliary entry */144 145 struct external_syment146 {147 union {148 char e_name[E_SYMNMLEN];149 struct {150 char e_zeroes[4];151 char e_offset[4];152 } e;153 } e;154 char e_value[4];155 char e_scnum[2];156 char e_type[2];157 char e_sclass[1];158 char e_numaux[1];159 };160 161 162 163 #define N_BTMASK (017)164 #define N_TMASK (060)165 #define N_BTSHFT (4)166 #define N_TSHIFT (2)167 168 169 union external_auxent {170 struct {171 char x_tagndx[4]; /* str, un, or enum tag indx */172 union {173 struct {174 char x_lnno[2]; /* declaration line number */175 char x_size[2]; /* str/union/array size */176 } x_lnsz;177 char x_fsize[4]; /* size of function */178 } x_misc;179 union {180 struct { /* if ISFCN, tag, or .bb */181 char x_lnnoptr[4]; /* ptr to fcn line # */182 char x_endndx[4]; /* entry ndx past block end */183 } x_fcn;184 struct { /* if ISARY, up to 4 dimen. */185 char x_dimen[E_DIMNUM][2];186 } x_ary;187 } x_fcnary;188 char x_tvndx[2]; /* tv index */189 } x_sym;190 191 union {192 char x_fname[E_FILNMLEN];193 struct {194 char x_zeroes[4];195 char x_offset[4];196 } x_n;197 } x_file;198 199 struct {200 char x_scnlen[4]; /* section length */201 char x_nreloc[2]; /* # relocation entries */202 char x_nlinno[2]; /* # line numbers */203 char x_checksum[4]; /* section COMDAT checksum */204 char x_associated[2]; /* COMDAT associated section index */205 char x_comdat[1]; /* COMDAT selection number */206 } x_scn;207 208 struct {209 char x_tvfill[4]; /* tv fill value */210 char x_tvlen[2]; /* length of .tv */211 char x_tvran[2][2]; /* tv range */212 } x_tv; /* info about .tv section (in auxent of symbol .tv)) */213 214 215 };216 217 #define SYMENT struct external_syment218 #define SYMESZ 18219 #define AUXENT union external_auxent220 #define AUXESZ 18221 222 223 224 44 /********************** RELOCATION DIRECTIVES **********************/ 225 45 226 46 /* The external reloc has an offset field, because some of the reloc 227 47 types on the h8 don't have room in the instruction for the entire 228 offset - eg the strange jump and high page addressing modes */48 offset - eg the strange jump and high page addressing modes. */ 229 49 230 50 #ifndef COFF_WITH_PE 231 struct external_reloc { 51 struct external_reloc 52 { 232 53 char r_vaddr[4]; 233 54 char r_symndx[4]; … … 237 58 }; 238 59 #else 239 struct external_reloc { 60 struct external_reloc 61 { 240 62 char r_vaddr[4]; 241 63 char r_symndx[4]; … … 243 65 }; 244 66 #endif 245 246 67 247 68 #define RELOC struct external_reloc -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/sparc.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 23 23 be used with different systems while still yielding the same results. */ 24 24 25 /********************** FILE HEADER **********************/ 26 27 struct external_filehdr 28 { 29 char f_magic[2]; /* magic number */ 30 char f_nscns[2]; /* number of sections */ 31 char f_timdat[4]; /* time & date stamp */ 32 char f_symptr[4]; /* file pointer to symtab */ 33 char f_nsyms[4]; /* number of symtab entries */ 34 char f_opthdr[2]; /* sizeof(optional hdr) */ 35 char f_flags[2]; /* flags */ 36 }; 25 #define L_LNNO_SIZE 2 26 #define DO_NOT_DEFINE_SYMENT 27 #define DO_NOT_DEFINE_AUXENT 28 #include "coff/external.h" 37 29 38 30 #define F_RELFLG (0x0001) /* relocation info stripped */ … … 47 39 #define LYNXCOFFMAGIC (0415) 48 40 49 #define FILHDR struct external_filehdr50 #define FILHSZ 2051 52 /********************** AOUT "OPTIONAL HEADER" **********************/53 54 typedef struct55 {56 char magic[2]; /* type of file */57 char vstamp[2]; /* version stamp */58 char tsize[4]; /* text size in bytes, padded to FW bdry*/59 char dsize[4]; /* initialized data " " */60 char bsize[4]; /* uninitialized data " " */61 char entry[4]; /* entry pt. */62 char text_start[4]; /* base of text used for this file */63 char data_start[4]; /* base of data used for this file */64 }65 AOUTHDR;66 67 #define AOUTSZ 2868 #define AOUTHDRSZ 2869 70 41 #define OMAGIC 0404 /* object files, eg as output */ 71 42 #define ZMAGIC 0413 /* demand load format, eg normal ld output */ … … 73 44 #define SHMAGIC 0443 /* host shlib */ 74 45 75 /* ********************* SECTION HEADER **********************/46 /* More names of "special" sections. */ 76 47 77 struct external_scnhdr78 {79 char s_name[8]; /* section name */80 char s_paddr[4]; /* physical address, aliased s_nlib */81 char s_vaddr[4]; /* virtual address */82 char s_size[4]; /* section size */83 char s_scnptr[4]; /* file ptr to raw data for section */84 char s_relptr[4]; /* file ptr to relocation */85 char s_lnnoptr[4]; /* file ptr to line numbers */86 char s_nreloc[2]; /* number of relocation entries */87 char s_nlnno[2]; /* number of line number entries*/88 char s_flags[4]; /* flags */89 };90 91 #define SCNHDR struct external_scnhdr92 #define SCNHSZ 4093 94 /* Names of "special" sections. */95 96 #define _TEXT ".text"97 #define _DATA ".data"98 #define _BSS ".bss"99 48 #define _TV ".tv" 100 49 #define _INIT ".init" 101 50 #define _FINI ".fini" 102 #define _COMMENT ".comment"103 #define _LIB ".lib"104 105 /********************** LINE NUMBERS **********************/106 107 /* 1 line number entry for every "breakpointable" source line in a section.108 Line numbers are grouped on a per function basis; first entry in a function109 grouping will have l_lnno = 0 and in place of physical address will be the110 symbol table index of the function name. */111 112 struct external_lineno113 {114 union {115 char l_symndx[4]; /* fn name symbol index, iff l_lnno == 0 */116 char l_paddr[4]; /* (physical) address of line number */117 } l_addr;118 char l_lnno[2]; /* line number */119 };120 121 #define LINENO struct external_lineno122 #define LINESZ (6)123 51 124 52 /********************** SYMBOLS **********************/ … … 214 142 /********************** RELOCATION DIRECTIVES **********************/ 215 143 216 struct external_reloc { 144 struct external_reloc 145 { 217 146 char r_vaddr[4]; 218 147 char r_symndx[4]; -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/ti.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 18 18 along with this program; if not, write to the Free Software 19 19 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 20 21 20 #ifndef COFF_TI_H 22 21 #define COFF_TI_H 23 22 23 /* Note "coff/external.h is not used because TI adds extra fields to the structures. */ 24 24 25 /********************** FILE HEADER **********************/ 25 26 26 struct external_filehdr { 27 char f_magic[2]; /* magic number */ 28 char f_nscns[2]; /* number of sections */ 29 char f_timdat[4]; /* time & date stamp */ 30 char f_symptr[4]; /* file pointer to symtab */ 31 char f_nsyms[4]; /* number of symtab entries */ 32 char f_opthdr[2]; /* sizeof(optional hdr) */ 33 char f_flags[2]; /* flags */ 34 char f_target_id[2]; /* magic no. (TI COFF-specific) */ 35 }; 27 struct external_filehdr 28 { 29 char f_magic[2]; /* magic number */ 30 char f_nscns[2]; /* number of sections */ 31 char f_timdat[4]; /* time & date stamp */ 32 char f_symptr[4]; /* file pointer to symtab */ 33 char f_nsyms[4]; /* number of symtab entries */ 34 char f_opthdr[2]; /* sizeof(optional hdr) */ 35 char f_flags[2]; /* flags */ 36 char f_target_id[2]; /* magic no. (TI COFF-specific) */ 37 }; 36 38 37 39 /* COFF0 has magic number in f_magic, and omits f_target_id from the file … … 54 56 #ifndef TICOFF_TARGET_ARCH 55 57 #error "TICOFF_TARGET_ARCH needs to be defined for your CPU" 58 #endif 59 60 #ifndef TICOFF_TARGET_MACHINE_GET 61 #define TICOFF_TARGET_MACHINE_GET(FLAGS) 0 62 #endif 63 64 #ifndef TICOFF_TARGET_MACHINE_SET 65 #define TICOFF_TARGET_MACHINE_SET(FLAGSP, MACHINE) 56 66 #endif 57 67 … … 90 100 /* we need to read/write an extra field in the coff file header */ 91 101 #ifndef COFF_ADJUST_FILEHDR_IN_POST 92 #define COFF_ADJUST_FILEHDR_IN_POST(abfd,src,dst) \ 93 do { ((struct internal_filehdr *)(dst))->f_target_id = \ 94 bfd_h_get_16(abfd, (bfd_byte *)(((FILHDR *)(src))->f_target_id)); \ 95 } while(0) 102 #define COFF_ADJUST_FILEHDR_IN_POST(abfd, src, dst) \ 103 do \ 104 { \ 105 ((struct internal_filehdr *)(dst))->f_target_id = \ 106 H_GET_16 (abfd, ((FILHDR *)(src))->f_target_id); \ 107 } \ 108 while (0) 96 109 #endif 97 110 98 111 #ifndef COFF_ADJUST_FILEHDR_OUT_POST 99 #define COFF_ADJUST_FILEHDR_OUT_POST(abfd,src,dst) \ 100 do { bfd_h_put_16(abfd, ((struct internal_filehdr *)(src))->f_target_id, \ 101 (bfd_byte *)(((FILHDR *)(dst))->f_target_id)); \ 102 } while(0) 112 #define COFF_ADJUST_FILEHDR_OUT_POST(abfd, src, dst) \ 113 do \ 114 { \ 115 H_PUT_16 (abfd, ((struct internal_filehdr *)(src))->f_target_id, \ 116 ((FILHDR *)(dst))->f_target_id); \ 117 } \ 118 while (0) 103 119 #endif 104 120 … … 111 127 #define F_EXEC (0x0002) 112 128 #define F_LNNO (0x0004) 129 #define F_VERS (0x0010) /* TMS320C4x code */ 113 130 /* F_LSYMS needs to be redefined in your source file */ 114 131 #define F_LSYMS_TICOFF (0x0010) /* normal COFF is 0x8 */ … … 199 216 accordingly 200 217 */ 201 #define GET_SCNHDR_NRELOC(ABFD, PTR) \202 (COFF2_P(ABFD) ? bfd_h_get_32 (ABFD,PTR) : bfd_h_get_16 (ABFD, PTR))203 #define PUT_SCNHDR_NRELOC(ABFD, VAL,PTR) \204 (COFF2_P(ABFD) ? bfd_h_put_32 (ABFD,VAL,PTR) : bfd_h_put_16 (ABFD,VAL,PTR))205 #define GET_SCNHDR_NLNNO(ABFD, PTR) \206 (COFF2_P(ABFD) ? bfd_h_get_32 (ABFD,PTR) : bfd_h_get_16 (ABFD, (PTR)-2))207 #define PUT_SCNHDR_NLNNO(ABFD, VAL,PTR) \208 (COFF2_P(ABFD) ? bfd_h_put_32 (ABFD,VAL,PTR) : bfd_h_put_16 (ABFD,VAL,(PTR)-2))209 #define GET_SCNHDR_FLAGS(ABFD, PTR) \210 (COFF2_P(ABFD) ? bfd_h_get_32 (ABFD,PTR) : bfd_h_get_16 (ABFD, (PTR)-4))211 #define PUT_SCNHDR_FLAGS(ABFD, VAL,PTR) \212 (COFF2_P(ABFD) ? bfd_h_put_32 (ABFD,VAL,PTR) : bfd_h_put_16 (ABFD,VAL,(PTR)-4))213 #define GET_SCNHDR_PAGE(ABFD, PTR) \214 (COFF2_P(ABFD) ? bfd_h_get_16 (ABFD,PTR) : bfd_h_get_8 (ABFD, (PTR)-7))218 #define GET_SCNHDR_NRELOC(ABFD, PTR) \ 219 (COFF2_P (ABFD) ? H_GET_32 (ABFD, PTR) : H_GET_16 (ABFD, PTR)) 220 #define PUT_SCNHDR_NRELOC(ABFD, VAL, PTR) \ 221 (COFF2_P (ABFD) ? H_PUT_32 (ABFD, VAL, PTR) : H_PUT_16 (ABFD, VAL, PTR)) 222 #define GET_SCNHDR_NLNNO(ABFD, PTR) \ 223 (COFF2_P (ABFD) ? H_GET_32 (ABFD, PTR) : H_GET_16 (ABFD, (PTR) -2)) 224 #define PUT_SCNHDR_NLNNO(ABFD, VAL, PTR) \ 225 (COFF2_P (ABFD) ? H_PUT_32 (ABFD, VAL, PTR) : H_PUT_16 (ABFD, VAL, (PTR) -2)) 226 #define GET_SCNHDR_FLAGS(ABFD, PTR) \ 227 (COFF2_P (ABFD) ? H_GET_32 (ABFD, PTR) : H_GET_16 (ABFD, (PTR) -4)) 228 #define PUT_SCNHDR_FLAGS(ABFD, VAL, PTR) \ 229 (COFF2_P (ABFD) ? H_PUT_32 (ABFD, VAL, PTR) : H_PUT_16 (ABFD, VAL, (PTR) -4)) 230 #define GET_SCNHDR_PAGE(ABFD, PTR) \ 231 (COFF2_P (ABFD) ? H_GET_16 (ABFD, PTR) : (unsigned) H_GET_8 (ABFD, (PTR) -7)) 215 232 /* on output, make sure that the "reserved" field is zero */ 216 #define PUT_SCNHDR_PAGE(ABFD,VAL,PTR) \ 217 (COFF2_P(ABFD) ? bfd_h_put_16 (ABFD,VAL,PTR) : \ 218 bfd_h_put_8 (ABFD,VAL,(PTR)-7), bfd_h_put_8 (ABFD, 0, (PTR)-8)) 233 #define PUT_SCNHDR_PAGE(ABFD, VAL, PTR) \ 234 (COFF2_P (ABFD) \ 235 ? H_PUT_16 (ABFD, VAL, PTR) \ 236 : H_PUT_8 (ABFD, VAL, (PTR) -7), H_PUT_8 (ABFD, 0, (PTR) -8)) 219 237 220 238 /* TI COFF stores section size as number of bytes (address units, not octets), 221 239 so adjust to be number of octets, which is what BFD expects */ 222 #define GET_SCNHDR_SIZE(ABFD,SZP) \ 223 (bfd_h_get_32(ABFD,SZP)*bfd_octets_per_byte(ABFD)) 224 #define PUT_SCNHDR_SIZE(ABFD,SZ,SZP) \ 225 bfd_h_put_32(ABFD,(SZ)/bfd_octets_per_byte(ABFD),SZP) 226 227 #define COFF_ADJUST_SCNHDR_IN_POST(ABFD,EXT,INT) \ 228 do { ((struct internal_scnhdr *)(INT))->s_page = \ 229 GET_SCNHDR_PAGE(ABFD,(bfd_byte *)((SCNHDR *)(EXT))->s_page); \ 230 } while(0) 240 #define GET_SCNHDR_SIZE(ABFD, SZP) \ 241 (H_GET_32 (ABFD, SZP) * bfd_octets_per_byte (ABFD)) 242 #define PUT_SCNHDR_SIZE(ABFD, SZ, SZP) \ 243 H_PUT_32 (ABFD, (SZ) / bfd_octets_per_byte (ABFD), SZP) 244 245 #define COFF_ADJUST_SCNHDR_IN_POST(ABFD, EXT, INT) \ 246 do \ 247 { \ 248 ((struct internal_scnhdr *)(INT))->s_page = \ 249 GET_SCNHDR_PAGE (ABFD, ((SCNHDR *)(EXT))->s_page); \ 250 } \ 251 while (0) 231 252 232 253 /* The line number and reloc overflow checking in coff_swap_scnhdr_out in … … 235 256 fields. 236 257 */ 237 #define COFF_ADJUST_SCNHDR_OUT_POST(ABFD,INT,EXT) \ 238 do { \ 239 PUT_SCNHDR_NLNNO(ABFD,((struct internal_scnhdr *)(INT))->s_nlnno,\ 240 (bfd_byte *)((SCNHDR *)(EXT))->s_nlnno); \ 241 PUT_SCNHDR_NRELOC(ABFD,((struct internal_scnhdr *)(INT))->s_nreloc,\ 242 (bfd_byte *)((SCNHDR *)(EXT))->s_nreloc); \ 243 PUT_SCNHDR_FLAGS(ABFD,((struct internal_scnhdr *)(INT))->s_flags, \ 244 (bfd_byte *)((SCNHDR *)(EXT))->s_flags); \ 245 PUT_SCNHDR_PAGE(ABFD,((struct internal_scnhdr *)(INT))->s_page, \ 246 (bfd_byte *)((SCNHDR *)(EXT))->s_page); \ 247 } while(0) 248 249 /* Page macros 250 251 The first GDB port requires flags in its remote memory access commands to 252 distinguish between data/prog space. Hopefully we can make this go away 253 eventually. Stuff the page in the upper bits of a 32-bit address, since 254 the c5x family only uses 16 or 23 bits. 255 256 c2x, c5x and most c54x devices have 16-bit addresses, but the c548 has 257 23-bit program addresses. Make sure the page flags don't interfere. 258 These flags are used by GDB to identify the destination page for 259 addresses. 260 */ 261 262 /* recognized load pages */ 263 #define PG_PROG 0x0 /* PROG page */ 264 #define PG_DATA 0x1 /* DATA page */ 265 266 #define ADDR_MASK 0x00FFFFFF 267 #define PG_TO_FLAG(p) (((unsigned long)(p) & 0xFF) << 24) 268 #define FLAG_TO_PG(f) (((f) >> 24) & 0xFF) 258 #define COFF_ADJUST_SCNHDR_OUT_POST(ABFD, INT, EXT) \ 259 do \ 260 { \ 261 PUT_SCNHDR_NLNNO (ABFD, ((struct internal_scnhdr *)(INT))->s_nlnno, \ 262 ((SCNHDR *)(EXT))->s_nlnno); \ 263 PUT_SCNHDR_NRELOC (ABFD, ((struct internal_scnhdr *)(INT))->s_nreloc,\ 264 ((SCNHDR *)(EXT))->s_nreloc); \ 265 PUT_SCNHDR_FLAGS (ABFD, ((struct internal_scnhdr *)(INT))->s_flags, \ 266 ((SCNHDR *)(EXT))->s_flags); \ 267 PUT_SCNHDR_PAGE (ABFD, ((struct internal_scnhdr *)(INT))->s_page, \ 268 ((SCNHDR *)(EXT))->s_page); \ 269 } \ 270 while (0) 269 271 270 272 /* … … 385 387 386 388 /* section lengths are in target bytes (not host bytes) */ 387 #define GET_SCN_SCNLEN(ABFD,EXT) \ 388 (bfd_h_get_32(ABFD,(bfd_byte *)(EXT)->x_scn.x_scnlen)*bfd_octets_per_byte(ABFD)) 389 #define PUT_SCN_SCNLEN(ABFD,INT,EXT) \ 390 bfd_h_put_32(ABFD,(INT)/bfd_octets_per_byte(ABFD),\ 391 (bfd_byte *)(EXT)->x_scn.x_scnlen) 389 #define GET_SCN_SCNLEN(ABFD, EXT) \ 390 (H_GET_32 (ABFD, (EXT)->x_scn.x_scnlen) * bfd_octets_per_byte (ABFD)) 391 #define PUT_SCN_SCNLEN(ABFD, INT, EXT) \ 392 H_PUT_32 (ABFD, (INT) / bfd_octets_per_byte (ABFD), (EXT)->x_scn.x_scnlen) 392 393 393 394 /* lnsz size is in bits in COFF file, in bytes in BFD */ 394 395 #define GET_LNSZ_SIZE(abfd, ext) \ 395 (bfd_h_get_16(abfd, (bfd_byte *)ext->x_sym.x_misc.x_lnsz.x_size) / \ 396 (class != C_FIELD ? 8 : 1)) 396 (H_GET_16 (abfd, ext->x_sym.x_misc.x_lnsz.x_size) / (class != C_FIELD ? 8 : 1)) 397 397 398 398 #define PUT_LNSZ_SIZE(abfd, in, ext) \ 399 bfd_h_put_16(abfd, ((class != C_FIELD) ? (in)*8 : (in)), \400 (bfd_byte*)ext->x_sym.x_misc.x_lnsz.x_size)399 H_PUT_16 (abfd, ((class != C_FIELD) ? (in) * 8 : (in)), \ 400 ext->x_sym.x_misc.x_lnsz.x_size) 401 401 402 /* TI COFF stores offsets for MOS and MOU in bits; BFD expects bytes */ 403 #define COFF_ADJUST_SYM_IN_POST(ABFD,EXT,INT) \ 404 do { struct internal_syment *dst = (struct internal_syment *)(INT); \ 405 if (dst->n_sclass == C_MOS || dst->n_sclass == C_MOU) dst->n_value /= 8; \ 406 } while (0) 407 408 #define COFF_ADJUST_SYM_OUT_POST(ABFD,INT,EXT) \ 409 do { struct internal_syment *src = (struct internal_syment *)(INT); \ 410 SYMENT *dst = (SYMENT *)(EXT); \ 411 if(src->n_sclass == C_MOU || src->n_sclass == C_MOS) \ 412 bfd_h_put_32(abfd,src->n_value * 8,(bfd_byte *)dst->e_value); \ 413 } while (0) 402 /* TI COFF stores offsets for MOS and MOU in bits; BFD expects bytes 403 Also put the load page flag of the section into the symbol value if it's an 404 address. */ 405 #ifndef NEEDS_PAGE 406 #define NEEDS_PAGE(X) 0 407 #define PAGE_MASK 0 408 #endif 409 #define COFF_ADJUST_SYM_IN_POST(ABFD, EXT, INT) \ 410 do \ 411 { \ 412 struct internal_syment *dst = (struct internal_syment *)(INT); \ 413 if (dst->n_sclass == C_MOS || dst->n_sclass == C_MOU) \ 414 dst->n_value /= 8; \ 415 else if (NEEDS_PAGE (dst->n_sclass)) { \ 416 asection *scn = coff_section_from_bfd_index (abfd, dst->n_scnum); \ 417 dst->n_value |= (scn->lma & PAGE_MASK); \ 418 } \ 419 } \ 420 while (0) 421 422 #define COFF_ADJUST_SYM_OUT_POST(ABFD, INT, EXT) \ 423 do \ 424 { \ 425 struct internal_syment *src = (struct internal_syment *)(INT); \ 426 SYMENT *dst = (SYMENT *)(EXT); \ 427 if (src->n_sclass == C_MOU || src->n_sclass == C_MOS) \ 428 H_PUT_32 (abfd, src->n_value * 8, dst->e_value); \ 429 else if (NEEDS_PAGE (src->n_sclass)) { \ 430 H_PUT_32 (abfd, src->n_value &= ~PAGE_MASK, dst->e_value); \ 431 } \ 432 } \ 433 while (0) 414 434 415 435 /* Detect section-relative absolute symbols so they get flagged with a sym 416 436 index of -1. 417 437 */ 418 #define SECTION_RELATIVE_ABSOLUTE_SYMBOL_P(RELOC, SECT) \419 ((*(RELOC)->sym_ptr_ptr)->section->output_section == (SECT) \420 && (RELOC)->howto->name[0] == 'A')438 #define SECTION_RELATIVE_ABSOLUTE_SYMBOL_P(RELOC, SECT) \ 439 ((*(RELOC)->sym_ptr_ptr)->section->output_section == (SECT) \ 440 && (RELOC)->howto->name[0] == 'A') 421 441 422 442 /********************** RELOCATION DIRECTIVES **********************/ 423 443 424 struct external_reloc_v0 { 444 struct external_reloc_v0 445 { 425 446 char r_vaddr[4]; 426 447 char r_symndx[2]; … … 429 450 }; 430 451 431 struct external_reloc { 452 struct external_reloc 453 { 432 454 char r_vaddr[4]; 433 455 char r_symndx[4]; -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/tic30.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 17 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 18 18 19 /********************** FILE HEADER **********************/ 20 21 struct external_filehdr { 22 char f_magic[2]; /* magic number */ 23 char f_nscns[2]; /* number of sections */ 24 char f_timdat[4]; /* time & date stamp */ 25 char f_symptr[4]; /* file pointer to symtab */ 26 char f_nsyms[4]; /* number of symtab entries */ 27 char f_opthdr[2]; /* sizeof(optional hdr) */ 28 char f_flags[2]; /* flags */ 29 }; 30 19 #define L_LNNO_SIZE 4 20 #include "coff/external.h" 31 21 32 22 #define TIC30MAGIC 0xC000 33 23 34 #define TIC30BADMAG(x) (((x).f_magic!=TIC30MAGIC)) 35 36 #define FILHDR struct external_filehdr 37 #define FILHSZ 20 38 39 40 /********************** AOUT "OPTIONAL HEADER" **********************/ 41 42 43 typedef struct 44 { 45 char magic[2]; /* type of file */ 46 char vstamp[2]; /* version stamp */ 47 char tsize[4]; /* text size in bytes, padded to FW bdry*/ 48 char dsize[4]; /* initialized data " " */ 49 char bsize[4]; /* uninitialized data " " */ 50 char entry[4]; /* entry pt. */ 51 char text_start[4]; /* base of text used for this file */ 52 char data_start[4]; /* base of data used for this file */ 53 } 54 AOUTHDR; 55 56 57 #define AOUTHDRSZ 28 58 #define AOUTSZ 28 59 60 61 62 63 /********************** SECTION HEADER **********************/ 64 65 66 struct external_scnhdr { 67 char s_name[8]; /* section name */ 68 char s_paddr[4]; /* physical address, aliased s_nlib */ 69 char s_vaddr[4]; /* virtual address */ 70 char s_size[4]; /* section size */ 71 char s_scnptr[4]; /* file ptr to raw data for section */ 72 char s_relptr[4]; /* file ptr to relocation */ 73 char s_lnnoptr[4]; /* file ptr to line numbers */ 74 char s_nreloc[2]; /* number of relocation entries */ 75 char s_nlnno[2]; /* number of line number entries*/ 76 char s_flags[4]; /* flags */ 77 }; 78 79 /* 80 * names of "special" sections 81 */ 82 #define _TEXT ".text" 83 #define _DATA ".data" 84 #define _BSS ".bss" 85 86 87 #define SCNHDR struct external_scnhdr 88 #define SCNHSZ 40 89 90 91 /********************** LINE NUMBERS **********************/ 92 93 /* 1 line number entry for every "breakpointable" source line in a section. 94 * Line numbers are grouped on a per function basis; first entry in a function 95 * grouping will have l_lnno = 0 and in place of physical address will be the 96 * symbol table index of the function name. 97 */ 98 struct external_lineno { 99 union { 100 char l_symndx[4]; /* function name symbol index, iff l_lnno == 0*/ 101 char l_paddr[4]; /* (physical) address of line number */ 102 } l_addr; 103 char l_lnno[4]; /* line number */ 104 }; 105 106 #define GET_LINENO_LNNO(abfd, ext) bfd_h_get_32(abfd, (bfd_byte *) (ext->l_lnno)); 107 #define PUT_LINENO_LNNO(abfd,val, ext) bfd_h_put_32(abfd,val, (bfd_byte *) (ext->l_lnno)); 108 109 #define LINENO struct external_lineno 110 #define LINESZ 8 111 112 113 /********************** SYMBOLS **********************/ 114 115 #define E_SYMNMLEN 8 /* # characters in a symbol name */ 116 #define E_FILNMLEN 14 /* # characters in a file name */ 117 #define E_DIMNUM 4 /* # array dimensions in auxiliary entry */ 118 119 struct external_syment 120 { 121 union { 122 char e_name[E_SYMNMLEN]; 123 struct { 124 char e_zeroes[4]; 125 char e_offset[4]; 126 } e; 127 } e; 128 char e_value[4]; 129 char e_scnum[2]; 130 char e_type[2]; 131 char e_sclass[1]; 132 char e_numaux[1]; 133 }; 134 135 136 137 #define N_BTMASK (017) 138 #define N_TMASK (060) 139 #define N_BTSHFT (4) 140 #define N_TSHIFT (2) 141 142 143 union external_auxent { 144 struct { 145 char x_tagndx[4]; /* str, un, or enum tag indx */ 146 union { 147 struct { 148 char x_lnno[2]; /* declaration line number */ 149 char x_size[2]; /* str/union/array size */ 150 } x_lnsz; 151 char x_fsize[4]; /* size of function */ 152 } x_misc; 153 union { 154 struct { /* if ISFCN, tag, or .bb */ 155 char x_lnnoptr[4]; /* ptr to fcn line # */ 156 char x_endndx[4]; /* entry ndx past block end */ 157 } x_fcn; 158 struct { /* if ISARY, up to 4 dimen. */ 159 char x_dimen[E_DIMNUM][2]; 160 } x_ary; 161 } x_fcnary; 162 char x_tvndx[2]; /* tv index */ 163 } x_sym; 164 165 union { 166 char x_fname[E_FILNMLEN]; 167 struct { 168 char x_zeroes[4]; 169 char x_offset[4]; 170 } x_n; 171 } x_file; 172 173 struct { 174 char x_scnlen[4]; /* section length */ 175 char x_nreloc[2]; /* # relocation entries */ 176 char x_nlinno[2]; /* # line numbers */ 177 } x_scn; 178 179 struct { 180 char x_tvfill[4]; /* tv fill value */ 181 char x_tvlen[2]; /* length of .tv */ 182 char x_tvran[2][2]; /* tv range */ 183 } x_tv; /* info about .tv section (in auxent of symbol .tv)) */ 184 185 186 }; 187 188 #define SYMENT struct external_syment 189 #define SYMESZ 18 190 #define AUXENT union external_auxent 191 #define AUXESZ 18 192 193 24 #define TIC30BADMAG(x) (((x).f_magic != TIC30MAGIC)) 194 25 195 26 /********************** RELOCATION DIRECTIVES **********************/ … … 199 30 offset - eg with segments */ 200 31 201 struct external_reloc { 32 struct external_reloc 33 { 202 34 char r_vaddr[4]; 203 35 char r_symndx[4]; … … 206 38 char r_stuff[2]; 207 39 }; 208 209 40 210 41 #define RELOC struct external_reloc -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/tic54x.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 19 19 20 20 #ifndef COFF_TIC54X_H 21 #define COFF_TIC54X_H 21 22 22 #define COFF_TIC54X_H23 23 #define TIC54X_TARGET_ID 0x98 24 24 #define TIC54XALGMAGIC 0x009B /* c54x algebraic assembler output */ … … 30 30 #define TICOFF_DEFAULT_MAGIC TICOFF1MAGIC /* we use COFF1 for compatibility */ 31 31 32 /* Page macros 33 34 The first GDB port requires flags in its remote memory access commands to 35 distinguish between data/prog space. Hopefully we can make this go away 36 eventually. Stuff the page in the upper bits of a 32-bit address, since 37 the c5x family only uses 16 or 23 bits. 38 39 c2x, c5x and most c54x devices have 16-bit addresses, but the c548 has 40 23-bit program addresses. Make sure the page flags don't interfere. 41 These flags are used by GDB to identify the destination page for 42 addresses. 43 */ 44 45 /* Recognized load pages (by common convention). */ 46 #define PG_PROG 0x0 /* PROG page */ 47 #define PG_DATA 0x1 /* DATA page */ 48 #define PG_IO 0x2 /* I/O page */ 49 50 /** Indicate whether the given storage class requires a page flag. */ 51 #define NEEDS_PAGE(X) ((X)==C_EXT) 52 #define PAGE_MASK 0xFF000000 53 #define ADDR_MASK 0x00FFFFFF 54 #define PG_TO_FLAG(p) (((unsigned long)(p) & 0xFF) << 24) 55 #define FLAG_TO_PG(f) (((f) >> 24) & 0xFF) 56 32 57 #include "coff/ti.h" 33 58 -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/tic80.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 17 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 18 18 19 #define DO_NOT_DEFINE_FILHDR 20 #define DO_NOT_DEFINE_SCNHDR 21 #define L_LNNO_SIZE 2 22 #include "coff/external.h" 23 19 24 /********************** FILE HEADER **********************/ 20 25 21 struct external_filehdr { 22 char f_magic[2]; /* magic number */ 23 char f_nscns[2]; /* number of sections */ 24 char f_timdat[4]; /* time & date stamp */ 25 char f_symptr[4]; /* file pointer to symtab */ 26 char f_nsyms[4]; /* number of symtab entries */ 27 char f_opthdr[2]; /* sizeof(optional hdr) */ 28 char f_flags[2]; /* flags */ 29 char f_target_id[2]; /* target id (TIc80 specific) */ 26 struct external_filehdr 27 { 28 char f_magic[2]; /* magic number */ 29 char f_nscns[2]; /* number of sections */ 30 char f_timdat[4]; /* time & date stamp */ 31 char f_symptr[4]; /* file pointer to symtab */ 32 char f_nsyms[4]; /* number of symtab entries */ 33 char f_opthdr[2]; /* sizeof(optional hdr) */ 34 char f_flags[2]; /* flags */ 35 char f_target_id[2];/* target id (TIc80 specific) */ 30 36 }; 31 37 … … 38 44 #define FILHSZ 22 39 45 40 41 /********************** AOUT "OPTIONAL HEADER" **********************/42 43 44 typedef struct45 {46 char magic[2]; /* type of file */47 char vstamp[2]; /* version stamp */48 char tsize[4]; /* text size in bytes, padded to FW bdry*/49 char dsize[4]; /* initialized data " " */50 char bsize[4]; /* uninitialized data " " */51 char entry[4]; /* entry pt. */52 char text_start[4]; /* base of text used for this file */53 char data_start[4]; /* base of data used for this file */54 }55 AOUTHDR;56 57 46 #define TIC80_AOUTHDR_MAGIC 0x108 /* Goes in the optional file header magic number field */ 58 59 #define AOUTHDRSZ 2860 #define AOUTSZ 2861 62 63 64 47 65 48 /********************** SECTION HEADER **********************/ 66 49 67 68 struct external_scnhdr{50 struct external_scnhdr 51 { 69 52 char s_name[8]; /* section name */ 70 53 char s_paddr[4]; /* physical address, aliased s_nlib */ … … 81 64 }; 82 65 83 /* 84 * names of "special" sections 85 */ 66 /* Names of "special" sections. */ 86 67 #define _TEXT ".text" 87 68 #define _DATA ".data" … … 93 74 #define _SYSMEM ".sysmem" 94 75 95 96 76 #define SCNHDR struct external_scnhdr 97 77 #define SCNHSZ 40 98 99 100 /********************** LINE NUMBERS **********************/101 102 /* 1 line number entry for every "breakpointable" source line in a section.103 * Line numbers are grouped on a per function basis; first entry in a function104 * grouping will have l_lnno = 0 and in place of physical address will be the105 * symbol table index of the function name.106 */107 struct external_lineno {108 union {109 char l_symndx[4]; /* function name symbol index, iff l_lnno == 0*/110 char l_paddr[4]; /* (physical) address of line number */111 } l_addr;112 char l_lnno[2]; /* line number */113 };114 115 #define GET_LINENO_LNNO(abfd, ext) bfd_h_get_16(abfd, (bfd_byte *) (ext->l_lnno));116 #define PUT_LINENO_LNNO(abfd,val, ext) bfd_h_put_16(abfd,val, (bfd_byte *) (ext->l_lnno));117 118 #define LINENO struct external_lineno119 #define LINESZ 6120 121 122 /********************** SYMBOLS **********************/123 124 #define E_SYMNMLEN 8 /* # characters in a symbol name */125 #define E_FILNMLEN 14 /* # characters in a file name */126 #define E_DIMNUM 4 /* # array dimensions in auxiliary entry */127 128 struct external_syment129 {130 union {131 char e_name[E_SYMNMLEN];132 struct {133 char e_zeroes[4];134 char e_offset[4];135 } e;136 } e;137 char e_value[4];138 char e_scnum[2];139 char e_type[2];140 char e_sclass[1];141 char e_numaux[1];142 };143 144 145 146 #define N_BTMASK (017)147 #define N_TMASK (060)148 #define N_BTSHFT (4)149 #define N_TSHIFT (2)150 78 151 /* FIXME - need to correlate with TIc80 Code Generation Tools User's Guide, CG:A-25 */ 152 union external_auxent { 153 struct { 154 char x_tagndx[4]; /* str, un, or enum tag indx */ 155 union { 156 struct { 157 char x_lnno[2]; /* declaration line number */ 158 char x_size[2]; /* str/union/array size */ 159 } x_lnsz; 160 char x_fsize[4]; /* size of function */ 161 } x_misc; 162 union { 163 struct { /* if ISFCN, tag, or .bb */ 164 char x_lnnoptr[4]; /* ptr to fcn line # */ 165 char x_endndx[4]; /* entry ndx past block end */ 166 } x_fcn; 167 struct { /* if ISARY, up to 4 dimen. */ 168 char x_dimen[E_DIMNUM][2]; 169 } x_ary; 170 } x_fcnary; 171 char x_tvndx[2]; /* tv index */ 172 } x_sym; 173 174 union { 175 char x_fname[E_FILNMLEN]; 176 struct { 177 char x_zeroes[4]; 178 char x_offset[4]; 179 } x_n; 180 } x_file; 181 182 struct { 183 char x_scnlen[4]; /* section length */ 184 char x_nreloc[2]; /* # relocation entries */ 185 char x_nlinno[2]; /* # line numbers */ 186 } x_scn; 187 188 struct { 189 char x_tvfill[4]; /* tv fill value */ 190 char x_tvlen[2]; /* length of .tv */ 191 char x_tvran[2][2]; /* tv range */ 192 } x_tv; /* info about .tv section (in auxent of symbol .tv)) */ 193 194 195 }; 196 197 #define SYMENT struct external_syment 198 #define SYMESZ 18 199 #define AUXENT union external_auxent 200 #define AUXESZ 18 201 202 79 /* FIXME - need to correlate external_auxent with 80 TIc80 Code Generation Tools User's Guide, CG:A-25 */ 203 81 204 82 /********************** RELOCATION DIRECTIVES **********************/ … … 206 84 /* The external reloc has an offset field, because some of the reloc 207 85 types on the h8 don't have room in the instruction for the entire 208 offset - eg the strange jump and high page addressing modes */86 offset - eg the strange jump and high page addressing modes. */ 209 87 210 struct external_reloc { 88 struct external_reloc 89 { 211 90 char r_vaddr[4]; 212 91 char r_symndx[4]; … … 214 93 char r_type[2]; 215 94 }; 216 217 95 218 96 #define RELOC struct external_reloc -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/w65.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 17 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 18 18 19 /********************** FILE HEADER **********************/ 20 21 struct external_filehdr { 22 char f_magic[2]; /* magic number */ 23 char f_nscns[2]; /* number of sections */ 24 char f_timdat[4]; /* time & date stamp */ 25 char f_symptr[4]; /* file pointer to symtab */ 26 char f_nsyms[4]; /* number of symtab entries */ 27 char f_opthdr[2]; /* sizeof(optional hdr) */ 28 char f_flags[2]; /* flags */ 29 }; 30 31 19 #define L_LNNO_SIZE 4 20 #include "coff/external.h" 32 21 33 22 #define W65MAGIC 0x6500 34 23 35 36 #define W65BADMAG(x) (((x).f_magic!=W65MAGIC)) 37 38 #define FILHDR struct external_filehdr 39 #define FILHSZ 20 40 41 42 /********************** AOUT "OPTIONAL HEADER" **********************/ 43 44 45 typedef struct 46 { 47 char magic[2]; /* type of file */ 48 char vstamp[2]; /* version stamp */ 49 char tsize[4]; /* text size in bytes, padded to FW bdry*/ 50 char dsize[4]; /* initialized data " " */ 51 char bsize[4]; /* uninitialized data " " */ 52 char entry[4]; /* entry pt. */ 53 char text_start[4]; /* base of text used for this file */ 54 char data_start[4]; /* base of data used for this file */ 55 } 56 AOUTHDR; 57 58 59 #define AOUTHDRSZ 28 60 #define AOUTSZ 28 61 62 63 64 65 /********************** SECTION HEADER **********************/ 66 67 68 struct external_scnhdr { 69 char s_name[8]; /* section name */ 70 char s_paddr[4]; /* physical address, aliased s_nlib */ 71 char s_vaddr[4]; /* virtual address */ 72 char s_size[4]; /* section size */ 73 char s_scnptr[4]; /* file ptr to raw data for section */ 74 char s_relptr[4]; /* file ptr to relocation */ 75 char s_lnnoptr[4]; /* file ptr to line numbers */ 76 char s_nreloc[2]; /* number of relocation entries */ 77 char s_nlnno[2]; /* number of line number entries*/ 78 char s_flags[4]; /* flags */ 79 }; 80 81 /* 82 * names of "special" sections 83 */ 84 #define _TEXT ".text" 85 #define _DATA ".data" 86 #define _BSS ".bss" 87 88 89 #define SCNHDR struct external_scnhdr 90 #define SCNHSZ 40 91 92 93 /********************** LINE NUMBERS **********************/ 94 95 /* 1 line number entry for every "breakpointable" source line in a section. 96 * Line numbers are grouped on a per function basis; first entry in a function 97 * grouping will have l_lnno = 0 and in place of physical address will be the 98 * symbol table index of the function name. 99 */ 100 struct external_lineno { 101 union { 102 char l_symndx[4]; /* function name symbol index, iff l_lnno == 0*/ 103 char l_paddr[4]; /* (physical) address of line number */ 104 } l_addr; 105 char l_lnno[4]; /* line number */ 106 }; 107 108 #define GET_LINENO_LNNO(abfd, ext) bfd_h_get_32(abfd, (bfd_byte *) (ext->l_lnno)); 109 #define PUT_LINENO_LNNO(abfd,val, ext) bfd_h_put_32(abfd,val, (bfd_byte *) (ext->l_lnno)); 110 111 #define LINENO struct external_lineno 112 #define LINESZ 8 113 114 115 /********************** SYMBOLS **********************/ 116 117 #define E_SYMNMLEN 8 /* # characters in a symbol name */ 118 #define E_FILNMLEN 14 /* # characters in a file name */ 119 #define E_DIMNUM 4 /* # array dimensions in auxiliary entry */ 120 121 struct external_syment 122 { 123 union { 124 char e_name[E_SYMNMLEN]; 125 struct { 126 char e_zeroes[4]; 127 char e_offset[4]; 128 } e; 129 } e; 130 char e_value[4]; 131 char e_scnum[2]; 132 char e_type[2]; 133 char e_sclass[1]; 134 char e_numaux[1]; 135 }; 136 137 138 139 #define N_BTMASK (017) 140 #define N_TMASK (060) 141 #define N_BTSHFT (4) 142 #define N_TSHIFT (2) 143 144 145 union external_auxent { 146 struct { 147 char x_tagndx[4]; /* str, un, or enum tag indx */ 148 union { 149 struct { 150 char x_lnno[2]; /* declaration line number */ 151 char x_size[2]; /* str/union/array size */ 152 } x_lnsz; 153 char x_fsize[4]; /* size of function */ 154 } x_misc; 155 union { 156 struct { /* if ISFCN, tag, or .bb */ 157 char x_lnnoptr[4]; /* ptr to fcn line # */ 158 char x_endndx[4]; /* entry ndx past block end */ 159 } x_fcn; 160 struct { /* if ISARY, up to 4 dimen. */ 161 char x_dimen[E_DIMNUM][2]; 162 } x_ary; 163 } x_fcnary; 164 char x_tvndx[2]; /* tv index */ 165 } x_sym; 166 167 union { 168 char x_fname[E_FILNMLEN]; 169 struct { 170 char x_zeroes[4]; 171 char x_offset[4]; 172 } x_n; 173 } x_file; 174 175 struct { 176 char x_scnlen[4]; /* section length */ 177 char x_nreloc[2]; /* # relocation entries */ 178 char x_nlinno[2]; /* # line numbers */ 179 } x_scn; 180 181 struct { 182 char x_tvfill[4]; /* tv fill value */ 183 char x_tvlen[2]; /* length of .tv */ 184 char x_tvran[2][2]; /* tv range */ 185 } x_tv; /* info about .tv section (in auxent of symbol .tv)) */ 186 187 188 }; 189 190 #define SYMENT struct external_syment 191 #define SYMESZ 18 192 #define AUXENT union external_auxent 193 #define AUXESZ 18 194 195 24 #define W65BADMAG(x) (((x).f_magic != W65MAGIC)) 196 25 197 26 /********************** RELOCATION DIRECTIVES **********************/ … … 201 30 offset - eg the strange jump and high page addressing modes */ 202 31 203 struct external_reloc { 32 struct external_reloc 33 { 204 34 char r_vaddr[4]; 205 35 char r_symndx[4]; … … 209 39 }; 210 40 211 212 41 #define RELOC struct external_reloc 213 42 #define RELSZ 16 -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/we32k.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 16 16 along with this program; if not, write to the Free Software 17 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 18 19 /********************** FILE HEADER **********************/ 20 21 struct external_filehdr { 22 char f_magic[2]; /* magic number */ 23 char f_nscns[2]; /* number of sections */ 24 char f_timdat[4]; /* time & date stamp */ 25 char f_symptr[4]; /* file pointer to symtab */ 26 char f_nsyms[4]; /* number of symtab entries */ 27 char f_opthdr[2]; /* sizeof(optional hdr) */ 28 char f_flags[2]; /* flags */ 29 }; 30 18 #define L_LNNO_SIZE 2 19 #include "coff/external.h" 31 20 32 21 /* Bits for f_flags: 33 * F_RELFLG relocation info stripped from file 34 * F_EXEC file is executable (no unresolved external references) 35 * F_LNNO line numbers stripped from file 36 * F_LSYMS local symbols stripped from file 37 * F_AR32WR file has byte ordering of an AR32WR machine (e.g. vax) 38 */ 22 F_RELFLG relocation info stripped from file 23 F_EXEC file is executable (no unresolved external references) 24 F_LNNO line numbers stripped from file 25 F_LSYMS local symbols stripped from file 26 F_AR32WR file has byte ordering of an AR32WR machine (e.g. vax). */ 39 27 40 28 #define F_RELFLG (0x0001) … … 49 37 #define MTVMAGIC 0x171 /* we32k with transfer vector */ 50 38 #define RBOMAGIC 0x172 /* reserved */ 51 #define WE32KBADMAG(x) ( ((x).f_magic != WE32KMAGIC) \39 #define WE32KBADMAG(x) ( ((x).f_magic != WE32KMAGIC) \ 52 40 && ((x).f_magic != FBOMAGIC) \ 53 41 && ((x).f_magic != RBOMAGIC) \ 54 42 && ((x).f_magic != MTVMAGIC)) 55 43 56 #define FILHDR struct external_filehdr 57 #define FILHSZ 20 58 59 60 /********************** AOUT "OPTIONAL HEADER" **********************/ 61 62 63 typedef struct 64 { 65 char magic[2]; /* type of file */ 66 char vstamp[2]; /* version stamp */ 67 char tsize[4]; /* text size in bytes, padded to FW bdry*/ 68 char dsize[4]; /* initialized data " " */ 69 char bsize[4]; /* uninitialized data " " */ 70 char entry[4]; /* entry pt. */ 71 char text_start[4]; /* base of text used for this file */ 72 char data_start[4]; /* base of data used for this file */ 73 } 74 AOUTHDR; 75 76 #define AOUTSZ 28 77 #define AOUTHDRSZ 28 78 79 /********************** SECTION HEADER **********************/ 80 81 82 struct external_scnhdr { 83 char s_name[8]; /* section name */ 84 char s_paddr[4]; /* physical address, aliased s_nlib */ 85 char s_vaddr[4]; /* virtual address */ 86 char s_size[4]; /* section size */ 87 char s_scnptr[4]; /* file ptr to raw data for section */ 88 char s_relptr[4]; /* file ptr to relocation */ 89 char s_lnnoptr[4]; /* file ptr to line numbers */ 90 char s_nreloc[2]; /* number of relocation entries */ 91 char s_nlnno[2]; /* number of line number entries*/ 92 char s_flags[4]; /* flags */ 93 }; 94 95 #define SCNHDR struct external_scnhdr 96 #define SCNHSZ 40 97 98 /* 99 * names of "special" sections 100 */ 101 #define _TEXT ".text" 102 #define _DATA ".data" 103 #define _BSS ".bss" 44 /* More names of "special" sections. */ 104 45 #define _TV ".tv" 105 46 #define _INIT ".init" 106 47 #define _FINI ".fini" 107 48 108 /********************** LINE NUMBERS **********************/109 110 /* 1 line number entry for every "breakpointable" source line in a section.111 * Line numbers are grouped on a per function basis; first entry in a function112 * grouping will have l_lnno = 0 and in place of physical address will be the113 * symbol table index of the function name.114 */115 struct external_lineno {116 union {117 char l_symndx[4]; /* function name symbol index, iff l_lnno == 0*/118 char l_paddr[4]; /* (physical) address of line number */119 } l_addr;120 char l_lnno[2]; /* line number */121 };122 123 124 #define LINENO struct external_lineno125 #define LINESZ 6126 127 128 /********************** SYMBOLS **********************/129 130 #define E_SYMNMLEN 8 /* # characters in a symbol name */131 #define E_FILNMLEN 14 /* # characters in a file name */132 #define E_DIMNUM 4 /* # array dimensions in auxiliary entry */133 134 struct external_syment135 {136 union {137 char e_name[E_SYMNMLEN];138 struct {139 char e_zeroes[4];140 char e_offset[4];141 } e;142 } e;143 char e_value[4];144 char e_scnum[2];145 char e_type[2];146 char e_sclass[1];147 char e_numaux[1];148 };149 150 #define N_BTMASK (0xf)151 #define N_TMASK (0x30)152 #define N_BTSHFT (4)153 #define N_TSHIFT (2)154 155 union external_auxent {156 struct {157 char x_tagndx[4]; /* str, un, or enum tag indx */158 union {159 struct {160 char x_lnno[2]; /* declaration line number */161 char x_size[2]; /* str/union/array size */162 } x_lnsz;163 char x_fsize[4]; /* size of function */164 } x_misc;165 union {166 struct { /* if ISFCN, tag, or .bb */167 char x_lnnoptr[4]; /* ptr to fcn line # */168 char x_endndx[4]; /* entry ndx past block end */169 } x_fcn;170 struct { /* if ISARY, up to 4 dimen. */171 char x_dimen[E_DIMNUM][2];172 } x_ary;173 } x_fcnary;174 char x_tvndx[2]; /* tv index */175 } x_sym;176 177 union {178 char x_fname[E_FILNMLEN];179 struct {180 char x_zeroes[4];181 char x_offset[4];182 } x_n;183 } x_file;184 185 struct {186 char x_scnlen[4]; /* section length */187 char x_nreloc[2]; /* # relocation entries */188 char x_nlinno[2]; /* # line numbers */189 } x_scn;190 191 struct {192 char x_tvfill[4]; /* tv fill value */193 char x_tvlen[2]; /* length of .tv */194 char x_tvran[2][2]; /* tv range */195 } x_tv; /* info about .tv section (in auxent of symbol .tv)) */196 197 198 };199 200 #define SYMENT struct external_syment201 #define SYMESZ 18202 #define AUXENT union external_auxent203 #define AUXESZ 18204 205 206 # define _ETEXT "etext"207 208 209 49 /********************** RELOCATION DIRECTIVES **********************/ 210 50 211 212 213 struct external_reloc { 51 struct external_reloc 52 { 214 53 char r_vaddr[4]; 215 54 char r_symndx[4]; … … 217 56 }; 218 57 219 220 58 #define RELOC struct external_reloc 221 59 #define RELSZ 10 -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/coff/z8k.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 17 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 18 18 19 /********************** FILE HEADER **********************/ 20 21 struct external_filehdr { 22 char f_magic[2]; /* magic number */ 23 char f_nscns[2]; /* number of sections */ 24 char f_timdat[4]; /* time & date stamp */ 25 char f_symptr[4]; /* file pointer to symtab */ 26 char f_nsyms[4]; /* number of symtab entries */ 27 char f_opthdr[2]; /* sizeof(optional hdr) */ 28 char f_flags[2]; /* flags */ 29 }; 30 19 #define L_LNNO_SIZE 4 20 #include "coff/external.h" 31 21 32 22 /* Type of cpu is stored in flags */ … … 35 25 #define F_MACHMASK 0xf000 36 26 37 #define Z8KMAGIC 27 #define Z8KMAGIC 0x8000 38 28 39 #define Z8KBADMAG(x) (((x).f_magic!=Z8KMAGIC)) 40 41 #define FILHDR struct external_filehdr 42 #define FILHSZ 20 43 44 45 /********************** AOUT "OPTIONAL HEADER" **********************/ 46 47 48 typedef struct 49 { 50 char magic[2]; /* type of file */ 51 char vstamp[2]; /* version stamp */ 52 char tsize[4]; /* text size in bytes, padded to FW bdry*/ 53 char dsize[4]; /* initialized data " " */ 54 char bsize[4]; /* uninitialized data " " */ 55 char entry[4]; /* entry pt. */ 56 char text_start[4]; /* base of text used for this file */ 57 char data_start[4]; /* base of data used for this file */ 58 } 59 AOUTHDR; 60 61 62 #define AOUTHDRSZ 28 63 #define AOUTSZ 28 64 65 66 67 68 /********************** SECTION HEADER **********************/ 69 70 71 struct external_scnhdr { 72 char s_name[8]; /* section name */ 73 char s_paddr[4]; /* physical address, aliased s_nlib */ 74 char s_vaddr[4]; /* virtual address */ 75 char s_size[4]; /* section size */ 76 char s_scnptr[4]; /* file ptr to raw data for section */ 77 char s_relptr[4]; /* file ptr to relocation */ 78 char s_lnnoptr[4]; /* file ptr to line numbers */ 79 char s_nreloc[2]; /* number of relocation entries */ 80 char s_nlnno[2]; /* number of line number entries*/ 81 char s_flags[4]; /* flags */ 82 }; 83 84 /* 85 * names of "special" sections 86 */ 87 #define _TEXT ".text" 88 #define _DATA ".data" 89 #define _BSS ".bss" 90 91 92 #define SCNHDR struct external_scnhdr 93 #define SCNHSZ 40 94 95 96 /********************** LINE NUMBERS **********************/ 97 98 /* 1 line number entry for every "breakpointable" source line in a section. 99 * Line numbers are grouped on a per function basis; first entry in a function 100 * grouping will have l_lnno = 0 and in place of physical address will be the 101 * symbol table index of the function name. 102 */ 103 struct external_lineno { 104 union { 105 char l_symndx[4]; /* function name symbol index, iff l_lnno == 0*/ 106 char l_paddr[4]; /* (physical) address of line number */ 107 } l_addr; 108 char l_lnno[4]; /* line number */ 109 }; 110 111 #define GET_LINENO_LNNO(abfd, ext) bfd_h_get_32(abfd, (bfd_byte *) (ext->l_lnno)); 112 #define PUT_LINENO_LNNO(abfd,val, ext) bfd_h_put_32(abfd,val, (bfd_byte *) (ext->l_lnno)); 113 114 #define LINENO struct external_lineno 115 #define LINESZ 8 116 117 118 /********************** SYMBOLS **********************/ 119 120 #define E_SYMNMLEN 8 /* # characters in a symbol name */ 121 #define E_FILNMLEN 14 /* # characters in a file name */ 122 #define E_DIMNUM 4 /* # array dimensions in auxiliary entry */ 123 124 struct external_syment 125 { 126 union { 127 char e_name[E_SYMNMLEN]; 128 struct { 129 char e_zeroes[4]; 130 char e_offset[4]; 131 } e; 132 } e; 133 char e_value[4]; 134 char e_scnum[2]; 135 char e_type[2]; 136 char e_sclass[1]; 137 char e_numaux[1]; 138 }; 139 140 141 142 #define N_BTMASK (017) 143 #define N_TMASK (060) 144 #define N_BTSHFT (4) 145 #define N_TSHIFT (2) 29 #define Z8KBADMAG(x) (((x).f_magic != Z8KMAGIC)) 146 30 147 148 union external_auxent {149 struct {150 char x_tagndx[4]; /* str, un, or enum tag indx */151 union {152 struct {153 char x_lnno[2]; /* declaration line number */154 char x_size[2]; /* str/union/array size */155 } x_lnsz;156 char x_fsize[4]; /* size of function */157 } x_misc;158 union {159 struct { /* if ISFCN, tag, or .bb */160 char x_lnnoptr[4]; /* ptr to fcn line # */161 char x_endndx[4]; /* entry ndx past block end */162 } x_fcn;163 struct { /* if ISARY, up to 4 dimen. */164 char x_dimen[E_DIMNUM][2];165 } x_ary;166 } x_fcnary;167 char x_tvndx[2]; /* tv index */168 } x_sym;169 170 union {171 char x_fname[E_FILNMLEN];172 struct {173 char x_zeroes[4];174 char x_offset[4];175 } x_n;176 } x_file;177 178 struct {179 char x_scnlen[4]; /* section length */180 char x_nreloc[2]; /* # relocation entries */181 char x_nlinno[2]; /* # line numbers */182 } x_scn;183 184 struct {185 char x_tvfill[4]; /* tv fill value */186 char x_tvlen[2]; /* length of .tv */187 char x_tvran[2][2]; /* tv range */188 } x_tv; /* info about .tv section (in auxent of symbol .tv)) */189 190 191 };192 193 #define SYMENT struct external_syment194 #define SYMESZ 18195 #define AUXENT union external_auxent196 #define AUXESZ 18197 198 199 200 31 /********************** RELOCATION DIRECTIVES **********************/ 201 32 202 33 /* The external reloc has an offset field, because some of the reloc 203 34 types on the z8k don't have room in the instruction for the entire 204 offset - eg with segments */35 offset - eg with segments. */ 205 36 206 struct external_reloc { 37 struct external_reloc 38 { 207 39 char r_vaddr[4]; 208 40 char r_symndx[4]; … … 212 44 }; 213 45 214 215 46 #define RELOC struct external_reloc 216 47 #define RELSZ 16 -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/demangle.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* Defs for interface to demanglers. 2 Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000 2 Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002 3 3 Free Software Foundation, Inc. 4 4 … … 22 22 #define DEMANGLE_H 23 23 24 #include <ansidecl.h>24 #include "ansidecl.h" 25 25 26 26 /* Options passed to cplus_demangle (in 2nd parameter). */ … … 30 30 #define DMGL_ANSI (1 << 1) /* Include const, volatile, etc */ 31 31 #define DMGL_JAVA (1 << 2) /* Demangle as Java rather than C++. */ 32 #define DMGL_VERBOSE (1 << 3) /* Include implementation details. */ 33 #define DMGL_TYPES (1 << 4) /* Also try to demangle type encodings. */ 32 34 33 35 #define DMGL_AUTO (1 << 8) … … 55 57 extern enum demangling_styles 56 58 { 59 no_demangling = -1, 57 60 unknown_demangling = 0, 58 61 auto_demangling = DMGL_AUTO, … … 69 72 /* Define string names for the various demangling styles. */ 70 73 74 #define NO_DEMANGLING_STYLE_STRING "none" 71 75 #define AUTO_DEMANGLING_STYLE_STRING "auto" 72 76 #define GNU_DEMANGLING_STYLE_STRING "gnu" … … 95 99 pulled from gdb into libiberty because it is useful to binutils also. */ 96 100 97 extern struct demangler_engine101 extern const struct demangler_engine 98 102 { 99 const char * demangling_style_name;100 enum demangling_styles demangling_style;101 const char * demangling_style_doc;103 const char *const demangling_style_name; 104 const enum demangling_styles demangling_style; 105 const char *const demangling_style_doc; 102 106 } libiberty_demanglers[]; 103 107 … … 122 126 cplus_demangle_name_to_style PARAMS ((const char *name)); 123 127 124 /* V3 ABI demangling entry point , defined in cp-demangle.c. */128 /* V3 ABI demangling entry points, defined in cp-demangle.c. */ 125 129 extern char* 126 cplus_demangle_v3 PARAMS ((const char* mangled)); 130 cplus_demangle_v3 PARAMS ((const char* mangled, int options)); 131 132 extern char* 133 java_demangle_v3 PARAMS ((const char* mangled)); 134 135 136 enum gnu_v3_ctor_kinds { 137 gnu_v3_complete_object_ctor = 1, 138 gnu_v3_base_object_ctor, 139 gnu_v3_complete_object_allocating_ctor 140 }; 141 142 /* Return non-zero iff NAME is the mangled form of a constructor name 143 in the G++ V3 ABI demangling style. Specifically, return an `enum 144 gnu_v3_ctor_kinds' value indicating what kind of constructor 145 it is. */ 146 extern enum gnu_v3_ctor_kinds 147 is_gnu_v3_mangled_ctor PARAMS ((const char *name)); 148 149 150 enum gnu_v3_dtor_kinds { 151 gnu_v3_deleting_dtor = 1, 152 gnu_v3_complete_object_dtor, 153 gnu_v3_base_object_dtor 154 }; 155 156 /* Return non-zero iff NAME is the mangled form of a destructor name 157 in the G++ V3 ABI demangling style. Specifically, return an `enum 158 gnu_v3_dtor_kinds' value, indicating what kind of destructor 159 it is. */ 160 extern enum gnu_v3_dtor_kinds 161 is_gnu_v3_mangled_dtor PARAMS ((const char *name)); 127 162 128 163 #endif /* DEMANGLE_H */ -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/dis-asm.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* Interface between the opcode library and its callers. 2 2 3 Copyright 2001 Free Software Foundation, Inc.3 Copyright 2001, 2002 Free Software Foundation, Inc. 4 4 5 5 This program is free software; you can redistribute it and/or modify … … 74 74 /* Endianness (for bi-endian cpus). Mono-endian cpus can ignore this. */ 75 75 enum bfd_endian endian; 76 /* An arch/mach-specific bitmask of selected instruction subsets, mainly 77 for processors with run-time-switchable instruction sets. The default, 78 zero, means that there is no constraint. CGEN-based opcodes ports 79 may use ISA_foo masks. */ 80 unsigned long insn_sets; 76 81 77 82 /* Some targets need information about the current section to accurately … … 146 151 147 152 /* Number of octets per incremented target address 148 Normally one, but some DSPs have byte sizes of 16 or 32 bits 149 */ 153 Normally one, but some DSPs have byte sizes of 16 or 32 bits. */ 150 154 unsigned int octets_per_byte; 151 155 … … 174 178 175 179 /* Standard disassemblers. Disassemble one instruction at the given 176 target address. Return number of bytes processed. */180 target address. Return number of octets processed. */ 177 181 typedef int (*disassembler_ftype) 178 182 PARAMS((bfd_vma, disassemble_info *)); … … 180 184 extern int print_insn_big_mips PARAMS ((bfd_vma, disassemble_info*)); 181 185 extern int print_insn_little_mips PARAMS ((bfd_vma, disassemble_info*)); 186 extern int print_insn_i386 PARAMS ((bfd_vma, disassemble_info *)); 182 187 extern int print_insn_i386_att PARAMS ((bfd_vma, disassemble_info*)); 183 188 extern int print_insn_i386_intel PARAMS ((bfd_vma, disassemble_info*)); … … 194 199 extern int print_insn_h8500 PARAMS ((bfd_vma, disassemble_info*)); 195 200 extern int print_insn_alpha PARAMS ((bfd_vma, disassemble_info*)); 196 extern disassembler_ftype arc_get_disassembler PARAMS ((void *));197 201 extern int print_insn_big_arm PARAMS ((bfd_vma, disassemble_info*)); 198 202 extern int print_insn_little_arm PARAMS ((bfd_vma, disassemble_info*)); … … 200 204 extern int print_insn_big_a29k PARAMS ((bfd_vma, disassemble_info*)); 201 205 extern int print_insn_little_a29k PARAMS ((bfd_vma, disassemble_info*)); 206 extern int print_insn_avr PARAMS ((bfd_vma, disassemble_info*)); 207 extern int print_insn_d10v PARAMS ((bfd_vma, disassemble_info*)); 208 extern int print_insn_d30v PARAMS ((bfd_vma, disassemble_info*)); 209 extern int print_insn_dlx PARAMS ((bfd_vma, disassemble_info*)); 210 extern int print_insn_fr30 PARAMS ((bfd_vma, disassemble_info*)); 211 extern int print_insn_hppa PARAMS ((bfd_vma, disassemble_info*)); 202 212 extern int print_insn_i860 PARAMS ((bfd_vma, disassemble_info*)); 203 213 extern int print_insn_i960 PARAMS ((bfd_vma, disassemble_info*)); 204 extern int print_insn_sh PARAMS ((bfd_vma, disassemble_info*)); 205 extern int print_insn_shl PARAMS ((bfd_vma, disassemble_info*)); 206 extern int print_insn_hppa PARAMS ((bfd_vma, disassemble_info*)); 207 extern int print_insn_fr30 PARAMS ((bfd_vma, disassemble_info*)); 214 extern int print_insn_ip2k PARAMS ((bfd_vma, disassemble_info*)); 208 215 extern int print_insn_m32r PARAMS ((bfd_vma, disassemble_info*)); 209 216 extern int print_insn_m88k PARAMS ((bfd_vma, disassemble_info*)); 210 217 extern int print_insn_mcore PARAMS ((bfd_vma, disassemble_info*)); 218 extern int print_insn_mmix PARAMS ((bfd_vma, disassemble_info*)); 211 219 extern int print_insn_mn10200 PARAMS ((bfd_vma, disassemble_info*)); 212 220 extern int print_insn_mn10300 PARAMS ((bfd_vma, disassemble_info*)); 221 extern int print_insn_msp430 PARAMS ((bfd_vma, disassemble_info*)); 213 222 extern int print_insn_ns32k PARAMS ((bfd_vma, disassemble_info*)); 223 extern int print_insn_openrisc PARAMS ((bfd_vma, disassemble_info*)); 224 extern int print_insn_big_or32 PARAMS ((bfd_vma, disassemble_info*)); 225 extern int print_insn_little_or32 PARAMS ((bfd_vma, disassemble_info*)); 226 extern int print_insn_pdp11 PARAMS ((bfd_vma, disassemble_info*)); 227 extern int print_insn_pj PARAMS ((bfd_vma, disassemble_info*)); 214 228 extern int print_insn_big_powerpc PARAMS ((bfd_vma, disassemble_info*)); 215 229 extern int print_insn_little_powerpc PARAMS ((bfd_vma, disassemble_info*)); 216 230 extern int print_insn_rs6000 PARAMS ((bfd_vma, disassemble_info*)); 217 extern int print_insn_w65 PARAMS ((bfd_vma, disassemble_info*)); 218 extern disassembler_ftype cris_get_disassembler PARAMS ((bfd *)); 219 extern int print_insn_d10v PARAMS ((bfd_vma, disassemble_info*)); 220 extern int print_insn_d30v PARAMS ((bfd_vma, disassemble_info*)); 221 extern int print_insn_v850 PARAMS ((bfd_vma, disassemble_info*)); 231 extern int print_insn_s390 PARAMS ((bfd_vma, disassemble_info*)); 232 extern int print_insn_sh PARAMS ((bfd_vma, disassemble_info*)); 222 233 extern int print_insn_tic30 PARAMS ((bfd_vma, disassemble_info*)); 223 extern int print_insn_ vax PARAMS ((bfd_vma, disassemble_info*));234 extern int print_insn_tic4x PARAMS ((bfd_vma, disassemble_info*)); 224 235 extern int print_insn_tic54x PARAMS ((bfd_vma, disassemble_info*)); 225 236 extern int print_insn_tic80 PARAMS ((bfd_vma, disassemble_info*)); 226 extern int print_insn_pj PARAMS ((bfd_vma, disassemble_info*)); 227 extern int print_insn_avr PARAMS ((bfd_vma, disassemble_info*)); 228 237 extern int print_insn_v850 PARAMS ((bfd_vma, disassemble_info*)); 238 extern int print_insn_vax PARAMS ((bfd_vma, disassemble_info*)); 239 extern int print_insn_w65 PARAMS ((bfd_vma, disassemble_info*)); 240 extern int print_insn_xstormy16 PARAMS ((bfd_vma, disassemble_info*)); 241 extern int print_insn_xtensa PARAMS ((bfd_vma, disassemble_info*)); 242 extern int print_insn_sh64 PARAMS ((bfd_vma, disassemble_info *)); 243 extern int print_insn_sh64x_media PARAMS ((bfd_vma, disassemble_info *)); 244 extern int print_insn_frv PARAMS ((bfd_vma, disassemble_info *)); 245 extern int print_insn_iq2000 PARAMS ((bfd_vma, disassemble_info *)); 246 247 extern disassembler_ftype arc_get_disassembler PARAMS ((void *)); 248 extern disassembler_ftype cris_get_disassembler PARAMS ((bfd *)); 249 250 extern void print_mips_disassembler_options PARAMS ((FILE *)); 251 extern void print_ppc_disassembler_options PARAMS ((FILE *)); 229 252 extern void print_arm_disassembler_options PARAMS ((FILE *)); 230 253 extern void parse_arm_disassembler_option PARAMS ((char *)); … … 270 293 (INFO).arch = bfd_arch_unknown, \ 271 294 (INFO).mach = 0, \ 295 (INFO).insn_sets = 0, \ 272 296 (INFO).endian = BFD_ENDIAN_UNKNOWN, \ 273 297 (INFO).octets_per_byte = 1, \ … … 297 321 (INFO).bytes_per_chunk = 0, \ 298 322 (INFO).display_endian = BFD_ENDIAN_UNKNOWN, \ 323 (INFO).disassembler_options = NULL, \ 299 324 (INFO).insn_info_valid = 0 300 325 301 326 #ifdef __cplusplus 302 } ;327 } 303 328 #endif 304 329 -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/dyn-string.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* An abstract string datatype. 2 Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.2 Copyright (C) 1998, 1999, 2000, 2002 Free Software Foundation, Inc. 3 3 Contributed by Mark Mitchell (mark@markmitchell.com). 4 4 5 This file is part of G NUCC.5 This file is part of GCC. 6 6 7 G NUCC is free software; you can redistribute it and/or modify7 GCC is free software; you can redistribute it and/or modify 8 8 it under the terms of the GNU General Public License as published by 9 9 the Free Software Foundation; either version 2, or (at your option) 10 10 any later version. 11 11 12 G NUCC is distributed in the hope that it will be useful,12 GCC is distributed in the hope that it will be useful, 13 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the … … 16 16 17 17 You should have received a copy of the GNU General Public License 18 along with G NUCC; see the file COPYING. If not, write to18 along with GCC; see the file COPYING. If not, write to 19 19 the Free Software Foundation, 59 Temple Place - Suite 330, 20 20 Boston, MA 02111-1307, USA. */ … … 46 46 demangler are given implementation-reserved names. */ 47 47 48 #if def IN_LIBGCC248 #if defined(IN_LIBGCC2) || defined(IN_GLIBCPP_V3) 49 49 50 50 #define dyn_string_init __cxa_dyn_string_init … … 67 67 #define dyn_string_eq __cxa_dyn_string_eq 68 68 69 #endif /* IN_LIBGCC2 */69 #endif /* IN_LIBGCC2 || IN_GLIBCPP_V3 */ 70 70 71 71 -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/elf/ChangeLog
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 2001-06-11 Alan Modra <amodra@bigpond.net.au> 2 3 Merge from mainline. 4 2001-05-15 Ralf Baechle <ralf@gnu.org> 1 2003-06-03 Nick Clifton <nickc@redhat.com> 2 3 * v850.h (R_V850_32): Rename to R_V850_ABS32. 4 Add R_V850_REL32. 5 6 2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com> 7 8 * elf/h8.h (E_H8_MACH_H8300HN, E_H8_MACH_H8300SN): New 9 10 2003-04-23 J"orn Rennecke <joern.rennecke@superh.com> 11 12 * common.h (EM_SH): Amend comment to refer to SuperH. 13 14 2003-04-22 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> 15 16 * common.h: Replace references to Mitsubishi M32R with 17 references to Renesas M32R. 18 19 2003-04-15 Rohit Kumar Srivastava <rohits@kpitcummins.com> 20 21 * common.h: Replace occurrances of 'Hitachi' with 'Renesas'. 22 23 2003-04-01 Bob Wilson <bob.wilson@acm.org> 24 25 * elf/common.h (EM_XTENSA_OLD): Define. 26 * elf/xtensa.h: New file. 27 28 2003-04-01 Nick Clifton <nickc@redhat.com> 29 30 * arm.h (ARM_NOTE_SECTION): Include .gnu in the string. 31 32 2003-03-25 Stan Cox <scox@redhat.com> 33 Nick Clifton <nickc@redhat.com> 34 35 Contribute support for Intel's iWMMXt chip - an ARM variant: 36 37 * arm.h (ARM_NOTE_SECTION): Define. 38 39 2003-03-03 J"orn Rennecke <joern.rennecke@superh.com> 40 41 * sh.h (EF_SH_MERGE_MACH): Make sure SH2E & SH3/SH3E merge to SH3E, 42 and SH2E & SH4 merge to SH4, not SH2E. 43 44 2003-02-21 Ian Wienand <ianw@gelato.unsw.edu.au> 45 46 * ia64.h (SHT_IA_64_LOPSREG, SHT_IA_64_HIPSREG, 47 SHT_IA_64_PRIORITY_INIT): Define. 48 49 2003-02-18 Alan Modra <amodra@bigpond.net.au> 50 51 * ppc64.h (IS_PPC64_TLS_RELOC): Rename from IS_TLS_RELOC. 52 53 * ppc.h: Replace DTPMOD64, TPREL64, DTPREL64 with DTPMOD32 etc. 54 (IS_PPC_TLS_RELOC): Define. 55 56 2003-02-10 Nick Clifton <nickc@redhat.com> 57 58 * arm.h (EF_ARM_MAVERICK_FLOAT): Define. 59 60 2003-02-05 Alan Modra <amodra@bigpond.net.au> 61 62 * ppc.h: Add TLS relocs. Format. 63 * ppc64.h: Likewise. 64 65 2003-01-27 Alexandre Oliva <aoliva@redhat.com> 66 67 * mips.h (EF_MIPS_XGOT): Define. 68 69 2003-01-24 Martin Schwidefsky <schwidefsky@de.ibm.com> 70 71 * s390.h: Add s390 TLS relocations. 72 73 2003-01-23 Nick Clifton <nickc@redhat.com> 74 75 * Add sh2e support: 76 77 2002-04-02 Alexandre Oliva <aoliva@redhat.com> 78 79 * sh.h (EF_SH_MERGE_MACH): Handle SH2E. 80 81 2002-04-02 Elena Zannoni <ezannoni@redhat.com> 82 83 * sh.h (EF_SH2E): New. 84 85 2003-01-23 Alan Modra <amodra@bigpond.net.au> 86 87 * sh.h: Split out various bits to bfd/elf32-sh64.h. 88 89 2003-01-20 Martin Schwidefsky <schwidefsky@de.ibm.com> 90 91 * s390.h: Rename R_390_GOTOFF to R_390_GOTOFF32. Add new gotoff, 92 gotplt and pltoff relocations. 93 94 2003-01-17 Alan Modra <amodra@bigpond.net.au> 95 96 * common.h: Formatting, typo fixes. 97 (DT_ENCODING): Correct value. 98 99 2003-01-17 Fabio Alemagna <falemagn@aros.org> 100 101 * common.h (ELFOSABI_AROS): Define. 102 (ELFOSABI_OPENVMS): Likewise. 103 (ELFOSABI_NSK): Likewise. 104 105 2003-01-16 Alan Modra <amodra@bigpond.net.au> 106 107 * ppc.h: Split out ppc64 definitions to.. 108 * pcc64.h: ..here. New file. 109 (R_PPC64_REL30): Rename from R_PPC64_ADDR30. 110 111 2003-01-13 Dmitry Diky <diwil@mail.ru> 112 113 * elf/common.h (EM_MSP430): Change e_machine value to officially 114 assigned. 115 116 2003-01-02 Ben Elliston <bje@redhat.com> 117 118 * common.h (EM_IQ2000): Define. 119 * iq2000.h: New file. 120 121 2002-12-30 Chris Demetriou <cgd@broadcom.com> 122 123 * mips.h (E_MIPS_ARCH_32R2): New define. 124 125 2002-12-24 Dmitry Diky <diwil@mail.ru> 126 127 * common.h: Define msp430 machine numbers. 128 * msp430.h: New file. Define msp430 relocs. 129 130 2002-12-20 DJ Delorie <dj@redhat.com> 131 132 * xstormy16.h: Add XSTORMY16_12. 133 134 2002-12-16 Andrew MacLeod <amacleod@redhat.com> 135 136 * xstormy16.h (START_RELOC_NUMBERS) Add relocation numbers 137 for R_XSTORMY16_LO16 and R_XSTORMY16_HI16. 138 139 2002-12-10 James Cownie <jcownie@etnus.com> 140 141 * dwarf2.h (DW_TAG_upc_shared_type, DW_TAG_upc_strict_type, 142 DW_TAG_upc_relaxed_type, DW_AT_upc_threads_scaled, DW_LANG_Upc): 143 Define. 144 145 2002-12-01 Stephane Carrez <stcarrez@nerim.fr> 146 147 * m68hc11.h (EF_M68HC12_MACH, EF_M68HCS12_MACH): Define. 148 (EF_M68HC11_MACH_MASK, EF_M68HC11_MACH): Define. 149 (EF_M68HC11_MERGE_MACH, EF_M68HC11_CAN_MERGE_MACH): Define. 150 151 2002-11-30 Alan Modra <amodra@bigpond.net.au> 152 153 * mmix.h: Replace boolean with bfd_boolean. 154 * sh.h: Likewise. 155 156 2002-11-28 Alan Modra <amodra@bigpond.net.au> 157 158 * internal.h (elf32_internal_ehdr, Elf32_Internal_Ehdr, 159 elf64_internal_ehdr, Elf64_Internal_Ehdr, elf32_internal_phdr, 160 Elf32_Internal_Phdr, elf64_internal_phdr, Elf64_Internal_Phdr, 161 elf32_internal_shdr, Elf32_Internal_Shdr, elf64_internal_shdr, 162 Elf64_Internal_Shdr, elf32_internal_sym, elf64_internal_sym, 163 Elf32_Internal_Sym, Elf64_Internal_Sym, Elf32_Internal_Note, 164 elf32_internal_note, elf32_internal_rel, Elf32_Internal_Rel, 165 elf64_internal_rel, Elf64_Internal_Rel, elf32_internal_rela, 166 elf64_internal_rela, Elf32_Internal_Rela, Elf64_Internal_Rela, 167 elf32_internal_dyn, elf64_internal_dyn, Elf32_Internal_Dyn, 168 Elf64_Internal_Dyn, elf32_internal_verdef, elf64_internal_verdef, 169 elf32_internal_verdaux, elf64_internal_verdaux, elf32_internal_verneed, 170 elf64_internal_verneed, elf32_internal_vernaux, elf64_internal_vernaux, 171 elf32_internal_versym, elf64_internal_versym, Elf32_Internal_Verdef, 172 Elf64_Internal_Verdef, Elf32_Internal_Verdaux, Elf64_Internal_Verdaux, 173 Elf32_Internal_Verneed, Elf64_Internal_Verneed, Elf32_Internal_Vernaux, 174 Elf64_Internal_Vernaux, Elf32_Internal_Versym, Elf64_Internal_Versym, 175 Elf32_Internal_Syminfo, Elf64_Internal_Syminfo): Delete. 176 (Elf_Internal_Rel): Delete. 177 178 2002-10-11 Kaz Kojima <kkojima@rr.iij4u.or.jp> 179 180 * sh.h: Add SH TLS relocs. 181 182 2002-09-30 Gavin Romig-Koch <gavin@redhat.com> 183 Ken Raeburn <raeburn@cygnus.com> 184 Aldy Hernandez <aldyh@redhat.com> 185 Eric Christopher <echristo@redhat.com> 186 Richard Sandiford <rsandifo@redhat.com> 187 188 * mips.h (E_MIPS_MACH_4120, E_MIPS_MACH_5400, E_MIPS_MACH_5500): New. 189 190 2002-09-12 Roland McGrath <roland@redhat.com> 191 192 * dwarf2.h: Updates from GCC version of thie file: 193 (enum dwarf_location_atom): DW_OP_calli -> DW_OP_call_ref. 194 Add DW_OP_GNU_push_tls_address. 195 (DW_OP_lo_user): Change to 0xe0. 196 197 2002-08-28 Catherine Moore <clm@redhat.com> 198 199 * elf/v850.h (R_V850_LONGCALL, R_V850_ALIGN, 200 R_V850_LONGJUMP): New relocations. 201 202 2002-08-15 Alan Modra <amodra@bigpond.net.au> 203 204 * i370.h: Define relocs using reloc-macros.h. 205 206 2002-08-13 Stephane Carrez <stcarrez@nerim.fr> 207 208 * m68hc11.h (E_M68HC12_BANKS, E_M68HC11_I32, E_M68HC11_F64, 209 EF_M68HC11_ABI): Define for ABI specification. 210 (STO_M68HC12_FAR, STO_M68HC12_INTERRUPT): Symbol flags for 211 linker and debugger. 212 (R_M68HC11_24, R_M68HC11_LO16, R_M68HC11_PAGE): New relocs. 213 (R_M68HC11_RL_JUMP, R_M68HC11_RL_GROUP): New reloc for linker 214 relaxation. 215 216 2002-07-15 Denis Chertykov <denisc@overta.ru> 217 Frank Ch. Eigler <fche@redhat.com> 218 Ben Elliston <bje@redhat.com> 219 Alan Lehotsky <alehotsky@cygnus.com> 220 John Healy <jhealy@redhat.com> 221 Graham Stott <grahams@redhat.com> 222 Jeff Johnston <jjohnstn@redhat.com> 223 224 * common.h (EM_IP2K): New macro. 225 (EM_IP2K_OLD): New macro. 226 * ip2k.h: New file. 227 228 2002-07-01 Matt Thomas <matt@3am-software.com> 229 230 * vax.h: Rename EF_* to EF_VAX_*. 231 232 2002-06-18 Dave Brolley <brolley@redhat.com> 233 234 From Catherine Moore, Michael Meissner, Dave Brolley: 235 * common.h (EM_CYGNUS_FRV): New macro. 236 * frv.h: New file. 237 238 2002-06-06 Lars Brinkhoff <lars@nocrew.org> 239 240 * common.h: Change registry@sco.com to registry@caldera.com. 241 (EM_PDP10, EM_PDP11): Define. 242 243 2002-06-04 Jason Thorpe <thorpej@wasabisystems.com> 244 245 * sh.h (_bfd_sh64_crange_qsort_cmpb, _bfd_sh64_crange_qsort_cmpl) 246 (_bfd_sh64_crange_bsearch_cmpb, _bfd_sh64_crange_bsearch_cmpl): New 247 prototypes. 248 249 2002-06-01 Richard Henderson <rth@redhat.com> 250 251 * alpha.h (LITUSE_ALPHA_ADDR, LITUSE_ALPHA_BASE, LITUSE_ALPHA_BYTOFF, 252 LITUSE_ALPHA_JSR, LITUSE_ALPHA_TLSGD, LITUSE_ALPHA_TLSLDM): New. 253 254 2002-05-30 Richard Henderson <rth@redhat.com> 255 256 * alpha.h (R_ALPHA_TLSGD, R_ALPHA_TLSLDM, R_ALPHA_DTPMOD64, 257 R_ALPHA_GOTDTPREL, R_ALPHA_DTPREL64, R_ALPHA_DTPRELHI, 258 R_ALPHA_DTPRELLO, R_ALPHA_DTPREL16, R_ALPHA_GOTTPREL, R_ALPHA_TPREL64, 259 R_ALPHA_TPRELHI, R_ALPHA_TPRELLO, R_ALPHA_TPREL16): New. 260 261 2002-05-29 Matt Thomas <matt@3am-software.com> 262 263 * vax.h: New file 264 265 2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net> 266 267 * common.h (EM_DLX): Define. 268 * dlx.h: New file. 269 270 2002-05-08 Jason Thorpe <thorpej@wasabisystems.com> 271 272 * common.h (NT_GNU_ABI_TAG): Define. 273 (GNU_ABI_TAG_LINUX): Define. 274 (GNU_ABI_TAG_HURD): Define. 275 (GNU_ABI_TAG_SOLARIS): Define. 276 (NT_NETBSD_IDENT): Define. 277 (NT_FREEBSD_ABI_TAG): Define. 278 279 2002-04-24 Elena Zannoni <ezannoni@redhat.com> 280 281 * dwarf2.h: Add DW_AT_GNU_vector. 282 283 2002-02-13 Matt Fredette <fredette@netbsd.org> 284 285 * m68k.h (EF_M68000): Define. 286 287 2002-02-12 Alan Modra <amodra@bigpond.net.au> 288 289 * ppc.h (DT_PPC64_OPD, DT_PPC64_OPDSZ): Define. 290 291 2002-02-09 Richard Henderson <rth@redhat.com> 292 293 * alpha.h (R_ALPHA_BRSGP): New. 294 295 2002-02-08 Alexandre Oliva <aoliva@redhat.com> 296 297 Contribute sh64-elf. 298 2002-01-23 Alexandre Oliva <aoliva@redhat.com> 299 * sh.h (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16, 300 R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16, 301 R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16, 302 R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16, 303 R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16, 304 R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16, 305 R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16, 306 R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8, 307 R_SH_GOTPLT10BY8, R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64, 308 R_SH_RELATIVE64): New relocs. 309 (R_SH_FIRST_INVALID_RELOC_4): Adjust. 310 2001-05-16 Alexandre Oliva <aoliva@redhat.com> 311 * sh.h: Renumbered and renamed some SH5 relocations to match 312 official numbers and names; moved unmaching ones to the range 313 0xf2-0xff. 314 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com> 315 * sh.h (sh64_get_contents_type): Declare. 316 (sh64_address_is_shmedia): Likewise. 317 2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com> 318 * sh.h (sh64_elf_crange): New type. 319 (struct sh64_section_data): New. 320 (sh64_elf_section_data): New macro. 321 (EF_SH5): Rename back from EF_SH64. 322 2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com> 323 * sh.h (SHF_SH5_ISA32_MIXED, SHT_SH5_CR_SORTED, 324 SH64_CRANGES_SECTION_NAME, SH64_CRANGE_SIZE, 325 SH64_CRANGE_CR_ADDR_OFFSET, SH64_CRANGE_CR_SIZE_OFFSET, 326 SH64_CRANGE_CR_TYPE_OFFSET): New macros. 327 2000-12-12 Hans-Peter Nilsson <hpn@cygnus.com> 328 * sh.h (EF_SH64): Don't define EF_SH64_ABI64. 329 2000-11-27 Hans-Peter Nilsson <hpn@cygnus.com> 330 * sh.h (EF_SH64_32BIT_ABI, EF_SH64_64BIT_ABI): Delete. 331 (EF_SH64_ABI64): New. 332 2000-11-23 Hans-Peter Nilsson <hpn@cygnus.com> 333 * sh.h (EF_SH64): Rename from EF_SH5. 334 (EF_SH64_32BIT_ABI): New. 335 (EF_SH64_64BIT_ABI): New. 336 (R_SH_PT_16, R_SH_SHMEDIA_CODE 337 R_SH_IMMU5, R_SH_IMMS6, R_SH_IMMU6, R_SH_IMMS10, R_SH_IMMS10BY2, 338 R_SH_IMMS10BY4, R_SH_IMMS10BY8, R_SH_IMMS16, R_SH_IMMU16, 339 R_SH_IMM_LOW16, R_SH_IMM_LOW16_PCREL, R_SH_IMM_MEDLOW16, 340 R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16_PCREL, 341 R_SH_IMM_HI16, R_SH_IMM_HI16_PCREL, R_SH_64, R_SH_64_PCREL): New 342 relocs. 343 2000-09-01 Ben Elliston <bje@redhat.com> 344 * sh.h (EF_SH5): Define. 345 346 2002-02-01 Hans-Peter Nilsson <hp@bitrange.com> 347 348 * mmix.h: Tweak comments. 349 (MMIX_LD_ALLOCATED_REG_CONTENTS_SECTION_NAME): New. 350 [BFD_ARCH_SIZE] (_bfd_mmix_prepare_linker_allocated_gregs, 351 _bfd_mmix_finalize_linker_allocated_gregs, 352 _bfd_mmix_check_all_relocs): Provide prototypes. 353 354 2002-01-31 Ivan Guzvinec <ivang@opencores.org> 355 356 * or32.h: New file. 357 * common.h: Add support for or32 targets. 358 359 2002-01-28 Jason Merrill <jason@redhat.com> 360 361 * dwarf2.h: Sync with gcc version. 362 363 2002-01-16 Alan Modra <amodra@bigpond.net.au> 364 365 * ppc.h (DT_PPC64_GLINK): Define. 366 367 2002-01-15 Richard Earnshaw <rearnsha@arm.com> 368 369 * arm.h (F_VFP_FLOAT, EF_ARM_VFP_FLOAT): Define. 370 371 2002-01-09 Jason Thorpe <thorpej@wasabisystems.com> 372 373 * common.h: Update copyright years. 374 (NT_NETBSDCORE_PROCINFO): Define. 375 (NT_NETBSDCORE_FIRSTMACH): Define. 376 377 2002-01-06 Steve Ellcey <sje@cup.hp.com> 378 379 * ia64.h (ELF_STRING_ia64_unwind_hdr): New Macro for HP-UX. 380 (SHT_IA_64_HP_OPT_ANOT): Ditto 381 (PT_IA_64_HP_OPT_ANOT): Ditto 382 (PT_IA_64_HP_HSL_ANOT): Ditto 383 (PT_IA_64_HP_STACK): Ditto 384 (SHN_IA_64_ANSI_COMMON): Ditto 385 386 2001-12-17 Alan Modra <amodra@bigpond.net.au> 387 388 * external.h (Elf_External_Sym_Shndx): Declare. 389 * internal.h (struct elf_internal_sym <st_shndx>): Make it an 390 unsigned int. 391 * common.h (SHN_BAD): Define. 392 393 2001-12-13 Jakub Jelinek <jakub@redhat.com> 394 395 * elf/common.h (PT_GNU_EH_FRAME): Define. 396 397 2001-12-11 Alan Modra <amodra@bigpond.net.au> 398 399 * common.h (SHN_XINDEX): Comment typo fix. 400 * internal.h (Elf_Internal_Ehdr): Change existing "unsigned short" 401 size, count and index fields to "unsigned int". 402 403 2001-12-07 Geoffrey Keating <geoffk@redhat.com> 404 Richard Henderson <rth@redhat.com> 405 406 * common.h (EM_XSTORMY16): Define. 407 * xstormy16.h: New file. 408 409 2001-11-15 Alan Modra <amodra@bigpond.net.au> 410 411 * common.h (NT_ARCH): Define. Remove incorrect comment. 412 413 2001-11-11 Geoffrey Keating <geoffk@redhat.com> 414 415 * dwarf2.h (dwarf_line_number_ops): Add DWARF 3 opcodes. 416 417 2001-10-30 Hans-Peter Nilsson <hp@bitrange.com> 418 419 * mmix.h: New file. 420 421 2001-10-23 Alan Modra <amodra@bigpond.net.au> 422 423 * internal.h: White space changes to keep lines under 80 chars. 424 425 2001-10-16 Jeff Holcomb <jeffh@redhat.com> 426 427 * internal.h (elf_internal_shdr): Make contents a unsigned char *. 428 429 2001-09-18 Alan Modra <amodra@bigpond.net.au> 430 431 * internal.h (elf_internal_rela): Make r_addend a bfd_vma. 432 433 2001-09-13 Alexandre Oliva <aoliva@redhat.com> 434 435 * common.h (EM_OPENRISC_OLD): Renamed the old EM_OPENRISC entry. 436 437 2001-09-12 Alexandre Oliva <aoliva@redhat.com> 438 439 * common.h (EM_AVR_OLD): Renamed from... 440 (EM_AVR): this, redefined as in the current ELF standard. 441 (EM_PJ_OLD): Renamed from... 442 (EM_PJ): this, redefined as in the current ELF standard. 443 (EM_R30, EM_D10V, EM_D30V, EM_V850, EM_M32R, EM_MN10300, 444 EM_MN10200, EM_OPENRISC, EM_ARC_A5, EM_XTENSA): Defined as in 445 the current ELF standard. 446 (EM_CYGNUS_ARC): Removed, unused for a long time. 447 448 2001-09-04 Richard Henderson <rth@redhat.com> 449 450 * alpha.h (R_ALPHA_OP*, R_ALPHA_IMMED*, R_ALPHA_GPVALUE): Remove. 451 (R_ALPHA_GPREL16): Rename from R_ALPHA_IMMED_GP_16. 452 453 2001-08-30 Eric Christopher <echristo@redhat.com> 454 455 * mips.h: Remove E_MIPS_MACH_MIPS32_4K. 456 457 2001-08-29 Jeff Law <law@redhat.com> 458 459 * h8.h (EF_H8_MACH): New mask for encoded machine type. 460 (E_H8_MACH_H8300, E_H8_MACH_H8300H, E_H8_MACH_H8300S): New 461 machine types. 462 463 2001-08-26 J"orn Rennecke <amylaar@redhat.com> 464 465 * h8.h: New file. 466 467 2001-08-27 Staffan Ulfberg <staffanu@swox.se> 468 469 * ppc.h: Add relocs from the 64-bit PowerPC ELF ABI revision 1.2. 470 471 2001-06-30 Daniel Berlin <dan@cgsoftware.com> 472 473 * dwarf2.h: Remerge with gcc version, 474 including all new DWARF 2.1 extensions. 475 476 2001-06-29 James Cownie <jcownie@etnus.com> 477 478 * dwarf2.h: Add DWARF 2.1 attribues. 479 480 2001-06-15 Per Bothner <per@bothner.com> 481 482 * dwarf2.h: Partial merge with gcc version. 483 (enum dwarf_descrim_list): Fix typo -> dwarf_discrim_list. 484 (DW_LANG_Java): Use value from dwarf 2.1 draft (also used in gcc). 485 486 2001-05-15 Ralf Baechle <ralf@gnu.org> 487 5 488 * common.h: Remove definition of EM_MIPS_RS4_BE. The constant was 6 489 never in active use and is used otherwise by the ABI. 7 490 8 2001-05-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> 491 2001-05-11 Jakub Jelinek <jakub@redhat.com> 492 493 * ia64.h (ELF_STRING_ia64_unwind_once): Define. 494 (ELF_STRING_ia64_unwind_info_once): Define. 495 496 2001-05-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> 497 9 498 * external.h: Fix typo. 10 499 * mips.h: Add/Extend many comments with reference to the MIPS ELF64 … … 25 514 (OHW_R10KLDL): Define. 26 515 27 2001-04-24 Todd Fries <todd@fries.net> 516 2001-04-24 Todd Fries <todd@fries.net> 517 28 518 * sparc.h: Fix typo. 29 519 30 2001-03-23 Nick Clifton <nickc@redhat.com> 520 2001-04-20 Johan Rydberg <jrydberg@opencores.org> 521 522 * openrisc.h: New file. 523 * common.h (EM_OPENRISC): New constant. 524 525 2001-04-23 Bo Thorsen <bo@suse.de> 526 527 * x86-64.h: Add vtable support. 528 529 2001-03-23 Nick Clifton <nickc@redhat.com> 530 31 531 * mips.h: Remove extraneous whitespace. 32 532 33 2001-06-07 Alan Modra <amodra@bigpond.net.au> 34 35 * Many files: Update copyright notices. 533 2001-03-22 Hans-Peter Nilsson <hp@axis.com> 534 535 * cris.h: Add leading comment about PC-relative location. 536 (R_CRIS_COPY, R_CRIS_GLOB_DAT, R_CRIS_JUMP_SLOT, R_CRIS_RELATIVE, 537 R_CRIS_16_GOT, R_CRIS_32_GOT, R_CRIS_16_GOTPLT, R_CRIS_32_GOTPLT, 538 R_CRIS_32_GOTREL, R_CRIS_32_PLT_GOTREL, R_CRIS_32_PLT_PCREL): 539 New relocs. 540 541 2001-02-27 Philip Blundell <pb@futuretv.com> 542 543 * arm.h: Add new definitions from ARM document SWS ESPC 0003 B-01. 544 (EF_PIC, et al.): Rename to EF_ARM_xx. 545 546 2001-02-09 Martin Schwidefsky <schwidefsky@de.ibm.com> 547 548 * common.h: Add linux target for S/390. 549 * s390.h: New file. 36 550 37 551 2001-01-11 Peter Targett <peter.targett@arccores.com> … … 53 567 2000-10-16 Chris Demetriou <cgd@sibyte.com> 54 568 55 56 57 58 59 60 61 569 * mips.h (E_MIPS_ARCH_32): New constant. 570 (E_MIPS_MACH_MIPS32, E_MIPS_MACH_MIPS32_4K): Replace the 571 former with the latter. 572 573 * mips.h (E_MIPS_ARCH_5, E_MIPS_ARCH_64): New definitions. 574 575 * mips.h (E_MIPS_MACH_SB1): New constant. 62 576 63 577 2000-11-30 Jan Hubicka <jh@suse.cz> 64 578 65 66 579 * common.h (EM_X86_64): New macro. 580 * x86-64.h: New file. 67 581 68 582 2000-11-27 Hans-Peter Nilsson <hp@axis.com> … … 252 766 (ELFOSABI_OPENBSD): Likewise. 253 767 254 Fri Apr 21 13:20:53 2000Richard Henderson <rth@cygnus.com>255 768 2000-04-21 Richard Henderson <rth@cygnus.com> 769 David Mosberger <davidm@hpl.hp.com> 256 770 257 771 * ia64.h: New file. … … 287 801 (PF_ARM_ABS): Define. 288 802 289 Wed Apr 5 22:08:59 2000J"orn Rennecke <amylaar@cygnus.co.uk>803 2000-04-05 J"orn Rennecke <amylaar@cygnus.co.uk> 290 804 291 805 * sh.h (R_SH_LOOP_START, R_SH_LOOP_END): New RELOC_NUMBERs. … … 316 830 * common.h (ELFOSABI_LINUX): Define. 317 831 318 Thu Feb 17 00:18:33 2000J"orn Rennecke <amylaar@cygnus.co.uk>832 2000-02-17 J"orn Rennecke <amylaar@cygnus.co.uk> 319 833 320 834 * sh.h: (EF_SH_MACH_MASK, EF_SH_UNKNOWN, EF_SH1, EF_SH2): New macros. -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/elf/alpha.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 81 81 RELOC_NUMBER (R_ALPHA_SREL64, 11) /* PC relative 64 bit */ 82 82 83 /* Inherited these from ECOFF, but they are not particularly useful 84 and are depreciated. And not implemented in the BFD, btw. */ 85 RELOC_NUMBER (R_ALPHA_OP_PUSH, 12) /* OP stack push */ 86 RELOC_NUMBER (R_ALPHA_OP_STORE, 13) /* OP stack pop and store */ 87 RELOC_NUMBER (R_ALPHA_OP_PSUB, 14) /* OP stack subtract */ 88 RELOC_NUMBER (R_ALPHA_OP_PRSHIFT, 15) /* OP stack right shift */ 83 /* Skip 12 - 16; deprecated ECOFF relocs. */ 89 84 90 RELOC_NUMBER (R_ALPHA_GPVALUE, 16) 91 RELOC_NUMBER (R_ALPHA_GPRELHIGH, 17) 92 RELOC_NUMBER (R_ALPHA_GPRELLOW, 18) 93 RELOC_NUMBER (R_ALPHA_IMMED_GP_16, 19) 94 RELOC_NUMBER (R_ALPHA_IMMED_GP_HI32, 20) 95 RELOC_NUMBER (R_ALPHA_IMMED_SCN_HI32, 21) 96 RELOC_NUMBER (R_ALPHA_IMMED_BR_HI32, 22) 97 RELOC_NUMBER (R_ALPHA_IMMED_LO32, 23) 85 RELOC_NUMBER (R_ALPHA_GPRELHIGH, 17) /* GP relative 32 bit, high 16 bits */ 86 RELOC_NUMBER (R_ALPHA_GPRELLOW, 18) /* GP relative 32 bit, low 16 bits */ 87 RELOC_NUMBER (R_ALPHA_GPREL16, 19) /* GP relative 16 bit */ 98 88 99 /* These relocations are specific to shared libraries. */ 89 /* Skip 20 - 23; deprecated ECOFF relocs. */ 90 91 /* These relocations are specific to shared libraries. */ 100 92 RELOC_NUMBER (R_ALPHA_COPY, 24) /* Copy symbol at runtime */ 101 93 RELOC_NUMBER (R_ALPHA_GLOB_DAT, 25) /* Create GOT entry */ … … 103 95 RELOC_NUMBER (R_ALPHA_RELATIVE, 27) /* Adjust by program base */ 104 96 97 /* Like BRADDR, but assert that the source and target object file 98 share the same GP value, and adjust the target address for 99 STO_ALPHA_STD_GPLOAD. */ 100 RELOC_NUMBER (R_ALPHA_BRSGP, 28) 101 102 /* Thread-Local Storage. */ 103 RELOC_NUMBER (R_ALPHA_TLSGD, 29) 104 RELOC_NUMBER (R_ALPHA_TLSLDM, 30) 105 RELOC_NUMBER (R_ALPHA_DTPMOD64, 31) 106 RELOC_NUMBER (R_ALPHA_GOTDTPREL, 32) 107 RELOC_NUMBER (R_ALPHA_DTPREL64, 33) 108 RELOC_NUMBER (R_ALPHA_DTPRELHI, 34) 109 RELOC_NUMBER (R_ALPHA_DTPRELLO, 35) 110 RELOC_NUMBER (R_ALPHA_DTPREL16, 36) 111 RELOC_NUMBER (R_ALPHA_GOTTPREL, 37) 112 RELOC_NUMBER (R_ALPHA_TPREL64, 38) 113 RELOC_NUMBER (R_ALPHA_TPRELHI, 39) 114 RELOC_NUMBER (R_ALPHA_TPRELLO, 40) 115 RELOC_NUMBER (R_ALPHA_TPREL16, 41) 116 105 117 END_RELOC_NUMBERS (R_ALPHA_max) 106 118 119 #define LITUSE_ALPHA_ADDR 0 120 #define LITUSE_ALPHA_BASE 1 121 #define LITUSE_ALPHA_BYTOFF 2 122 #define LITUSE_ALPHA_JSR 3 123 #define LITUSE_ALPHA_TLSGD 4 124 #define LITUSE_ALPHA_TLSLDM 5 125 107 126 #endif /* _ELF_ALPHA_H */ -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/elf/arm.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* ARM ELF support for BFD. 2 Copyright 1998, 1999, 2000, 2001 Free Software Foundation, Inc.2 Copyright 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. 3 3 4 4 This file is part of BFD, the Binary File Descriptor library. … … 26 26 #define EF_ARM_RELEXEC 0x01 27 27 #define EF_ARM_HASENTRY 0x02 28 #define EF_INTERWORK 0x04 29 #define EF_APCS_26 0x08 30 #define EF_APCS_FLOAT 0x10 31 #define EF_PIC 0x20 32 #define EF_ALIGN8 0x40 /* 8-bit structure alignment is in use. */ 33 #define EF_NEW_ABI 0x80 34 #define EF_OLD_ABI 0x100 35 #define EF_SOFT_FLOAT 0x200 28 #define EF_ARM_INTERWORK 0x04 29 #define EF_ARM_APCS_26 0x08 30 #define EF_ARM_APCS_FLOAT 0x10 31 #define EF_ARM_PIC 0x20 32 #define EF_ARM_ALIGN8 0x40 /* 8-bit structure alignment is in use. */ 33 #define EF_ARM_NEW_ABI 0x80 34 #define EF_ARM_OLD_ABI 0x100 35 #define EF_ARM_SOFT_FLOAT 0x200 36 #define EF_ARM_VFP_FLOAT 0x400 37 #define EF_ARM_MAVERICK_FLOAT 0x800 36 38 37 /* Other constants defined in the ARM ELF spec. version A-08. */39 /* Other constants defined in the ARM ELF spec. version B-01. */ 38 40 #define EF_ARM_SYMSARESORTED 0x04 /* NB conflicts with EF_INTERWORK */ 41 #define EF_ARM_DYNSYMSUSESEGIDX 0x08 /* NB conflicts with EF_APCS26 */ 42 #define EF_ARM_MAPSYMSFIRST 0x10 /* NB conflicts with EF_APCS_FLOAT */ 39 43 #define EF_ARM_EABIMASK 0xFF000000 40 44 … … 42 46 #define EF_ARM_EABI_UNKNOWN 0x00000000 43 47 #define EF_ARM_EABI_VER1 0x01000000 48 #define EF_ARM_EABI_VER2 0x02000000 44 49 45 50 /* Local aliases for some flags to match names used by COFF port. */ 46 #define F_INTERWORK EF_INTERWORK 47 #define F_APCS26 EF_APCS_26 48 #define F_APCS_FLOAT EF_APCS_FLOAT 49 #define F_PIC EF_PIC 50 #define F_SOFT_FLOAT EF_SOFT_FLOAT 51 #define F_INTERWORK EF_ARM_INTERWORK 52 #define F_APCS26 EF_ARM_APCS_26 53 #define F_APCS_FLOAT EF_ARM_APCS_FLOAT 54 #define F_PIC EF_ARM_PIC 55 #define F_SOFT_FLOAT EF_ARM_SOFT_FLOAT 56 #define F_VFP_FLOAT EF_ARM_VFP_FLOAT 51 57 52 58 /* Additional symbol types for Thumb. */ … … 110 116 #else /* not OLD_ARM_ABI */ 111 117 FAKE_RELOC (FIRST_INVALID_RELOC1, 28) 112 FAKE_RELOC (LAST_INVALID_RELOC1, 99) 118 FAKE_RELOC (LAST_INVALID_RELOC1, 31) 119 RELOC_NUMBER (R_ARM_ALU_PCREL7_0, 32) 120 RELOC_NUMBER (R_ARM_ALU_PCREL15_8, 33) 121 RELOC_NUMBER (R_ARM_ALU_PCREL23_15, 34) 122 RELOC_NUMBER (R_ARM_LDR_SBREL11_0, 35) 123 RELOC_NUMBER (R_ARM_ALU_SBREL19_12, 36) 124 RELOC_NUMBER (R_ARM_ALU_SBREL27_20, 37) 125 FAKE_RELOC (FIRST_INVALID_RELOC2, 38) 126 FAKE_RELOC (LAST_INVALID_RELOC2, 99) 113 127 RELOC_NUMBER (R_ARM_GNU_VTENTRY, 100) 114 128 RELOC_NUMBER (R_ARM_GNU_VTINHERIT, 101) 115 129 RELOC_NUMBER (R_ARM_THM_PC11, 102) /* Cygnus extension to abi: Thumb unconditional branch. */ 116 130 RELOC_NUMBER (R_ARM_THM_PC9, 103) /* Cygnus extension to abi: Thumb conditional branch. */ 117 FAKE_RELOC (FIRST_INVALID_RELOC 2, 104)118 FAKE_RELOC (LAST_INVALID_RELOC 2, 248)131 FAKE_RELOC (FIRST_INVALID_RELOC3, 104) 132 FAKE_RELOC (LAST_INVALID_RELOC3, 248) 119 133 RELOC_NUMBER (R_ARM_RXPC25, 249) 120 134 #endif /* not OLD_ARM_ABI */ … … 127 141 END_RELOC_NUMBERS (R_ARM_max) 128 142 143 /* The name of the note section used to identify arm variants. */ 144 #define ARM_NOTE_SECTION ".note.gnu.arm.ident" 145 129 146 #endif /* _ELF_ARM_H */ -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/elf/common.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* ELF support for BFD. 2 2 Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 3 2001 3 2001, 2002, 2003 4 4 Free Software Foundation, Inc. 5 5 … … 8 8 Programming Support Tools". 9 9 10 This file is part of BFD, the Binary File Descriptor library.11 12 This program is free software; you can redistribute it and/or modify13 it under the terms of the GNU General Public License as published by14 the Free Software Foundation; either version 2 of the License, or15 (at your option) any later version.16 17 This program is distributed in the hope that it will be useful,18 but WITHOUT ANY WARRANTY; without even the implied warranty of19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the20 GNU General Public License for more details.21 22 You should have received a copy of the GNU General Public License23 along with this program; if not, write to the Free Software24 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */10 This file is part of BFD, the Binary File Descriptor library. 11 12 This program is free software; you can redistribute it and/or modify 13 it under the terms of the GNU General Public License as published by 14 the Free Software Foundation; either version 2 of the License, or 15 (at your option) any later version. 16 17 This program is distributed in the hope that it will be useful, 18 but WITHOUT ANY WARRANTY; without even the implied warranty of 19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 GNU General Public License for more details. 21 22 You should have received a copy of the GNU General Public License 23 along with this program; if not, write to the Free Software 24 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 25 25 26 26 … … 28 28 that are common to both the internal and external representations. 29 29 For example, ELFMAG0 is the byte 0x7F in both the internal (in-memory) 30 and external (in-file) representations. */30 and external (in-file) representations. */ 31 31 32 32 #ifndef _ELF_COMMON_H 33 33 #define _ELF_COMMON_H 34 34 35 /* Fields in e_ident[] */35 /* Fields in e_ident[]. */ 36 36 37 37 #define EI_MAG0 0 /* File identification byte 0 index */ 38 #define ELFMAG0 0x7F /* Magic number byte 0 */38 #define ELFMAG0 0x7F /* Magic number byte 0 */ 39 39 40 40 #define EI_MAG1 1 /* File identification byte 1 index */ 41 #define ELFMAG1 'E' /* Magic number byte 1 */41 #define ELFMAG1 'E' /* Magic number byte 1 */ 42 42 43 43 #define EI_MAG2 2 /* File identification byte 2 index */ 44 #define ELFMAG2 'L' /* Magic number byte 2 */44 #define ELFMAG2 'L' /* Magic number byte 2 */ 45 45 46 46 #define EI_MAG3 3 /* File identification byte 3 index */ 47 #define ELFMAG3 'F' /* Magic number byte 3 */47 #define ELFMAG3 'F' /* Magic number byte 3 */ 48 48 49 49 #define EI_CLASS 4 /* File class */ 50 #define ELFCLASSNONE 0 /* Invalid class */51 #define ELFCLASS32 1 /* 32-bit objects */52 #define ELFCLASS64 2 /* 64-bit objects */50 #define ELFCLASSNONE 0 /* Invalid class */ 51 #define ELFCLASS32 1 /* 32-bit objects */ 52 #define ELFCLASS64 2 /* 64-bit objects */ 53 53 54 54 #define EI_DATA 5 /* Data encoding */ 55 #define ELFDATANONE 0 /* Invalid data encoding */56 #define ELFDATA2LSB 1 /* 2's complement, little endian */57 #define ELFDATA2MSB 2 /* 2's complement, big endian */55 #define ELFDATANONE 0 /* Invalid data encoding */ 56 #define ELFDATA2LSB 1 /* 2's complement, little endian */ 57 #define ELFDATA2MSB 2 /* 2's complement, big endian */ 58 58 59 59 #define EI_VERSION 6 /* File version */ 60 60 61 #define EI_OSABI 7 /* Operating System/ABI indication */ 62 #define ELFOSABI_NONE 0 /* UNIX System V ABI */ 63 #define ELFOSABI_HPUX 1 /* HP-UX operating system */ 64 #define ELFOSABI_NETBSD 2 /* NetBSD */ 65 #define ELFOSABI_LINUX 3 /* GNU/Linux */ 66 #define ELFOSABI_HURD 4 /* GNU/Hurd */ 67 #define ELFOSABI_SOLARIS 6 /* Solaris */ 68 #define ELFOSABI_AIX 7 /* AIX */ 69 #define ELFOSABI_IRIX 8 /* IRIX */ 70 #define ELFOSABI_FREEBSD 9 /* FreeBSD */ 71 #define ELFOSABI_TRU64 10 /* TRU64 UNIX */ 72 #define ELFOSABI_MODESTO 11 /* Novell Modesto */ 73 #define ELFOSABI_OPENBSD 12 /* OpenBSD */ 74 #define ELFOSABI_STANDALONE 255 /* Standalone (embedded) application */ 75 #define ELFOSABI_ARM 97 /* ARM */ 76 77 #define EI_ABIVERSION 8 /* ABI version */ 61 #define EI_OSABI 7 /* Operating System/ABI indication */ 62 #define ELFOSABI_NONE 0 /* UNIX System V ABI */ 63 #define ELFOSABI_HPUX 1 /* HP-UX operating system */ 64 #define ELFOSABI_NETBSD 2 /* NetBSD */ 65 #define ELFOSABI_LINUX 3 /* GNU/Linux */ 66 #define ELFOSABI_HURD 4 /* GNU/Hurd */ 67 #define ELFOSABI_SOLARIS 6 /* Solaris */ 68 #define ELFOSABI_AIX 7 /* AIX */ 69 #define ELFOSABI_IRIX 8 /* IRIX */ 70 #define ELFOSABI_FREEBSD 9 /* FreeBSD */ 71 #define ELFOSABI_TRU64 10 /* TRU64 UNIX */ 72 #define ELFOSABI_MODESTO 11 /* Novell Modesto */ 73 #define ELFOSABI_OPENBSD 12 /* OpenBSD */ 74 #define ELFOSABI_OPENVMS 13 /* OpenVMS */ 75 #define ELFOSABI_NSK 14 /* Hewlett-Packard Non-Stop Kernel */ 76 #define ELFOSABI_AROS 15 /* Amiga Research OS */ 77 #define ELFOSABI_ARM 97 /* ARM */ 78 #define ELFOSABI_STANDALONE 255 /* Standalone (embedded) application */ 79 80 #define EI_ABIVERSION 8 /* ABI version */ 78 81 79 82 #define EI_PAD 9 /* Start of padding bytes */ … … 87 90 #define ET_DYN 3 /* Shared object file */ 88 91 #define ET_CORE 4 /* Core file */ 89 #define ET_LOOS 90 #define ET_HIOS 0xFEFF/* Operating system-specific */92 #define ET_LOOS 0xFE00 /* Operating system-specific */ 93 #define ET_HIOS 0xFEFF /* Operating system-specific */ 91 94 #define ET_LOPROC 0xFF00 /* Processor-specific */ 92 95 #define ET_HIPROC 0xFFFF /* Processor-specific */ 93 96 94 97 /* Values for e_machine, which identifies the architecture. These numbers 95 are officially assigned by registry@ sco.com. See below for a list of98 are officially assigned by registry@caldera.com. See below for a list of 96 99 ad-hoc numbers used during initial development. */ 97 100 98 #define EM_NONE 0 /* No machine */ 99 #define EM_M32 1 /* AT&T WE 32100 */ 100 #define EM_SPARC 2 /* SUN SPARC */ 101 #define EM_386 3 /* Intel 80386 */ 102 #define EM_68K 4 /* Motorola m68k family */ 103 #define EM_88K 5 /* Motorola m88k family */ 104 #define EM_486 6 /* Intel 80486 *//* Reserved for future use */ 105 #define EM_860 7 /* Intel 80860 */ 106 #define EM_MIPS 8 /* MIPS R3000 (officially, big-endian only) */ 107 #define EM_S370 9 /* IBM System/370 */ 108 #define EM_MIPS_RS3_LE 10 /* MIPS R3000 little-endian (Oct 4 1999 Draft)*/ /* Depreciated */ 109 110 #define EM_PARISC 15 /* HPPA */ 111 112 #define EM_VPP550 17 /* Fujitsu VPP500 */ 113 #define EM_SPARC32PLUS 18 /* Sun's "v8plus" */ 114 #define EM_960 19 /* Intel 80960 */ 115 #define EM_PPC 20 /* PowerPC */ 116 #define EM_PPC64 21 /* 64-bit PowerPC */ 117 118 #define EM_V800 36 /* NEC V800 series */ 119 #define EM_FR20 37 /* Fujitsu FR20 */ 120 #define EM_RH32 38 /* TRW RH32 */ 121 #define EM_MCORE 39 /* Motorola M*Core */ /* May also be taken by Fujitsu MMA */ 122 #define EM_RCE 39 /* Old name for MCore */ 123 #define EM_ARM 40 /* ARM */ 124 #define EM_OLD_ALPHA 41 /* Digital Alpha */ 125 #define EM_SH 42 /* Hitachi SH */ 126 #define EM_SPARCV9 43 /* SPARC v9 64-bit */ 127 #define EM_TRICORE 44 /* Siemens Tricore embedded processor */ 128 #define EM_ARC 45 /* ARC Cores */ 129 #define EM_H8_300 46 /* Hitachi H8/300 */ 130 #define EM_H8_300H 47 /* Hitachi H8/300H */ 131 #define EM_H8S 48 /* Hitachi H8S */ 132 #define EM_H8_500 49 /* Hitachi H8/500 */ 133 #define EM_IA_64 50 /* Intel IA-64 Processor */ 134 #define EM_MIPS_X 51 /* Stanford MIPS-X */ 135 #define EM_COLDFIRE 52 /* Motorola Coldfire */ 136 #define EM_68HC12 53 /* Motorola M68HC12 */ 137 #define EM_MMA 54 /* Fujitsu Multimedia Accelerator */ 138 #define EM_PCP 55 /* Siemens PCP */ 139 #define EM_NCPU 56 /* Sony nCPU embedded RISC processor */ 140 #define EM_NDR1 57 /* Denso NDR1 microprocesspr */ 141 #define EM_STARCORE 58 /* Motorola Star*Core processor */ 142 #define EM_ME16 59 /* Toyota ME16 processor */ 143 #define EM_ST100 60 /* STMicroelectronics ST100 processor */ 144 #define EM_TINYJ 61 /* Advanced Logic Corp. TinyJ embedded processor */ 145 #define EM_X86_64 62 /* Advanced Micro Devices X86-64 processor */ 146 147 #define EM_FX66 66 /* Siemens FX66 microcontroller */ 148 #define EM_ST9PLUS 67 /* STMicroelectronics ST9+ 8/16 bit microcontroller */ 149 #define EM_ST7 68 /* STMicroelectronics ST7 8-bit microcontroller */ 150 #define EM_68HC16 69 /* Motorola MC68HC16 Microcontroller */ 151 #define EM_68HC11 70 /* Motorola MC68HC11 Microcontroller */ 152 #define EM_68HC08 71 /* Motorola MC68HC08 Microcontroller */ 153 #define EM_68HC05 72 /* Motorola MC68HC05 Microcontroller */ 154 #define EM_SVX 73 /* Silicon Graphics SVx */ 155 #define EM_ST19 74 /* STMicroelectronics ST19 8-bit cpu */ 156 #define EM_VAX 75 /* Digital VAX */ 157 #define EM_CRIS 76 /* Axis Communications 32-bit embedded processor */ 158 #define EM_JAVELIN 77 /* Infineon Technologies 32-bit embedded cpu */ 159 #define EM_FIREPATH 78 /* Element 14 64-bit DSP processor */ 160 #define EM_ZSP 79 /* LSI Logic's 16-bit DSP processor */ 161 #define EM_MMIX 80 /* Donald Knuth's educational 64-bit processor */ 162 #define EM_HUANY 81 /* Harvard's machine-independent format */ 163 #define EM_PRISM 82 /* SiTera Prism */ 101 #define EM_NONE 0 /* No machine */ 102 #define EM_M32 1 /* AT&T WE 32100 */ 103 #define EM_SPARC 2 /* SUN SPARC */ 104 #define EM_386 3 /* Intel 80386 */ 105 #define EM_68K 4 /* Motorola m68k family */ 106 #define EM_88K 5 /* Motorola m88k family */ 107 #define EM_486 6 /* Intel 80486 *//* Reserved for future use */ 108 #define EM_860 7 /* Intel 80860 */ 109 #define EM_MIPS 8 /* MIPS R3000 (officially, big-endian only) */ 110 #define EM_S370 9 /* IBM System/370 */ 111 #define EM_MIPS_RS3_LE 10 /* MIPS R3000 little-endian (Oct 4 1999 Draft) Deprecated */ 112 113 #define EM_PARISC 15 /* HPPA */ 114 115 #define EM_VPP550 17 /* Fujitsu VPP500 */ 116 #define EM_SPARC32PLUS 18 /* Sun's "v8plus" */ 117 #define EM_960 19 /* Intel 80960 */ 118 #define EM_PPC 20 /* PowerPC */ 119 #define EM_PPC64 21 /* 64-bit PowerPC */ 120 #define EM_S390 22 /* IBM S/390 */ 121 122 #define EM_V800 36 /* NEC V800 series */ 123 #define EM_FR20 37 /* Fujitsu FR20 */ 124 #define EM_RH32 38 /* TRW RH32 */ 125 #define EM_MCORE 39 /* Motorola M*Core */ /* May also be taken by Fujitsu MMA */ 126 #define EM_RCE 39 /* Old name for MCore */ 127 #define EM_ARM 40 /* ARM */ 128 #define EM_OLD_ALPHA 41 /* Digital Alpha */ 129 #define EM_SH 42 /* Renesas (formerly Hitachi) / SuperH SH */ 130 #define EM_SPARCV9 43 /* SPARC v9 64-bit */ 131 #define EM_TRICORE 44 /* Siemens Tricore embedded processor */ 132 #define EM_ARC 45 /* ARC Cores */ 133 #define EM_H8_300 46 /* Renesas (formerly Hitachi) H8/300 */ 134 #define EM_H8_300H 47 /* Renesas (formerly Hitachi) H8/300H */ 135 #define EM_H8S 48 /* Renesas (formerly Hitachi) H8S */ 136 #define EM_H8_500 49 /* Renesas (formerly Hitachi) H8/500 */ 137 #define EM_IA_64 50 /* Intel IA-64 Processor */ 138 #define EM_MIPS_X 51 /* Stanford MIPS-X */ 139 #define EM_COLDFIRE 52 /* Motorola Coldfire */ 140 #define EM_68HC12 53 /* Motorola M68HC12 */ 141 #define EM_MMA 54 /* Fujitsu Multimedia Accelerator */ 142 #define EM_PCP 55 /* Siemens PCP */ 143 #define EM_NCPU 56 /* Sony nCPU embedded RISC processor */ 144 #define EM_NDR1 57 /* Denso NDR1 microprocesspr */ 145 #define EM_STARCORE 58 /* Motorola Star*Core processor */ 146 #define EM_ME16 59 /* Toyota ME16 processor */ 147 #define EM_ST100 60 /* STMicroelectronics ST100 processor */ 148 #define EM_TINYJ 61 /* Advanced Logic Corp. TinyJ embedded processor */ 149 #define EM_X86_64 62 /* Advanced Micro Devices X86-64 processor */ 150 151 #define EM_PDP10 64 /* Digital Equipment Corp. PDP-10 */ 152 #define EM_PDP11 65 /* Digital Equipment Corp. PDP-11 */ 153 #define EM_FX66 66 /* Siemens FX66 microcontroller */ 154 #define EM_ST9PLUS 67 /* STMicroelectronics ST9+ 8/16 bit microcontroller */ 155 #define EM_ST7 68 /* STMicroelectronics ST7 8-bit microcontroller */ 156 #define EM_68HC16 69 /* Motorola MC68HC16 Microcontroller */ 157 #define EM_68HC11 70 /* Motorola MC68HC11 Microcontroller */ 158 #define EM_68HC08 71 /* Motorola MC68HC08 Microcontroller */ 159 #define EM_68HC05 72 /* Motorola MC68HC05 Microcontroller */ 160 #define EM_SVX 73 /* Silicon Graphics SVx */ 161 #define EM_ST19 74 /* STMicroelectronics ST19 8-bit cpu */ 162 #define EM_VAX 75 /* Digital VAX */ 163 #define EM_CRIS 76 /* Axis Communications 32-bit embedded processor */ 164 #define EM_JAVELIN 77 /* Infineon Technologies 32-bit embedded cpu */ 165 #define EM_FIREPATH 78 /* Element 14 64-bit DSP processor */ 166 #define EM_ZSP 79 /* LSI Logic's 16-bit DSP processor */ 167 #define EM_MMIX 80 /* Donald Knuth's educational 64-bit processor */ 168 #define EM_HUANY 81 /* Harvard's machine-independent format */ 169 #define EM_PRISM 82 /* SiTera Prism */ 170 #define EM_AVR 83 /* Atmel AVR 8-bit microcontroller */ 171 #define EM_FR30 84 /* Fujitsu FR30 */ 172 #define EM_D10V 85 /* Mitsubishi D10V */ 173 #define EM_D30V 86 /* Mitsubishi D30V */ 174 #define EM_V850 87 /* NEC v850 */ 175 #define EM_M32R 88 /* Renesas M32R (formerly Mitsubishi M32R) */ 176 #define EM_MN10300 89 /* Matsushita MN10300 */ 177 #define EM_MN10200 90 /* Matsushita MN10200 */ 178 #define EM_PJ 91 /* picoJava */ 179 #define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor */ 180 #define EM_ARC_A5 93 /* ARC Cores Tangent-A5 */ 181 #define EM_XTENSA 94 /* Tensilica Xtensa Architecture */ 182 #define EM_IP2K 101 /* Ubicom IP2022 micro controller */ 183 #define EM_MSP430 105 /* TI msp430 micro controller */ 164 184 165 185 /* If it is necessary to assign new unofficial EM_* values, please pick large … … 172 192 173 193 Normally, each entity or maintainer responsible for a machine with an 174 unofficial e_machine number should eventually ask registry@ sco.com for175 an officially blessed number to be added to the list above. 176 177 #define EM_PJ 99/* picoJava */194 unofficial e_machine number should eventually ask registry@caldera.com for 195 an officially blessed number to be added to the list above. */ 196 197 #define EM_PJ_OLD 99 /* picoJava */ 178 198 179 199 /* Cygnus PowerPC ELF backend. Written in the absence of an ABI. */ … … 187 207 #define EM_PPC_OLD 17 188 208 189 /* Cygnus ARC ELF backend. Written in the absence of an ABI. */190 #define EM_ CYGNUS_ARC 0x9040209 /* (Deprecated) Temporary number for the OpenRISC processor. */ 210 #define EM_OR32 0x8472 191 211 192 212 /* Cygnus M32R ELF backend. Written in the absence of an ABI. */ 193 #define EM_CYGNUS_M32R 213 #define EM_CYGNUS_M32R 0x9041 194 214 195 215 /* Alpha backend magic number. Written in the absence of an ABI. */ 196 216 #define EM_ALPHA 0x9026 217 218 /* old S/390 backend magic number. Written in the absence of an ABI. */ 219 #define EM_S390_OLD 0xa390 197 220 198 221 /* D10V backend magic number. Written in the absence of an ABI. */ … … 215 238 /* AVR magic number 216 239 Written in the absense of an ABI. */ 217 #define EM_AVR 0x1057 240 #define EM_AVR_OLD 0x1057 241 242 /* OpenRISC magic number 243 Written in the absense of an ABI. */ 244 #define EM_OPENRISC_OLD 0x3426 245 246 /* DLX magic number 247 Written in the absense of an ABI. */ 248 #define EM_DLX 0x5aa5 249 250 #define EM_XSTORMY16 0xad45 251 252 /* FRV magic number - no EABI available??. */ 253 #define EM_CYGNUS_FRV 0x5441 254 255 /* Ubicom IP2xxx; no ABI */ 256 #define EM_IP2K_OLD 0x8217 257 258 /* MSP430 magic number 259 Written in the absense everything. */ 260 #define EM_MSP430_OLD 0x1059 261 262 /* Vitesse IQ2000. */ 263 #define EM_IQ2000 0xFEBA 264 265 /* Old, unofficial value for Xtensa. */ 266 #define EM_XTENSA_OLD 0xabc7 218 267 219 268 /* See the above comment before you add a new EM_* value here. */ … … 226 275 /* Values for program header, p_type field. */ 227 276 228 #define 277 #define PT_NULL 0 /* Program header table entry unused */ 229 278 #define PT_LOAD 1 /* Loadable program segment */ 230 279 #define PT_DYNAMIC 2 /* Dynamic linking information */ … … 233 282 #define PT_SHLIB 5 /* Reserved, unspecified semantics */ 234 283 #define PT_PHDR 6 /* Entry for header table itself */ 235 #define PT_LOOS 0x60000000 /* OS-specific */ 236 #define PT_HIOS 0x6fffffff /* OS-specific */ 284 #define PT_TLS 7 /* Thread local storage segment */ 285 #define PT_LOOS 0x60000000 /* OS-specific */ 286 #define PT_HIOS 0x6fffffff /* OS-specific */ 237 287 #define PT_LOPROC 0x70000000 /* Processor-specific */ 238 288 #define PT_HIPROC 0x7FFFFFFF /* Processor-specific */ 289 290 #define PT_GNU_EH_FRAME (PT_LOOS + 0x474e550) 239 291 240 292 /* Program segment permissions, in program header p_flags field. */ … … 262 314 #define SHT_DYNSYM 11 /* Dynamic linking symbol table */ 263 315 264 #define SHT_INIT_ARRAY 265 #define SHT_FINI_ARRAY 316 #define SHT_INIT_ARRAY 14 /* Array of ptrs to init functions */ 317 #define SHT_FINI_ARRAY 15 /* Array of ptrs to finish functions */ 266 318 #define SHT_PREINIT_ARRAY 16 /* Array of ptrs to pre-init funcs */ 267 #define SHT_GROUP 319 #define SHT_GROUP 17 /* Section contains a section group */ 268 320 #define SHT_SYMTAB_SHNDX 18 /* Indicies for SHN_XINDEX entries */ 269 321 270 #define SHT_LOOS 0x60000000 /* First of OS specific semantics */ 271 #define SHT_HIOS 0x6fffffff /* Last of OS specific semantics */ 322 #define SHT_LOOS 0x60000000 /* First of OS specific semantics */ 323 #define SHT_HIOS 0x6fffffff /* Last of OS specific semantics */ 324 325 #define SHT_GNU_LIBLIST 0x6ffffff7 /* List of prelink dependencies */ 272 326 273 327 /* The next three section types are defined by Solaris, and are named … … 296 350 #define SHF_STRINGS (1 << 5) /* Contains null terminated character strings */ 297 351 #define SHF_INFO_LINK (1 << 6) /* sh_info holds section header table index */ 298 #define SHF_LINK_ORDER 352 #define SHF_LINK_ORDER (1 << 7) /* Preserve section ordering when linking */ 299 353 #define SHF_OS_NONCONFORMING (1 << 8) /* OS specific processing required */ 300 354 #define SHF_GROUP (1 << 9) /* Member of a section group */ 355 #define SHF_TLS (1 << 10) /* Thread local storage section */ 301 356 302 357 /* #define SHF_MASKOS 0x0F000000 *//* OS-specific semantics */ … … 310 365 #define NT_PRPSINFO 3 /* Contains copy of prpsinfo struct */ 311 366 #define NT_TASKSTRUCT 4 /* Contains copy of task struct */ 312 #define NT_PRXFPREG 367 #define NT_PRXFPREG 0x46e62b7f /* Contains a user_xfpregs_struct; */ 313 368 /* note name must be "LINUX". */ 314 369 … … 322 377 #define NT_WIN32PSTATUS 18 /* Has a struct win32_pstatus */ 323 378 379 380 /* Note segments for core files on NetBSD systems. Note name 381 must start with "NetBSD-CORE". */ 382 383 #define NT_NETBSDCORE_PROCINFO 1 /* Has a struct procinfo */ 384 #define NT_NETBSDCORE_FIRSTMACH 32 /* start of machdep note types */ 385 386 324 387 /* Values of note segment descriptor types for object files. */ 325 /* (Only for hppa right now. Should this be moved elsewhere?) */326 388 327 389 #define NT_VERSION 1 /* Contains a version string. */ 390 #define NT_ARCH 2 /* Contains an architecture string. */ 391 392 /* Values for GNU .note.ABI-tag notes. Note name is "GNU". */ 393 394 #define NT_GNU_ABI_TAG 1 395 #define GNU_ABI_TAG_LINUX 0 396 #define GNU_ABI_TAG_HURD 1 397 #define GNU_ABI_TAG_SOLARIS 2 398 399 /* Values for NetBSD .note.netbsd.ident notes. Note name is "NetBSD". */ 400 401 #define NT_NETBSD_IDENT 1 402 403 /* Values for FreeBSD .note.ABI-tag notes. Note name is "FreeBSD". */ 404 405 #define NT_FREEBSD_ABI_TAG 1 328 406 329 407 /* These three macros disassemble and assemble a symbol table st_info field, … … 360 438 #define STB_GLOBAL 1 /* Symbol visible outside obj */ 361 439 #define STB_WEAK 2 /* Like globals, lower precedence */ 362 #define STB_LOOS 363 #define STB_HIOS 440 #define STB_LOOS 10 /* OS-specific semantics */ 441 #define STB_HIOS 12 /* OS-specific semantics */ 364 442 #define STB_LOPROC 13 /* Application-specific semantics */ 365 443 #define STB_HIPROC 15 /* Application-specific semantics */ … … 371 449 #define STT_FILE 4 /* Symbol gives a file name */ 372 450 #define STT_COMMON 5 /* An uninitialised common block */ 373 #define STT_LOOS 10 /* OS-specific semantics */ 374 #define STT_HIOS 12 /* OS-specific semantics */ 451 #define STT_TLS 6 /* Thread local data object */ 452 #define STT_LOOS 10 /* OS-specific semantics */ 453 #define STT_HIOS 12 /* OS-specific semantics */ 375 454 #define STT_LOPROC 13 /* Application-specific semantics */ 376 455 #define STT_HIPROC 15 /* Application-specific semantics */ … … 383 462 #define SHN_LOPROC 0xFF00 /* Begin range of appl-specific */ 384 463 #define SHN_HIPROC 0xFF1F /* End range of appl-specific */ 385 #define SHN_LOOS 0xFF20 /* OS specific semantics, lo */ 386 #define SHN_HIOS 0xFF3F /* OS specific semantics, hi */ 387 #define SHN_ABS 0xFFF1 /* Associated symbol is absolute */ 388 #define SHN_COMMON 0xFFF2 /* Associated symbol is in common */ 389 #define SHN_XINDEX 0xFFFF /* Section index it held elsewhere */ 390 #define SHN_HIRESERVE 0xFFFF /* End range of reserved indices */ 464 #define SHN_LOOS 0xFF20 /* OS specific semantics, lo */ 465 #define SHN_HIOS 0xFF3F /* OS specific semantics, hi */ 466 #define SHN_ABS 0xFFF1 /* Associated symbol is absolute */ 467 #define SHN_COMMON 0xFFF2 /* Associated symbol is in common */ 468 #define SHN_XINDEX 0xFFFF /* Section index is held elsewhere */ 469 #define SHN_HIRESERVE 0xFFFF /* End range of reserved indices */ 470 #define SHN_BAD ((unsigned) -1) /* Used internally by bfd */ 391 471 392 472 /* The following constants control how a symbol may be accessed once it has … … 434 514 #define DT_TEXTREL 22 435 515 #define DT_JMPREL 23 436 #define DT_BIND_NOW 437 #define DT_INIT_ARRAY 438 #define DT_FINI_ARRAY 516 #define DT_BIND_NOW 24 517 #define DT_INIT_ARRAY 25 518 #define DT_FINI_ARRAY 26 439 519 #define DT_INIT_ARRAYSZ 27 440 520 #define DT_FINI_ARRAYSZ 28 441 #define DT_RUNPATH 29 442 #define DT_FLAGS 30 443 444 #define DT_ENCODING 32 521 #define DT_RUNPATH 29 522 #define DT_FLAGS 30 523 #define DT_ENCODING 31 445 524 #define DT_PREINIT_ARRAY 32 446 525 #define DT_PREINIT_ARRAYSZ 33 … … 448 527 /* Note, the Oct 4, 1999 draft of the ELF ABI changed the values 449 528 for DT_LOOS and DT_HIOS. Some implementations however, use 450 values outside of the new range (see below). 529 values outside of the new range (see below). */ 451 530 #define OLD_DT_LOOS 0x60000000 452 #define DT_LOOS 453 #define DT_HIOS 454 #define OLD_DT_HIOS 455 456 #define DT_LOPROC 457 #define DT_HIPROC 531 #define DT_LOOS 0x6000000d 532 #define DT_HIOS 0x6fff0000 533 #define OLD_DT_HIOS 0x6fffffff 534 535 #define DT_LOPROC 0x70000000 536 #define DT_HIPROC 0x7fffffff 458 537 459 538 /* The next four dynamic tags are used on Solaris. We support them 460 everywhere. 461 OS specific values. 539 everywhere. Note these values lie outside of the (new) range for 540 OS specific values. This is a deliberate special case and we 462 541 maintain it for backwards compatability. */ 463 542 #define DT_VALRNGLO 0x6ffffd00 543 #define DT_GNU_PRELINKED 0x6ffffdf5 544 #define DT_GNU_CONFLICTSZ 0x6ffffdf6 545 #define DT_GNU_LIBLISTSZ 0x6ffffdf7 464 546 #define DT_CHECKSUM 0x6ffffdf8 465 547 #define DT_PLTPADSZ 0x6ffffdf9 … … 473 555 474 556 #define DT_ADDRRNGLO 0x6ffffe00 557 #define DT_GNU_CONFLICT 0x6ffffef8 558 #define DT_GNU_LIBLIST 0x6ffffef9 475 559 #define DT_CONFIG 0x6ffffefa 476 560 #define DT_DEPAUDIT 0x6ffffefb … … 513 597 #define DTF_1_CONFEXP 0x00000002 514 598 515 /* Flag values used in the DT_POSFLAG_1 .dynamic entry. 599 /* Flag values used in the DT_POSFLAG_1 .dynamic entry. */ 516 600 #define DF_P1_LAZYLOAD 0x00000001 517 601 #define DF_P1_GROUPPERM 0x00000002 … … 533 617 #define DF_1_CONLFAT 0x00002000 534 618 535 /* Flag values for the DT_FLAGS entry. 619 /* Flag values for the DT_FLAGS entry. */ 536 620 #define DF_ORIGIN (1 << 0) 537 621 #define DF_SYMBOLIC (1 << 1) 538 622 #define DF_TEXTREL (1 << 2) 539 623 #define DF_BIND_NOW (1 << 3) 624 #define DF_STATIC_TLS (1 << 4) 540 625 541 626 /* These constants are used for the version number of a Elf32_Verdef … … 599 684 #define SYMINFO_NUM 2 600 685 601 /* Section Group Flags. 686 /* Section Group Flags. */ 602 687 603 688 #define GRP_COMDAT 0x1 /* A COMDAT group */ -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/elf/cris.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 31 31 RELOC_NUMBER (R_CRIS_16, 2) 32 32 RELOC_NUMBER (R_CRIS_32, 3) 33 34 /* The "PC" position is the location right after the relocation. */ 33 35 RELOC_NUMBER (R_CRIS_8_PCREL, 4) 34 36 RELOC_NUMBER (R_CRIS_16_PCREL, 5) … … 37 39 RELOC_NUMBER (R_CRIS_GNU_VTINHERIT, 7) 38 40 RELOC_NUMBER (R_CRIS_GNU_VTENTRY, 8) 41 42 /* Copy contents at dynlinking. Generated by the linker. 43 The BFD equivalent is BFD_RELOC_CRIS_COPY. */ 44 RELOC_NUMBER (R_CRIS_COPY, 9) 45 46 /* Create GOT entry. Generated by the linker. 47 The BFD equivalent is BFD_RELOC_CRIS_GLOB_DAT. */ 48 RELOC_NUMBER (R_CRIS_GLOB_DAT, 10) 49 50 /* Create PLT entry. Generated by the linker. 51 The BFD equivalent is BFD_RELOC_CRIS_JUMP_SLOT. */ 52 RELOC_NUMBER (R_CRIS_JUMP_SLOT, 11) 53 54 /* Adjust by program base. Generated by the linker. 55 The BFD equivalent is BFD_RELOC_CRIS_RELATIVE. */ 56 RELOC_NUMBER (R_CRIS_RELATIVE, 12) 57 58 /* A 16-bit offset to entry in GOT and request to create GOT entry for 59 that symbol. 60 The BFD equivalent is BFD_RELOC_CRIS_16_GOT. */ 61 RELOC_NUMBER (R_CRIS_16_GOT, 13) 62 63 /* A 32-bit offset to entry in GOT and request to create GOT entry for 64 that symbol. 65 The BFD equivalent is BFD_RELOC_CRIS_32_GOT. */ 66 RELOC_NUMBER (R_CRIS_32_GOT, 14) 67 68 /* A 16-bit offset to entry in PLT part of GOT and request to create PLT 69 entry for that symbol. 70 The BFD equivalent is BFD_RELOC_CRIS_16_GOTPLT. */ 71 RELOC_NUMBER (R_CRIS_16_GOTPLT, 15) 72 73 /* A 32-bit offset to entry in PLT part of GOT and request to create PLT 74 entry for that symbol. 75 The BFD equivalent is BFD_RELOC_CRIS_32_GOTPLT. */ 76 RELOC_NUMBER (R_CRIS_32_GOTPLT, 16) 77 78 /* A 32-bit offset from GOT to (local) symbol: no GOT entry should be 79 necessary. 80 The BFD equivalent is BFD_RELOC_CRIS_32_GOTREL. */ 81 RELOC_NUMBER (R_CRIS_32_GOTREL, 17) 82 83 /* A 32-bit offset from GOT to entry for this symbol in PLT and request 84 to create PLT entry for symbol. 85 The BFD equivalent is BFD_RELOC_CRIS_32_GOTREL. */ 86 RELOC_NUMBER (R_CRIS_32_PLT_GOTREL, 18) 87 88 /* A 32-bit offset from location after this relocation (addend specifies 89 offset) to entry for this symbol in PLT and request to create PLT 90 entry for symbol. 91 The BFD equivalent is BFD_RELOC_CRIS_32_PLT_PCREL. */ 92 RELOC_NUMBER (R_CRIS_32_PLT_PCREL, 19) 39 93 40 94 /* No other relocs must be visible outside the assembler. */ -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/elf/dwarf2.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 /* Declarations and definitions of codes relating to the DWARF symbolic1 /* Declarations and definitions of codes relating to the DWARF2 symbolic 2 2 debugging information format. 3 Copyright 1992, 1993, 1995, 1996, 1999 Free Software Foundation, Inc. 3 Copyright (C) 1992, 1993, 1995, 1996, 1997, 1999, 2000, 2001, 2002 4 Free Software Foundation, Inc. 4 5 5 6 Written by Gary Funck (gary@intrepid.com) The Ada Joint Program … … 10 11 (rfg@netcom.com), November 1990. 11 12 12 This file is part of GNU CC. 13 14 GNU CC is free software; you can redistribute it and/or modify it 15 under the terms of the GNU General Public License as published by the 16 Free Software Foundation; either version 2, or (at your option) any 17 later version. 18 19 GNU CC is distributed in the hope that it will be useful, but WITHOUT 20 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 21 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 22 for more details. 23 24 You should have received a copy of the GNU General Public License 25 along with GNU CC; see the file COPYING. If not, write to the Free 26 Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 13 This file is part of GCC. 14 15 GCC is free software; you can redistribute it and/or modify it under 16 the terms of the GNU General Public License as published by the Free 17 Software Foundation; either version 2, or (at your option) any later 18 version. 19 20 GCC is distributed in the hope that it will be useful, but WITHOUT 21 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 22 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 23 License for more details. 24 25 You should have received a copy of the GNU General Public License 26 along with GCC; see the file COPYING. If not, write to the Free 27 Software Foundation, 59 Temple Place - Suite 330, Boston, MA 28 02111-1307, USA. */ 27 29 28 30 /* This file is derived from the DWARF specification (a public document) … … 30 32 Programming Languages Special Interest Group (UI/PLSIG) and distributed 31 33 by UNIX International. Copies of this specification are available from 32 UNIX International, 20 Waterview Boulevard, Parsippany, NJ, 07054. */ 34 UNIX International, 20 Waterview Boulevard, Parsippany, NJ, 07054. 35 36 This file also now contains definitions from the DWARF 3 specification. */ 37 38 /* This file is shared between GCC and GDB, and should not contain 39 prototypes. */ 33 40 34 41 #ifndef _ELF_DWARF2_H … … 81 88 DWARF2_Internal_PubNames; 82 89 83 /* Str cuture found in .debug_info section. */90 /* Structure found in .debug_info section. */ 84 91 typedef struct 85 92 { … … 122 129 123 130 /* Tag names and codes. */ 124 125 131 enum dwarf_tag 126 132 { … … 173 179 DW_TAG_variable = 0x34, 174 180 DW_TAG_volatile_type = 0x35, 175 /* SGI/MIPS Extensions */ 181 /* DWARF 3. */ 182 DW_TAG_dwarf_procedure = 0x36, 183 DW_TAG_restrict_type = 0x37, 184 DW_TAG_interface_type = 0x38, 185 DW_TAG_namespace = 0x39, 186 DW_TAG_imported_module = 0x3a, 187 DW_TAG_unspecified_type = 0x3b, 188 DW_TAG_partial_unit = 0x3c, 189 DW_TAG_imported_unit = 0x3d, 190 /* SGI/MIPS Extensions. */ 176 191 DW_TAG_MIPS_loop = 0x4081, 177 /* GNU extensions */ 178 DW_TAG_format_label = 0x4101, /* for FORTRAN 77 and Fortran 90 */ 179 DW_TAG_function_template = 0x4102, /* for C++ */ 180 DW_TAG_class_template = 0x4103 /* for C++ */ 192 /* GNU extensions. */ 193 DW_TAG_format_label = 0x4101, /* For FORTRAN 77 and Fortran 90. */ 194 DW_TAG_function_template = 0x4102, /* For C++. */ 195 DW_TAG_class_template = 0x4103, /* For C++. */ 196 DW_TAG_GNU_BINCL = 0x4104, 197 DW_TAG_GNU_EINCL = 0x4105, 198 /* Extensions for UPC. See: http://upc.gwu.edu/~upc. */ 199 DW_TAG_upc_shared_type = 0x8765, 200 DW_TAG_upc_strict_type = 0x8766, 201 DW_TAG_upc_relaxed_type = 0x8767 181 202 }; 182 203 … … 184 205 #define DW_TAG_hi_user 0xffff 185 206 186 /* flag that tells whether entry has a child or not*/207 /* Flag that tells whether entry has a child or not. */ 187 208 #define DW_children_no 0 188 209 #define DW_children_yes 1 … … 280 301 DW_AT_virtuality = 0x4c, 281 302 DW_AT_vtable_elem_location = 0x4d, 282 /* SGI/MIPS Extensions */ 303 /* DWARF 3 values. */ 304 DW_AT_allocated = 0x4e, 305 DW_AT_associated = 0x4f, 306 DW_AT_data_location = 0x50, 307 DW_AT_stride = 0x51, 308 DW_AT_entry_pc = 0x52, 309 DW_AT_use_UTF8 = 0x53, 310 DW_AT_extension = 0x54, 311 DW_AT_ranges = 0x55, 312 DW_AT_trampoline = 0x56, 313 DW_AT_call_column = 0x57, 314 DW_AT_call_file = 0x58, 315 DW_AT_call_line = 0x59, 316 /* SGI/MIPS extensions. */ 283 317 DW_AT_MIPS_fde = 0x2001, 284 318 DW_AT_MIPS_loop_begin = 0x2002, … … 293 327 DW_AT_MIPS_has_inlines = 0x200b, 294 328 /* GNU extensions. */ 295 DW_AT_sf_names = 0x2101,296 DW_AT_src_info = 0x2102,297 DW_AT_mac_info = 0x2103,329 DW_AT_sf_names = 0x2101, 330 DW_AT_src_info = 0x2102, 331 DW_AT_mac_info = 0x2103, 298 332 DW_AT_src_coords = 0x2104, 299 333 DW_AT_body_begin = 0x2105, 300 DW_AT_body_end = 0x2106 301 }; 302 303 #define DW_AT_lo_user 0x2000 /* implementation-defined range start */ 304 #define DW_AT_hi_user 0x3ff0 /* implementation-defined range end */ 334 DW_AT_body_end = 0x2106, 335 DW_AT_GNU_vector = 0x2107, 336 /* VMS extensions. */ 337 DW_AT_VMS_rtnbeg_pd_address = 0x2201, 338 /* UPC extension. */ 339 DW_AT_upc_threads_scaled = 0x3210 340 }; 341 342 #define DW_AT_lo_user 0x2000 /* Implementation-defined range start. */ 343 #define DW_AT_hi_user 0x3ff0 /* Implementation-defined range end. */ 305 344 306 345 /* Location atom names and codes. */ 307 308 346 enum dwarf_location_atom 309 347 { … … 452 490 DW_OP_deref_size = 0x94, 453 491 DW_OP_xderef_size = 0x95, 454 DW_OP_nop = 0x96 455 }; 456 457 #define DW_OP_lo_user 0x80 /* implementation-defined range start */ 458 #define DW_OP_hi_user 0xff /* implementation-defined range end */ 492 DW_OP_nop = 0x96, 493 /* DWARF 3 extensions. */ 494 DW_OP_push_object_address = 0x97, 495 DW_OP_call2 = 0x98, 496 DW_OP_call4 = 0x99, 497 DW_OP_call_ref = 0x9a, 498 /* GNU extensions. */ 499 DW_OP_GNU_push_tls_address = 0xe0 500 }; 501 502 #define DW_OP_lo_user 0xe0 /* Implementation-defined range start. */ 503 #define DW_OP_hi_user 0xff /* Implementation-defined range end. */ 459 504 460 505 /* Type encodings. */ 461 462 506 enum dwarf_type 463 507 { … … 470 514 DW_ATE_signed_char = 0x6, 471 515 DW_ATE_unsigned = 0x7, 472 DW_ATE_unsigned_char = 0x8 516 DW_ATE_unsigned_char = 0x8, 517 /* DWARF 3. */ 518 DW_ATE_imaginary_float = 0x9 473 519 }; 474 520 … … 483 529 }; 484 530 485 /* access attribute*/531 /* Access attribute. */ 486 532 enum dwarf_access_attribute 487 533 { … … 491 537 }; 492 538 493 /* visibility*/539 /* Visibility. */ 494 540 enum dwarf_visibility_attribute 495 541 { … … 499 545 }; 500 546 501 /* virtuality*/547 /* Virtuality. */ 502 548 enum dwarf_virtuality_attribute 503 549 { … … 507 553 }; 508 554 509 /* case sensitivity*/555 /* Case sensitivity. */ 510 556 enum dwarf_id_case 511 557 { … … 516 562 }; 517 563 518 /* calling convention*/564 /* Calling convention. */ 519 565 enum dwarf_calling_convention 520 566 { … … 527 573 #define DW_CC_hi_user 0xff 528 574 529 /* inline attribute*/575 /* Inline attribute. */ 530 576 enum dwarf_inline_attribute 531 577 { … … 536 582 }; 537 583 538 /* descriminant lists*/539 enum dwarf_d escrim_list584 /* Discriminant lists. */ 585 enum dwarf_discrim_list 540 586 { 541 587 DW_DSC_label = 0, … … 543 589 }; 544 590 545 /* line number opcodes*/591 /* Line number opcodes. */ 546 592 enum dwarf_line_number_ops 547 593 { … … 555 601 DW_LNS_set_basic_block = 7, 556 602 DW_LNS_const_add_pc = 8, 557 DW_LNS_fixed_advance_pc = 9 558 }; 559 560 /* line number extended opcodes */ 603 DW_LNS_fixed_advance_pc = 9, 604 /* DWARF 3. */ 605 DW_LNS_set_prologue_end = 10, 606 DW_LNS_set_epilogue_begin = 11, 607 DW_LNS_set_isa = 12 608 }; 609 610 /* Line number extended opcodes. */ 561 611 enum dwarf_line_number_x_ops 562 612 { … … 566 616 }; 567 617 568 /* call frame information*/618 /* Call frame information. */ 569 619 enum dwarf_call_frame_info 570 620 { … … 587 637 DW_CFA_def_cfa_register = 0x0d, 588 638 DW_CFA_def_cfa_offset = 0x0e, 589 /* SGI/MIPS specific */ 590 DW_CFA_MIPS_advance_loc8 = 0x1d 639 640 /* DWARF 3. */ 641 DW_CFA_def_cfa_expression = 0x0f, 642 DW_CFA_expression = 0x10, 643 DW_CFA_offset_extended_sf = 0x11, 644 DW_CFA_def_cfa_sf = 0x12, 645 DW_CFA_def_cfa_offset_sf = 0x13, 646 647 /* SGI/MIPS specific. */ 648 DW_CFA_MIPS_advance_loc8 = 0x1d, 649 650 /* GNU extensions. */ 651 DW_CFA_GNU_window_save = 0x2d, 652 DW_CFA_GNU_args_size = 0x2e, 653 DW_CFA_GNU_negative_offset_extended = 0x2f 591 654 }; 592 655 … … 595 658 596 659 #define DW_CFA_extended 0 597 #define DW_CFA_lo w_user0x1c598 #define DW_CFA_hi gh_user0x3f660 #define DW_CFA_lo_user 0x1c 661 #define DW_CFA_hi_user 0x3f 599 662 600 663 #define DW_CHILDREN_no 0x00 … … 604 667 605 668 /* Source language names and codes. */ 606 607 669 enum dwarf_source_language 608 670 { … … 617 679 DW_LANG_Pascal83 = 0x0009, 618 680 DW_LANG_Modula2 = 0x000a, 619 DW_LANG_Java = 0x9af4, 620 DW_LANG_Mips_Assembler = 0x8001 621 }; 622 623 624 #define DW_LANG_lo_user 0x8000 /* implementation-defined range start */ 625 #define DW_LANG_hi_user 0xffff /* implementation-defined range start */ 681 DW_LANG_Java = 0x000b, 682 /* DWARF 3. */ 683 DW_LANG_C99 = 0x000c, 684 DW_LANG_Ada95 = 0x000d, 685 DW_LANG_Fortran95 = 0x000e, 686 /* MIPS. */ 687 DW_LANG_Mips_Assembler = 0x8001, 688 /* UPC. */ 689 DW_LANG_Upc = 0x8765 690 }; 691 692 #define DW_LANG_lo_user 0x8000 /* Implementation-defined range start. */ 693 #define DW_LANG_hi_user 0xffff /* Implementation-defined range start. */ 626 694 627 695 /* Names and codes for macro information. */ 628 629 696 enum dwarf_macinfo_record_type 630 697 { … … 636 703 }; 637 704 705 706 /* @@@ For use with GNU frame unwind information. */ 707 708 #define DW_EH_PE_absptr 0x00 709 #define DW_EH_PE_omit 0xff 710 711 #define DW_EH_PE_uleb128 0x01 712 #define DW_EH_PE_udata2 0x02 713 #define DW_EH_PE_udata4 0x03 714 #define DW_EH_PE_udata8 0x04 715 #define DW_EH_PE_sleb128 0x09 716 #define DW_EH_PE_sdata2 0x0A 717 #define DW_EH_PE_sdata4 0x0B 718 #define DW_EH_PE_sdata8 0x0C 719 #define DW_EH_PE_signed 0x08 720 721 #define DW_EH_PE_pcrel 0x10 722 #define DW_EH_PE_textrel 0x20 723 #define DW_EH_PE_datarel 0x30 724 #define DW_EH_PE_funcrel 0x40 725 #define DW_EH_PE_aligned 0x50 726 727 #define DW_EH_PE_indirect 0x80 728 638 729 #endif /* _ELF_DWARF2_H */ -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/elf/external.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 144 144 } Elf64_External_Sym; 145 145 146 typedef struct { 147 unsigned char est_shndx[4]; /* Section index */ 148 } Elf_External_Sym_Shndx; 149 146 150 /* Note segments */ 147 151 -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/elf/i370.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* i370 ELF support for BFD. 2 Copyright 2000 Free Software Foundation, Inc.2 Copyright 2000, 2002 Free Software Foundation, Inc. 3 3 4 4 This file is part of BFD, the Binary File Descriptor library. … … 24 24 #define _ELF_I370_H 25 25 26 #include "elf/reloc-macros.h" 27 26 28 /* Processor specific section headers, sh_type field */ 27 29 … … 42 44 are not to be furhter \ 43 45 relocated. */ 46 47 /* i370 relocations 48 Note that there is really just one relocation that we currently 49 support (and only one that we seem to need, at the moment), and 50 that is the 31-bit address relocation. Note that the 370/390 51 only supports a 31-bit (2GB) address space. */ 52 53 START_RELOC_NUMBERS (i370_reloc_type) 54 RELOC_NUMBER (R_I370_NONE, 0) 55 RELOC_NUMBER (R_I370_ADDR31, 1) 56 RELOC_NUMBER (R_I370_ADDR32, 2) 57 RELOC_NUMBER (R_I370_ADDR16, 3) 58 RELOC_NUMBER (R_I370_REL31, 4) 59 RELOC_NUMBER (R_I370_REL32, 5) 60 RELOC_NUMBER (R_I370_ADDR12, 6) 61 RELOC_NUMBER (R_I370_REL12, 7) 62 RELOC_NUMBER (R_I370_ADDR8, 8) 63 RELOC_NUMBER (R_I370_REL8, 9) 64 RELOC_NUMBER (R_I370_COPY, 10) 65 RELOC_NUMBER (R_I370_RELATIVE, 11) 66 END_RELOC_NUMBERS (R_I370_max) 67 44 68 #endif /* _ELF_I370_H */ 45 46 -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/elf/i386.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 35 35 RELOC_NUMBER (R_386_GOTOFF, 9) /* 32 bit offset to GOT */ 36 36 RELOC_NUMBER (R_386_GOTPC, 10) /* 32 bit PC relative offset to GOT */ 37 FAKE_RELOC (FIRST_INVALID_RELOC, 11) 38 FAKE_RELOC (LAST_INVALID_RELOC, 19) 37 RELOC_NUMBER (R_386_32PLT, 11) /* Used by Sun */ 38 FAKE_RELOC (FIRST_INVALID_RELOC, 12) 39 FAKE_RELOC (LAST_INVALID_RELOC, 13) 40 RELOC_NUMBER (R_386_TLS_TPOFF,14) 41 RELOC_NUMBER (R_386_TLS_IE, 15) 42 RELOC_NUMBER (R_386_TLS_GOTIE,16) 43 RELOC_NUMBER (R_386_TLS_LE, 17) 44 RELOC_NUMBER (R_386_TLS_GD, 18) 45 RELOC_NUMBER (R_386_TLS_LDM, 19) 39 46 RELOC_NUMBER (R_386_16, 20) 40 47 RELOC_NUMBER (R_386_PC16, 21) 41 48 RELOC_NUMBER (R_386_8, 22) 42 49 RELOC_NUMBER (R_386_PC8, 23) 50 RELOC_NUMBER (R_386_TLS_GD_32, 24) 51 RELOC_NUMBER (R_386_TLS_GD_PUSH, 25) 52 RELOC_NUMBER (R_386_TLS_GD_CALL, 26) 53 RELOC_NUMBER (R_386_TLS_GD_POP, 27) 54 RELOC_NUMBER (R_386_TLS_LDM_32, 28) 55 RELOC_NUMBER (R_386_TLS_LDM_PUSH, 29) 56 RELOC_NUMBER (R_386_TLS_LDM_CALL, 30) 57 RELOC_NUMBER (R_386_TLS_LDM_POP, 31) 58 RELOC_NUMBER (R_386_TLS_LDO_32, 32) 59 RELOC_NUMBER (R_386_TLS_IE_32, 33) 60 RELOC_NUMBER (R_386_TLS_LE_32, 34) 61 RELOC_NUMBER (R_386_TLS_DTPMOD32, 35) 62 RELOC_NUMBER (R_386_TLS_DTPOFF32, 36) 63 RELOC_NUMBER (R_386_TLS_TPOFF32, 37) 64 43 65 /* These are GNU extensions to enable C++ vtable garbage collection. */ 44 66 RELOC_NUMBER (R_386_GNU_VTINHERIT, 250) -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/elf/ia64.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* IA-64 ELF support for BFD. 2 Copyright 1998, 1999, 2000 Free Software Foundation, Inc.2 Copyright 1998, 1999, 2000, 2003 Free Software Foundation, Inc. 3 3 Contributed by David Mosberger-Tang <davidm@hpl.hp.com> 4 4 5 This file is part of BFD, the Binary File Descriptor library. 6 7 This program is free software; you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation; either version 2 of the License, or 10 (at your option) any later version. 11 12 This program is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this program; if not, write to the Free Software 19 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 20 5 This file is part of BFD, the Binary File Descriptor library. 6 7 This program is free software; you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation; either version 2 of the License, or 10 (at your option) any later version. 11 12 This program is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this program; if not, write to the Free Software 19 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 21 20 22 21 #ifndef _ELF_IA64_H … … 25 24 /* Bits in the e_flags field of the Elf64_Ehdr: */ 26 25 27 #define EF_IA_64_MASKOS 0x0000000f /* os-specific flags*/28 #define EF_IA_64_ARCH 0xff000000 /* arch. version mask*/26 #define EF_IA_64_MASKOS 0x0000000f /* OS-specific flags. */ 27 #define EF_IA_64_ARCH 0xff000000 /* Arch. version mask. */ 29 28 30 29 /* ??? These four definitions are not part of the SVR4 ABI. 31 30 They were present in David's initial code drop, so it is probable 32 31 that they are used by HP/UX. */ 33 #define EF_IA_64_TRAPNIL (1 << 0) /* trap NIL pointer dereferences*/34 #define EF_IA_64_EXT (1 << 2) /* program uses arch. extensions*/35 #define EF_IA_64_BE (1 << 3) /* PSR BE bit set (big-endian) */36 #define EFA_IA_64_EAS2_3 0x23000000 /* ia64 EAS 2.3*/37 38 #define EF_IA_64_ABI64 (1 << 4) /* 64-bit ABI */32 #define EF_IA_64_TRAPNIL (1 << 0) /* Trap NIL pointer dereferences. */ 33 #define EF_IA_64_EXT (1 << 2) /* Program uses arch. extensions. */ 34 #define EF_IA_64_BE (1 << 3) /* PSR BE bit set (big-endian). */ 35 #define EFA_IA_64_EAS2_3 0x23000000 /* IA64 EAS 2.3. */ 36 37 #define EF_IA_64_ABI64 (1 << 4) /* 64-bit ABI. */ 39 38 /* Not used yet. */ 40 39 #define EF_IA_64_REDUCEDFP (1 << 5) /* Only FP6-FP11 used. */ 41 #define EF_IA_64_CONS_GP (1 << 6) /* gp as program wide constant. */42 #define EF_IA_64_NOFUNCDESC_CONS_GP (1 << 7) /* And no function descriptors. */40 #define EF_IA_64_CONS_GP (1 << 6) /* gp as program wide constant. */ 41 #define EF_IA_64_NOFUNCDESC_CONS_GP (1 << 7) /* And no function descriptors. */ 43 42 /* Not used yet. */ 44 43 #define EF_IA_64_ABSOLUTE (1 << 8) /* Load at absolute addresses. */ … … 50 49 #define ELF_STRING_ia64_unwind_once ".gnu.linkonce.ia64unw." 51 50 #define ELF_STRING_ia64_unwind_info_once ".gnu.linkonce.ia64unwi." 51 /* .IA_64.unwind_hdr is only used by HP-UX. */ 52 #define ELF_STRING_ia64_unwind_hdr ".IA_64.unwind_hdr" 52 53 53 54 /* Bits in the sh_flags field of Elf64_Shdr: */ 54 55 55 #define SHF_IA_64_SHORT 0x10000000 /* section near gp*/56 #define SHF_IA_64_NORECOV 0x20000000 /* spec insns w/o recovery*/56 #define SHF_IA_64_SHORT 0x10000000 /* Section near gp. */ 57 #define SHF_IA_64_NORECOV 0x20000000 /* Spec insns w/o recovery. */ 57 58 58 59 /* Possible values for sh_type in Elf64_Shdr: */ 59 60 60 #define SHT_IA_64_EXT (SHT_LOPROC + 0) /* extension bits */ 61 #define SHT_IA_64_UNWIND (SHT_LOPROC + 1) /* unwind bits */ 61 #define SHT_IA_64_EXT (SHT_LOPROC + 0) /* Extension bits. */ 62 #define SHT_IA_64_UNWIND (SHT_LOPROC + 1) /* Unwind bits. */ 63 #define SHT_IA_64_LOPSREG (SHT_LOPROC + 0x8000000) 64 /* ABI says (SHT_LOPROC + 0xfffffff) but I think it's a typo -- this makes sense. */ 65 #define SHT_IA_64_HIPSREG (SHT_LOPROC + 0x8ffffff) 66 #define SHT_IA_64_PRIORITY_INIT (SHT_LOPROC + 0x9000000) 67 68 /* SHT_IA_64_HP_OPT_ANOT is only generated by HPUX compilers for its 69 optimization annotation section. GCC does not generate it but we 70 want readelf to know what they are. Do not use two capital Ns in 71 annotate or sed will turn it into 32 or 64 during the build. */ 72 #define SHT_IA_64_HP_OPT_ANOT 0x60000004 62 73 63 74 /* Bits in the p_flags field of Elf64_Phdr: */ … … 67 78 /* Possible values for p_type in Elf64_Phdr: */ 68 79 69 #define PT_IA_64_ARCHEXT (PT_LOPROC + 0) /* arch extension bits */ 70 #define PT_IA_64_UNWIND (PT_LOPROC + 1) /* ia64 unwind bits */ 80 #define PT_IA_64_ARCHEXT (PT_LOPROC + 0) /* Arch extension bits, */ 81 #define PT_IA_64_UNWIND (PT_LOPROC + 1) /* IA64 unwind bits. */ 82 83 /* HP-UX specific values for p_type in Elf64_Phdr. 84 These values are currently just used to make 85 readelf more usable on HP-UX. */ 86 87 #define PT_IA_64_HP_OPT_ANOT (PT_LOOS + 0x12) 88 #define PT_IA_64_HP_HSL_ANOT (PT_LOOS + 0x13) 89 #define PT_IA_64_HP_STACK (PT_LOOS + 0x14) 71 90 72 91 /* Possible values for d_tag in Elf64_Dyn: */ … … 74 93 #define DT_IA_64_PLT_RESERVE (DT_LOPROC + 0) 75 94 76 /* ia64-specific relocation types: */ 95 /* This section only used by HP-UX, The HP linker gives weak symbols 96 precedence over regular common symbols. We want common to override 97 weak. Using this common instead of SHN_COMMON does that. */ 98 #define SHN_IA_64_ANSI_COMMON 0xFF00 99 100 /* IA64-specific relocation types: */ 77 101 78 102 /* Relocs apply to specific instructions within a bundle. The least … … 171 195 RELOC_NUMBER (R_IA64_TPREL64LSB, 0x97) /* @tprel(sym+add), data8 LSB */ 172 196 173 RELOC_NUMBER (R_IA64_LTOFF_TP 22, 0x9a) /* @ltoff(@tprel(s+a)), add imm22 */197 RELOC_NUMBER (R_IA64_LTOFF_TPREL22, 0x9a) /* @ltoff(@tprel(s+a)), add imm22 */ 174 198 175 199 RELOC_NUMBER (R_IA64_DTPMOD64MSB, 0xa6) /* @dtpmod(sym+add), data8 MSB */ -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/elf/internal.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* ELF support for BFD. 2 Copyright 1991, 1992, 1993, 1994, 1995, 1997, 1998, 2000 2 Copyright 1991, 1992, 1993, 1994, 1995, 1997, 1998, 2000, 2001, 2002 3 3 Free Software Foundation, Inc. 4 4 … … 43 43 44 44 typedef struct elf_internal_ehdr { 45 unsigned char e_ident[EI_NIDENT]; 46 bfd_vma e_entry; 47 bfd_size_type e_phoff; 48 bfd_size_type e_shoff; 49 unsigned long e_version; 50 unsigned long e_flags; 51 unsigned short e_type; 52 unsigned short e_machine; 53 unsigned short e_ehsize;/* ELF header size in bytes */54 unsigned short e_phentsize;/* Program header table entry size */55 unsigned short e_phnum;/* Program header table entry count */56 unsigned short e_shentsize;/* Section header table entry size */57 unsigned short e_shnum;/* Section header table entry count */58 unsigned short e_shstrndx;/* Section header string table index */45 unsigned char e_ident[EI_NIDENT]; /* ELF "magic number" */ 46 bfd_vma e_entry; /* Entry point virtual address */ 47 bfd_size_type e_phoff; /* Program header table file offset */ 48 bfd_size_type e_shoff; /* Section header table file offset */ 49 unsigned long e_version; /* Identifies object file version */ 50 unsigned long e_flags; /* Processor-specific flags */ 51 unsigned short e_type; /* Identifies object file type */ 52 unsigned short e_machine; /* Specifies required architecture */ 53 unsigned int e_ehsize; /* ELF header size in bytes */ 54 unsigned int e_phentsize; /* Program header table entry size */ 55 unsigned int e_phnum; /* Program header table entry count */ 56 unsigned int e_shentsize; /* Section header table entry size */ 57 unsigned int e_shnum; /* Section header table entry count */ 58 unsigned int e_shstrndx; /* Section header string table index */ 59 59 } Elf_Internal_Ehdr; 60 61 #define elf32_internal_ehdr elf_internal_ehdr62 #define Elf32_Internal_Ehdr Elf_Internal_Ehdr63 #define elf64_internal_ehdr elf_internal_ehdr64 #define Elf64_Internal_Ehdr Elf_Internal_Ehdr65 60 66 61 /* Program header */ … … 78 73 79 74 typedef struct elf_internal_phdr Elf_Internal_Phdr; 80 #define elf32_internal_phdr elf_internal_phdr81 #define Elf32_Internal_Phdr Elf_Internal_Phdr82 #define elf64_internal_phdr elf_internal_phdr83 #define Elf64_Internal_Phdr Elf_Internal_Phdr84 75 85 76 /* Section header */ … … 99 90 /* The internal rep also has some cached info associated with it. */ 100 91 asection * bfd_section; /* Associated BFD section. */ 101 PTRcontents; /* Section contents. */92 unsigned char *contents; /* Section contents. */ 102 93 } Elf_Internal_Shdr; 103 104 #define elf32_internal_shdr elf_internal_shdr105 #define Elf32_Internal_Shdr Elf_Internal_Shdr106 #define elf64_internal_shdr elf_internal_shdr107 #define Elf64_Internal_Shdr Elf_Internal_Shdr108 94 109 95 /* Symbol table entry */ … … 115 101 unsigned char st_info; /* Type and binding attributes */ 116 102 unsigned char st_other; /* Visibilty, and target specific */ 117 unsigned shortst_shndx; /* Associated section index */103 unsigned int st_shndx; /* Associated section index */ 118 104 }; 119 105 120 106 typedef struct elf_internal_sym Elf_Internal_Sym; 121 122 #define elf32_internal_sym elf_internal_sym123 #define elf64_internal_sym elf_internal_sym124 #define Elf32_Internal_Sym Elf_Internal_Sym125 #define Elf64_Internal_Sym Elf_Internal_Sym126 107 127 108 /* Note segments */ … … 135 116 bfd_vma descpos; /* File offset of the descdata */ 136 117 } Elf_Internal_Note; 137 #define Elf32_Internal_Note Elf_Internal_Note138 #define elf32_internal_note elf_internal_note139 118 140 119 /* Relocation Entries */ 141 142 typedef struct elf_internal_rel {143 bfd_vma r_offset; /* Location at which to apply the action */144 /* This needs to support 64-bit values in elf64. */145 bfd_vma r_info; /* index and type of relocation */146 } Elf_Internal_Rel;147 148 #define elf32_internal_rel elf_internal_rel149 #define Elf32_Internal_Rel Elf_Internal_Rel150 #define elf64_internal_rel elf_internal_rel151 #define Elf64_Internal_Rel Elf_Internal_Rel152 120 153 121 typedef struct elf_internal_rela { 154 122 bfd_vma r_offset; /* Location at which to apply the action */ 155 123 bfd_vma r_info; /* Index and Type of relocation */ 156 bfd_ signed_vmar_addend; /* Constant addend used to compute value */124 bfd_vma r_addend; /* Constant addend used to compute value */ 157 125 } Elf_Internal_Rela; 158 159 #define elf32_internal_rela elf_internal_rela160 #define elf64_internal_rela elf_internal_rela161 #define Elf32_Internal_Rela Elf_Internal_Rela162 #define Elf64_Internal_Rela Elf_Internal_Rela163 126 164 127 /* dynamic section structure */ … … 174 137 } Elf_Internal_Dyn; 175 138 176 #define elf32_internal_dyn elf_internal_dyn177 #define elf64_internal_dyn elf_internal_dyn178 #define Elf32_Internal_Dyn Elf_Internal_Dyn179 #define Elf64_Internal_Dyn Elf_Internal_Dyn180 181 139 /* This structure appears in a SHT_GNU_verdef section. */ 182 140 … … 257 215 } Elf_Internal_Syminfo; 258 216 259 260 #define elf32_internal_verdef elf_internal_verdef261 #define elf64_internal_verdef elf_internal_verdef262 #define elf32_internal_verdaux elf_internal_verdaux263 #define elf64_internal_verdaux elf_internal_verdaux264 #define elf32_internal_verneed elf_internal_verneed265 #define elf64_internal_verneed elf_internal_verneed266 #define elf32_internal_vernaux elf_internal_vernaux267 #define elf64_internal_vernaux elf_internal_vernaux268 #define elf32_internal_versym elf_internal_versym269 #define elf64_internal_versym elf_internal_versym270 271 #define Elf32_Internal_Verdef Elf_Internal_Verdef272 #define Elf64_Internal_Verdef Elf_Internal_Verdef273 #define Elf32_Internal_Verdaux Elf_Internal_Verdaux274 #define Elf64_Internal_Verdaux Elf_Internal_Verdaux275 #define Elf32_Internal_Verneed Elf_Internal_Verneed276 #define Elf64_Internal_Verneed Elf_Internal_Verneed277 #define Elf32_Internal_Vernaux Elf_Internal_Vernaux278 #define Elf64_Internal_Vernaux Elf_Internal_Vernaux279 #define Elf32_Internal_Versym Elf_Internal_Versym280 #define Elf64_Internal_Versym Elf_Internal_Versym281 #define Elf32_Internal_Syminfo Elf_Internal_Syminfo282 #define Elf64_Internal_Syminfo Elf_Internal_Syminfo283 217 284 218 /* This structure is used to describe how sections should be assigned -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/elf/m68hc11.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* m68hc11 & m68hc12 ELF support for BFD. 2 Copyright 1999, 2000 Free Software Foundation, Inc.2 Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc. 3 3 4 4 This file is part of BFD, the Binary File Descriptor library. … … 38 38 RELOC_NUMBER (R_M68HC11_GNU_VTINHERIT, 9) 39 39 RELOC_NUMBER (R_M68HC11_GNU_VTENTRY, 10) 40 41 RELOC_NUMBER (R_M68HC11_24, 11) 42 RELOC_NUMBER (R_M68HC11_LO16, 12) 43 RELOC_NUMBER (R_M68HC11_PAGE, 13) 44 45 /* GNU extension for linker relaxation. 46 Mark beginning of a jump instruction (any form). */ 47 RELOC_NUMBER (R_M68HC11_RL_JUMP, 20) 48 49 /* Mark beginning of Gcc relaxation group instruction. */ 50 RELOC_NUMBER (R_M68HC11_RL_GROUP, 21) 40 51 END_RELOC_NUMBERS (R_M68HC11_max) 41 52 53 /* Processor specific flags for the ELF header e_flags field. */ 54 55 /* ABI identification. */ 56 #define EF_M68HC11_ABI 0x00000000F 57 58 /* Integers are 32-bit long. */ 59 #define E_M68HC11_I32 0x000000001 60 61 /* Doubles are 64-bit long. */ 62 #define E_M68HC11_F64 0x000000002 63 64 /* Uses 68HC12 memory banks. */ 65 #define E_M68HC12_BANKS 0x000000004 66 67 #define EF_M68HC11_MACH_MASK 0xF0 68 #define EF_M68HC11_GENERIC 0x00 /* Generic 68HC12/backward compatibility. */ 69 #define EF_M68HC12_MACH 0x10 /* 68HC12 microcontroller. */ 70 #define EF_M68HCS12_MACH 0x20 /* 68HCS12 microcontroller. */ 71 #define EF_M68HC11_MACH(mach) ((mach) & EF_M68HC11_MACH_MASK) 72 73 /* True if we can merge machines. A generic HC12 can work on any proc 74 but once we have specific code, merge is not possible. */ 75 #define EF_M68HC11_CAN_MERGE_MACH(mach1, mach2) \ 76 ((EF_M68HC11_MACH (mach1) == EF_M68HC11_MACH (mach2)) \ 77 || (EF_M68HC11_MACH (mach1) == EF_M68HC11_GENERIC) \ 78 || (EF_M68HC11_MACH (mach2) == EF_M68HC11_GENERIC)) 79 80 #define EF_M68HC11_MERGE_MACH(mach1, mach2) \ 81 (((EF_M68HC11_MACH (mach1) == EF_M68HC11_MACH (mach2)) \ 82 || (EF_M68HC11_MACH (mach1) == EF_M68HC11_GENERIC)) ? \ 83 EF_M68HC11_MACH (mach2) : EF_M68HC11_MACH (mach1)) 84 85 86 87 /* Special values for the st_other field in the symbol table. These 88 are used for 68HC12 to identify far functions (must be called with 89 'call' and returns with 'rtc'). */ 90 #define STO_M68HC12_FAR 0x80 91 92 /* Identify interrupt handlers. This is used by the debugger to 93 correctly compute the stack frame. */ 94 #define STO_M68HC12_INTERRUPT 0x40 95 42 96 #endif -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/elf/m68k.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 54 54 55 55 #define EF_CPU32 0x00810000 56 #define EF_M68000 0x01000000 56 57 57 58 #endif -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/elf/mips.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 100 100 #define EF_MIPS_CPIC 0x00000004 101 101 102 /* ??? Unknown flag, set in IRIX 6's BSDdup2.o in libbsd.a. */ 103 #define EF_MIPS_XGOT 0x00000008 104 102 105 /* Code in file uses UCODE (obsolete) */ 103 106 #define EF_MIPS_UCODE 0x00000010 … … 146 149 #define E_MIPS_ARCH_64 0x60000000 147 150 151 /* -mips32r2 code. */ 152 #define E_MIPS_ARCH_32R2 0x70000000 153 148 154 /* The ABI of the file. Also see EF_MIPS_ABI2 above. */ 149 155 #define EF_MIPS_ABI 0x0000F000 … … 173 179 174 180 #define E_MIPS_MACH_3900 0x00810000 175 176 181 #define E_MIPS_MACH_4010 0x00820000 177 182 #define E_MIPS_MACH_4100 0x00830000 178 183 #define E_MIPS_MACH_4650 0x00850000 184 #define E_MIPS_MACH_4120 0x00870000 179 185 #define E_MIPS_MACH_4111 0x00880000 180 #define E_MIPS_MACH_MIPS32_4K 0x00890000181 186 #define E_MIPS_MACH_SB1 0x008a0000 187 #define E_MIPS_MACH_5400 0x00910000 188 #define E_MIPS_MACH_5500 0x00980000 182 189 183 190 -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/elf/ppc.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* PPC ELF support for BFD. 2 Copyright 1995, 1996, 1998, 2000 Free Software Foundation, Inc. 2 Copyright 1995, 1996, 1998, 2000, 2001, 2002, 2003 3 Free Software Foundation, Inc. 3 4 4 5 By Michael Meissner, Cygnus Support, <meissner@cygnus.com>, from information … … 32 33 /* Relocations. */ 33 34 START_RELOC_NUMBERS (elf_ppc_reloc_type) 34 RELOC_NUMBER (R_PPC_NONE, 0) 35 RELOC_NUMBER (R_PPC_ADDR32, 1) 36 RELOC_NUMBER (R_PPC_ADDR24, 2) 37 RELOC_NUMBER (R_PPC_ADDR16, 3) 38 RELOC_NUMBER (R_PPC_ADDR16_LO, 4) 39 RELOC_NUMBER (R_PPC_ADDR16_HI, 5) 40 RELOC_NUMBER (R_PPC_ADDR16_HA, 6) 41 RELOC_NUMBER (R_PPC_ADDR14, 7) 42 RELOC_NUMBER (R_PPC_ADDR14_BRTAKEN, 8) 43 RELOC_NUMBER (R_PPC_ADDR14_BRNTAKEN, 9) 44 RELOC_NUMBER (R_PPC_REL24, 10) 45 RELOC_NUMBER (R_PPC_REL14, 11) 46 RELOC_NUMBER (R_PPC_REL14_BRTAKEN, 12) 47 RELOC_NUMBER (R_PPC_REL14_BRNTAKEN, 13) 48 RELOC_NUMBER (R_PPC_GOT16, 14) 49 RELOC_NUMBER (R_PPC_GOT16_LO, 15) 50 RELOC_NUMBER (R_PPC_GOT16_HI, 16) 51 RELOC_NUMBER (R_PPC_GOT16_HA, 17) 52 RELOC_NUMBER (R_PPC_PLTREL24, 18) 53 RELOC_NUMBER (R_PPC_COPY, 19) 54 RELOC_NUMBER (R_PPC_GLOB_DAT, 20) 55 RELOC_NUMBER (R_PPC_JMP_SLOT, 21) 56 RELOC_NUMBER (R_PPC_RELATIVE, 22) 57 RELOC_NUMBER (R_PPC_LOCAL24PC, 23) 58 RELOC_NUMBER (R_PPC_UADDR32, 24) 59 RELOC_NUMBER (R_PPC_UADDR16, 25) 60 RELOC_NUMBER (R_PPC_REL32, 26) 61 RELOC_NUMBER (R_PPC_PLT32, 27) 62 RELOC_NUMBER (R_PPC_PLTREL32, 28) 63 RELOC_NUMBER (R_PPC_PLT16_LO, 29) 64 RELOC_NUMBER (R_PPC_PLT16_HI, 30) 65 RELOC_NUMBER (R_PPC_PLT16_HA, 31) 66 RELOC_NUMBER (R_PPC_SDAREL16, 32) 67 RELOC_NUMBER (R_PPC_SECTOFF, 33) 68 RELOC_NUMBER (R_PPC_SECTOFF_LO, 34) 69 RELOC_NUMBER (R_PPC_SECTOFF_HI, 35) 70 RELOC_NUMBER (R_PPC_SECTOFF_HA, 36) 35 RELOC_NUMBER (R_PPC_NONE, 0) 36 RELOC_NUMBER (R_PPC_ADDR32, 1) 37 RELOC_NUMBER (R_PPC_ADDR24, 2) 38 RELOC_NUMBER (R_PPC_ADDR16, 3) 39 RELOC_NUMBER (R_PPC_ADDR16_LO, 4) 40 RELOC_NUMBER (R_PPC_ADDR16_HI, 5) 41 RELOC_NUMBER (R_PPC_ADDR16_HA, 6) 42 RELOC_NUMBER (R_PPC_ADDR14, 7) 43 RELOC_NUMBER (R_PPC_ADDR14_BRTAKEN, 8) 44 RELOC_NUMBER (R_PPC_ADDR14_BRNTAKEN, 9) 45 RELOC_NUMBER (R_PPC_REL24, 10) 46 RELOC_NUMBER (R_PPC_REL14, 11) 47 RELOC_NUMBER (R_PPC_REL14_BRTAKEN, 12) 48 RELOC_NUMBER (R_PPC_REL14_BRNTAKEN, 13) 49 RELOC_NUMBER (R_PPC_GOT16, 14) 50 RELOC_NUMBER (R_PPC_GOT16_LO, 15) 51 RELOC_NUMBER (R_PPC_GOT16_HI, 16) 52 RELOC_NUMBER (R_PPC_GOT16_HA, 17) 53 RELOC_NUMBER (R_PPC_PLTREL24, 18) 54 RELOC_NUMBER (R_PPC_COPY, 19) 55 RELOC_NUMBER (R_PPC_GLOB_DAT, 20) 56 RELOC_NUMBER (R_PPC_JMP_SLOT, 21) 57 RELOC_NUMBER (R_PPC_RELATIVE, 22) 58 RELOC_NUMBER (R_PPC_LOCAL24PC, 23) 59 RELOC_NUMBER (R_PPC_UADDR32, 24) 60 RELOC_NUMBER (R_PPC_UADDR16, 25) 61 RELOC_NUMBER (R_PPC_REL32, 26) 62 RELOC_NUMBER (R_PPC_PLT32, 27) 63 RELOC_NUMBER (R_PPC_PLTREL32, 28) 64 RELOC_NUMBER (R_PPC_PLT16_LO, 29) 65 RELOC_NUMBER (R_PPC_PLT16_HI, 30) 66 RELOC_NUMBER (R_PPC_PLT16_HA, 31) 67 RELOC_NUMBER (R_PPC_SDAREL16, 32) 68 RELOC_NUMBER (R_PPC_SECTOFF, 33) 69 RELOC_NUMBER (R_PPC_SECTOFF_LO, 34) 70 RELOC_NUMBER (R_PPC_SECTOFF_HI, 35) 71 RELOC_NUMBER (R_PPC_SECTOFF_HA, 36) 72 RELOC_NUMBER (R_PPC_ADDR30, 37) 73 74 /* Relocs added to support TLS. */ 75 RELOC_NUMBER (R_PPC_TLS, 67) 76 RELOC_NUMBER (R_PPC_DTPMOD32, 68) 77 RELOC_NUMBER (R_PPC_TPREL16, 69) 78 RELOC_NUMBER (R_PPC_TPREL16_LO, 70) 79 RELOC_NUMBER (R_PPC_TPREL16_HI, 71) 80 RELOC_NUMBER (R_PPC_TPREL16_HA, 72) 81 RELOC_NUMBER (R_PPC_TPREL32, 73) 82 RELOC_NUMBER (R_PPC_DTPREL16, 74) 83 RELOC_NUMBER (R_PPC_DTPREL16_LO, 75) 84 RELOC_NUMBER (R_PPC_DTPREL16_HI, 76) 85 RELOC_NUMBER (R_PPC_DTPREL16_HA, 77) 86 RELOC_NUMBER (R_PPC_DTPREL32, 78) 87 RELOC_NUMBER (R_PPC_GOT_TLSGD16, 79) 88 RELOC_NUMBER (R_PPC_GOT_TLSGD16_LO, 80) 89 RELOC_NUMBER (R_PPC_GOT_TLSGD16_HI, 81) 90 RELOC_NUMBER (R_PPC_GOT_TLSGD16_HA, 82) 91 RELOC_NUMBER (R_PPC_GOT_TLSLD16, 83) 92 RELOC_NUMBER (R_PPC_GOT_TLSLD16_LO, 84) 93 RELOC_NUMBER (R_PPC_GOT_TLSLD16_HI, 85) 94 RELOC_NUMBER (R_PPC_GOT_TLSLD16_HA, 86) 95 RELOC_NUMBER (R_PPC_GOT_TPREL16, 87) 96 RELOC_NUMBER (R_PPC_GOT_TPREL16_LO, 88) 97 RELOC_NUMBER (R_PPC_GOT_TPREL16_HI, 89) 98 RELOC_NUMBER (R_PPC_GOT_TPREL16_HA, 90) 99 RELOC_NUMBER (R_PPC_GOT_DTPREL16, 91) 100 RELOC_NUMBER (R_PPC_GOT_DTPREL16_LO, 92) 101 RELOC_NUMBER (R_PPC_GOT_DTPREL16_HI, 93) 102 RELOC_NUMBER (R_PPC_GOT_DTPREL16_HA, 94) 71 103 72 104 /* The remaining relocs are from the Embedded ELF ABI, and are not 73 105 in the SVR4 ELF ABI. */ 74 RELOC_NUMBER (R_PPC_EMB_NADDR32, 75 RELOC_NUMBER (R_PPC_EMB_NADDR16, 76 RELOC_NUMBER (R_PPC_EMB_NADDR16_LO, 77 RELOC_NUMBER (R_PPC_EMB_NADDR16_HI, 78 RELOC_NUMBER (R_PPC_EMB_NADDR16_HA, 79 RELOC_NUMBER (R_PPC_EMB_SDAI16, 80 RELOC_NUMBER (R_PPC_EMB_SDA2I16, 81 RELOC_NUMBER (R_PPC_EMB_SDA2REL, 82 RELOC_NUMBER (R_PPC_EMB_SDA21, 83 RELOC_NUMBER (R_PPC_EMB_MRKREF, 84 RELOC_NUMBER (R_PPC_EMB_RELSEC16, 85 RELOC_NUMBER (R_PPC_EMB_RELST_LO, 86 RELOC_NUMBER (R_PPC_EMB_RELST_HI, 87 RELOC_NUMBER (R_PPC_EMB_RELST_HA, 88 RELOC_NUMBER (R_PPC_EMB_BIT_FLD, 89 RELOC_NUMBER (R_PPC_EMB_RELSDA, 106 RELOC_NUMBER (R_PPC_EMB_NADDR32, 101) 107 RELOC_NUMBER (R_PPC_EMB_NADDR16, 102) 108 RELOC_NUMBER (R_PPC_EMB_NADDR16_LO, 103) 109 RELOC_NUMBER (R_PPC_EMB_NADDR16_HI, 104) 110 RELOC_NUMBER (R_PPC_EMB_NADDR16_HA, 105) 111 RELOC_NUMBER (R_PPC_EMB_SDAI16, 106) 112 RELOC_NUMBER (R_PPC_EMB_SDA2I16, 107) 113 RELOC_NUMBER (R_PPC_EMB_SDA2REL, 108) 114 RELOC_NUMBER (R_PPC_EMB_SDA21, 109) 115 RELOC_NUMBER (R_PPC_EMB_MRKREF, 110) 116 RELOC_NUMBER (R_PPC_EMB_RELSEC16, 111) 117 RELOC_NUMBER (R_PPC_EMB_RELST_LO, 112) 118 RELOC_NUMBER (R_PPC_EMB_RELST_HI, 113) 119 RELOC_NUMBER (R_PPC_EMB_RELST_HA, 114) 120 RELOC_NUMBER (R_PPC_EMB_BIT_FLD, 115) 121 RELOC_NUMBER (R_PPC_EMB_RELSDA, 116) 90 122 91 123 /* These are GNU extensions to enable C++ vtable garbage collection. */ 92 RELOC_NUMBER (R_PPC_GNU_VTINHERIT, 93 RELOC_NUMBER (R_PPC_GNU_VTENTRY, 124 RELOC_NUMBER (R_PPC_GNU_VTINHERIT, 253) 125 RELOC_NUMBER (R_PPC_GNU_VTENTRY, 254) 94 126 95 127 /* This is a phony reloc to handle any old fashioned TOC16 references 96 128 that may still be in object files. */ 97 RELOC_NUMBER (R_PPC_TOC16, 129 RELOC_NUMBER (R_PPC_TOC16, 255) 98 130 99 131 END_RELOC_NUMBERS (R_PPC_max) 100 132 133 #define IS_PPC_TLS_RELOC(R) \ 134 ((R) >= R_PPC_TLS && (R) <= R_PPC_GOT_DTPREL16_HA) 101 135 102 136 /* Processor specific flags for the ELF header e_flags field. */ -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/elf/sh.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* SH ELF support for BFD. 2 Copyright 1998, 2000 Free Software Foundation, Inc.2 Copyright 1998, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. 3 3 4 4 This file is part of BFD, the Binary File Descriptor library. … … 34 34 #define EF_SH3E 8 35 35 #define EF_SH4 9 36 #define EF_SH2E 11 37 38 /* This one can only mix in objects from other EF_SH5 objects. */ 39 #define EF_SH5 10 36 40 37 41 #define EF_SH_MERGE_MACH(mach1, mach2) \ … … 43 47 || ((mach2) < EF_SH3 && (mach1) == EF_SH_UNKNOWN)) \ 44 48 ? EF_SH3 \ 49 : ((mach1) == EF_SH2E && EF_SH_HAS_FP (mach2)) \ 50 ? (mach2) \ 51 : ((mach2) == EF_SH2E && EF_SH_HAS_FP (mach1)) \ 52 ? (mach1) \ 53 : (((mach1) == EF_SH2E && (mach2) == EF_SH_UNKNOWN) \ 54 || ((mach2) == EF_SH2E && (mach1) == EF_SH_UNKNOWN)) \ 55 ? EF_SH2E \ 45 56 : (((mach1) == EF_SH3E && (mach2) == EF_SH_UNKNOWN) \ 46 57 || ((mach2) == EF_SH3E && (mach1) == EF_SH_UNKNOWN)) \ 47 58 ? EF_SH4 \ 48 : ((mach1) > (mach2) ? (mach1) : (mach2))) 59 : (((mach1) == EF_SH2E ? 7 : (mach1)) > ((mach2) == EF_SH2E ? 7 : (mach2)) \ 60 ? (mach1) : (mach2))) 61 62 /* Flags for the st_other symbol field. 63 Keep away from the STV_ visibility flags (bit 0..1). */ 64 65 /* A reference to this symbol should by default add 1. */ 66 #define STO_SH5_ISA32 (1 << 2) 67 68 /* Section contains only SHmedia code (no SHcompact code). */ 69 #define SHF_SH5_ISA32 0x40000000 70 71 /* Section contains both SHmedia and SHcompact code, and possibly also 72 constants. */ 73 #define SHF_SH5_ISA32_MIXED 0x20000000 74 75 /* If applied to a .cranges section, marks that the section is sorted by 76 increasing cr_addr values. */ 77 #define SHT_SH5_CR_SORTED 0x80000001 78 79 /* Symbol should be handled as DataLabel (attached to global SHN_UNDEF 80 symbols). */ 81 #define STT_DATALABEL STT_LOPROC 49 82 50 83 #include "elf/reloc-macros.h" … … 80 113 RELOC_NUMBER (R_SH_LOOP_END, 37) 81 114 FAKE_RELOC (R_SH_FIRST_INVALID_RELOC_2, 38) 82 FAKE_RELOC (R_SH_LAST_INVALID_RELOC_2, 159) 115 FAKE_RELOC (R_SH_LAST_INVALID_RELOC_2, 44) 116 RELOC_NUMBER (R_SH_DIR5U, 45) 117 RELOC_NUMBER (R_SH_DIR6U, 46) 118 RELOC_NUMBER (R_SH_DIR6S, 47) 119 RELOC_NUMBER (R_SH_DIR10S, 48) 120 RELOC_NUMBER (R_SH_DIR10SW, 49) 121 RELOC_NUMBER (R_SH_DIR10SL, 50) 122 RELOC_NUMBER (R_SH_DIR10SQ, 51) 123 FAKE_RELOC (R_SH_FIRST_INVALID_RELOC_3, 52) 124 FAKE_RELOC (R_SH_LAST_INVALID_RELOC_3, 143) 125 RELOC_NUMBER (R_SH_TLS_GD_32, 144) 126 RELOC_NUMBER (R_SH_TLS_LD_32, 145) 127 RELOC_NUMBER (R_SH_TLS_LDO_32, 146) 128 RELOC_NUMBER (R_SH_TLS_IE_32, 147) 129 RELOC_NUMBER (R_SH_TLS_LE_32, 148) 130 RELOC_NUMBER (R_SH_TLS_DTPMOD32, 149) 131 RELOC_NUMBER (R_SH_TLS_DTPOFF32, 150) 132 RELOC_NUMBER (R_SH_TLS_TPOFF32, 151) 133 FAKE_RELOC (R_SH_FIRST_INVALID_RELOC_4, 152) 134 FAKE_RELOC (R_SH_LAST_INVALID_RELOC_4, 159) 83 135 RELOC_NUMBER (R_SH_GOT32, 160) 84 136 RELOC_NUMBER (R_SH_PLT32, 161) … … 89 141 RELOC_NUMBER (R_SH_GOTOFF, 166) 90 142 RELOC_NUMBER (R_SH_GOTPC, 167) 143 RELOC_NUMBER (R_SH_GOTPLT32, 168) 144 RELOC_NUMBER (R_SH_GOT_LOW16, 169) 145 RELOC_NUMBER (R_SH_GOT_MEDLOW16, 170) 146 RELOC_NUMBER (R_SH_GOT_MEDHI16, 171) 147 RELOC_NUMBER (R_SH_GOT_HI16, 172) 148 RELOC_NUMBER (R_SH_GOTPLT_LOW16, 173) 149 RELOC_NUMBER (R_SH_GOTPLT_MEDLOW16, 174) 150 RELOC_NUMBER (R_SH_GOTPLT_MEDHI16, 175) 151 RELOC_NUMBER (R_SH_GOTPLT_HI16, 176) 152 RELOC_NUMBER (R_SH_PLT_LOW16, 177) 153 RELOC_NUMBER (R_SH_PLT_MEDLOW16, 178) 154 RELOC_NUMBER (R_SH_PLT_MEDHI16, 179) 155 RELOC_NUMBER (R_SH_PLT_HI16, 180) 156 RELOC_NUMBER (R_SH_GOTOFF_LOW16, 181) 157 RELOC_NUMBER (R_SH_GOTOFF_MEDLOW16, 182) 158 RELOC_NUMBER (R_SH_GOTOFF_MEDHI16, 183) 159 RELOC_NUMBER (R_SH_GOTOFF_HI16, 184) 160 RELOC_NUMBER (R_SH_GOTPC_LOW16, 185) 161 RELOC_NUMBER (R_SH_GOTPC_MEDLOW16, 186) 162 RELOC_NUMBER (R_SH_GOTPC_MEDHI16, 187) 163 RELOC_NUMBER (R_SH_GOTPC_HI16, 188) 164 RELOC_NUMBER (R_SH_GOT10BY4, 189) 165 RELOC_NUMBER (R_SH_GOTPLT10BY4, 190) 166 RELOC_NUMBER (R_SH_GOT10BY8, 191) 167 RELOC_NUMBER (R_SH_GOTPLT10BY8, 192) 168 RELOC_NUMBER (R_SH_COPY64, 193) 169 RELOC_NUMBER (R_SH_GLOB_DAT64, 194) 170 RELOC_NUMBER (R_SH_JMP_SLOT64, 195) 171 RELOC_NUMBER (R_SH_RELATIVE64, 196) 172 FAKE_RELOC (R_SH_FIRST_INVALID_RELOC_5, 197) 173 FAKE_RELOC (R_SH_LAST_INVALID_RELOC_5, 241) 174 RELOC_NUMBER (R_SH_SHMEDIA_CODE, 242) 175 RELOC_NUMBER (R_SH_PT_16, 243) 176 RELOC_NUMBER (R_SH_IMMS16, 244) 177 RELOC_NUMBER (R_SH_IMMU16, 245) 178 RELOC_NUMBER (R_SH_IMM_LOW16, 246) 179 RELOC_NUMBER (R_SH_IMM_LOW16_PCREL, 247) 180 RELOC_NUMBER (R_SH_IMM_MEDLOW16, 248) 181 RELOC_NUMBER (R_SH_IMM_MEDLOW16_PCREL, 249) 182 RELOC_NUMBER (R_SH_IMM_MEDHI16, 250) 183 RELOC_NUMBER (R_SH_IMM_MEDHI16_PCREL, 251) 184 RELOC_NUMBER (R_SH_IMM_HI16, 252) 185 RELOC_NUMBER (R_SH_IMM_HI16_PCREL, 253) 186 RELOC_NUMBER (R_SH_64, 254) 187 RELOC_NUMBER (R_SH_64_PCREL, 255) 91 188 END_RELOC_NUMBERS (R_SH_max) 92 189 -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/elf/sparc.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* SPARC ELF support for BFD. 2 Copyright 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.2 Copyright 1996, 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc. 3 3 By Doug Evans, Cygnus Support, <dje@cygnus.com>. 4 4 … … 127 127 RELOC_NUMBER (R_SPARC_UA16, 55) 128 128 129 /* little endian data relocs */ 130 RELOC_NUMBER (R_SPARC_REV32, 56) 131 129 RELOC_NUMBER (R_SPARC_TLS_GD_HI22, 56) 130 RELOC_NUMBER (R_SPARC_TLS_GD_LO10, 57) 131 RELOC_NUMBER (R_SPARC_TLS_GD_ADD, 58) 132 RELOC_NUMBER (R_SPARC_TLS_GD_CALL, 59) 133 RELOC_NUMBER (R_SPARC_TLS_LDM_HI22, 60) 134 RELOC_NUMBER (R_SPARC_TLS_LDM_LO10, 61) 135 RELOC_NUMBER (R_SPARC_TLS_LDM_ADD, 62) 136 RELOC_NUMBER (R_SPARC_TLS_LDM_CALL, 63) 137 RELOC_NUMBER (R_SPARC_TLS_LDO_HIX22, 64) 138 RELOC_NUMBER (R_SPARC_TLS_LDO_LOX10, 65) 139 RELOC_NUMBER (R_SPARC_TLS_LDO_ADD, 66) 140 RELOC_NUMBER (R_SPARC_TLS_IE_HI22, 67) 141 RELOC_NUMBER (R_SPARC_TLS_IE_LO10, 68) 142 RELOC_NUMBER (R_SPARC_TLS_IE_LD, 69) 143 RELOC_NUMBER (R_SPARC_TLS_IE_LDX, 70) 144 RELOC_NUMBER (R_SPARC_TLS_IE_ADD, 71) 145 RELOC_NUMBER (R_SPARC_TLS_LE_HIX22, 72) 146 RELOC_NUMBER (R_SPARC_TLS_LE_LOX10, 73) 147 RELOC_NUMBER (R_SPARC_TLS_DTPMOD32, 74) 148 RELOC_NUMBER (R_SPARC_TLS_DTPMOD64, 75) 149 RELOC_NUMBER (R_SPARC_TLS_DTPOFF32, 76) 150 RELOC_NUMBER (R_SPARC_TLS_DTPOFF64, 77) 151 RELOC_NUMBER (R_SPARC_TLS_TPOFF32, 78) 152 RELOC_NUMBER (R_SPARC_TLS_TPOFF64, 79) 153 132 154 EMPTY_RELOC (R_SPARC_max_std) 133 155 134 156 RELOC_NUMBER (R_SPARC_GNU_VTINHERIT, 250) 135 157 RELOC_NUMBER (R_SPARC_GNU_VTENTRY, 251) 158 RELOC_NUMBER (R_SPARC_REV32, 252) 136 159 137 160 END_RELOC_NUMBERS (R_SPARC_max) -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/elf/v850.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* V850 ELF support for BFD. 2 Copyright 1997, 1998, 2000 Free Software Foundation, Inc.2 Copyright 1997, 1998, 2000, 2002 Free Software Foundation, Inc. 3 3 Created by Michael Meissner, Cygnus Support <meissner@cygnus.com> 4 4 5 This file is part of BFD, the Binary File Descriptor library.5 This file is part of BFD, the Binary File Descriptor library. 6 6 7 This program is free software; you can redistribute it and/or modify8 it under the terms of the GNU General Public License as published by9 the Free Software Foundation; either version 2 of the License, or10 (at your option) any later version.7 This program is free software; you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation; either version 2 of the License, or 10 (at your option) any later version. 11 11 12 This program is distributed in the hope that it will be useful,13 but WITHOUT ANY WARRANTY; without even the implied warranty of14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the15 GNU General Public License for more details.12 This program is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 16 17 You should have received a copy of the GNU General Public License18 along with this program; if not, write to the Free Software19 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */17 You should have received a copy of the GNU General Public License 18 along with this program; if not, write to the Free Software 19 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 20 20 21 21 /* This file holds definitions specific to the MIPS ELF ABI. Note … … 36 36 #define E_V850E_ARCH 0x10000000 37 37 38 /* v850ea code. */39 #define E_V850EA_ARCH 0x2000000040 38 39 /* Flags for the st_other field. */ 40 #define V850_OTHER_SDA 0x01 /* Symbol had SDA relocations. */ 41 #define V850_OTHER_ZDA 0x02 /* Symbol had ZDA relocations. */ 42 #define V850_OTHER_TDA 0x04 /* Symbol had TDA relocations. */ 43 #define V850_OTHER_TDA_BYTE 0x08 /* Symbol had TDA byte relocations. */ 44 #define V850_OTHER_ERROR 0x80 /* Symbol had an error reported. */ 41 45 42 /* Flags for the st_other field */ 43 #define V850_OTHER_SDA 0x01 /* symbol had SDA relocations */ 44 #define V850_OTHER_ZDA 0x02 /* symbol had ZDA relocations */ 45 #define V850_OTHER_TDA 0x04 /* symbol had TDA relocations */ 46 #define V850_OTHER_TDA_BYTE 0x08 /* symbol had TDA byte relocations */ 47 #define V850_OTHER_ERROR 0x80 /* symbol had an error reported */ 48 49 /* V850 relocations */ 46 /* V850 relocations. */ 50 47 #include "elf/reloc-macros.h" 51 48 … … 57 54 RELOC_NUMBER (R_V850_HI16, 4) 58 55 RELOC_NUMBER (R_V850_LO16, 5) 59 RELOC_NUMBER (R_V850_ 32, 6)56 RELOC_NUMBER (R_V850_ABS32, 6) 60 57 RELOC_NUMBER (R_V850_16, 7) 61 58 RELOC_NUMBER (R_V850_8, 8) … … 76 73 RELOC_NUMBER (R_V850_GNU_VTINHERIT, 23) 77 74 RELOC_NUMBER (R_V850_GNU_VTENTRY, 24) 75 RELOC_NUMBER (R_V850_LONGCALL, 25) 76 RELOC_NUMBER (R_V850_LONGJUMP, 26) 77 RELOC_NUMBER (R_V850_ALIGN, 27) 78 RELOC_NUMBER (R_V850_REL32, 28) 78 79 END_RELOC_NUMBERS (R_V850_max) 79 80 … … 106 107 #define SHT_V850_ZCOMMON 0x70000002 107 108 108 109 109 #endif /* _ELF_V850_H */ -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/elf/x86-64.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* x86_64 ELF support for BFD. 2 Copyright (C) 2000 Free Software Foundation, Inc.2 Copyright (C) 2000, 2002 Free Software Foundation, Inc. 3 3 Contributed by Jan Hubicka <jh@suse.cz> 4 4 … … 26 26 START_RELOC_NUMBERS (elf_x86_64_reloc_type) 27 27 RELOC_NUMBER (R_X86_64_NONE, 0) /* No reloc */ 28 RELOC_NUMBER (R_X86_64_64, 28 RELOC_NUMBER (R_X86_64_64, 1) /* Direct 64 bit */ 29 29 RELOC_NUMBER (R_X86_64_PC32, 2) /* PC relative 32 bit signed */ 30 30 RELOC_NUMBER (R_X86_64_GOT32, 3) /* 32 bit GOT entry */ … … 32 32 RELOC_NUMBER (R_X86_64_COPY, 5) /* Copy symbol at runtime */ 33 33 RELOC_NUMBER (R_X86_64_GLOB_DAT, 6) /* Create GOT entry */ 34 RELOC_NUMBER (R_X86_64_JUMP_SLOT, 34 RELOC_NUMBER (R_X86_64_JUMP_SLOT,7) /* Create PLT entry */ 35 35 RELOC_NUMBER (R_X86_64_RELATIVE, 8) /* Adjust by program base */ 36 36 RELOC_NUMBER (R_X86_64_GOTPCREL, 9) /* 32 bit signed pc relative 37 37 offset to GOT */ 38 RELOC_NUMBER (R_X86_64_32, 39 RELOC_NUMBER (R_X86_64_32S, 40 RELOC_NUMBER (R_X86_64_16, 38 RELOC_NUMBER (R_X86_64_32, 10) /* Direct 32 bit zero extended */ 39 RELOC_NUMBER (R_X86_64_32S, 11) /* Direct 32 bit sign extended */ 40 RELOC_NUMBER (R_X86_64_16, 12) /* Direct 16 bit zero extended */ 41 41 RELOC_NUMBER (R_X86_64_PC16, 13) /* 16 bit sign extended pc relative*/ 42 RELOC_NUMBER (R_X86_64_8, 14) /* Direct 8 bit sign extended */ 43 RELOC_NUMBER (R_X86_64_PC8, 15) /* 8 bit sign extended pc relative*/ 42 RELOC_NUMBER (R_X86_64_8, 14) /* Direct 8 bit sign extended */ 43 RELOC_NUMBER (R_X86_64_PC8, 15) /* 8 bit sign extended pc relative*/ 44 RELOC_NUMBER (R_X86_64_DTPMOD64, 16) /* ID of module containing symbol */ 45 RELOC_NUMBER (R_X86_64_DTPOFF64, 17) /* Offset in TLS block */ 46 RELOC_NUMBER (R_X86_64_TPOFF64, 18) /* Offset in initial TLS block */ 47 RELOC_NUMBER (R_X86_64_TLSGD, 19) /* PC relative offset to GD GOT block */ 48 RELOC_NUMBER (R_X86_64_TLSLD, 20) /* PC relative offset to LD GOT block */ 49 RELOC_NUMBER (R_X86_64_DTPOFF32, 21) /* Offset in TLS block */ 50 RELOC_NUMBER (R_X86_64_GOTTPOFF, 22) /* PC relative offset to IE GOT entry */ 51 RELOC_NUMBER (R_X86_64_TPOFF32, 23) /* Offset in initial TLS block */ 52 RELOC_NUMBER (R_X86_64_GNU_VTINHERIT, 250) /* GNU C++ hack */ 53 RELOC_NUMBER (R_X86_64_GNU_VTENTRY, 251) /* GNU C++ hack */ 44 54 END_RELOC_NUMBERS (R_X86_64_max) 45 55 -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/filenames.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 6 6 some of them have case-insensitive file names. 7 7 8 Copyright 2000 Free Software Foundation, Inc.8 Copyright 2000, 2001 Free Software Foundation, Inc. 9 9 10 10 This file is part of BFD, the Binary File Descriptor library. … … 27 27 #define FILENAMES_H 28 28 29 #if defined(__MSDOS__) || defined(_WIN32) || defined(__OS2__) 29 #if defined(__MSDOS__) || defined(_WIN32) || defined(__OS2__) || defined (__CYGWIN__) 30 30 31 31 #ifndef HAVE_DOS_BASED_FILE_SYSTEM -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/floatformat.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 96 96 extern const struct floatformat floatformat_i960_ext; 97 97 extern const struct floatformat floatformat_m88110_ext; 98 extern const struct floatformat floatformat_arm_ext; 98 extern const struct floatformat floatformat_m88110_harris_ext; 99 extern const struct floatformat floatformat_arm_ext_big; 100 extern const struct floatformat floatformat_arm_ext_littlebyte_bigword; 101 /* IA-64 Floating Point register spilt into memory. */ 102 extern const struct floatformat floatformat_ia64_spill_big; 103 extern const struct floatformat floatformat_ia64_spill_little; 104 extern const struct floatformat floatformat_ia64_quad_big; 105 extern const struct floatformat floatformat_ia64_quad_little; 99 106 100 107 /* Convert from FMT to a double. -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/getopt.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* Declarations for getopt. 2 Copyright 1989, 1990, 1991, 1992, 1993, 1994, 1996, 1997, 1998, 2000 3 Free Software Foundation, Inc.2 Copyright 1989, 1990, 1991, 1992, 1993, 1994, 1996, 1997, 1998, 2000, 3 2002 Free Software Foundation, Inc. 4 4 5 5 NOTE: The canonical source of this file is maintained with the GNU C Library. … … 106 106 to find the declaration so provide a fully prototyped one. If it 107 107 is 1, we found it so don't provide any declaration at all. */ 108 #if defined (__GNU_LIBRARY__) || (defined (HAVE_DECL_GETOPT) && !HAVE_DECL_GETOPT) 108 #if !HAVE_DECL_GETOPT 109 #if defined (__GNU_LIBRARY__) || defined (HAVE_DECL_GETOPT) 109 110 /* Many other libraries have conflicting prototypes for getopt, with 110 differences in the consts, in stdlib.h. To avoid compilation111 differences in the consts, in unistd.h. To avoid compilation 111 112 errors, only prototype getopt for the GNU C library. */ 112 113 extern int getopt (int argc, char *const *argv, const char *shortopts); 113 #else /* not __GNU_LIBRARY__ */114 # if !defined (HAVE_DECL_GETOPT)114 #else 115 #ifndef __cplusplus 115 116 extern int getopt (); 116 # endif 117 #endif /* __GNU_LIBRARY__ */ 117 #endif /* __cplusplus */ 118 #endif 119 #endif /* !HAVE_DECL_GETOPT */ 120 118 121 extern int getopt_long (int argc, char *const *argv, const char *shortopts, 119 122 const struct option *longopts, int *longind); -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/hashtab.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* An expandable hash tables datatype. 2 Copyright (C) 1999, 2000 Free Software Foundation, Inc.2 Copyright (C) 1999, 2000, 2002, 2003 Free Software Foundation, Inc. 3 3 Contributed by Vladimir Makarov (vmakarov@cygnus.com). 4 4 … … 37 37 #endif /* __cplusplus */ 38 38 39 #include <ansidecl.h> 39 #include "ansidecl.h" 40 41 #ifndef GTY 42 #define GTY(X) 43 #endif 40 44 41 45 /* The type for a hash code. */ … … 64 68 typedef int (*htab_trav) PARAMS ((void **, void *)); 65 69 70 /* Memory-allocation function, with the same functionality as calloc(). 71 Iff it returns NULL, the hash table implementation will pass an error 72 code back to the user, so if your code doesn't handle errors, 73 best if you use xcalloc instead. */ 74 typedef PTR (*htab_alloc) PARAMS ((size_t, size_t)); 75 76 /* We also need a free() routine. */ 77 typedef void (*htab_free) PARAMS ((PTR)); 78 79 /* Memory allocation and deallocation; variants which take an extra 80 argument. */ 81 typedef PTR (*htab_alloc_with_arg) PARAMS ((void *, size_t, size_t)); 82 typedef void (*htab_free_with_arg) PARAMS ((void *, void *)); 83 66 84 /* Hash tables are of the following type. The structure 67 85 (implementation) of this type is not needed for using the hash 68 86 tables. All work with hash table should be executed only through 69 functions mentioned below. */ 87 functions mentioned below. The size of this structure is subject to 88 change. */ 70 89 71 struct htab 90 struct htab GTY(()) 72 91 { 73 92 /* Pointer to hash function. */ … … 81 100 82 101 /* Table itself. */ 83 PTR * entries;102 PTR * GTY ((use_param (""), length ("%h.size"))) entries; 84 103 85 104 /* Current size (in entries) of the hash table */ … … 100 119 unsigned int collisions; 101 120 102 /* This is non-zero if we are allowed to return NULL for function calls 103 that allocate memory. */ 104 int return_allocation_failure; 121 /* Pointers to allocate/free functions. */ 122 htab_alloc alloc_f; 123 htab_free free_f; 124 125 /* Alternate allocate/free functions, which take an extra argument. */ 126 PTR GTY((skip (""))) alloc_arg; 127 htab_alloc_with_arg alloc_with_arg_f; 128 htab_free_with_arg free_with_arg_f; 105 129 }; 106 130 … … 112 136 /* The prototypes of the package functions. */ 113 137 114 extern htab_t htab_create PARAMS ((size_t, htab_hash, 115 htab_eq, htab_del)); 138 extern htab_t htab_create_alloc PARAMS ((size_t, htab_hash, 139 htab_eq, htab_del, 140 htab_alloc, htab_free)); 116 141 117 /* This function is like htab_create, but may return NULL if memory 118 allocation fails, and also signals that htab_find_slot_with_hash and 119 htab_find_slot are allowed to return NULL when inserting. */ 120 extern htab_t htab_try_create PARAMS ((size_t, htab_hash, 121 htab_eq, htab_del)); 142 extern htab_t htab_create_alloc_ex PARAMS ((size_t, htab_hash, 143 htab_eq, htab_del, 144 PTR, htab_alloc_with_arg, 145 htab_free_with_arg)); 146 147 /* Backward-compatibility functions. */ 148 extern htab_t htab_create PARAMS ((size_t, htab_hash, htab_eq, htab_del)); 149 extern htab_t htab_try_create PARAMS ((size_t, htab_hash, htab_eq, htab_del)); 150 151 extern void htab_set_functions_ex PARAMS ((htab_t, htab_hash, 152 htab_eq, htab_del, 153 PTR, htab_alloc_with_arg, 154 htab_free_with_arg)); 155 122 156 extern void htab_delete PARAMS ((htab_t)); 123 157 extern void htab_empty PARAMS ((htab_t)); … … 135 169 136 170 extern void htab_traverse PARAMS ((htab_t, htab_trav, void *)); 171 extern void htab_traverse_noresize PARAMS ((htab_t, htab_trav, void *)); 137 172 138 173 extern size_t htab_size PARAMS ((htab_t)); … … 146 181 extern htab_eq htab_eq_pointer; 147 182 183 /* A hash function for null-terminated strings. */ 184 extern hashval_t htab_hash_string PARAMS ((const PTR)); 185 148 186 #ifdef __cplusplus 149 187 } -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/libiberty.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* Function declarations for libiberty. 2 2 3 Copyright 2001 Free Software Foundation, Inc.3 Copyright 2001, 2002 Free Software Foundation, Inc. 4 4 5 5 Note - certain prototypes declared in this header file are for … … 52 52 malloc. Use freeargv to free the vector. */ 53 53 54 extern char **buildargv PARAMS ((c har *)) ATTRIBUTE_MALLOC;54 extern char **buildargv PARAMS ((const char *)) ATTRIBUTE_MALLOC; 55 55 56 56 /* Free a vector returned by buildargv. */ … … 74 74 to find the declaration so provide a fully prototyped one. If it 75 75 is 1, we found it so don't provide any declaration at all. */ 76 #if defined (__GNU_LIBRARY__ ) || defined (__linux__) || defined (__FreeBSD__) || defined (__OpenBSD__) || defined (__CYGWIN__) || defined (__CYGWIN32__) || (defined (HAVE_DECL_BASENAME) && !HAVE_DECL_BASENAME) 76 #if !HAVE_DECL_BASENAME 77 #if defined (__GNU_LIBRARY__ ) || defined (__linux__) || defined (__FreeBSD__) || defined (__OpenBSD__) || defined(__NetBSD__) || defined (__CYGWIN__) || defined (__CYGWIN32__) || defined (HAVE_DECL_BASENAME) 77 78 extern char *basename PARAMS ((const char *)); 78 79 #else 79 # if !defined (HAVE_DECL_BASENAME)80 80 extern char *basename (); 81 # endif 82 #endif 83 84 /* Concatenate an arbitrary number of strings, up to (char *) NULL. 85 Allocates memory using xmalloc. */ 81 #endif 82 #endif 83 84 /* A well-defined basename () that is always compiled in. */ 85 86 extern const char *lbasename PARAMS ((const char *)); 87 88 /* A well-defined realpath () that is always compiled in. */ 89 90 extern char *lrealpath PARAMS ((const char *)); 91 92 /* Concatenate an arbitrary number of strings. You must pass NULL as 93 the last argument of this function, to terminate the list of 94 strings. Allocates memory using xmalloc. */ 86 95 87 96 extern char *concat PARAMS ((const char *, ...)) ATTRIBUTE_MALLOC; 97 98 /* Concatenate an arbitrary number of strings. You must pass NULL as 99 the last argument of this function, to terminate the list of 100 strings. Allocates memory using xmalloc. The first argument is 101 not one of the strings to be concatenated, but if not NULL is a 102 pointer to be freed after the new string is created, similar to the 103 way xrealloc works. */ 104 105 extern char *reconcat PARAMS ((char *, const char *, ...)) ATTRIBUTE_MALLOC; 106 107 /* Determine the length of concatenating an arbitrary number of 108 strings. You must pass NULL as the last argument of this function, 109 to terminate the list of strings. */ 110 111 extern unsigned long concat_length PARAMS ((const char *, ...)); 112 113 /* Concatenate an arbitrary number of strings into a SUPPLIED area of 114 memory. You must pass NULL as the last argument of this function, 115 to terminate the list of strings. The supplied memory is assumed 116 to be large enough. */ 117 118 extern char *concat_copy PARAMS ((char *, const char *, ...)); 119 120 /* Concatenate an arbitrary number of strings into a GLOBAL area of 121 memory. You must pass NULL as the last argument of this function, 122 to terminate the list of strings. The supplied memory is assumed 123 to be large enough. */ 124 125 extern char *concat_copy2 PARAMS ((const char *, ...)); 126 127 /* This is the global area used by concat_copy2. */ 128 129 extern char *libiberty_concat_ptr; 130 131 /* Concatenate an arbitrary number of strings. You must pass NULL as 132 the last argument of this function, to terminate the list of 133 strings. Allocates memory using alloca. The arguments are 134 evaluated twice! */ 135 #define ACONCAT(ACONCAT_PARAMS) \ 136 (libiberty_concat_ptr = alloca (concat_length ACONCAT_PARAMS + 1), \ 137 concat_copy2 ACONCAT_PARAMS) 88 138 89 139 /* Check whether two file descriptors refer to the same file. */ … … 99 149 100 150 extern long get_run_time PARAMS ((void)); 151 152 /* Generate a relocated path to some installation directory. Allocates 153 return value using malloc. */ 154 155 extern char *make_relative_prefix PARAMS ((const char *, const char *, 156 const char *)); 101 157 102 158 /* Choose a temporary directory to use for scratch files. */ … … 191 247 extern PTR xmemdup PARAMS ((const PTR, size_t, size_t)) ATTRIBUTE_MALLOC; 192 248 249 /* Physical memory routines. Return values are in BYTES. */ 250 extern double physmem_total PARAMS ((void)); 251 extern double physmem_available PARAMS ((void)); 252 193 253 /* hex character manipulation routines */ 194 254 195 255 #define _hex_array_size 256 196 256 #define _hex_bad 99 197 extern c har _hex_value[_hex_array_size];257 extern const char _hex_value[_hex_array_size]; 198 258 extern void hex_init PARAMS ((void)); 199 259 #define hex_p(c) (hex_value (c) != _hex_bad) … … 219 279 extern int pwait PARAMS ((int, int *, int)); 220 280 281 #if !HAVE_DECL_ASPRINTF 221 282 /* Like sprintf but provides a pointer to malloc'd storage, which must 222 283 be freed by the caller. */ 223 284 224 285 extern int asprintf PARAMS ((char **, const char *, ...)) ATTRIBUTE_PRINTF_2; 225 286 #endif 287 288 #if !HAVE_DECL_VASPRINTF 226 289 /* Like vsprintf but provides a pointer to malloc'd storage, which 227 290 must be freed by the caller. */ … … 229 292 extern int vasprintf PARAMS ((char **, const char *, va_list)) 230 293 ATTRIBUTE_PRINTF(2,0); 294 #endif 231 295 232 296 #define ARRAY_SIZE(a) (sizeof (a) / sizeof ((a)[0])) 297 298 /* Drastically simplified alloca configurator. If we're using GCC, 299 we use __builtin_alloca; otherwise we use the C alloca. The C 300 alloca is always available. You can override GCC by defining 301 USE_C_ALLOCA yourself. The canonical autoconf macro C_ALLOCA is 302 also set/unset as it is often used to indicate whether code needs 303 to call alloca(0). */ 304 extern PTR C_alloca PARAMS ((size_t)) ATTRIBUTE_MALLOC; 305 #undef alloca 306 #if GCC_VERSION >= 2000 && !defined USE_C_ALLOCA 307 # define alloca(x) __builtin_alloca(x) 308 # undef C_ALLOCA 309 # define ASTRDUP(X) \ 310 (__extension__ ({ const char *const libiberty_optr = (X); \ 311 const unsigned long libiberty_len = strlen (libiberty_optr) + 1; \ 312 char *const libiberty_nptr = alloca (libiberty_len); \ 313 (char *) memcpy (libiberty_nptr, libiberty_optr, libiberty_len); })) 314 #else 315 # define alloca(x) C_alloca(x) 316 # undef USE_C_ALLOCA 317 # define USE_C_ALLOCA 1 318 # undef C_ALLOCA 319 # define C_ALLOCA 1 320 extern const char *libiberty_optr; 321 extern char *libiberty_nptr; 322 extern unsigned long libiberty_len; 323 # define ASTRDUP(X) \ 324 (libiberty_optr = (X), \ 325 libiberty_len = strlen (libiberty_optr) + 1, \ 326 libiberty_nptr = alloca (libiberty_len), \ 327 (char *) memcpy (libiberty_nptr, libiberty_optr, libiberty_len)) 328 #endif 233 329 234 330 #ifdef __cplusplus -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/mpw/ChangeLog
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 2001-06-07 Alan Modra <amodra@bigpond.net.au>2 3 * mpw.h: Update copyright notice.4 5 1 Tue Feb 27 12:23:04 1996 Raymond Jou <rjou@mexican.cygnus.com> 6 2 -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/nlm/ChangeLog
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 2001- 06-07Alan Modra <amodra@bigpond.net.au>1 2001-10-02 Alan Modra <amodra@bigpond.net.au> 2 2 3 * Many files: Update copyright notices. 3 * common.h (NLM_CAT, NLM_CAT3): Don't define. 4 (NLM_CAT4): Update conditions under which this is defined. Document 5 why CONCAT4 can't be used. 4 6 5 7 Fri May 6 13:31:04 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/nlm/common.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* NLM (NetWare Loadable Module) support for BFD. 2 Copyright 1993 Free Software Foundation, Inc.2 Copyright 1993, 2001 Free Software Foundation, Inc. 3 3 4 4 Written by Fred Fish @ Cygnus Support … … 24 24 that are common to both the internal and external representations. */ 25 25 26 /* Semi-portable string concatenation in cpp.27 The NLM_CAT4 hack is to avoid a problem with some strict ANSI C28 preprocessors. The problem is, "32_" or "64_" are not a valid29 preprocessing tokens, and we don't want extra underscores (e.g.,30 "nlm_32_"). The XNLM_CAT2 macro will cause the inner NLM_CAT macros31 to be evaluated first, producing still-valid pp-tokens. Then the32 final concatenation can be done. (Sigh.) */33 34 #ifdef SABER35 # define NLM_CAT(a,b) a##b36 # define NLM_CAT3(a,b,c) a##b##c37 # define NLM_CAT4(a,b,c,d) a##b##c##d38 #else39 # ifdef __STDC__40 # define NLM_CAT(a,b) a##b41 # define NLM_CAT3(a,b,c) a##b##c42 # define XNLM_CAT2(a,b) NLM_CAT(a,b)43 # define NLM_CAT4(a,b,c,d) XNLM_CAT2(NLM_CAT(a,b),NLM_CAT(c,d))44 # else45 # define NLM_CAT(a,b) a/**/b46 # define NLM_CAT3(a,b,c) a/**/b/**/c47 # define NLM_CAT4(a,b,c,d) a/**/b/**/c/**/d48 # endif49 #endif50 51 26 /* If NLM_ARCH_SIZE is not defined, default to 32. NLM_ARCH_SIZE is 52 27 optionally defined by the application. */ … … 54 29 #ifndef NLM_ARCH_SIZE 55 30 # define NLM_ARCH_SIZE 32 31 #endif 32 33 /* Due to horrible details of ANSI macro expansion, we can't use CONCAT4 34 for NLM_NAME. CONCAT2 is used in BFD_JUMP_TABLE macros, and some of 35 them will expand to tokens that themselves are macros defined in terms 36 of NLM_NAME. If NLM_NAME were defined using CONCAT4 (which is itself 37 defined in bfd-in.h using CONCAT2), ANSI preprocessor rules say that 38 the CONCAT2 within NLM_NAME should not be expanded. 39 So use another name. */ 40 #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE) 41 #ifdef SABER 42 #define NLM_CAT4(a,b,c,d) a##b##c##d 43 #else 44 /* This hack is to avoid a problem with some strict ANSI C preprocessors. 45 The problem is, "32_" is not a valid preprocessing token, and we don't 46 want extra underscores (e.g., "nlm_32_"). The NLM_XCAT2 macro will 47 cause the inner CAT2 macros to be evaluated first, producing 48 still-valid pp-tokens. Then the final concatenation can be done. */ 49 #define NLM_CAT2(a,b) a##b 50 #define NLM_XCAT2(a,b) NLM_CAT2(a,b) 51 #define NLM_CAT4(a,b,c,d) NLM_XCAT2(NLM_CAT2(a,b),NLM_CAT2(c,d)) 52 #endif 53 #else 54 #define NLM_CAT4(a,b,c,d) a/**/b/**/c/**/d 56 55 #endif 57 56 -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/objalloc.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* objalloc.h -- routines to allocate memory for objects 2 Copyright 1997 Free Software Foundation, Inc.2 Copyright 1997, 2001 Free Software Foundation, Inc. 3 3 Written by Ian Lance Taylor, Cygnus Solutions. 4 4 … … 57 57 #include <stddef.h> 58 58 #endif 59 #define OBJALLOC_ALIGN \60 ((ptrdiff_t) ((char *) &((struct objalloc_align *) 0)->d - (char *) 0))61 #else62 #define OBJALLOC_ALIGN \63 ((long) ((char *) &((struct objalloc_align *) 0)->d - (char *) 0))64 59 #endif 60 #ifndef offsetof 61 #define offsetof(TYPE, MEMBER) ((unsigned long) &((TYPE *)0)->MEMBER) 62 #endif 63 #define OBJALLOC_ALIGN offsetof (struct objalloc_align, d) 65 64 66 65 /* Create an objalloc structure. Returns NULL if malloc fails. */ -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/opcode/ChangeLog
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 2001-06-11 Alan Modra <amodra@bigpond.net.au> 2 3 Merge from mainline. 4 2001-05-23 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> 1 2003-05-13 Stephane Carrez <stcarrez@nerim.fr> 2 3 * m68hc11.h (M68HC12_BANK_VIRT): Define to 0x010000 4 5 2003-04-07 Michael Snyder <msnyder@redhat.com> 6 7 * h8300.h (ldc/stc): Fix up src/dst swaps. 8 9 2003-04-09 J. Grant <jg-binutils@jguk.org> 10 11 * mips.h: Correct comment typo. 12 13 2003-03-21 Martin Schwidefsky <schwidefsky@de.ibm.com> 14 15 * s390.h (s390_opcode_arch_val): Rename to s390_opcode_mode_val. 16 (S390_OPCODE_ESAME): Rename to S390_OPCODE_ZARCH. 17 (s390_opcode): Remove architecture. Add modes and min_cpu. 18 19 2003-03-17 D.Venkatasubramanian <dvenkat@noida.hcltech.com> 20 21 * h8300.h (O_SYS_CMDLINE): New pseudo opcode for command line 22 processing. 23 24 2003-02-21 Noida D.Venkatasubramanian <dvenkat@noida.hcltech.com> 25 26 * h8300.h (ldmac, stmac): Replace MACREG with MS32 and MD32. 27 28 2003-01-23 Alan Modra <amodra@bigpond.net.au> 29 30 * m68hc11.h (cpu6812s): Define. 31 32 2003-01-07 Chris Demetriou <cgd@broadcom.com> 33 34 * mips.h: Fix missing space in comment. 35 (INSN_ISA1, INSN_ISA2, INSN_ISA3, INSN_ISA4, INSN_ISA5) 36 (INSN_ISA32, INSN_ISA32R2, INSN_ISA64): Shift values right 37 by four bits. 38 39 2003-01-02 Chris Demetriou <cgd@broadcom.com> 40 41 * mips.h: Update copyright years to include 2002 (which had 42 been missed previously) and 2003. Make comments about "+A", 43 "+B", and "+C" operand types more descriptive. 44 45 2002-12-31 Chris Demetriou <cgd@broadcom.com> 46 47 * mips.h: Note that the "+D" operand type name is now used. 48 49 2002-12-30 Chris Demetriou <cgd@broadcom.com> 50 51 * mips.h: Document "+" as the start of two-character operand 52 type names, and add new "K", "+A", "+B", and "+C" operand types. 53 (OP_MASK_INSMSB, OP_SH_INSMSB, OP_MASK_EXTMSB) 54 (OP_SH_EXTMSB, INSN_ISA32R2, ISA_MIPS32R2, CPU_MIPS32R2): New 55 defines. 56 57 2002-12-24 Dmitry Diky <diwil@mail.ru> 58 59 * msp430.h: New file. Defines msp430 opcodes. 60 61 2002-12-30 D.Venkatasubramanian <dvenkat@noida.hcltech.com> 62 63 * h8300.h: Added some more pseudo opcodes for system call 64 processing. 65 66 2002-12-19 Chris Demetriou <cgd@broadcom.com> 67 68 * mips.h (OP_OP_COP0, OP_OP_COP1, OP_OP_COP2, OP_OP_COP3) 69 (OP_OP_LWC1, OP_OP_LWC2, OP_OP_LWC3, OP_OP_LDC1, OP_OP_LDC2) 70 (OP_OP_LDC3, OP_OP_SWC1, OP_OP_SWC2, OP_OP_SWC3, OP_OP_SDC1) 71 (OP_OP_SDC2, OP_OP_SDC3): Define. 72 73 2002-12-16 Alan Modra <amodra@bigpond.net.au> 74 75 * hppa.h (completer_chars): #if 0 out. 76 77 * ns32k.h (struct ns32k_opcode): Constify "name", "operands" and 78 "default_args". 79 (struct not_wot): Constify "args". 80 (struct not): Constify "name". 81 (numopcodes): Delete. 82 (endop): Delete. 83 84 2002-12-13 Alan Modra <amodra@bigpond.net.au> 85 86 * pj.h (pj_opc_info_t): Add union. 87 88 2002-12-04 David Mosberger <davidm@hpl.hp.com> 89 90 * ia64.h: Fix copyright message. 91 (IA64_OPND_AR_CSD): New operand kind. 92 93 2002-12-03 Richard Henderson <rth@redhat.com> 94 95 * ia64.h (enum ia64_opnd): Add IA64_OPND_LDXMOV. 96 97 2002-12-03 Alan Modra <amodra@bigpond.net.au> 98 99 * cgen.h (struct cgen_maybe_multi_ifield): Add "const PTR p" to union. 100 Constify "leaf" and "multi". 101 102 2002-11-19 Klee Dienes <kdienes@apple.com> 103 104 * h8300.h (h8_opcode): Remove 'noperands', 'idx', and 'size' 105 fields. 106 (h8_opcodes). Modify initializer and initializer macros to no 107 longer initialize the removed fields. 108 109 2002-11-19 Svein E. Seldal <Svein.Seldal@solidas.com> 110 111 * tic4x.h (c4x_insts): Fixed LDHI constraint 112 113 2002-11-18 Klee Dienes <kdienes@apple.com> 114 115 * h8300.h (h8_opcode): Remove 'length' field. 116 (h8_opcodes): Mark as 'const' (both the declaration and 117 definition). Modify initializer and initializer macros to no 118 longer initialize the length field. 119 120 2002-11-18 Klee Dienes <kdienes@apple.com> 121 122 * arc.h (arc_ext_opcodes): Declare as extern. 123 (arc_ext_operands): Declare as extern. 124 * i860.h (i860_opcodes): Declare as const. 125 126 2002-11-18 Svein E. Seldal <Svein.Seldal@solidas.com> 127 128 * tic4x.h: File reordering. Added enhanced opcodes. 129 130 2002-11-16 Svein E. Seldal <Svein.Seldal@solidas.com> 131 132 * tic4x.h: Major rewrite of entire file. Define instruction 133 classes, and put each instruction into a class. 134 135 2002-11-11 Svein E. Seldal <Svein.Seldal@solidas.com> 136 137 * tic4x.h: Added new opcodes and corrected some bugs. Add support 138 for new DSP types. 139 140 2002-10-14 Alan Modra <amodra@bigpond.net.au> 141 142 * cgen.h: Test __BFD_H_SEEN__ rather than BFD_VERSION_DATE. 143 144 2002-09-30 Gavin Romig-Koch <gavin@redhat.com> 145 Ken Raeburn <raeburn@cygnus.com> 146 Aldy Hernandez <aldyh@redhat.com> 147 Eric Christopher <echristo@redhat.com> 148 Richard Sandiford <rsandifo@redhat.com> 149 150 * mips.h: Update comment for new opcodes. 151 (OP_MASK_VECBYTE, OP_SH_VECBYTE): New. 152 (OP_MASK_VECALIGN, OP_SH_VECALIGN): New. 153 (INSN_4111, INSN_4120, INSN_5400, INSN_5500): New. 154 (CPU_VR4120, CPU_VR5400, CPU_VR5500): New. 155 (OPCODE_IS_MEMBER): Handle the new CPU_* values and INSN_* flags. 156 Don't match CPU_R4111 with INSN_4100. 157 158 2002-08-19 Elena Zannoni <ezannoni@redhat.com> 159 160 From matthew green <mrg@redhat.com> 161 162 * ppc.h (PPC_OPCODE_SPE): New opcode flag for Powerpc e500 163 instructions. 164 (PPC_OPCODE_ISEL, PPC_OPCODE_BRLOCK, PPC_OPCODE_PMR, 165 PPC_OPCODE_CACHELCK, PPC_OPCODE_RFMCI): New opcode flags for the 166 e500x2 Integer select, branch locking, performance monitor, 167 cache locking and machine check APUs, respectively. 168 (PPC_OPCODE_EFS): New opcode type for efs* instructions. 169 (PPC_OPCODE_CLASSIC): New opcode type for Classic PowerPC instructions. 170 171 2002-08-13 Stephane Carrez <stcarrez@nerim.fr> 172 173 * m68hc11.h (M6812_OP_PAGE): Define to identify call operand. 174 (M68HC12_BANK_VIRT, M68HC12_BANK_MASK, M68HC12_BANK_BASE, 175 M68HC12_BANK_SHIFT, M68HC12_BANK_PAGE_MASK): Define for 68HC12 176 memory banks. 177 (M6811_OC1M5, M6811_OC1M4, M6811_MODF): Fix value. 178 179 2002-07-09 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> 180 181 * mips.h (INSN_MIPS16): New define. 182 183 2002-07-08 Alan Modra <amodra@bigpond.net.au> 184 185 * i386.h: Remove IgnoreSize from movsx and movzx. 186 187 2002-06-08 Alan Modra <amodra@bigpond.net.au> 188 189 * a29k.h: Replace CONST with const. 190 (CONST): Don't define. 191 * convex.h: Replace CONST with const. 192 (CONST): Don't define. 193 * dlx.h: Replace CONST with const. 194 * or32.h (CONST): Don't define. 195 196 2002-05-30 Chris G. Demetriou <cgd@broadcom.com> 197 198 * mips.h (OP_SH_ALN, OP_MASK_ALN, OP_SH_VSEL, OP_MASK_VSEL) 199 (MDMX_FMTSEL_IMM_QH, MDMX_FMTSEL_IMM_OB, MDMX_FMTSEL_VEC_QH) 200 (MDMX_FMTSEL_VEC_OB, INSN_READ_MDMX_ACC, INSN_WRITE_MDMX_ACC) 201 (INSN_MDMX): New constants, for MDMX support. 202 (opcode character list): Add "O", "Q", "X", "Y", and "Z" for MDMX. 203 204 2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net> 205 206 * dlx.h: New file. 207 208 2002-05-25 Alan Modra <amodra@bigpond.net.au> 209 210 * ia64.h: Use #include "" instead of <> for local header files. 211 * sparc.h: Likewise. 212 213 2002-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> 214 215 * mips.h: Add M_DROL, M_DROL_I, M_DROR, M_DROR_I macro cases. 216 217 2002-05-17 Andrey Volkov <avolkov@sources.redhat.com> 218 219 * h8300.h: Corrected defs of all control regs 220 and eepmov instr. 221 222 2002-04-11 Alan Modra <amodra@bigpond.net.au> 223 224 * i386.h: Add intel mode cmpsd and movsd. 225 Put them before SSE2 insns, so that rep prefix works. 226 227 2002-03-15 Chris G. Demetriou <cgd@broadcom.com> 228 229 * mips.h (INSN_MIPS3D): New definition used to mark MIPS-3D 230 instructions. 231 (OPCODE_IS_MEMBER): Adjust comments to indicate that ASE bit masks 232 may be passed along with the ISA bitmask. 233 234 2002-03-05 Paul Koning <pkoning@equallogic.com> 235 236 * pdp11.h: Add format codes for float instruction formats. 237 238 2002-02-25 Alan Modra <amodra@bigpond.net.au> 239 240 * ppc.h (PPC_OPCODE_POWER4, PPC_OPCODE_NOPOWER4): Define. 241 242 Mon Feb 18 17:31:48 CET 2002 Jan Hubicka <jh@suse.cz> 243 244 * i386.h (push,pop): Fix Reg64 to WordReg to allow 16bit operands. 245 246 Mon Feb 11 12:53:19 CET 2002 Jan Hubicka <jh@suse.cz> 247 248 * i386.h (push,pop): Allow 16bit operands in 64bit mode. 249 (xchg): Fix. 250 (in, out): Disable 64bit operands. 251 (call, jmp): Avoid REX prefixes. 252 (jcxz): Prohibit in 64bit mode 253 (jrcxz, loop): Add 64bit variants. 254 (movq): Fix patterns. 255 (movmskps, pextrw, pinstrw): Add 64bit variants. 256 257 2002-01-31 Ivan Guzvinec <ivang@opencores.org> 258 259 * or32.h: New file. 260 261 2002-01-22 Graydon Hoare <graydon@redhat.com> 262 263 * cgen.h (CGEN_MAYBE_MULTI_IFLD): New structure. 264 (CGEN_OPERAND): Add CGEN_MAYBE_MULTI_IFLD field. 265 266 2002-01-21 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at> 267 268 * h8300.h: Comment typo fix. 269 270 2002-01-03 matthew green <mrg@redhat.com> 271 272 * ppc.h (PPC_OPCODE_BOOKE): BookE is not Motorola specific. 273 (PPC_OPCODE_BOOKE64): Likewise. 274 275 Mon Dec 31 16:45:41 2001 Jeffrey A Law (law@cygnus.com) 276 277 * hppa.h (call, ret): Move to end of table. 278 (addb, addib): PA2.0 variants should have been PA2.0W. 279 (ldw, ldh, ldb, stw, sth, stb, stwa): Reorder to keep disassembler 280 happy. 281 (fldw, fldd, fstw, fstd, bb): Likewise. 282 (short loads/stores): Tweak format specifier slightly to keep 283 disassembler happy. 284 (indexed loads/stores): Likewise. 285 (absolute loads/stores): Likewise. 286 287 2001-12-04 Alexandre Oliva <aoliva@redhat.com> 288 289 * d10v.h (OPERAND_NOSP): New macro. 290 291 2001-11-29 Alexandre Oliva <aoliva@redhat.com> 292 293 * d10v.h (OPERAND_SP): New macro. 294 295 2001-11-15 Alan Modra <amodra@bigpond.net.au> 296 297 * ppc.h (struct powerpc_operand <insert, extract>): Add dialect param. 298 299 2001-11-11 Timothy Wall <twall@alum.mit.edu> 300 301 * tic54x.h: Revise opcode layout; don't really need a separate 302 structure for parallel opcodes. 303 304 2001-11-13 Zack Weinberg <zack@codesourcery.com> 305 Alan Modra <amodra@bigpond.net.au> 306 307 * i386.h (i386_optab): Add entries for "sldr", "smsw" and "str" to 308 accept WordReg. 309 310 2001-11-04 Chris Demetriou <cgd@broadcom.com> 311 312 * mips.h (OPCODE_IS_MEMBER): Remove extra space. 313 314 2001-10-30 Hans-Peter Nilsson <hp@bitrange.com> 315 316 * mmix.h: New file. 317 318 2001-10-18 Chris Demetriou <cgd@broadcom.com> 319 320 * mips.h (OPCODE_IS_MEMBER): Add a no-op term to the end 321 of the expression, to make source code merging easier. 322 323 2001-10-17 Chris Demetriou <cgd@broadcom.com> 324 325 * mips.h: Sort coprocessor instruction argument characters 326 in comment, add a few more words of description for "H". 327 328 2001-10-17 Chris Demetriou <cgd@broadcom.com> 329 330 * mips.h (INSN_SB1): New cpu-specific instruction bit. 331 (OPCODE_IS_MEMBER): Allow instructions matching INSN_SB1 332 if cpu is CPU_SB1. 333 334 2001-10-17 matthew green <mrg@redhat.com> 335 336 * ppc.h (PPC_OPCODE_BOOKE64): Fix typo. 337 338 2001-10-12 matthew green <mrg@redhat.com> 339 340 * ppc.h (PPC_OPCODE_BOOKE, PPC_OPCODE_BOOKE64, PPC_OPCODE_403): New 341 opcode flags for BookE 32-bit, BookE 64-bit and PowerPC 403 342 instructions, respectively. 343 344 2001-09-27 Nick Clifton <nickc@cambridge.redhat.com> 345 346 * v850.h: Remove spurious comment. 347 348 2001-09-21 Nick Clifton <nickc@cambridge.redhat.com> 349 350 * h8300.h: Fix compile time warning messages 351 352 2001-09-04 Richard Henderson <rth@redhat.com> 353 354 * alpha.h (struct alpha_operand): Pack elements into bitfields. 355 356 2001-08-31 Eric Christopher <echristo@redhat.com> 357 358 * mips.h: Remove CPU_MIPS32_4K. 359 360 2001-08-27 Torbjorn Granlund <tege@swox.com> 361 362 * ppc.h (PPC_OPERAND_DS): Define. 363 364 2001-08-25 Andreas Jaeger <aj@suse.de> 365 366 * d30v.h: Fix declaration of reg_name_cnt. 367 368 * d10v.h: Fix declaration of d10v_reg_name_cnt. 369 370 * arc.h: Add prototypes from opcodes/arc-opc.c. 371 372 2001-08-16 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> 373 374 * mips.h (INSN_10000): Define. 375 (OPCODE_IS_MEMBER): Check for INSN_10000. 376 377 2001-08-10 Alan Modra <amodra@one.net.au> 378 379 * ppc.h: Revert 2001-08-08. 380 381 2001-08-10 Richard Sandiford <rsandifo@redhat.com> 382 383 * mips.h (INSN_GP32): Remove. 384 (OPCODE_IS_MEMBER): Remove gp32 parameter. 385 (M_MOVE): New macro identifier. 386 387 2001-08-08 Alan Modra <amodra@one.net.au> 388 389 1999-10-25 Torbjorn Granlund <tege@swox.com> 390 * ppc.h (struct powerpc_operand): New field `reloc'. 391 392 2001-08-01 Aldy Hernandez <aldyh@redhat.com> 393 394 * mips.h (INSN_ISA_MASK): Nuke bits 12-15. 395 396 2001-07-12 Jeff Johnston <jjohnstn@redhat.com> 397 398 * cgen.h (CGEN_INSN): Add regex support. 399 (build_insn_regex): Declare. 400 401 2001-07-11 Frank Ch. Eigler <fche@redhat.com> 402 403 * cgen.h (CGEN_MACH): Add insn_chunk_bitsize field. 404 (cgen_cpu_desc): Ditto. 405 406 2001-07-07 Ben Elliston <bje@redhat.com> 407 408 * m88k.h: Clean up and reformat. Remove unused code. 409 410 2001-06-14 Geoffrey Keating <geoffk@redhat.com> 411 412 * cgen.h (cgen_keyword): Add nonalpha_chars field. 413 414 2001-05-23 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> 415 5 416 * mips.h (CPU_R12000): Define. 6 417 7 2001-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> 418 2001-05-23 John Healy <jhealy@redhat.com> 419 420 * cgen.h: Increased CGEN_MAX_SYNTAX_ELEMENTS to 48. 421 422 2001-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> 423 8 424 * mips.h (INSN_ISA_MASK): Define. 9 10 2001-03-21 Kazu Hirata <kazu@hxi.com>11 * h8300.h: Fix formatting.12 13 2001-02-28 Igor Shevlyakov <igor@windriver.com>14 * m68k.h: new defines for Coldfire V4. Update mcf to know15 about mcf5407.16 17 2001-02-10 Nick Clifton <nickc@redhat.com>18 * mips.h: Remove extraneous whitespace. Formating change to allow19 for future contribution.20 21 2001-06-07 Alan Modra <amodra@bigpond.net.au>22 23 * Many files: Update copyright notices.24 425 25 426 2001-05-12 Alan Modra <amodra@one.net.au> … … 34 435 and pextrw to swap reg/rm assignments. 35 436 437 2001-04-05 Hans-Peter Nilsson <hp@axis.com> 438 439 * cris.h (enum cris_insn_version_usage): Correct comment for 440 cris_ver_v3p. 441 36 442 2001-03-24 Alan Modra <alan@linuxcare.com.au> 37 443 … … 39 445 Add InvMem to first operand of "maskmovdqu". 40 446 447 2001-03-22 Hans-Peter Nilsson <hp@axis.com> 448 449 * cris.h (ADD_PC_INCR_OPCODE): New macro. 450 451 2001-03-21 Kazu Hirata <kazu@hxi.com> 452 453 * h8300.h: Fix formatting. 454 41 455 2001-03-22 Alan Modra <alan@linuxcare.com.au> 42 456 … … 47 461 * i386.h (REGNAM_AL, REGNAM_AX, REGNAM_EAX): Define. 48 462 49 Mon Feb 12 17:39:31 CET 2001 Jan Hubicka <jh@suse.cz> 463 2001-02-28 Igor Shevlyakov <igor@windriver.com> 464 465 * m68k.h: new defines for Coldfire V4. Update mcf to know 466 about mcf5407. 467 468 2001-02-18 lars brinkhoff <lars@nocrew.org> 469 470 * pdp11.h: New file. 471 472 2001-02-12 Jan Hubicka <jh@suse.cz> 50 473 51 474 * i386.h (i386_optab): SSE integer converison instructions have 52 475 64bit versions on x86-64. 476 477 2001-02-10 Nick Clifton <nickc@redhat.com> 478 479 * mips.h: Remove extraneous whitespace. Formating change to allow 480 for future contribution. 481 482 2001-02-09 Martin Schwidefsky <schwidefsky@de.ibm.com> 483 484 * s390.h: New file. 485 486 2001-02-02 Patrick Macdonald <patrickm@redhat.com> 487 488 * cgen.h (CGEN_SYNTAX_CHAR_TYPE): Typedef as unsigned short. 489 (CGEN_MAX_SYNTAX_ELEMENTS): Rename from CGEN_MAX_SYNTAX_BYTES. 490 (CGEN_SYNTAX): Define using CGEN_MAX_SYNTAX_ELEMENTS. 53 491 54 492 2001-01-24 Karsten Keil <kkeil@suse.de> … … 63 501 Remove duplicate "ldw j(s,b),x". Sort some entries. 64 502 65 Sat Jan 13 09:56:32 MET 2001Jan Hubicka <jh@suse.cz>503 2001-01-13 Jan Hubicka <jh@suse.cz> 66 504 67 505 * i386.h (i386_optab): Fix pusha and ret templates. … … 118 556 * i386.h (i386_optab): Replace "Imm" with "EncImm". 119 557 (i386_regtab): Add flags field. 120 558 121 559 2000-12-12 Nick Clifton <nickc@redhat.com> 122 560 … … 143 581 (ISA_MIPS1, ISA_MIPS2, ISA_MIPS3, ISA_MIPS4, ISA_MIPS5, 144 582 ISA_MIPS32): New constants, defined to be the mask of INSN_* 145 constants available at that ISA level. 583 constants available at that ISA level. 146 584 (CPU_UNKNOWN): New constant to indicate unknown CPU. 147 585 (CPU_4K, CPU_MIPS32_4K): Rename the former to the latter, … … 151 589 152 590 * mips.h (INSN_ISA64, ISA_MIPS5, ISA_MIPS64): New 153 definitions. 591 definitions. 154 592 155 593 * mips.h (CPU_SB1): New constant. … … 165 603 166 604 2000-09-13 Anders Norlander <anorland@acc.umu.se> 167 605 168 606 * mips.h: Use defines instead of hard-coded processor numbers. 169 607 (CPU_R2000, CPU_R3000, CPU_R3900, CPU_R4000, CPU_R4010, 170 CPU_VR4100, CPU_R4111, CPU_R4300, CPU_R4400, CPU_R4600, CPU_R4650, 608 CPU_VR4100, CPU_R4111, CPU_R4300, CPU_R4400, CPU_R4600, CPU_R4650, 171 609 CPU_R5000, CPU_R6000, CPU_R8000, CPU_R10000, CPU_MIPS32, CPU_4K, 172 610 CPU_4KC, CPU_4KM, CPU_4KP): Define.. 173 611 (OPCODE_IS_MEMBER): Use new defines. 174 612 (OP_MASK_SEL, OP_SH_SEL): Define. 175 613 (OP_MASK_CODE20, OP_SH_CODE20): Define. 176 177 614 Add 'P' to used characters. 615 Use 'H' for coprocessor select field. 178 616 Use 'm' for 20 bit breakpoint code. 179 180 181 617 Document new arg characters and add to used characters. 618 (INSN_MIPS32): New define for MIPS32 extensions. 619 (OPCODE_IS_MEMBER): Recognize MIPS32 instructions. 182 620 183 621 2000-09-05 Alan Modra <alan@linuxcare.com.au> … … 359 797 (CGEN_CPU_TABLE): flags: new field. 360 798 Add prototypes for new functions. 361 799 362 800 2000-02-24 Alan Modra <alan@spri.levels.unisa.edu.au> 363 801 … … 477 915 478 916 * hppa.h (pa_opcodes): Use 'fX' for first register operand 479 in xmpyu. 917 in xmpyu. 480 918 481 919 * hppa.h (pa_opcodes): Fix mask for probe and probei. … … 563 1001 * hppa.h (pa_opcodes): Mark all PA2.0 opcodes with FLAG_STRICT. 564 1002 565 * hppa.h (pa_opcodes): Change xmpyu, fmpyfadd, 1003 * hppa.h (pa_opcodes): Change xmpyu, fmpyfadd, 566 1004 and fmpynfadd to use 'J' and 'K' instead of 'E' and 'X'. 567 1005 … … 591 1029 592 1030 * hppa.h (pa_opcodes): Move integer arithmetic instructions after 593 integer logical instructions. 1031 integer logical instructions. 594 1032 595 1033 1999-05-28 Linus Nordberg <linus.nordberg@canit.se> … … 608 1046 Wed May 26 16:57:44 1999 Jeffrey A Law (law@cygnus.com) 609 1047 610 * hppa.h (pa_opcodes): Add second entry for "comb", "comib", 1048 * hppa.h (pa_opcodes): Add second entry for "comb", "comib", 611 1049 "addb", and "addib" to be used by the disassembler. 612 1050 … … 719 1157 720 1158 Mon Feb 1 21:09:14 1999 Catherine Moore <clm@cygnus.com> 721 1159 722 1160 * i386.h (d_Suf, x_Suf, sld_Suf, sldx_Suf, bwld_Suf): Define. 723 1161 (x_FP, d_FP, dls_FP, sldx_FP): Define. … … 742 1180 CGEN_MODE_UINT. 743 1181 744 Sat Jan 16 01:29:25 1999Jeffrey A Law (law@cygnus.com)1182 1999-01-16 Jeffrey A Law (law@cygnus.com) 745 1183 746 1184 * hppa.h (bv): Fix mask. … … 760 1198 761 1199 The following is part of a change made by Edith Epstein 762 763 1200 <eepstein@sophia.cygnus.com> as part of a project to merge in 1201 changes by HP; HP did not create ChangeLog entries. 764 1202 765 1203 * hppa.h (completer_chars): list of chars to not put a space 766 1204 after. 767 1205 768 1206 Sun Dec 6 13:21:34 1998 Ian Lance Taylor <ian@cygnus.com> 769 1207 770 1208 * i386.h (i386_optab): Permit w suffix on processor control and 771 1209 status word instructions. 772 1210 773 1211 1998-11-30 Doug Evans <devans@casey.cygnus.com> … … 830 1268 831 1269 * hppa.h: Add "fid". 832 1270 833 1271 Sun Oct 4 21:00:00 1998 Alan Modra <alan@spri.levels.unisa.edu.au> 834 1272 … … 884 1322 * mn10300.h: Add "machine" field for instructions. 885 1323 (MN103, AM30): Define machine types. 886 1324 887 1325 Fri Jun 19 16:09:09 1998 Alan Modra <alan@spri.levels.unisa.edu.au> 888 1326 … … 1489 1927 1490 1928 * alpha.h: Don't include "bfd.h"; private relocation types are now 1491 1492 1493 1929 negative to minimize problems with shared libraries. Organize 1930 instruction subsets by AMASK extensions and PALcode 1931 implementation. 1494 1932 (struct alpha_operand): Move flags slot for better packing. 1495 1933 … … 1544 1982 1545 1983 * v850.h (v850_operands): Add insert and extract fields, pointers 1546 1984 to functions used to handle unusual operand encoding. 1547 1985 (V850_OPERAND_REG, V850_OPERAND_SRG, V850_OPERAND_CC, 1548 1986 V850_OPERAND_SIGNED): Defined. 1549 1987 1550 1988 Wed Aug 21 17:45:10 1996 J.T. Conklin <jtc@rtl.cygnus.com> … … 1560 1998 1561 1999 * mips.h (OP_SH_LOCC, OP_SH_HICC, OP_MASK_CC, OP_SH_COP1NORM, 1562 1563 1564 1565 1566 2000 OP_MASK_COP1NORM, OP_SH_COP1SPEC, OP_MASK_COP1SPEC, 2001 OP_MASK_COP1SCLR, OP_MASK_COP1CMP, OP_SH_COP1CMP, OP_SH_FORMAT, 2002 OP_MASK_FORMAT, OP_SH_TRUE, OP_MASK_TRUE, OP_SH_GE, OP_MASK_GE, 2003 OP_SH_UNSIGNED, OP_MASK_UNSIGNED, OP_SH_HINT, OP_MASK_HINT): 2004 Defined. 1567 2005 1568 2006 Fri Aug 16 00:15:15 1996 Jeffrey A Law (law@cygnus.com) … … 1574 2012 1575 2013 * d10v.h: Add some additional defines to support the 1576 2014 assembler in determining which operations can be done in parallel. 1577 2015 1578 2016 Tue Aug 6 11:13:22 1996 Jeffrey A Law (law@cygnus.com) … … 1590 2028 1591 2029 * d10v.h: Changes for divs, parallel-only instructions, and 1592 2030 signed numbers. 1593 2031 1594 2032 Mon Jul 22 11:21:15 1996 Martin M. Hunt <hunt@pizza.cygnus.com> … … 1612 2050 Wed Jul 3 14:30:12 1996 J.T. Conklin <jtc@rtl.cygnus.com> 1613 2051 1614 2052 * m68k.h (mcf5200): New macro. 1615 2053 Document names of coldfire control registers. 1616 2054 … … 1762 2200 1763 2201 * mips.h: Added INSN_4100 flag to mark NEC VR4100 specific 1764 2202 instructions. 1765 2203 1766 2204 Mon Oct 16 10:28:15 1995 Michael Meissner <meissner@tiktok.cygnus.com> -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/opcode/a29k.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* Table of opcodes for the AMD 29000 family. 2 Copyright 1990, 1991, 1993, 1994 Free Software Foundation, Inc.2 Copyright 1990, 1991, 1993, 1994, 2002 Free Software Foundation, Inc. 3 3 4 4 This file is part of GDB and GAS. … … 63 63 }; 64 64 65 #ifndef CONST 66 #define CONST 67 #endif /* CONST */ 68 69 static CONST struct a29k_opcode a29k_opcodes[] = 65 static const struct a29k_opcode a29k_opcodes[] = 70 66 { 71 67 … … 283 279 }; 284 280 285 CONSTunsigned int num_opcodes = (((sizeof a29k_opcodes) / (sizeof a29k_opcodes[0])) - 1);281 const unsigned int num_opcodes = (((sizeof a29k_opcodes) / (sizeof a29k_opcodes[0])) - 1); -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/opcode/alpha.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 83 83 { 84 84 /* The number of bits in the operand. */ 85 int bits;85 unsigned int bits : 5; 86 86 87 87 /* How far the operand is left shifted in the instruction. */ 88 int shift;88 unsigned int shift : 5; 89 89 90 90 /* The default relocation type for this operand. */ 91 int default_reloc;91 signed int default_reloc : 16; 92 92 93 93 /* One bit syntax flags. */ 94 unsigned flags;94 unsigned int flags : 16; 95 95 96 96 /* Insertion function. This is used by the assembler. To insert an -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/opcode/arc.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 99 99 /* this is an "insert at front" linked list per Metaware spec 100 100 that new definitions override older ones. */ 101 struct arc_opcode *arc_ext_opcodes;101 extern struct arc_opcode *arc_ext_opcodes; 102 102 103 103 struct arc_operand_value { … … 118 118 struct arc_ext_operand_value *next; 119 119 struct arc_operand_value operand; 120 } *arc_ext_operands; 120 }; 121 122 extern struct arc_ext_operand_value *arc_ext_operands; 121 123 122 124 struct arc_operand { … … 314 316 int arc_opcode_supported PARAMS ((const struct arc_opcode *)); 315 317 int arc_opval_supported PARAMS ((const struct arc_operand_value *)); 318 int arc_limm_fixup_adjust PARAMS ((arc_insn)); 319 int arc_insn_is_j PARAMS ((arc_insn)); 320 int arc_insn_not_jl PARAMS ((arc_insn)); 321 int arc_operand_type PARAMS ((int)); 322 struct arc_operand_value *get_ext_suffix PARAMS ((char *)); 323 int arc_get_noshortcut_flag PARAMS ((void)); -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/opcode/avr.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 26 26 #define AVR_ISA_MUL 0x0040 /* device has new core (MUL, MOVW, ...) */ 27 27 #define AVR_ISA_ELPM 0x0080 /* device has >64K program memory (ELPM) */ 28 #define AVR_ISA_ELPMX 0x0100 /* device has ELPM Rd,Z[+] (none yet)*/28 #define AVR_ISA_ELPMX 0x0100 /* device has ELPM Rd,Z[+] */ 29 29 #define AVR_ISA_SPM 0x0200 /* device can program itself */ 30 #define AVR_ISA_BRK 0x0400 /* device has BREAK (on-chip debug) */ 30 31 #define AVR_ISA_EIND 0x0800 /* device has >128K program memory (none yet) */ 31 32 32 33 #define AVR_ISA_TINY1 (AVR_ISA_1200 | AVR_ISA_LPM) 33 34 #define AVR_ISA_2xxx (AVR_ISA_TINY1 | AVR_ISA_SRAM) 34 #define AVR_ISA_M8 3(AVR_ISA_2xxx | AVR_ISA_MUL | AVR_ISA_LPMX | AVR_ISA_SPM)35 #define AVR_ISA_M8 (AVR_ISA_2xxx | AVR_ISA_MUL | AVR_ISA_LPMX | AVR_ISA_SPM) 35 36 #define AVR_ISA_M603 (AVR_ISA_2xxx | AVR_ISA_MEGA) 36 37 #define AVR_ISA_M103 (AVR_ISA_M603 | AVR_ISA_ELPM) 37 38 #define AVR_ISA_M161 (AVR_ISA_M603 | AVR_ISA_MUL | AVR_ISA_LPMX | AVR_ISA_SPM) 38 39 #define AVR_ISA_94K (AVR_ISA_M603 | AVR_ISA_MUL | AVR_ISA_LPMX) 40 #define AVR_ISA_M323 (AVR_ISA_M161 | AVR_ISA_BRK) 41 #define AVR_ISA_M128 (AVR_ISA_M323 | AVR_ISA_ELPM | AVR_ISA_ELPMX) 39 42 40 43 #define AVR_ISA_ALL 0xFFFF … … 87 90 the disassembler will only see the first match. 88 91 89 Remaining undefined opcodes (1 700total - some of them might work92 Remaining undefined opcodes (1699 total - some of them might work 90 93 as normal instructions if not all of the bits are decoded): 91 94 … … 101 104 "10010101001x1000" (2) 0x95[23]8 102 105 "1001010101xx1000" (4) 0x95[4-7]8 103 "1001010110 x11000" (2) 0x95[9b]8106 "1001010110111000" (1) 0x95b8 104 107 "1001010111111000" (1) 0x95f8 (`espm' removed in databook update) 105 108 "11111xxxxxxx1xxx" (1024) 0xf[8-9a-f][0-9a-f][8-9a-f] … … 140 143 AVR_INSN (reti, "", "1001010100011000", 1, AVR_ISA_1200, 0x9518) 141 144 AVR_INSN (sleep,"", "1001010110001000", 1, AVR_ISA_1200, 0x9588) 145 AVR_INSN (break,"", "1001010110011000", 1, AVR_ISA_BRK, 0x9598) 142 146 AVR_INSN (wdr, "", "1001010110101000", 1, AVR_ISA_1200, 0x95a8) 143 147 AVR_INSN (spm, "", "1001010111101000", 1, AVR_ISA_SPM, 0x95e8) -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/opcode/cgen.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* Header file for targets using CGEN: Cpu tools GENerator. 2 2 3 Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. 3 Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 4 Free Software Foundation, Inc. 4 5 5 6 This file is part of GDB, the GNU debugger, and the GNU Binutils. … … 27 28 Or perhaps one could duplicate its definition in another file. 28 29 Until such time, this file conditionally compiles definitions that require 29 bfd_vma using BFD_VERSION. */30 bfd_vma using __BFD_H_SEEN__. */ 30 31 31 32 /* Enums must be defined before they can be used. … … 203 204 /* one of enum mach_attr */ 204 205 int num; 206 /* parameter from mach->cpu */ 207 unsigned int insn_chunk_bitsize; 205 208 } CGEN_MACH; 206 209 … … 281 284 The result is an error message or NULL if success. */ 282 285 283 #ifdef BFD_VERSION286 #ifdef __BFD_H_SEEN__ 284 287 typedef const char * (cgen_insert_fn) 285 288 PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *insn_, … … 302 305 The result is the length of the insn in bits or zero if not recognized. */ 303 306 304 #ifdef BFD_VERSION307 #ifdef __BFD_H_SEEN__ 305 308 typedef int (cgen_extract_fn) 306 309 PARAMS ((CGEN_CPU_DESC, const CGEN_INSN *insn_, … … 321 324 LEN is the length of the insn, in bits. */ 322 325 323 #ifdef BFD_VERSION326 #ifdef __BFD_H_SEEN__ 324 327 typedef void (cgen_print_fn) 325 328 PARAMS ((CGEN_CPU_DESC, PTR info_, const CGEN_INSN *insn_, … … 387 390 }; 388 391 389 #ifdef BFD_VERSION/* Don't require bfd.h unnecessarily. */392 #ifdef __BFD_H_SEEN__ /* Don't require bfd.h unnecessarily. */ 390 393 typedef const char * (cgen_parse_operand_fn) 391 394 PARAMS ((CGEN_CPU_DESC, … … 522 525 /* Pointer to null keyword "" entry if present. */ 523 526 const CGEN_KEYWORD_ENTRY *null_entry; 527 528 /* String containing non-alphanumeric characters used 529 in keywords. 530 At present, the highest number of entries used is 1. */ 531 char nonalpha_chars[8]; 524 532 } CGEN_KEYWORD; 525 533 … … 567 575 extern const char *cgen_parse_keyword 568 576 PARAMS ((CGEN_CPU_DESC, const char **, CGEN_KEYWORD *, long *)); 569 #ifdef BFD_VERSION/* Don't require bfd.h unnecessarily. */577 #ifdef __BFD_H_SEEN__ /* Don't require bfd.h unnecessarily. */ 570 578 extern const char *cgen_parse_signed_integer 571 579 PARAMS ((CGEN_CPU_DESC, const char **, int, long *)); … … 613 621 #define CGEN_OPERAND_NIL CGEN_OPERAND_MAX 614 622 623 /* A tree of these structs represents the multi-ifield 624 structure of an operand's hw-index value, if it exists. */ 625 626 struct cgen_ifld; 627 628 typedef struct cgen_maybe_multi_ifield 629 { 630 int count; /* 0: indexed by single cgen_ifld (possibly null: dead entry); 631 n: indexed by array of more cgen_maybe_multi_ifields. */ 632 union 633 { 634 const PTR p; 635 const struct cgen_maybe_multi_ifield * multi; 636 const struct cgen_ifld * leaf; 637 } val; 638 } 639 CGEN_MAYBE_MULTI_IFLD; 640 615 641 /* This struct defines each entry in the operand table. */ 616 642 … … 641 667 unsigned char length; 642 668 669 /* The (possibly-multi) ifield used as an index for this operand, if it 670 is indexed by a field at all. This substitutes / extends the start and 671 length fields above, but unsure at this time whether they are used 672 anywhere. */ 673 CGEN_MAYBE_MULTI_IFLD index_fields; 643 674 #if 0 /* ??? Interesting idea but relocs tend to get too complicated, 644 675 and ABI dependent, for simple table lookups to work. */ … … 749 780 750 781 /* This should be at least as large as necessary for any target. */ 751 #define CGEN_MAX_SYNTAX_ BYTES 40782 #define CGEN_MAX_SYNTAX_ELEMENTS 48 752 783 753 784 /* A target may know its own precise maximum. Assert that it falls below 754 785 the above limit. */ 755 #ifdef CGEN_ACTUAL_MAX_SYNTAX_BYTES 756 #if CGEN_ACTUAL_MAX_SYNTAX_BYTES > CGEN_MAX_SYNTAX_BYTES 757 #error "CGEN_ACTUAL_MAX_SYNTAX_BYTES too high - enlarge CGEN_MAX_SYNTAX_BYTES" 758 #endif 759 #endif 760 761 #if !defined(MAX_OPERANDS) || MAX_OPERANDS <= 127 762 typedef unsigned char CGEN_SYNTAX_CHAR_TYPE; 763 #else 786 #ifdef CGEN_ACTUAL_MAX_SYNTAX_ELEMENTS 787 #if CGEN_ACTUAL_MAX_SYNTAX_ELEMENTS > CGEN_MAX_SYNTAX_ELEMENTS 788 #error "CGEN_ACTUAL_MAX_SYNTAX_ELEMENTS too high - enlarge CGEN_MAX_SYNTAX_ELEMENTS" 789 #endif 790 #endif 791 764 792 typedef unsigned short CGEN_SYNTAX_CHAR_TYPE; 765 #endif766 793 767 794 typedef struct 768 795 { 769 CGEN_SYNTAX_CHAR_TYPE syntax[CGEN_MAX_SYNTAX_ BYTES];796 CGEN_SYNTAX_CHAR_TYPE syntax[CGEN_MAX_SYNTAX_ELEMENTS]; 770 797 } CGEN_SYNTAX; 771 798 … … 1021 1048 const CGEN_OPCODE *opcode; 1022 1049 const CGEN_OPINST *opinst; 1050 1051 /* Regex to disambiguate overloaded opcodes */ 1052 void *rx; 1053 #define CGEN_INSN_RX(insn) ((insn)->rx) 1054 #define CGEN_MAX_RX_ELEMENTS (CGEN_MAX_SYNTAX_ELEMENTS * 5) 1023 1055 }; 1024 1056 … … 1183 1215 unsigned int word_bitsize; 1184 1216 1217 /* Instruction chunk size (in bits), for purposes of endianness 1218 conversion. */ 1219 unsigned int insn_chunk_bitsize; 1220 1185 1221 /* Indicator if sizes are unknown. 1186 1222 This is used by default_insn_bitsize,base_insn_bitsize if there is a … … 1237 1273 PARAMS ((CGEN_CPU_DESC, int opindex_, const char **, 1238 1274 CGEN_FIELDS *fields_)); 1239 #ifdef BFD_VERSION1275 #ifdef __BFD_H_SEEN__ 1240 1276 const char * (*insert_operand) 1241 1277 PARAMS ((CGEN_CPU_DESC, int opindex_, CGEN_FIELDS *fields_, … … 1270 1306 void (*set_int_operand) 1271 1307 PARAMS ((CGEN_CPU_DESC, int opindex_, CGEN_FIELDS *fields_, int value_)); 1272 #ifdef BFD_VERSION1308 #ifdef __BFD_H_SEEN__ 1273 1309 bfd_vma (*get_vma_operand) 1274 1310 PARAMS ((CGEN_CPU_DESC, int opindex_, const CGEN_FIELDS *fields_)); … … 1376 1412 extern void CGEN_SYM (init_opcode_table) PARAMS ((CGEN_CPU_DESC cd_)); 1377 1413 1414 /* build the insn selection regex. 1415 called by init_opcode_table */ 1416 1417 extern char * CGEN_SYM(build_insn_regex) PARAMS ((CGEN_INSN *insn_)); 1418 1378 1419 /* Initialize the ibld table for use. 1379 1420 Called by init_asm/init_dis. */ -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/opcode/convex.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* Information for instruction disassembly on the Convex. 2 Copyright 1989, 1993 Free Software Foundation, Inc.2 Copyright 1989, 1993, 2002 Free Software Foundation, Inc. 3 3 4 4 This file is part of GDB. … … 17 17 along with this program; if not, write to the Free Software 18 18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 19 20 #ifndef CONST21 #define CONST22 #endif /* CONST */23 19 24 20 #define xxx 0 … … 68 64 #define TID 21 69 65 70 CONSTchar *op[] = {66 const char *op[] = { 71 67 "", 72 68 "v0\0v1\0v2\0v3\0v4\0v5\0v6\0v7", … … 93 89 }; 94 90 95 CONSTstruct formstr format0[] = {91 const struct formstr format0[] = { 96 92 {0,0,rrr,V,S,S}, /* mov */ 97 93 {0,0,rrr,S,S,V}, /* mov */ … … 160 156 }; 161 157 162 CONSTstruct formstr format1[] = {158 const struct formstr format1[] = { 163 159 {11,0,xxx,0,0,0}, /* exit */ 164 160 {12,0,a3,0,0,0}, /* jmp */ … … 227 223 }; 228 224 229 CONSTstruct formstr format2[] = {225 const struct formstr format2[] = { 230 226 {28,5,rr,A,A,0}, /* cvtw.b */ 231 227 {28,6,rr,A,A,0}, /* cvtw.h */ … … 358 354 }; 359 355 360 CONSTstruct formstr format3[] = {356 const struct formstr format3[] = { 361 357 {32,3,rr,V,V,0}, /* cvtd.s */ 362 358 {31,4,rr,V,V,0}, /* cvts.d */ … … 425 421 }; 426 422 427 CONSTstruct formstr format4[] = {423 const struct formstr format4[] = { 428 424 {46,0,nops,0,0,0}, /* nop */ 429 425 {47,0,pcrel,0,0,0}, /* br */ … … 436 432 }; 437 433 438 CONSTstruct formstr format5[] = {434 const struct formstr format5[] = { 439 435 {51,5,rr,V,V,0}, /* ldvi.b */ 440 436 {51,6,rr,V,V,0}, /* ldvi.h */ … … 455 451 }; 456 452 457 CONSTstruct formstr format6[] = {453 const struct formstr format6[] = { 458 454 {53,0,r,A,0,0}, /* ldsdr */ 459 455 {54,0,r,A,0,0}, /* ldkdr */ … … 522 518 }; 523 519 524 CONSTstruct formstr format7[] = {520 const struct formstr format7[] = { 525 521 {84,5,r,V,0,0}, /* sum.b */ 526 522 {84,6,r,V,0,0}, /* sum.h */ … … 557 553 }; 558 554 559 CONSTstruct formstr formatx[] = {560 {0,0,0,0,0,0}, 561 }; 562 563 CONSTstruct formstr format1a[] = {555 const struct formstr formatx[] = { 556 {0,0,0,0,0,0}, 557 }; 558 559 const struct formstr format1a[] = { 564 560 {91,0,imr,A,0,0}, /* halt */ 565 561 {92,0,a4,0,0,0}, /* sysc */ … … 596 592 }; 597 593 598 CONSTstruct formstr format1b[] = {594 const struct formstr format1b[] = { 599 595 {18,4,imr,S,0,0}, /* ld.d */ 600 596 {18,10,imr,S,0,0}, /* ld.u */ … … 631 627 }; 632 628 633 CONSTstruct formstr e0_format0[] = {629 const struct formstr e0_format0[] = { 634 630 {10,3,rrr,S,V,V}, /* sub.s */ 635 631 {10,4,rrr,S,V,V}, /* sub.d */ … … 698 694 }; 699 695 700 CONSTstruct formstr e0_format1[] = {696 const struct formstr e0_format1[] = { 701 697 {0,0,0,0,0,0}, 702 698 {94,0,a3,0,0,0}, /* tst */ … … 765 761 }; 766 762 767 CONSTstruct formstr e0_format2[] = {763 const struct formstr e0_format2[] = { 768 764 {28,5,rr,V,V,0}, /* cvtw.b */ 769 765 {28,6,rr,V,V,0}, /* cvtw.h */ … … 896 892 }; 897 893 898 CONSTstruct formstr e0_format3[] = {894 const struct formstr e0_format3[] = { 899 895 {32,11,rr,V,V,0}, /* cvtd.s.f */ 900 896 {31,12,rr,V,V,0}, /* cvts.d.f */ … … 963 959 }; 964 960 965 CONSTstruct formstr e0_format4[] = {966 {0,0,0,0,0,0}, 967 {0,0,0,0,0,0}, 968 {0,0,0,0,0,0}, 969 {0,0,0,0,0,0}, 970 {0,0,0,0,0,0}, 971 {0,0,0,0,0,0}, 972 {0,0,0,0,0,0}, 973 {0,0,0,0,0,0}, 974 }; 975 976 CONSTstruct formstr e0_format5[] = {961 const struct formstr e0_format4[] = { 962 {0,0,0,0,0,0}, 963 {0,0,0,0,0,0}, 964 {0,0,0,0,0,0}, 965 {0,0,0,0,0,0}, 966 {0,0,0,0,0,0}, 967 {0,0,0,0,0,0}, 968 {0,0,0,0,0,0}, 969 {0,0,0,0,0,0}, 970 }; 971 972 const struct formstr e0_format5[] = { 977 973 {51,13,rr,V,V,0}, /* ldvi.b.f */ 978 974 {51,14,rr,V,V,0}, /* ldvi.h.f */ … … 993 989 }; 994 990 995 CONSTstruct formstr e0_format6[] = {991 const struct formstr e0_format6[] = { 996 992 {0,0,rxl,S,CIR,0}, /* mov */ 997 993 {0,0,lr,CIR,S,0}, /* mov */ … … 1060 1056 }; 1061 1057 1062 CONSTstruct formstr e0_format7[] = {1058 const struct formstr e0_format7[] = { 1063 1059 {84,13,r,V,0,0}, /* sum.b.f */ 1064 1060 {84,14,r,V,0,0}, /* sum.h.f */ … … 1095 1091 }; 1096 1092 1097 CONSTstruct formstr e1_format0[] = {1093 const struct formstr e1_format0[] = { 1098 1094 {0,0,0,0,0,0}, 1099 1095 {0,0,0,0,0,0}, … … 1162 1158 }; 1163 1159 1164 CONSTstruct formstr e1_format1[] = {1160 const struct formstr e1_format1[] = { 1165 1161 {0,0,0,0,0,0}, 1166 1162 {0,0,0,0,0,0}, … … 1229 1225 }; 1230 1226 1231 CONSTstruct formstr e1_format2[] = {1227 const struct formstr e1_format2[] = { 1232 1228 {0,0,0,0,0,0}, 1233 1229 {0,0,0,0,0,0}, … … 1360 1356 }; 1361 1357 1362 CONSTstruct formstr e1_format3[] = {1358 const struct formstr e1_format3[] = { 1363 1359 {32,18,rr,V,V,0}, /* cvtd.s.t */ 1364 1360 {31,19,rr,V,V,0}, /* cvts.d.t */ … … 1427 1423 }; 1428 1424 1429 CONSTstruct formstr e1_format4[] = {1430 {0,0,0,0,0,0}, 1431 {0,0,0,0,0,0}, 1432 {0,0,0,0,0,0}, 1433 {0,0,0,0,0,0}, 1434 {0,0,0,0,0,0}, 1435 {0,0,0,0,0,0}, 1436 {0,0,0,0,0,0}, 1437 {0,0,0,0,0,0}, 1438 }; 1439 1440 CONSTstruct formstr e1_format5[] = {1425 const struct formstr e1_format4[] = { 1426 {0,0,0,0,0,0}, 1427 {0,0,0,0,0,0}, 1428 {0,0,0,0,0,0}, 1429 {0,0,0,0,0,0}, 1430 {0,0,0,0,0,0}, 1431 {0,0,0,0,0,0}, 1432 {0,0,0,0,0,0}, 1433 {0,0,0,0,0,0}, 1434 }; 1435 1436 const struct formstr e1_format5[] = { 1441 1437 {51,20,rr,V,V,0}, /* ldvi.b.t */ 1442 1438 {51,21,rr,V,V,0}, /* ldvi.h.t */ … … 1457 1453 }; 1458 1454 1459 CONSTstruct formstr e1_format6[] = {1460 {0,0,0,0,0,0}, 1461 {0,0,0,0,0,0}, 1462 {0,0,0,0,0,0}, 1463 {0,0,0,0,0,0}, 1464 {0,0,0,0,0,0}, 1465 {0,0,0,0,0,0}, 1466 {0,0,0,0,0,0}, 1467 {0,0,0,0,0,0}, 1468 {0,0,0,0,0,0}, 1469 {0,0,0,0,0,0}, 1470 {0,0,0,0,0,0}, 1471 {0,0,0,0,0,0}, 1472 {0,0,0,0,0,0}, 1473 {0,0,0,0,0,0}, 1474 {0,0,0,0,0,0}, 1475 {0,0,0,0,0,0}, 1476 {0,0,0,0,0,0}, 1477 {0,0,0,0,0,0}, 1478 {0,0,0,0,0,0}, 1479 {0,0,0,0,0,0}, 1480 {0,0,0,0,0,0}, 1481 {0,0,0,0,0,0}, 1482 {0,0,0,0,0,0}, 1483 {0,0,0,0,0,0}, 1484 {0,0,0,0,0,0}, 1485 {0,0,0,0,0,0}, 1486 {0,0,0,0,0,0}, 1487 {0,0,0,0,0,0}, 1488 {0,0,0,0,0,0}, 1489 {0,0,0,0,0,0}, 1490 {0,0,0,0,0,0}, 1491 {0,0,0,0,0,0}, 1492 {0,0,0,0,0,0}, 1493 {0,0,0,0,0,0}, 1494 {0,0,0,0,0,0}, 1495 {0,0,0,0,0,0}, 1496 {0,0,0,0,0,0}, 1497 {0,0,0,0,0,0}, 1498 {0,0,0,0,0,0}, 1499 {0,0,0,0,0,0}, 1500 {0,0,0,0,0,0}, 1501 {0,0,0,0,0,0}, 1502 {0,0,0,0,0,0}, 1503 {0,0,0,0,0,0}, 1504 {0,0,0,0,0,0}, 1505 {0,0,0,0,0,0}, 1506 {0,0,0,0,0,0}, 1507 {0,0,0,0,0,0}, 1508 {0,0,0,0,0,0}, 1509 {0,0,0,0,0,0}, 1510 {0,0,0,0,0,0}, 1511 {0,0,0,0,0,0}, 1512 {0,0,0,0,0,0}, 1513 {0,0,0,0,0,0}, 1514 {0,0,0,0,0,0}, 1515 {0,0,0,0,0,0}, 1516 {0,0,0,0,0,0}, 1517 {0,0,0,0,0,0}, 1518 {0,0,0,0,0,0}, 1519 {0,0,0,0,0,0}, 1520 {0,0,0,0,0,0}, 1521 {0,0,0,0,0,0}, 1522 {0,0,0,0,0,0}, 1523 {0,0,0,0,0,0}, 1524 }; 1525 1526 CONSTstruct formstr e1_format7[] = {1455 const struct formstr e1_format6[] = { 1456 {0,0,0,0,0,0}, 1457 {0,0,0,0,0,0}, 1458 {0,0,0,0,0,0}, 1459 {0,0,0,0,0,0}, 1460 {0,0,0,0,0,0}, 1461 {0,0,0,0,0,0}, 1462 {0,0,0,0,0,0}, 1463 {0,0,0,0,0,0}, 1464 {0,0,0,0,0,0}, 1465 {0,0,0,0,0,0}, 1466 {0,0,0,0,0,0}, 1467 {0,0,0,0,0,0}, 1468 {0,0,0,0,0,0}, 1469 {0,0,0,0,0,0}, 1470 {0,0,0,0,0,0}, 1471 {0,0,0,0,0,0}, 1472 {0,0,0,0,0,0}, 1473 {0,0,0,0,0,0}, 1474 {0,0,0,0,0,0}, 1475 {0,0,0,0,0,0}, 1476 {0,0,0,0,0,0}, 1477 {0,0,0,0,0,0}, 1478 {0,0,0,0,0,0}, 1479 {0,0,0,0,0,0}, 1480 {0,0,0,0,0,0}, 1481 {0,0,0,0,0,0}, 1482 {0,0,0,0,0,0}, 1483 {0,0,0,0,0,0}, 1484 {0,0,0,0,0,0}, 1485 {0,0,0,0,0,0}, 1486 {0,0,0,0,0,0}, 1487 {0,0,0,0,0,0}, 1488 {0,0,0,0,0,0}, 1489 {0,0,0,0,0,0}, 1490 {0,0,0,0,0,0}, 1491 {0,0,0,0,0,0}, 1492 {0,0,0,0,0,0}, 1493 {0,0,0,0,0,0}, 1494 {0,0,0,0,0,0}, 1495 {0,0,0,0,0,0}, 1496 {0,0,0,0,0,0}, 1497 {0,0,0,0,0,0}, 1498 {0,0,0,0,0,0}, 1499 {0,0,0,0,0,0}, 1500 {0,0,0,0,0,0}, 1501 {0,0,0,0,0,0}, 1502 {0,0,0,0,0,0}, 1503 {0,0,0,0,0,0}, 1504 {0,0,0,0,0,0}, 1505 {0,0,0,0,0,0}, 1506 {0,0,0,0,0,0}, 1507 {0,0,0,0,0,0}, 1508 {0,0,0,0,0,0}, 1509 {0,0,0,0,0,0}, 1510 {0,0,0,0,0,0}, 1511 {0,0,0,0,0,0}, 1512 {0,0,0,0,0,0}, 1513 {0,0,0,0,0,0}, 1514 {0,0,0,0,0,0}, 1515 {0,0,0,0,0,0}, 1516 {0,0,0,0,0,0}, 1517 {0,0,0,0,0,0}, 1518 {0,0,0,0,0,0}, 1519 {0,0,0,0,0,0}, 1520 }; 1521 1522 const struct formstr e1_format7[] = { 1527 1523 {84,20,r,V,0,0}, /* sum.b.t */ 1528 1524 {84,21,r,V,0,0}, /* sum.h.t */ -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/opcode/cris.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 51 51 cris_ver_v0_3, 52 52 53 /* Only for v3 or higher (ETRAX 1..4 and beyond). */53 /* Only for v3 or higher (ETRAX 4 and beyond). */ 54 54 cris_ver_v3p, 55 55 … … 161 161 #define JUMP_PC_INCR_OPCODE \ 162 162 (JUMP_INDIR_OPCODE + AUTOINCR_BIT * 0x0100 + REG_PC) 163 #define ADD_PC_INCR_OPCODE \ 164 (0xfa00 + (2 << 4) + AUTOINCR_BIT * 0x0100 + REG_PC) 163 165 164 166 /* Nop. */ -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/opcode/d10v.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* d10v.h -- Header file for D10V opcode table 2 Copyright 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.2 Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. 3 3 Written by Martin Hunt (hunt@cygnus.com), Cygnus Support 4 4 … … 182 182 #define RESTRICTED_NUM3 (0x80000) 183 183 184 /* Pre-decrement is only supported for SP. */ 185 #define OPERAND_SP (0x100000) 186 187 /* Post-decrement is not supported for SP. Like OPERAND_EVEN, and 188 unlike OPERAND_SP, this flag doesn't prevent the instruction from 189 matching, it only fails validation later on. */ 190 #define OPERAND_NOSP (0x200000) 191 184 192 /* Structure to hold information about predefined registers. */ 185 193 struct pd_reg … … 191 199 192 200 extern const struct pd_reg d10v_predefined_registers[]; 193 int d10v_reg_name_cnt ();201 int d10v_reg_name_cnt PARAMS ((void)); 194 202 195 203 /* an expressionS only has one register type, so we fake it */ -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/opcode/d30v.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 33 33 34 34 extern const struct pd_reg pre_defined_registers[]; 35 int reg_name_cnt ();35 int reg_name_cnt PARAMS ((void)); 36 36 37 37 /* the number of control registers */ -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/opcode/h8300.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* Opcode table for the H8/300 2 Copyright 1991, 1992, 1993, 1994, 1996, 1997, 1998, 2000 2 Copyright 1991, 1992, 1993, 1994, 1996, 1997, 1998, 2000, 2002, 2003 3 3 Free Software Foundation, Inc. 4 4 Written by Steve Chamberlain <sac@cygnus.com>. … … 22 22 23 23 /* Instructions are stored as a sequence of nibbles. 24 If the nibble has value 15 or less th en the representation is complete.24 If the nibble has value 15 or less than the representation is complete. 25 25 Otherwise, we record what it contains with several flags. */ 26 26 … … 49 49 #define L_P 0x08 50 50 #define L_24 0x10 51 #define MEMRELAX 0x20 /* move insn which may relax*/51 #define MEMRELAX 0x20 /* Move insn which may relax. */ 52 52 #define SRC 0x40 53 53 #define DST 0x80 … … 67 67 #define DISPREG 0x100000 68 68 #define IGNORE 0x200000 69 #define E 0x400000 /* FIXME: end of nibble sequence? */69 #define E 0x400000 /* FIXME: end of nibble sequence? */ 70 70 #define L_2 0x800000 71 #define B30 0x1000000 /* bit 3 must be low*/72 #define B31 0x2000000 /* bit 3 must be high*/71 #define B30 0x1000000 /* Bit 3 must be low. */ 72 #define B31 0x2000000 /* Bit 3 must be high. */ 73 73 #define CCR 0x4000000 74 74 #define ABS 0x8000000 … … 78 78 #define MEMIND 0x80000000 79 79 80 #define IMM3 IMM|L_3 81 #define IMM2 IMM|L_2 82 83 #define SIZE (L_2|L_3|L_8|L_16|L_32|L_P|L_24) 84 #define MODE (REG|IMM|DISP|IND|INC|DEC|CCR|ABS|MEMIND|EXR) 85 86 #define RD8 (DST|L_8|REG) 87 #define RD16 (DST|L_16|REG) 88 #define RD32 (DST|L_32|REG) 89 #define RS8 (SRC|L_8|REG) 90 #define RS16 (SRC|L_16|REG) 91 #define RS32 (SRC|L_32|REG) 92 93 #define RSP (SRC|L_P|REG) 94 #define RDP (DST|L_P|REG) 95 96 #define IMM8 (IMM|SRC|L_8) 97 #define IMM16 (IMM|SRC|L_16) 98 #define IMM32 (IMM|SRC|L_32) 99 100 #define ABS8SRC (SRC|ABS|L_8|ABS8MEM) 101 #define ABS8DST (DST|ABS|L_8|ABS8MEM) 102 103 #define DISP8 (PCREL|L_8) 104 #define DISP16 (PCREL|L_16) 105 106 #define DISP8SRC (DISP|L_8|SRC) 107 #define DISP16SRC (DISP|L_16|SRC) 108 109 #define DISP8DST (DISP|L_8|DST) 110 #define DISP16DST (DISP|L_16|DST) 111 112 #define ABS16SRC (SRC|ABS|L_16) 113 #define ABS16DST (DST|ABS|L_16) 114 #define ABS24SRC (SRC|ABS|L_24) 115 #define ABS24DST (DST|ABS|L_24) 116 #define ABS32SRC (SRC|ABS|L_32) 117 #define ABS32DST (DST|ABS|L_32) 118 119 #define RDDEC (DST|DEC) 120 #define RSINC (SRC|INC) 121 #define RDINC (DST|INC) 122 123 #define RDIND (DST|IND) 124 #define RSIND (SRC|IND) 80 #define IMM3 IMM | L_3 81 #define IMM2 IMM | L_2 82 83 #define SIZE (L_2 | L_3 | L_8 | L_16 | L_32 | L_P | L_24) 84 #define MODE (REG | IMM | DISP | IND | INC | DEC | CCR | ABS | MEMIND | EXR) 85 86 #define RD8 (DST | L_8 | REG) 87 #define RD16 (DST | L_16 | REG) 88 #define RD32 (DST | L_32 | REG) 89 #define RS8 (SRC | L_8 | REG) 90 #define RS16 (SRC | L_16 | REG) 91 #define RS32 (SRC | L_32 | REG) 92 93 #define RSP (SRC | L_P | REG) 94 #define RDP (DST | L_P | REG) 95 96 #define IMM8 (IMM | SRC | L_8) 97 #define IMM16 (IMM | SRC | L_16) 98 #define IMM32 (IMM | SRC | L_32) 99 100 #define ABS8SRC (SRC | ABS | L_8 | ABS8MEM) 101 #define ABS8DST (DST | ABS | L_8 | ABS8MEM) 102 103 #define DISP8 (PCREL | L_8) 104 #define DISP16 (PCREL | L_16) 105 106 #define DISP8SRC (DISP | L_8 | SRC) 107 #define DISP16SRC (DISP | L_16 | SRC) 108 109 #define DISP8DST (DISP | L_8 | DST) 110 #define DISP16DST (DISP | L_16 | DST) 111 112 #define ABS16SRC (SRC | ABS | L_16) 113 #define ABS16DST (DST | ABS | L_16) 114 #define ABS24SRC (SRC | ABS | L_24) 115 #define ABS24DST (DST | ABS | L_24) 116 #define ABS32SRC (SRC | ABS | L_32) 117 #define ABS32DST (DST | ABS | L_32) 118 119 #define RDDEC (DST | DEC) 120 #define RSINC (SRC | INC) 121 #define RDINC (DST | INC) 122 123 #define RDIND (DST | IND) 124 #define RSIND (SRC | IND) 125 126 #define MS32 (SRC | L_32 | MACREG) 127 #define MD32 (DST | L_32 | MACREG) 125 128 126 129 #if 1 127 #define OR8 RS8 /* ??? OR as in One Register? */130 #define OR8 RS8 /* ??? OR as in One Register? */ 128 131 #define OR16 RS16 129 132 #define OR32 RS32 … … 152 155 struct arg args; 153 156 struct code data; 154 int length;155 int noperands;156 int idx;157 int size;158 157 }; 159 158 … … 161 160 162 161 #define BITOP(code, imm, name, op00, op01,op10,op11, op20,op21,op30)\ 163 { code, 1, 2, name, {{imm,RD8,E}}, {{op00, op01, imm, RD8, E, 0, 0, 0, 0}} , 0, 0, 0, 0},\164 { code, 1, 6, name, {{imm,RDIND,E}},{{op10, op11, B30|RDIND, 0, op00,op01, imm, 0, E}} , 0, 0, 0, 0},\165 { code, 1, 6, name, {{imm,ABS8DST,E}},{{op20, op21, ABS8DST, IGNORE, op00,op01, imm, 0,E}} , 0, 0, 0, 0}\166 ,{ code, 0, 6, name, {{imm,ABS16DST,E}},{{0x6,0xa,0x1,op30,ABS16DST,IGNORE,IGNORE,IGNORE, op00,op01, imm, 0,E}} , 0, 0, 0, 0},\167 { code, 0, 6, name, {{imm,ABS32DST,E}},{{0x6,0xa,0x3,op30,ABS32DST,IGNORE,IGNORE,IGNORE,IGNORE,IGNORE,IGNORE,IGNORE, op00,op01, imm, 0,E}} , 0, 0, 0, 0}162 { code, 1, 2, name, {{imm,RD8,E}}, {{op00, op01, imm, RD8, E, 0, 0, 0, 0}}},\ 163 { code, 1, 6, name, {{imm,RDIND,E}},{{op10, op11, B30|RDIND, 0, op00,op01, imm, 0, E}}},\ 164 { code, 1, 6, name, {{imm,ABS8DST,E}},{{op20, op21, ABS8DST, IGNORE, op00,op01, imm, 0,E}}}\ 165 ,{ code, 0, 6, name, {{imm,ABS16DST,E}},{{0x6,0xa,0x1,op30,ABS16DST,IGNORE,IGNORE,IGNORE, op00,op01, imm, 0,E}}},\ 166 { code, 0, 6, name, {{imm,ABS32DST,E}},{{0x6,0xa,0x3,op30,ABS32DST,IGNORE,IGNORE,IGNORE,IGNORE,IGNORE,IGNORE,IGNORE, op00,op01, imm, 0,E}}} 168 167 169 168 … … 173 172 174 173 #define WTWOP(code,name, op1, op2) \ 175 { code, 1, 2, name, {{RS16, RD16, E}}, {{ op1, op2, RS16, RD16, E, 0, 0, 0, 0}} , 0, 0, 0, 0}174 { code, 1, 2, name, {{RS16, RD16, E}}, {{ op1, op2, RS16, RD16, E, 0, 0, 0, 0}}} 176 175 177 176 #define BRANCH(code, name, op) \ 178 { code, 1, 4,name,{{DISP8,E,0}}, {{ 0x4, op, DISP8, IGNORE, E, 0, 0, 0, 0}} , 0, 0, 0, 0}, \179 { code, 0, 6,name,{{DISP16,E,0}}, {{ 0x5, 0x8, op, 0x0, DISP16, IGNORE, IGNORE, IGNORE, E,0}} , 0, 0, 0, 0}177 { code, 1, 4,name,{{DISP8,E,0}}, {{ 0x4, op, DISP8, IGNORE, E, 0, 0, 0, 0}}}, \ 178 { code, 0, 6,name,{{DISP16,E,0}}, {{ 0x5, 0x8, op, 0x0, DISP16, IGNORE, IGNORE, IGNORE, E,0}}} 180 179 181 180 #define SOP(code, x,name) \ … … 184 183 #define NEW_SOP(code, in,x,name) \ 185 184 {code, in, x, name 186 #define EOP ,0,0,0,0}185 #define EOP } 187 186 188 187 #define TWOOP(code, name, op1, op2,op3) \ 189 { code,1, 2,name, {{IMM8, RD8, E}}, {{ op1, RD8, IMM8, IGNORE, E, 0, 0, 0, 0}} , 0, 0, 0, 0},\190 { code, 1, 2,name, {{RS8, RD8, E}}, {{ op2, op3, RS8, RD8, E, 0, 0, 0, 0}} , 0, 0, 0, 0}188 { code,1, 2,name, {{IMM8, RD8, E}}, {{ op1, RD8, IMM8, IGNORE, E, 0, 0, 0, 0}}},\ 189 { code, 1, 2,name, {{RS8, RD8, E}}, {{ op2, op3, RS8, RD8, E, 0, 0, 0, 0}}} 191 190 192 191 #define UNOP(code,name, op1, op2) \ 193 { code, 1, 2, name, {{OR8, E, 0}}, {{ op1, op2, 0, OR8, E, 0, 0, 0, 0}} , 0, 0, 0, 0}192 { code, 1, 2, name, {{OR8, E, 0}}, {{ op1, op2, 0, OR8, E, 0, 0, 0, 0}}} 194 193 195 194 #define UNOP3(code, name, op1, op2, op3) \ 196 { O(code,SB), 1, 2, name, {{OR8, E, 0}}, {{op1, op2, op3+0, OR8, E, 0, 0, 0, 0}} , 0, 0, 0, 0}, \197 { O(code,SW), 0, 2, name, {{OR16, E, 0}}, {{op1, op2, op3+1, OR16, E, 0, 0, 0, 0}} , 0, 0, 0, 0}, \198 { O(code,SL), 0, 2, name, {{OR32, E, 0}}, {{op1, op2, op3+3, OR32|B30, E, 0, 0, 0, 0}} , 0, 0, 0, 0} \199 ,{ O(code,SB), 1, 2, name, {{IMM, OR8 | SRC_IN_DST, E}}, {{op1, op2, op3+4, OR8 | SRC_IN_DST, E, 0, 0, 0, 0}} , 0, 0, 0, 0}, \200 { O(code,SW), 0, 2, name, {{IMM, OR16 | SRC_IN_DST, E}}, {{op1, op2, op3+5, OR16 | SRC_IN_DST, E, 0, 0, 0, 0}} , 0, 0, 0, 0}, \201 { O(code,SL), 0, 2, name, {{IMM, OR32 | SRC_IN_DST, E}}, {{op1, op2, op3+7, OR32 | SRC_IN_DST|B30 , E, 0, 0, 0, 0}} , 0, 0, 0, 0}195 { O(code,SB), 1, 2, name, {{OR8, E, 0}}, {{op1, op2, op3+0, OR8, E, 0, 0, 0, 0}}}, \ 196 { O(code,SW), 0, 2, name, {{OR16, E, 0}}, {{op1, op2, op3+1, OR16, E, 0, 0, 0, 0}}}, \ 197 { O(code,SL), 0, 2, name, {{OR32, E, 0}}, {{op1, op2, op3+3, OR32|B30, E, 0, 0, 0, 0}}} \ 198 ,{ O(code,SB), 1, 2, name, {{IMM, OR8 | SRC_IN_DST, E}}, {{op1, op2, op3+4, OR8 | SRC_IN_DST, E, 0, 0, 0, 0}}}, \ 199 { O(code,SW), 0, 2, name, {{IMM, OR16 | SRC_IN_DST, E}}, {{op1, op2, op3+5, OR16 | SRC_IN_DST, E, 0, 0, 0, 0}}}, \ 200 { O(code,SL), 0, 2, name, {{IMM, OR32 | SRC_IN_DST, E}}, {{op1, op2, op3+7, OR32 | SRC_IN_DST|B30 , E, 0, 0, 0, 0}}} 202 201 203 202 … … 216 215 217 216 218 #define O(op, size) (op *4+size)217 #define O(op, size) (op * 4 + size) 219 218 220 219 #define O_RECOMPILE 0 … … 306 305 #define O_STMAC 87 307 306 #define O_LAST 88 307 /* Change made for System Call processing. */ 308 #define O_SYS_CREAT 100 309 #define O_SYS_OPEN 101 310 #define O_SYS_READ 102 311 #define O_SYS_WRITE 103 312 #define O_SYS_LSEEK 104 313 #define O_SYS_CLOSE 105 314 #define O_SYS_STAT 106 315 #define O_SYS_FSTAT 107 316 /* Space reserved for future file I/O system calls. */ 317 #define O_SYS_CMDLINE 120 318 /* End of System Call specific Changes. */ 308 319 #define SB 0 309 320 #define SW 1 … … 311 322 #define SN 3 312 323 313 314 324 /* FIXME: Lots of insns have "E, 0, 0, 0, 0" in the nibble code sequences. 315 325 Methinks the zeroes aren't necessary. Once confirmed, nuke 'em. */ 316 326 317 struct h8_opcode h8_opcodes[] =327 const struct h8_opcode h8_opcodes[] = 318 328 { 319 329 TWOOP(O(O_ADD,SB),"add.b", 0x8, 0x0,0x8), … … 334 344 NEW_SOP(O(O_AND,SL),0,2,"and.l") ,{{RS32,RD32,E }},{{0x0,0x1,0xF,0x0,0x6,0x6,B30|RS32,B30|RD32,E}} EOP, 335 345 336 NEW_SOP(O(O_ANDC,SB),1,2,"andc"), {{IMM8,CCR ,E}},{{ 0x0,0x6,IMM8,IGNORE,E,0,0,0,0}} EOP,337 NEW_SOP(O(O_ANDC,SB),1,2,"andc"), {{IMM8,EXR ,E}},{{ 0x0,0x1,0x4,0x1,0x0,0x6,IMM8,IGNORE,E,0,0,0,0}} EOP,346 NEW_SOP(O(O_ANDC,SB),1,2,"andc"), {{IMM8,CCR|DST,E}},{{ 0x0,0x6,IMM8,IGNORE,E,0,0,0,0}} EOP, 347 NEW_SOP(O(O_ANDC,SB),1,2,"andc"), {{IMM8,EXR|DST,E}},{{ 0x0,0x1,0x4,0x1,0x0,0x6,IMM8,IGNORE,E,0,0,0,0}} EOP, 338 348 339 349 BITOP(O(O_BAND,SB), IMM3|B30,"band",0x7,0x6,0x7,0xC,0x7,0xE,0x0), … … 392 402 NEW_SOP(O(O_DEC, SL),0,2,"dec.l") ,{{DBIT,RD32,E }},{{0x1,0xB,0x7|DBIT,RD32|B30,E}} EOP, 393 403 394 NEW_SOP(O(O_DIVU,SB),1, 6,"divxu.b"), {{RS8,RD16,E}}, {{0x5,0x1,RS8,RD16,E,0,0,0,0}}EOP,395 NEW_SOP(O(O_DIVU,SW),0,2 0,"divxu.w"),{{RS16,RD32,E}},{{0x5,0x3,RS16,B30|RD32,E}}EOP,404 NEW_SOP(O(O_DIVU,SB),1,13,"divxu.b"), {{RS8,RD16,E}}, {{0x5,0x1,RS8,RD16,E,0,0,0,0}}EOP, 405 NEW_SOP(O(O_DIVU,SW),0,21,"divxu.w"),{{RS16,RD32,E}},{{0x5,0x3,RS16,B30|RD32,E}}EOP, 396 406 397 NEW_SOP(O(O_DIVS,SB),0, 20,"divxs.b") ,{{RS8,RD16,E }},{{0x0,0x1,0xD,0x0,0x5,0x1,RS8,RD16,E}} EOP,398 NEW_SOP(O(O_DIVS,SW),0, 02,"divxs.w") ,{{RS16,RD32,E }},{{0x0,0x1,0xD,0x0,0x5,0x3,RS16,B30|RD32,E}} EOP,399 400 NEW_SOP(O(O_EEPMOV,SB),1, 50,"eepmov.b"),{{E,0,0}},{{0x7,0xB,0x5,0xC,0x5,0x9,0x8,0xF,E}}EOP,401 NEW_SOP(O(O_EEPMOV,SW),0, 50,"eepmov.w"),{{E,0,0}},{{0x7,0xB,0xD,0x4,0x5,0x9,0x8,0xF,E}} EOP,407 NEW_SOP(O(O_DIVS,SB),0,13,"divxs.b") ,{{RS8,RD16,E }},{{0x0,0x1,0xD,0x0,0x5,0x1,RS8,RD16,E}} EOP, 408 NEW_SOP(O(O_DIVS,SW),0,21,"divxs.w") ,{{RS16,RD32,E }},{{0x0,0x1,0xD,0x0,0x5,0x3,RS16,B30|RD32,E}} EOP, 409 410 NEW_SOP(O(O_EEPMOV,SB),1,4,"eepmov.b"),{{E,0,0}},{{0x7,0xB,0x5,0xC,0x5,0x9,0x8,0xF,E}}EOP, 411 NEW_SOP(O(O_EEPMOV,SW),0,4,"eepmov.w"),{{E,0,0}},{{0x7,0xB,0xD,0x4,0x5,0x9,0x8,0xF,E}} EOP, 402 412 403 413 NEW_SOP(O(O_EXTS,SW),0,2,"exts.w"),{{OR16,E,0}},{{0x1,0x7,0xD,OR16,E }}EOP, … … 420 430 SOP(O(O_JSR,SB),8,"jsr"),{{SRC|MEMIND,E,0}},{{0x5,0xF,SRC|MEMIND,IGNORE,E,0,0,0,0}}EOP, 421 431 422 NEW_SOP(O(O_LDC,SB),1,2,"ldc"),{{IMM8,CCR ,E}}, {{ 0x0,0x7,IMM8,IGNORE,E,0,0,0,0}}EOP,423 NEW_SOP(O(O_LDC,SB),1,2,"ldc"),{{OR8,CCR ,E}}, {{ 0x0,0x3,0x0,OR8,E,0,0,0,0}}EOP,424 NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{ABS16SRC,CCR ,E}}, {{PREFIXLDC,0x6,0xB,0x0,0x0,ABS16SRC,IGNORE,IGNORE,IGNORE,E}}EOP,425 NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{ABS32SRC,CCR ,E}}, {{PREFIXLDC,0x6,0xB,0x2,0x0,SRC|ABS32LIST,E}}EOP,426 NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{DISP|SRC|L_16,CCR ,E}},{{PREFIXLDC,0x6,0xF,B30|DISPREG,0,DISP|L_16,IGNORE,IGNORE,IGNORE,E}}EOP,427 NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{DISP|SRC|L_32,CCR ,E}},{{PREFIXLDC,0x7,0x8,B30|DISPREG,0,0x6,0xB,0x2,0x0,SRC|DISP32LIST,E}}EOP,428 NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{RSINC,CCR ,E}}, {{PREFIXLDC,0x6,0xD,B30|RSINC,0x0,E}}EOP,429 NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{RSIND,CCR ,E}}, {{PREFIXLDC,0x6,0x9,B30|RDIND,0x0,E}} EOP,430 431 NEW_SOP(O(O_LDC,SB),1,2,"ldc"),{{IMM8,EXR ,E}}, {{ 0x0,0x1,0x4,0x1,0x0,0x7,IMM8,IGNORE,E,0,0,0,0}}EOP,432 NEW_SOP(O(O_LDC,SB),1,2,"ldc"),{{OR8,EXR ,E}}, {{ 0x0,0x3,0x1,OR8,E,0,0,0,0}}EOP,433 NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{ABS16SRC,EXR ,E}}, {{ 0x0,0x1,0x4,0x1,0x6,0xb,0x0,0x0,ABS16SRC,IGNORE,IGNORE,IGNORE,E}}EOP,434 NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{ABS32SRC,EXR ,E}}, {{ 0x0,0x1,0x4,0x1,0x6,0xb,0x2,0x0,SRC|ABS32LIST,E}}EOP,435 NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{DISP|SRC|L_16,EXR ,E}},{{ 0x0,0x1,0x4,0x1,0x6,0xf,B30|DISPREG,0,DISP|L_16,IGNORE,IGNORE,IGNORE,E}}EOP,436 NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{DISP|SRC|L_32,EXR ,E}},{{ 0x0,0x1,0x4,0x1,0x7,0x8,B30|DISPREG,0,0x6,0xB,0x2,0x0,SRC|DISP32LIST,E}}EOP,437 NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{RSINC,EXR ,E}}, {{ 0x0,0x1,0x4,0x1,0x6,0xd,B30|RSINC,0x0,E}}EOP,438 NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{RSIND,EXR ,E}}, {{ 0x0,0x1,0x4,0x1,0x6,0x9,B30|RDIND,0x0,E}} EOP,432 NEW_SOP(O(O_LDC,SB),1,2,"ldc"),{{IMM8,CCR|DST,E}}, {{ 0x0,0x7,IMM8,IGNORE,E,0,0,0,0}}EOP, 433 NEW_SOP(O(O_LDC,SB),1,2,"ldc"),{{OR8,CCR|DST,E}}, {{ 0x0,0x3,0x0,OR8,E,0,0,0,0}}EOP, 434 NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{ABS16SRC,CCR|DST,E}}, {{PREFIXLDC,0x6,0xB,0x0,0x0,ABS16SRC,IGNORE,IGNORE,IGNORE,E}}EOP, 435 NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{ABS32SRC,CCR|DST,E}}, {{PREFIXLDC,0x6,0xB,0x2,0x0,SRC|ABS32LIST,E}}EOP, 436 NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{DISP|SRC|L_16,CCR|DST,E}},{{PREFIXLDC,0x6,0xF,B30|DISPREG,0,DISP|L_16,IGNORE,IGNORE,IGNORE,E}}EOP, 437 NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{DISP|SRC|L_32,CCR|DST,E}},{{PREFIXLDC,0x7,0x8,B30|DISPREG,0,0x6,0xB,0x2,0x0,SRC|DISP32LIST,E}}EOP, 438 NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{RSINC,CCR|DST,E}}, {{PREFIXLDC,0x6,0xD,B30|RSINC,0x0,E}}EOP, 439 NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{RSIND,CCR|DST,E}}, {{PREFIXLDC,0x6,0x9,B30|RSIND,0x0,E}} EOP, 440 441 NEW_SOP(O(O_LDC,SB),1,2,"ldc"),{{IMM8,EXR|DST,E}}, {{ 0x0,0x1,0x4,0x1,0x0,0x7,IMM8,IGNORE,E,0,0,0,0}}EOP, 442 NEW_SOP(O(O_LDC,SB),1,2,"ldc"),{{OR8,EXR|DST,E}}, {{ 0x0,0x3,0x1,OR8,E,0,0,0,0}}EOP, 443 NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{ABS16SRC,EXR|DST,E}}, {{ 0x0,0x1,0x4,0x1,0x6,0xb,0x0,0x0,ABS16SRC,IGNORE,IGNORE,IGNORE,E}}EOP, 444 NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{ABS32SRC,EXR|DST,E}}, {{ 0x0,0x1,0x4,0x1,0x6,0xb,0x2,0x0,SRC|ABS32LIST,E}}EOP, 445 NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{DISP|SRC|L_16,EXR|DST,E}},{{ 0x0,0x1,0x4,0x1,0x6,0xf,B30|DISPREG,0,DISP|L_16,IGNORE,IGNORE,IGNORE,E}}EOP, 446 NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{DISP|SRC|L_32,EXR|DST,E}},{{ 0x0,0x1,0x4,0x1,0x7,0x8,B30|DISPREG,0,0x6,0xB,0x2,0x0,SRC|DISP32LIST,E}}EOP, 447 NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{RSINC,EXR|DST,E}}, {{ 0x0,0x1,0x4,0x1,0x6,0xd,B30|RSINC,0x0,E}}EOP, 448 NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{RSIND,EXR|DST,E}}, {{ 0x0,0x1,0x4,0x1,0x6,0x9,B30|RSIND,0x0,E}} EOP, 439 449 440 450 SOP(O(O_MOV_TO_REG,SB),4,"mov.b"),{{ABS|SRC|L_16|MEMRELAX,RD8,E}}, {{ 0x6,0xA,0x0,RD8,SRC|ABS|MEMRELAX|A16LIST,E}}EOP, … … 521 531 NEW_SOP(O(O_OR,SL),0,2,"or.l"),{{RS32,RD32,E }},{{0x0,0x1,0xF,0x0,0x6,0x4,B30|RS32,B30|RD32,E}} EOP, 522 532 523 NEW_SOP(O(O_ORC,SB),1,2,"orc"),{{IMM8,CCR ,E}},{{ 0x0,0x4,IMM8,IGNORE,E,0,0,0,0}}EOP,524 NEW_SOP(O(O_ORC,SB),1,2,"orc"),{{IMM8,EXR ,E}},{{ 0x0,0x1,0x4,0x1,0x0,0x4,IMM8,IGNORE,E,0,0,0,0}}EOP,533 NEW_SOP(O(O_ORC,SB),1,2,"orc"),{{IMM8,CCR|DST,E}},{{ 0x0,0x4,IMM8,IGNORE,E,0,0,0,0}}EOP, 534 NEW_SOP(O(O_ORC,SB),1,2,"orc"),{{IMM8,EXR|DST,E}},{{ 0x0,0x1,0x4,0x1,0x0,0x4,IMM8,IGNORE,E,0,0,0,0}}EOP, 525 535 526 536 NEW_SOP(O(O_MOV_TO_REG,SW),1,6,"pop.w"),{{OR16,E,0}},{{ 0x6,0xD,0x7,OR16,E,0,0,0,0}}EOP, … … 545 555 SOP(O(O_SLEEP,SN),2,"sleep"),{{E,0,0}},{{ 0x0,0x1,0x8,0x0,E,0,0,0,0}} EOP, 546 556 547 NEW_SOP(O(O_STC,SB), 1,2,"stc"),{{CCR ,RD8,E}},{{ 0x0,0x2,0x0,RD8,E,0,0,0,0}} EOP,548 549 NEW_SOP(O(O_STC,SB),0,2,"stc"),{{CCR ,RSIND,E}}, {{PREFIXLDC,0x6,0x9,B31|RDIND,0x0,E}} EOP,550 NEW_SOP(O(O_STC,SB),0,2,"stc"),{{CCR ,DISP|DST|L_16,E}},{{PREFIXLDC,0x6,0xF,B31|DISPREG,0,DST|DISP|L_16,IGNORE,IGNORE,IGNORE,E}}EOP,551 NEW_SOP(O(O_STC,SB),0,2,"stc"),{{CCR ,DISP|DST|L_32,E}},{{PREFIXLDC,0x7,0x8,B30|DISPREG,0,0x6,0xB,0xA,0x0,DST|DISP32LIST,E}}EOP,552 NEW_SOP(O(O_STC,SB),0,2,"stc"),{{CCR ,RDDEC,E}}, {{PREFIXLDC,0x6,0xD,B31|RDDEC,0x0,E}}EOP,553 554 NEW_SOP(O(O_STC,SB),0,2,"stc"),{{CCR ,ABS16SRC,E}}, {{PREFIXLDC,0x6,0xB,0x8,0x0,ABS16DST,IGNORE,IGNORE,IGNORE,E}}EOP,555 NEW_SOP(O(O_STC,SB),0,2,"stc"),{{CCR ,ABS32SRC,E}}, {{PREFIXLDC,0x6,0xB,0xA,0x0,DST|ABS32LIST,E}}EOP,556 557 NEW_SOP(O(O_STC,SB), 1,2,"stc"),{{EXR ,RD8,E}},{{ 0x0,0x2,0x1,RD8,E,0,0,0,0}} EOP,558 559 NEW_SOP(O(O_STC,SB),0,2,"stc"),{{EXR ,RSIND,E}}, {{0x0,0x1,0x4,0x1,0x6,0x9,B31|RDIND,0x0,E}} EOP,560 NEW_SOP(O(O_STC,SB),0,2,"stc"),{{EXR ,DISP|DST|L_16,E}},{{0x0,0x1,0x4,0x1,0x6,0xF,B31|DISPREG,0,DST|DISP|L_16,IGNORE,IGNORE,IGNORE,E}}EOP,561 NEW_SOP(O(O_STC,SB),0,2,"stc"),{{EXR ,DISP|DST|L_32,E}},{{0x0,0x1,0x4,0x1,0x7,0x8,B30|DISPREG,0,0x6,0xB,0xA,0x0,DST|DISP32LIST,E}}EOP,562 NEW_SOP(O(O_STC,SB),0,2,"stc"),{{EXR ,RDDEC,E}}, {{0x0,0x1,0x4,0x1,0x6,0xD,B31|RDDEC,0x0,E}}EOP,563 564 NEW_SOP(O(O_STC,SB),0,2,"stc"),{{EXR ,ABS16SRC,E}}, {{0x0,0x1,0x4,0x1,0x6,0xB,0x8,0x0,ABS16DST,IGNORE,IGNORE,IGNORE,E}}EOP,565 NEW_SOP(O(O_STC,SB),0,2,"stc"),{{EXR ,ABS32SRC,E}}, {{0x0,0x1,0x4,0x1,0x6,0xB,0xA,0x0,DST|ABS32LIST,E}}EOP,557 NEW_SOP(O(O_STC,SB), 1,2,"stc"),{{CCR|SRC,RD8,E}},{{ 0x0,0x2,0x0,RD8,E,0,0,0,0}} EOP, 558 559 NEW_SOP(O(O_STC,SB),0,2,"stc"),{{CCR|SRC,RDIND,E}}, {{PREFIXLDC,0x6,0x9,B31|RDIND,0x0,E}} EOP, 560 NEW_SOP(O(O_STC,SB),0,2,"stc"),{{CCR|SRC,DISP|DST|L_16,E}},{{PREFIXLDC,0x6,0xF,B31|DISPREG,0,DST|DISP|L_16,IGNORE,IGNORE,IGNORE,E}}EOP, 561 NEW_SOP(O(O_STC,SB),0,2,"stc"),{{CCR|SRC,DISP|DST|L_32,E}},{{PREFIXLDC,0x7,0x8,B30|DISPREG,0,0x6,0xB,0xA,0x0,DST|DISP32LIST,E}}EOP, 562 NEW_SOP(O(O_STC,SB),0,2,"stc"),{{CCR|SRC,RDDEC,E}}, {{PREFIXLDC,0x6,0xD,B31|RDDEC,0x0,E}}EOP, 563 564 NEW_SOP(O(O_STC,SB),0,2,"stc"),{{CCR|SRC,ABS16DST,E}}, {{PREFIXLDC,0x6,0xB,0x8,0x0,ABS16DST,IGNORE,IGNORE,IGNORE,E}}EOP, 565 NEW_SOP(O(O_STC,SB),0,2,"stc"),{{CCR|SRC,ABS32DST,E}}, {{PREFIXLDC,0x6,0xB,0xA,0x0,DST|ABS32LIST,E}}EOP, 566 567 NEW_SOP(O(O_STC,SB), 1,2,"stc"),{{EXR|SRC,RD8,E}},{{ 0x0,0x2,0x1,RD8,E,0,0,0,0}} EOP, 568 569 NEW_SOP(O(O_STC,SB),0,2,"stc"),{{EXR|SRC,RDIND,E}}, {{0x0,0x1,0x4,0x1,0x6,0x9,B31|RDIND,0x0,E}} EOP, 570 NEW_SOP(O(O_STC,SB),0,2,"stc"),{{EXR|SRC,DISP|DST|L_16,E}},{{0x0,0x1,0x4,0x1,0x6,0xF,B31|DISPREG,0,DST|DISP|L_16,IGNORE,IGNORE,IGNORE,E}}EOP, 571 NEW_SOP(O(O_STC,SB),0,2,"stc"),{{EXR|SRC,DISP|DST|L_32,E}},{{0x0,0x1,0x4,0x1,0x7,0x8,B30|DISPREG,0,0x6,0xB,0xA,0x0,DST|DISP32LIST,E}}EOP, 572 NEW_SOP(O(O_STC,SB),0,2,"stc"),{{EXR|SRC,RDDEC,E}}, {{0x0,0x1,0x4,0x1,0x6,0xD,B31|RDDEC,0x0,E}}EOP, 573 574 NEW_SOP(O(O_STC,SB),0,2,"stc"),{{EXR|SRC,ABS16DST,E}}, {{0x0,0x1,0x4,0x1,0x6,0xB,0x8,0x0,ABS16DST,IGNORE,IGNORE,IGNORE,E}}EOP, 575 NEW_SOP(O(O_STC,SB),0,2,"stc"),{{EXR|SRC,ABS32DST,E}}, {{0x0,0x1,0x4,0x1,0x6,0xB,0xA,0x0,DST|ABS32LIST,E}}EOP, 566 576 567 577 SOP(O(O_SUB,SB),2,"sub.b"),{{RS8,RD8,E}},{{ 0x1,0x8,RS8,RD8,E,0,0,0,0}}EOP, … … 586 596 NEW_SOP(O(O_XOR,SL),0,2,"xor.l") ,{{RS32,RD32,E }},{{0x0,0x1,0xF,0x0,0x6,0x5,B30|RS32,B30|RD32,E}} EOP, 587 597 588 SOP(O(O_XORC,SB),2,"xorc"),{{IMM8,CCR ,E}},{{ 0x0,0x5,IMM8,IGNORE,E,0,0,0,0}}EOP,589 SOP(O(O_XORC,SB),2,"xorc"),{{IMM8,EXR ,E}},{{ 0x0,0x1,0x4,0x1,0x0,0x5,IMM8,IGNORE,E,0,0,0,0}}EOP,598 SOP(O(O_XORC,SB),2,"xorc"),{{IMM8,CCR|DST,E}},{{ 0x0,0x5,IMM8,IGNORE,E,0,0,0,0}}EOP, 599 SOP(O(O_XORC,SB),2,"xorc"),{{IMM8,EXR|DST,E}},{{ 0x0,0x1,0x4,0x1,0x0,0x5,IMM8,IGNORE,E,0,0,0,0}}EOP, 590 600 591 601 NEW_SOP(O(O_CLRMAC,SN),1,2,"clrmac"),{{E, 0, 0}},{{0x0,0x1,0xa,0x0,E}} EOP, 592 602 NEW_SOP(O(O_MAC,SL),1,2,"mac"),{{RSINC,RDINC,E}},{{0x0,0x1,0x6,0x0,0x6,0xd,B30|RSINC,B30|RDINC,E}} EOP, 593 NEW_SOP(O(O_LDMAC,SL),1,2,"ldmac"),{{RS32,M ACREG,E}},{{0x0,0x3,MACREG,RS32,E}} EOP,594 NEW_SOP(O(O_STMAC,SL),1,2,"stmac"),{{M ACREG,RD32,E}},{{0x0,0x2,MACREG,RD32,E}} EOP,603 NEW_SOP(O(O_LDMAC,SL),1,2,"ldmac"),{{RS32,MD32,E}},{{0x0,0x3,MD32,RS32,E}} EOP, 604 NEW_SOP(O(O_STMAC,SL),1,2,"stmac"),{{MS32,RD32,E}},{{0x0,0x2,MS32,RD32,E}} EOP, 595 605 NEW_SOP(O(O_LDM,SL),0,6,"ldm.l"),{{RSINC, RS32, E}},{{ 0x0,0x1,IGNORE,0x0,0x6,0xD,0x7,IGNORE,E}}EOP, 596 606 NEW_SOP(O(O_STM,SL),0,6,"stm.l"),{{RS32, RDDEC, E}},{{0x0,0x1,IGNORE,0x0,0x6,0xD,0xF,IGNORE,E}}EOP, 597 { 0}607 {0, 0, 0, NULL, {{0,0,0}}, {{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}}} 598 608 }; 599 609 #else 600 extern struct h8_opcode h8_opcodes[];610 extern const struct h8_opcode h8_opcodes[]; 601 611 #endif -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/opcode/hppa.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* Table of opcodes for the PA-RISC. 2 2 Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 3 2001 3 2001, 2002 4 4 Free Software Foundation, Inc. 5 5 … … 171 171 172 172 cx indexed load completer. 173 cX indexed load completer. Like cx, but emits a space after 174 in disassembler. 173 175 cm short load and store completer. 176 cM short load and store completer. Like cm, but emits a space 177 after in disassembler. 174 178 cq long load and store completer (like cm, but inserted into a 175 179 different location in the target instruction). 176 180 cs store bytes short completer. 181 cA store bytes short completer. Like cs, but emits a space 182 after in disassembler. 177 183 ce long load/store completer for LDW/STW with a different encoding than the 178 184 others … … 266 272 267 273 274 #if 0 268 275 /* List of characters not to put a space after. Note that 269 276 "," is included, as the "spopN" operations use literal 270 277 commas in their completer sections. */ 271 278 static const char *const completer_chars = ",CcY<>?!@+&U~FfGHINnOoZMadu|/=0123%e$m}"; 279 #endif 272 280 273 281 /* The order of the opcodes in this table is significant: … … 285 293 { "ldi", 0x34000000, 0xffe00000, "l,x", pa20w, 0},/* ldo val(r0),r */ 286 294 { "ldi", 0x34000000, 0xffe0c000, "j,x", pa10, 0},/* ldo val(r0),r */ 287 288 { "call", 0xe800f000, 0xfc1ffffd, "n(b)", pa20, FLAG_STRICT},289 { "call", 0xe800a000, 0xffe0e000, "nW", pa10, FLAG_STRICT},290 { "ret", 0xe840d000, 0xfffffffd, "n", pa20, FLAG_STRICT},291 295 292 296 { "cmpib", 0xec000000, 0xfc000000, "?Qn5,b,w", pa20, FLAG_STRICT}, … … 302 306 assembler. */ 303 307 { "comb", 0x88000000, 0xfc000000, "?nnx,b,w", pa10, 0}, /* comb{tf} */ 304 { "addb", 0xa0000000, 0xf4000000, "?Wnx,b,w", pa20 , FLAG_STRICT},308 { "addb", 0xa0000000, 0xf4000000, "?Wnx,b,w", pa20w, FLAG_STRICT}, 305 309 { "addb", 0xa0000000, 0xfc000000, "?@nx,b,w", pa10, 0}, /* addb{tf} */ 306 310 /* This entry is for the disassembler only. It will never be used by 307 311 assembler. */ 308 312 { "addb", 0xa8000000, 0xfc000000, "?@nx,b,w", pa10, 0}, 309 { "addib", 0xa4000000, 0xf4000000, "?Wn5,b,w", pa20 , FLAG_STRICT},313 { "addib", 0xa4000000, 0xf4000000, "?Wn5,b,w", pa20w, FLAG_STRICT}, 310 314 { "addib", 0xa4000000, 0xfc000000, "?@n5,b,w", pa10, 0}, /* addib{tf}*/ 311 315 /* This entry is for the disassembler only. It will never be used by … … 328 332 { "ldw", 0x0c000080, 0xfc0013c0, "cxccx(s,b),t", pa10, FLAG_STRICT}, 329 333 { "ldw", 0x0c000080, 0xfc0013c0, "cxccx(b),t", pa10, FLAG_STRICT}, 334 { "ldw", 0x0c001080, 0xfc0013c0, "cmcc5(s,b),t", pa10, FLAG_STRICT}, 335 { "ldw", 0x0c001080, 0xfc0013c0, "cmcc5(b),t", pa10, FLAG_STRICT}, 330 336 { "ldw", 0x0c0010a0, 0xfc1f33e0, "cocc@(s,b),t", pa20, FLAG_STRICT}, 331 337 { "ldw", 0x0c0010a0, 0xfc1f33e0, "cocc@(b),t", pa20, FLAG_STRICT}, 332 { "ldw", 0x0c001080, 0xfc0013c0, "cmcc5(s,b),t", pa10, FLAG_STRICT},333 { "ldw", 0x0c001080, 0xfc0013c0, "cmcc5(b),t", pa10, FLAG_STRICT},334 338 { "ldw", 0x4c000000, 0xfc000000, "ce<(b),x", pa20w, FLAG_STRICT}, 335 339 { "ldw", 0x4c000000, 0xfc000000, "ceJ(s,b),x", pa10, FLAG_STRICT}, … … 343 347 { "ldh", 0x0c000040, 0xfc0013c0, "cxccx(s,b),t", pa10, FLAG_STRICT}, 344 348 { "ldh", 0x0c000040, 0xfc0013c0, "cxccx(b),t", pa10, FLAG_STRICT}, 349 { "ldh", 0x0c001040, 0xfc0013c0, "cmcc5(s,b),t", pa10, FLAG_STRICT}, 350 { "ldh", 0x0c001040, 0xfc0013c0, "cmcc5(b),t", pa10, FLAG_STRICT}, 345 351 { "ldh", 0x0c001060, 0xfc1f33e0, "cocc@(s,b),t", pa20, FLAG_STRICT}, 346 352 { "ldh", 0x0c001060, 0xfc1f33e0, "cocc@(b),t", pa20, FLAG_STRICT}, 347 { "ldh", 0x0c001040, 0xfc0013c0, "cmcc5(s,b),t", pa10, FLAG_STRICT},348 { "ldh", 0x0c001040, 0xfc0013c0, "cmcc5(b),t", pa10, FLAG_STRICT},349 353 { "ldh", 0x44000000, 0xfc000000, "l(b),x", pa20w, FLAG_STRICT}, 350 354 { "ldh", 0x44000000, 0xfc000000, "j(s,b),x", pa10, 0}, … … 352 356 { "ldb", 0x0c000000, 0xfc0013c0, "cxccx(s,b),t", pa10, FLAG_STRICT}, 353 357 { "ldb", 0x0c000000, 0xfc0013c0, "cxccx(b),t", pa10, FLAG_STRICT}, 358 { "ldb", 0x0c001000, 0xfc0013c0, "cmcc5(s,b),t", pa10, FLAG_STRICT}, 359 { "ldb", 0x0c001000, 0xfc0013c0, "cmcc5(b),t", pa10, FLAG_STRICT}, 354 360 { "ldb", 0x0c001020, 0xfc1f33e0, "cocc@(s,b),t", pa20, FLAG_STRICT}, 355 361 { "ldb", 0x0c001020, 0xfc1f33e0, "cocc@(b),t", pa20, FLAG_STRICT}, 356 { "ldb", 0x0c001000, 0xfc0013c0, "cmcc5(s,b),t", pa10, FLAG_STRICT},357 { "ldb", 0x0c001000, 0xfc0013c0, "cmcc5(b),t", pa10, FLAG_STRICT},358 362 { "ldb", 0x40000000, 0xfc000000, "l(b),x", pa20w, FLAG_STRICT}, 359 363 { "ldb", 0x40000000, 0xfc000000, "j(s,b),x", pa10, 0}, … … 365 369 { "std", 0x70000000, 0xfc000002, "cqx,&(b)", pa20w, FLAG_STRICT}, 366 370 { "std", 0x70000000, 0xfc000002, "cqx,#(b)", pa20, FLAG_STRICT}, 371 { "stw", 0x0c001280, 0xfc0013c0, "cmcCx,V(s,b)", pa10, FLAG_STRICT}, 372 { "stw", 0x0c001280, 0xfc0013c0, "cmcCx,V(b)", pa10, FLAG_STRICT}, 367 373 { "stw", 0x0c0012a0, 0xfc0013ff, "cocCx,@(s,b)", pa20, FLAG_STRICT}, 368 374 { "stw", 0x0c0012a0, 0xfc0013ff, "cocCx,@(b)", pa20, FLAG_STRICT}, 369 { "stw", 0x0c001280, 0xfc0013c0, "cmcCx,V(s,b)", pa10, FLAG_STRICT},370 { "stw", 0x0c001280, 0xfc0013c0, "cmcCx,V(b)", pa10, FLAG_STRICT},371 375 { "stw", 0x6c000000, 0xfc000000, "cex,<(b)", pa20w, FLAG_STRICT}, 372 376 { "stw", 0x6c000000, 0xfc000000, "cex,J(s,b)", pa10, FLAG_STRICT}, … … 378 382 { "stw", 0x68000000, 0xfc000000, "x,j(s,b)", pa10, 0}, 379 383 { "stw", 0x68000000, 0xfc000000, "x,j(b)", pa10, 0}, 384 { "sth", 0x0c001240, 0xfc0013c0, "cmcCx,V(s,b)", pa10, FLAG_STRICT}, 385 { "sth", 0x0c001240, 0xfc0013c0, "cmcCx,V(b)", pa10, FLAG_STRICT}, 380 386 { "sth", 0x0c001260, 0xfc0033ff, "cocCx,@(s,b)", pa20, FLAG_STRICT}, 381 387 { "sth", 0x0c001260, 0xfc0033ff, "cocCx,@(b)", pa20, FLAG_STRICT}, 382 { "sth", 0x0c001240, 0xfc0013c0, "cmcCx,V(s,b)", pa10, FLAG_STRICT},383 { "sth", 0x0c001240, 0xfc0013c0, "cmcCx,V(b)", pa10, FLAG_STRICT},384 388 { "sth", 0x64000000, 0xfc000000, "x,l(b)", pa20w, FLAG_STRICT}, 385 389 { "sth", 0x64000000, 0xfc000000, "x,j(s,b)", pa10, 0}, 386 390 { "sth", 0x64000000, 0xfc000000, "x,j(b)", pa10, 0}, 391 { "stb", 0x0c001200, 0xfc0013c0, "cmcCx,V(s,b)", pa10, FLAG_STRICT}, 392 { "stb", 0x0c001200, 0xfc0013c0, "cmcCx,V(b)", pa10, FLAG_STRICT}, 387 393 { "stb", 0x0c001220, 0xfc0033ff, "cocCx,@(s,b)", pa20, FLAG_STRICT}, 388 394 { "stb", 0x0c001220, 0xfc0033ff, "cocCx,@(b)", pa20, FLAG_STRICT}, 389 { "stb", 0x0c001200, 0xfc0013c0, "cmcCx,V(s,b)", pa10, FLAG_STRICT},390 { "stb", 0x0c001200, 0xfc0013c0, "cmcCx,V(b)", pa10, FLAG_STRICT},391 395 { "stb", 0x60000000, 0xfc000000, "x,l(b)", pa20w, FLAG_STRICT}, 392 396 { "stb", 0x60000000, 0xfc000000, "x,j(s,b)", pa10, 0}, … … 396 400 { "stwm", 0x6c000000, 0xfc000000, "x,j(s,b)", pa10, 0}, 397 401 { "stwm", 0x6c000000, 0xfc000000, "x,j(b)", pa10, 0}, 398 { "ldwx", 0x0c000080, 0xfc001fc0, "c xx(s,b),t", pa10, 0},399 { "ldwx", 0x0c000080, 0xfc001fc0, "c xx(b),t", pa10, 0},400 { "ldhx", 0x0c000040, 0xfc001fc0, "c xx(s,b),t", pa10, 0},401 { "ldhx", 0x0c000040, 0xfc001fc0, "c xx(b),t", pa10, 0},402 { "ldbx", 0x0c000000, 0xfc001fc0, "c xx(s,b),t", pa10, 0},403 { "ldbx", 0x0c000000, 0xfc001fc0, "c xx(b),t", pa10, 0},402 { "ldwx", 0x0c000080, 0xfc001fc0, "cXx(s,b),t", pa10, 0}, 403 { "ldwx", 0x0c000080, 0xfc001fc0, "cXx(b),t", pa10, 0}, 404 { "ldhx", 0x0c000040, 0xfc001fc0, "cXx(s,b),t", pa10, 0}, 405 { "ldhx", 0x0c000040, 0xfc001fc0, "cXx(b),t", pa10, 0}, 406 { "ldbx", 0x0c000000, 0xfc001fc0, "cXx(s,b),t", pa10, 0}, 407 { "ldbx", 0x0c000000, 0xfc001fc0, "cXx(b),t", pa10, 0}, 404 408 { "ldwa", 0x0c000180, 0xfc00d3c0, "cxccx(b),t", pa10, FLAG_STRICT}, 405 409 { "ldwa", 0x0c001180, 0xfc00d3c0, "cmcc5(b),t", pa10, FLAG_STRICT}, 410 { "ldwa", 0x0c0011a0, 0xfc1ff3e0, "cocc@(b),t", pa20, FLAG_STRICT}, 406 411 { "ldcw", 0x0c0001c0, 0xfc0013c0, "cxcdx(s,b),t", pa10, FLAG_STRICT}, 407 412 { "ldcw", 0x0c0001c0, 0xfc0013c0, "cxcdx(b),t", pa10, FLAG_STRICT}, 408 413 { "ldcw", 0x0c0011c0, 0xfc0013c0, "cmcd5(s,b),t", pa10, FLAG_STRICT}, 409 414 { "ldcw", 0x0c0011c0, 0xfc0013c0, "cmcd5(b),t", pa10, FLAG_STRICT}, 415 { "stwa", 0x0c001380, 0xfc00d3c0, "cmcCx,V(b)", pa10, FLAG_STRICT}, 410 416 { "stwa", 0x0c0013a0, 0xfc00d3ff, "cocCx,@(b)", pa20, FLAG_STRICT}, 411 { "stwa", 0x0c001380, 0xfc00d3c0, "cmcCx,V(b)", pa10, FLAG_STRICT},412 417 { "stby", 0x0c001300, 0xfc0013c0, "cscCx,V(s,b)", pa10, FLAG_STRICT}, 413 418 { "stby", 0x0c001300, 0xfc0013c0, "cscCx,V(b)", pa10, FLAG_STRICT}, 414 419 { "ldda", 0x0c000100, 0xfc00d3c0, "cxccx(b),t", pa20, FLAG_STRICT}, 415 420 { "ldda", 0x0c001100, 0xfc00d3c0, "cmcc5(b),t", pa20, FLAG_STRICT}, 421 { "ldda", 0x0c001120, 0xfc1ff3e0, "cocc@(b),t", pa20, FLAG_STRICT}, 416 422 { "ldcd", 0x0c000140, 0xfc0013c0, "cxcdx(s,b),t", pa20, FLAG_STRICT}, 417 423 { "ldcd", 0x0c000140, 0xfc0013c0, "cxcdx(b),t", pa20, FLAG_STRICT}, … … 422 428 { "stda", 0x0c0013c0, 0xfc0013c0, "cmcCx,V(s,b)", pa20, FLAG_STRICT}, 423 429 { "stda", 0x0c0013c0, 0xfc0013c0, "cmcCx,V(b)", pa20, FLAG_STRICT}, 424 { "ldwax", 0x0c000180, 0xfc00dfc0, "c xx(b),t", pa10, 0},425 { "ldcwx", 0x0c0001c0, 0xfc001fc0, "c xx(s,b),t", pa10, 0},426 { "ldcwx", 0x0c0001c0, 0xfc001fc0, "c xx(b),t", pa10, 0},427 { "ldws", 0x0c001080, 0xfc001fc0, "c m5(s,b),t", pa10, 0},428 { "ldws", 0x0c001080, 0xfc001fc0, "c m5(b),t", pa10, 0},429 { "ldhs", 0x0c001040, 0xfc001fc0, "c m5(s,b),t", pa10, 0},430 { "ldhs", 0x0c001040, 0xfc001fc0, "c m5(b),t", pa10, 0},431 { "ldbs", 0x0c001000, 0xfc001fc0, "c m5(s,b),t", pa10, 0},432 { "ldbs", 0x0c001000, 0xfc001fc0, "c m5(b),t", pa10, 0},433 { "ldwas", 0x0c001180, 0xfc00dfc0, "c m5(b),t", pa10, 0},434 { "ldcws", 0x0c0011c0, 0xfc001fc0, "c m5(s,b),t", pa10, 0},435 { "ldcws", 0x0c0011c0, 0xfc001fc0, "c m5(b),t", pa10, 0},436 { "stws", 0x0c001280, 0xfc001fc0, "c mx,V(s,b)", pa10, 0},437 { "stws", 0x0c001280, 0xfc001fc0, "c mx,V(b)", pa10, 0},438 { "sths", 0x0c001240, 0xfc001fc0, "c mx,V(s,b)", pa10, 0},439 { "sths", 0x0c001240, 0xfc001fc0, "c mx,V(b)", pa10, 0},440 { "stbs", 0x0c001200, 0xfc001fc0, "c mx,V(s,b)", pa10, 0},441 { "stbs", 0x0c001200, 0xfc001fc0, "c mx,V(b)", pa10, 0},442 { "stwas", 0x0c001380, 0xfc00dfc0, "c mx,V(b)", pa10, 0},430 { "ldwax", 0x0c000180, 0xfc00dfc0, "cXx(b),t", pa10, 0}, 431 { "ldcwx", 0x0c0001c0, 0xfc001fc0, "cXx(s,b),t", pa10, 0}, 432 { "ldcwx", 0x0c0001c0, 0xfc001fc0, "cXx(b),t", pa10, 0}, 433 { "ldws", 0x0c001080, 0xfc001fc0, "cM5(s,b),t", pa10, 0}, 434 { "ldws", 0x0c001080, 0xfc001fc0, "cM5(b),t", pa10, 0}, 435 { "ldhs", 0x0c001040, 0xfc001fc0, "cM5(s,b),t", pa10, 0}, 436 { "ldhs", 0x0c001040, 0xfc001fc0, "cM5(b),t", pa10, 0}, 437 { "ldbs", 0x0c001000, 0xfc001fc0, "cM5(s,b),t", pa10, 0}, 438 { "ldbs", 0x0c001000, 0xfc001fc0, "cM5(b),t", pa10, 0}, 439 { "ldwas", 0x0c001180, 0xfc00dfc0, "cM5(b),t", pa10, 0}, 440 { "ldcws", 0x0c0011c0, 0xfc001fc0, "cM5(s,b),t", pa10, 0}, 441 { "ldcws", 0x0c0011c0, 0xfc001fc0, "cM5(b),t", pa10, 0}, 442 { "stws", 0x0c001280, 0xfc001fc0, "cMx,V(s,b)", pa10, 0}, 443 { "stws", 0x0c001280, 0xfc001fc0, "cMx,V(b)", pa10, 0}, 444 { "sths", 0x0c001240, 0xfc001fc0, "cMx,V(s,b)", pa10, 0}, 445 { "sths", 0x0c001240, 0xfc001fc0, "cMx,V(b)", pa10, 0}, 446 { "stbs", 0x0c001200, 0xfc001fc0, "cMx,V(s,b)", pa10, 0}, 447 { "stbs", 0x0c001200, 0xfc001fc0, "cMx,V(b)", pa10, 0}, 448 { "stwas", 0x0c001380, 0xfc00dfc0, "cMx,V(b)", pa10, 0}, 443 449 { "stdby", 0x0c001340, 0xfc0013c0, "cscCx,V(s,b)", pa20, FLAG_STRICT}, 444 450 { "stdby", 0x0c001340, 0xfc0013c0, "cscCx,V(b)", pa20, FLAG_STRICT}, 445 { "stbys", 0x0c001300, 0xfc001fc0, "c sx,V(s,b)", pa10, 0},446 { "stbys", 0x0c001300, 0xfc001fc0, "c sx,V(b)", pa10, 0},451 { "stbys", 0x0c001300, 0xfc001fc0, "cAx,V(s,b)", pa10, 0}, 452 { "stbys", 0x0c001300, 0xfc001fc0, "cAx,V(b)", pa10, 0}, 447 453 448 454 /* Immediate instructions. */ … … 483 489 { "addibt", 0xa4000000, 0xfc000000, "?dn5,b,w", pa10, 0}, 484 490 { "addibf", 0xac000000, 0xfc000000, "?dn5,b,w", pa10, 0}, 491 { "bb", 0xc0004000, 0xffe06000, "?bnx,!,w", pa10, FLAG_STRICT}, 492 { "bb", 0xc4004000, 0xfc004000, "?bnx,Q,w", pa10, 0}, 485 493 { "bb", 0xc0006000, 0xffe06000, "?Bnx,!,w", pa20, FLAG_STRICT}, 486 494 { "bb", 0xc4004000, 0xfc004000, "?Bnx,B,w", pa20, FLAG_STRICT}, 487 { "bb", 0xc0004000, 0xffe06000, "?bnx,!,w", pa10, FLAG_STRICT},488 { "bb", 0xc4004000, 0xfc004000, "?bnx,Q,w", pa10, 0},489 495 { "bvb", 0xc0004000, 0xffe04000, "?bnx,w", pa10, 0}, 490 496 { "clrbts", 0xe8004005, 0xffffffff, "", pa20, FLAG_STRICT}, … … 702 708 /* Floating Point Coprocessor Instructions. */ 703 709 704 { "fldw", 0x24001020, 0xfc1f33a0, "cocc@(s,b),fT", pa20, FLAG_STRICT},705 { "fldw", 0x24001020, 0xfc1f33a0, "cocc@(b),fT", pa20, FLAG_STRICT},706 710 { "fldw", 0x24000000, 0xfc001380, "cxccx(s,b),fT", pa10, FLAG_STRICT}, 707 711 { "fldw", 0x24000000, 0xfc001380, "cxccx(b),fT", pa10, FLAG_STRICT}, 708 712 { "fldw", 0x24001000, 0xfc001380, "cmcc5(s,b),fT", pa10, FLAG_STRICT}, 709 713 { "fldw", 0x24001000, 0xfc001380, "cmcc5(b),fT", pa10, FLAG_STRICT}, 714 { "fldw", 0x24001020, 0xfc1f33a0, "cocc@(s,b),fT", pa20, FLAG_STRICT}, 715 { "fldw", 0x24001020, 0xfc1f33a0, "cocc@(b),fT", pa20, FLAG_STRICT}, 710 716 { "fldw", 0x5c000000, 0xfc000004, "y(b),fe", pa20w, FLAG_STRICT}, 711 717 { "fldw", 0x58000000, 0xfc000000, "cJy(b),fe", pa20w, FLAG_STRICT}, 712 718 { "fldw", 0x5c000000, 0xfc000004, "d(b),fe", pa20, FLAG_STRICT}, 713 719 { "fldw", 0x58000000, 0xfc000000, "cJd(b),fe", pa20, FLAG_STRICT}, 714 { "fldd", 0x2c001020, 0xfc1f33e0, "cocc@(s,b),ft", pa20, FLAG_STRICT},715 { "fldd", 0x2c001020, 0xfc1f33e0, "cocc@(b),ft", pa20, FLAG_STRICT},716 720 { "fldd", 0x2c000000, 0xfc0013c0, "cxccx(s,b),ft", pa10, FLAG_STRICT}, 717 721 { "fldd", 0x2c000000, 0xfc0013c0, "cxccx(b),ft", pa10, FLAG_STRICT}, 718 722 { "fldd", 0x2c001000, 0xfc0013c0, "cmcc5(s,b),ft", pa10, FLAG_STRICT}, 719 723 { "fldd", 0x2c001000, 0xfc0013c0, "cmcc5(b),ft", pa10, FLAG_STRICT}, 724 { "fldd", 0x2c001020, 0xfc1f33e0, "cocc@(s,b),ft", pa20, FLAG_STRICT}, 725 { "fldd", 0x2c001020, 0xfc1f33e0, "cocc@(b),ft", pa20, FLAG_STRICT}, 720 726 { "fldd", 0x50000002, 0xfc000002, "cq&(b),fx", pa20w, FLAG_STRICT}, 721 727 { "fldd", 0x50000002, 0xfc000002, "cq#(b),fx", pa20, FLAG_STRICT}, 722 { "fstw", 0x24001220, 0xfc1f33a0, "cocCfT,@(s,b)", pa10, FLAG_STRICT},723 { "fstw", 0x24001220, 0xfc1f33a0, "cocCfT,@(b)", pa10, FLAG_STRICT},724 728 { "fstw", 0x24000200, 0xfc001380, "cxcCfT,x(s,b)", pa10, FLAG_STRICT}, 725 729 { "fstw", 0x24000200, 0xfc001380, "cxcCfT,x(b)", pa10, FLAG_STRICT}, 726 730 { "fstw", 0x24001200, 0xfc001380, "cmcCfT,5(s,b)", pa10, FLAG_STRICT}, 727 731 { "fstw", 0x24001200, 0xfc001380, "cmcCfT,5(b)", pa10, FLAG_STRICT}, 732 { "fstw", 0x24001220, 0xfc1f33a0, "cocCfT,@(s,b)", pa10, FLAG_STRICT}, 733 { "fstw", 0x24001220, 0xfc1f33a0, "cocCfT,@(b)", pa10, FLAG_STRICT}, 728 734 { "fstw", 0x7c000000, 0xfc000004, "fE,y(b)", pa20w, FLAG_STRICT}, 729 735 { "fstw", 0x78000000, 0xfc000000, "cJfe,y(b)", pa20w, FLAG_STRICT}, 730 736 { "fstw", 0x7c000000, 0xfc000004, "fe,d(b)", pa20, FLAG_STRICT}, 731 737 { "fstw", 0x78000000, 0xfc000000, "cJfe,d(b)", pa20, FLAG_STRICT}, 732 { "fstd", 0x2c001220, 0xfc1f33e0, "cocCft,@(s,b)", pa10, FLAG_STRICT},733 { "fstd", 0x2c001220, 0xfc1f33e0, "cocCft,@(b)", pa10, FLAG_STRICT},734 738 { "fstd", 0x2c000200, 0xfc0013c0, "cxcCft,x(s,b)", pa10, FLAG_STRICT}, 735 739 { "fstd", 0x2c000200, 0xfc0013c0, "cxcCft,x(b)", pa10, FLAG_STRICT}, 736 740 { "fstd", 0x2c001200, 0xfc0013c0, "cmcCft,5(s,b)", pa10, FLAG_STRICT}, 737 741 { "fstd", 0x2c001200, 0xfc0013c0, "cmcCft,5(b)", pa10, FLAG_STRICT}, 742 { "fstd", 0x2c001220, 0xfc1f33e0, "cocCft,@(s,b)", pa10, FLAG_STRICT}, 743 { "fstd", 0x2c001220, 0xfc1f33e0, "cocCft,@(b)", pa10, FLAG_STRICT}, 738 744 { "fstd", 0x70000002, 0xfc000002, "cqfx,&(b)", pa20w, FLAG_STRICT}, 739 745 { "fstd", 0x70000002, 0xfc000002, "cqfx,#(b)", pa20, FLAG_STRICT}, 740 { "fldwx", 0x24000000, 0xfc001f80, "c xx(s,b),fT", pa10, 0},741 { "fldwx", 0x24000000, 0xfc001f80, "c xx(b),fT", pa10, 0},742 { "flddx", 0x2c000000, 0xfc001fc0, "c xx(s,b),ft", pa10, 0},743 { "flddx", 0x2c000000, 0xfc001fc0, "c xx(b),ft", pa10, 0},746 { "fldwx", 0x24000000, 0xfc001f80, "cXx(s,b),fT", pa10, 0}, 747 { "fldwx", 0x24000000, 0xfc001f80, "cXx(b),fT", pa10, 0}, 748 { "flddx", 0x2c000000, 0xfc001fc0, "cXx(s,b),ft", pa10, 0}, 749 { "flddx", 0x2c000000, 0xfc001fc0, "cXx(b),ft", pa10, 0}, 744 750 { "fstwx", 0x24000200, 0xfc001f80, "cxfT,x(s,b)", pa10, 0}, 745 751 { "fstwx", 0x24000200, 0xfc001f80, "cxfT,x(b)", pa10, 0}, … … 816 822 { "spop3", 0x10000600, 0xfc000600, "v,0Nx,b", pa10, 0}, 817 823 { "copr", 0x30000000, 0xfc000000, "u,2N", pa10, 0}, 818 { "cldwx", 0x24000000, 0xfc001e00, "ucxx(s,b),t", pa10, 0}, 819 { "cldwx", 0x24000000, 0xfc001e00, "ucxx(b),t", pa10, 0}, 820 { "clddx", 0x2c000000, 0xfc001e00, "ucxx(s,b),t", pa10, 0}, 821 { "clddx", 0x2c000000, 0xfc001e00, "ucxx(b),t", pa10, 0}, 822 { "cstwx", 0x24000200, 0xfc001e00, "ucxt,x(s,b)", pa10, 0}, 823 { "cstwx", 0x24000200, 0xfc001e00, "ucxt,x(b)", pa10, 0}, 824 { "cstdx", 0x2c000200, 0xfc001e00, "ucxt,x(s,b)", pa10, 0}, 825 { "cstdx", 0x2c000200, 0xfc001e00, "ucxt,x(b)", pa10, 0}, 826 { "cldws", 0x24001000, 0xfc001e00, "ucm5(s,b),t", pa10, 0}, 827 { "cldws", 0x24001000, 0xfc001e00, "ucm5(b),t", pa10, 0}, 828 { "cldds", 0x2c001000, 0xfc001e00, "ucm5(s,b),t", pa10, 0}, 829 { "cldds", 0x2c001000, 0xfc001e00, "ucm5(b),t", pa10, 0}, 830 { "cstws", 0x24001200, 0xfc001e00, "ucmt,5(s,b)", pa10, 0}, 831 { "cstws", 0x24001200, 0xfc001e00, "ucmt,5(b)", pa10, 0}, 832 { "cstds", 0x2c001200, 0xfc001e00, "ucmt,5(s,b)", pa10, 0}, 833 { "cstds", 0x2c001200, 0xfc001e00, "ucmt,5(b)", pa10, 0}, 834 { "cldw", 0x24000000, 0xfc001e00, "ucxx(s,b),t", pa10, FLAG_STRICT}, 835 { "cldw", 0x24000000, 0xfc001e00, "ucxx(b),t", pa10, FLAG_STRICT}, 836 { "cldw", 0x24001000, 0xfc001e00, "ucm5(s,b),t", pa10, FLAG_STRICT}, 837 { "cldw", 0x24001000, 0xfc001e00, "ucm5(b),t", pa10, FLAG_STRICT}, 838 { "cldd", 0x2c000000, 0xfc001e00, "ucxx(s,b),t", pa10, FLAG_STRICT}, 839 { "cldd", 0x2c000000, 0xfc001e00, "ucxx(b),t", pa10, FLAG_STRICT}, 840 { "cldd", 0x2c001000, 0xfc001e00, "ucm5(s,b),t", pa10, FLAG_STRICT}, 841 { "cldd", 0x2c001000, 0xfc001e00, "ucm5(b),t", pa20, FLAG_STRICT}, 842 { "cstw", 0x24000200, 0xfc001e00, "ucxt,x(s,b)", pa10, FLAG_STRICT}, 843 { "cstw", 0x24000200, 0xfc001e00, "ucxt,x(b)", pa10, FLAG_STRICT}, 844 { "cstw", 0x24001200, 0xfc001e00, "ucmt,5(s,b)", pa10, FLAG_STRICT}, 845 { "cstw", 0x24001200, 0xfc001e00, "ucmt,5(b)", pa10, FLAG_STRICT}, 846 { "cstd", 0x2c000200, 0xfc001e00, "ucxt,x(s,b)", pa10, FLAG_STRICT}, 847 { "cstd", 0x2c000200, 0xfc001e00, "ucxt,x(b)", pa10, FLAG_STRICT}, 848 { "cstd", 0x2c001200, 0xfc001e00, "ucmt,5(s,b)", pa10, FLAG_STRICT}, 849 { "cstd", 0x2c001200, 0xfc001e00, "ucmt,5(b)", pa10, FLAG_STRICT}, 824 { "cldwx", 0x24000000, 0xfc001e00, "ucXx(s,b),t", pa10, 0}, 825 { "cldwx", 0x24000000, 0xfc001e00, "ucXx(b),t", pa10, 0}, 826 { "clddx", 0x2c000000, 0xfc001e00, "ucXx(s,b),t", pa10, 0}, 827 { "clddx", 0x2c000000, 0xfc001e00, "ucXx(b),t", pa10, 0}, 828 { "cstwx", 0x24000200, 0xfc001e00, "ucXt,x(s,b)", pa10, 0}, 829 { "cstwx", 0x24000200, 0xfc001e00, "ucXt,x(b)", pa10, 0}, 830 { "cstdx", 0x2c000200, 0xfc001e00, "ucXt,x(s,b)", pa10, 0}, 831 { "cstdx", 0x2c000200, 0xfc001e00, "ucXt,x(b)", pa10, 0}, 832 { "cldws", 0x24001000, 0xfc001e00, "ucM5(s,b),t", pa10, 0}, 833 { "cldws", 0x24001000, 0xfc001e00, "ucM5(b),t", pa10, 0}, 834 { "cldds", 0x2c001000, 0xfc001e00, "ucM5(s,b),t", pa10, 0}, 835 { "cldds", 0x2c001000, 0xfc001e00, "ucM5(b),t", pa10, 0}, 836 { "cstws", 0x24001200, 0xfc001e00, "ucMt,5(s,b)", pa10, 0}, 837 { "cstws", 0x24001200, 0xfc001e00, "ucMt,5(b)", pa10, 0}, 838 { "cstds", 0x2c001200, 0xfc001e00, "ucMt,5(s,b)", pa10, 0}, 839 { "cstds", 0x2c001200, 0xfc001e00, "ucMt,5(b)", pa10, 0}, 840 { "cldw", 0x24000000, 0xfc001e00, "ucXx(s,b),t", pa10, FLAG_STRICT}, 841 { "cldw", 0x24000000, 0xfc001e00, "ucXx(b),t", pa10, FLAG_STRICT}, 842 { "cldw", 0x24001000, 0xfc001e00, "ucM5(s,b),t", pa10, FLAG_STRICT}, 843 { "cldw", 0x24001000, 0xfc001e00, "ucM5(b),t", pa10, FLAG_STRICT}, 844 { "cldd", 0x2c000000, 0xfc001e00, "ucXx(s,b),t", pa10, FLAG_STRICT}, 845 { "cldd", 0x2c000000, 0xfc001e00, "ucXx(b),t", pa10, FLAG_STRICT}, 846 { "cldd", 0x2c001000, 0xfc001e00, "ucM5(s,b),t", pa10, FLAG_STRICT}, 847 { "cldd", 0x2c001000, 0xfc001e00, "ucM5(b),t", pa20, FLAG_STRICT}, 848 { "cstw", 0x24000200, 0xfc001e00, "ucXt,x(s,b)", pa10, FLAG_STRICT}, 849 { "cstw", 0x24000200, 0xfc001e00, "ucXt,x(b)", pa10, FLAG_STRICT}, 850 { "cstw", 0x24001200, 0xfc001e00, "ucMt,5(s,b)", pa10, FLAG_STRICT}, 851 { "cstw", 0x24001200, 0xfc001e00, "ucMt,5(b)", pa10, FLAG_STRICT}, 852 { "cstd", 0x2c000200, 0xfc001e00, "ucXt,x(s,b)", pa10, FLAG_STRICT}, 853 { "cstd", 0x2c000200, 0xfc001e00, "ucXt,x(b)", pa10, FLAG_STRICT}, 854 { "cstd", 0x2c001200, 0xfc001e00, "ucMt,5(s,b)", pa10, FLAG_STRICT}, 855 { "cstd", 0x2c001200, 0xfc001e00, "ucMt,5(b)", pa10, FLAG_STRICT}, 856 857 /* More pseudo instructions which must follow the main table. */ 858 { "call", 0xe800f000, 0xfc1ffffd, "n(b)", pa20, FLAG_STRICT}, 859 { "call", 0xe800a000, 0xffe0e000, "nW", pa10, FLAG_STRICT}, 860 { "ret", 0xe840d000, 0xfffffffd, "n", pa20, FLAG_STRICT}, 861 850 862 }; 851 863 -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/opcode/i386.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 63 63 #define wlq_Suf (No_bSuf|No_sSuf|No_xSuf) 64 64 #define lq_Suf (No_bSuf|No_wSuf|No_sSuf|No_xSuf) 65 #define wq_Suf (No_bSuf|No_lSuf|No_sSuf|No_xSuf) 65 66 #define sl_Suf (No_bSuf|No_wSuf|No_xSuf|No_qSuf) 66 67 #define sldx_Suf (No_bSuf|No_wSuf|No_qSuf) … … 121 122 /* Intel Syntax next 5 insns */ 122 123 {"movsx", 2, 0x0fbe, X, Cpu386, b_Suf|Modrm, { Reg8|ByteMem, WordReg, 0} }, 123 {"movsx", 2, 0x0fbf, X, Cpu386, w_Suf|Modrm |IgnoreSize,{ Reg16|ShortMem, Reg32, 0} },124 {"movsx", 2, 0x0fbf, X, Cpu386, w_Suf|Modrm, { Reg16|ShortMem, Reg32, 0} }, 124 125 {"movsx", 2, 0x0fbe, X, Cpu64, b_Suf|Modrm|Rex64, { Reg8|ByteMem, Reg64, 0} }, 125 {"movsx", 2, 0x0fbf, X, Cpu64, w_Suf|Modrm| IgnoreSize|Rex64,{ Reg16|ShortMem, Reg64, 0} },126 {"movsx", 2, 0x0fbf, X, Cpu64, w_Suf|Modrm|Rex64, { Reg16|ShortMem, Reg64, 0} }, 126 127 {"movsx", 2, 0x63, X, Cpu64, l_Suf|Modrm|Rex64, { Reg32|WordMem, Reg64, 0} }, 127 128 … … 135 136 /* Intel Syntax next 4 insns */ 136 137 {"movzx", 2, 0x0fb6, X, Cpu386, b_Suf|Modrm, { Reg8|ByteMem, WordReg, 0} }, 137 {"movzx", 2, 0x0fb7, X, Cpu386, w_Suf|Modrm |IgnoreSize,{ Reg16|ShortMem, Reg32, 0} },138 {"movzx", 2, 0x0fb7, X, Cpu386, w_Suf|Modrm, { Reg16|ShortMem, Reg32, 0} }, 138 139 /* These instructions are not particulary usefull, since the zero extend 139 140 32->64 is implicit, but we can encode them. */ 140 141 {"movzx", 2, 0x0fb6, X, Cpu386, b_Suf|Modrm|Rex64, { Reg8|ByteMem, Reg64, 0} }, 141 {"movzx", 2, 0x0fb7, X, Cpu386, w_Suf|Modrm| IgnoreSize|Rex64,{ Reg16|ShortMem, Reg64, 0} },142 {"movzx", 2, 0x0fb7, X, Cpu386, w_Suf|Modrm|Rex64, { Reg16|ShortMem, Reg64, 0} }, 142 143 143 144 /* Push instructions. */ … … 149 150 {"push", 1, 0x0fa0, X, Cpu386|CpuNo64, wl_Suf|Seg3ShortForm|DefaultSize, { SReg3, 0, 0 } }, 150 151 /* In 64bit mode, the operand size is implicitly 64bit. */ 151 {"push", 1, 0x50, X, Cpu64, q_Suf|ShortForm|DefaultSize|NoRex64, { Reg64, 0, 0 } },152 {"push", 1, 0xff, 6, Cpu64, q_Suf|Modrm|DefaultSize|NoRex64, { Reg64|WordMem, 0, 0 } },153 {"push", 1, 0x6a, X, Cpu186|Cpu64, q_Suf|DefaultSize|NoRex64, { Imm8S, 0, 0} },154 {"push", 1, 0x68, X, Cpu186|Cpu64, q_Suf|DefaultSize|NoRex64, { Imm32S, 0, 0} },155 {"push", 1, 0x06, X, Cpu64, q_Suf|Seg2ShortForm|DefaultSize|NoRex64, { SReg2, 0, 0 } },156 {"push", 1, 0x0fa0, X, Cpu386|Cpu64, q_Suf|Seg3ShortForm|DefaultSize|NoRex64, { SReg3, 0, 0 } },152 {"push", 1, 0x50, X, Cpu64, wq_Suf|ShortForm|DefaultSize|NoRex64, { WordReg, 0, 0 } }, 153 {"push", 1, 0xff, 6, Cpu64, wq_Suf|Modrm|DefaultSize|NoRex64, { WordReg|WordMem, 0, 0 } }, 154 {"push", 1, 0x6a, X, Cpu186|Cpu64, wq_Suf|DefaultSize|NoRex64, { Imm8S, 0, 0} }, 155 {"push", 1, 0x68, X, Cpu186|Cpu64, wq_Suf|DefaultSize|NoRex64, { Imm32S|Imm16, 0, 0} }, 156 {"push", 1, 0x06, X, Cpu64, wq_Suf|Seg2ShortForm|DefaultSize|NoRex64, { SReg2, 0, 0 } }, 157 {"push", 1, 0x0fa0, X, Cpu386|Cpu64, wq_Suf|Seg3ShortForm|DefaultSize|NoRex64, { SReg3, 0, 0 } }, 157 158 158 159 {"pusha", 0, 0x60, X, Cpu186|CpuNo64, wl_Suf|DefaultSize, { 0, 0, 0 } }, … … 165 166 {"pop", 1, 0x0fa1, X, Cpu386|CpuNo64, wl_Suf|Seg3ShortForm|DefaultSize, { SReg3, 0, 0 } }, 166 167 /* In 64bit mode, the operand size is implicitly 64bit. */ 167 {"pop", 1, 0x58, X, Cpu64, q_Suf|ShortForm|DefaultSize|NoRex64, { Reg64, 0, 0 } },168 {"pop", 1, 0x8f, 0, Cpu64, q_Suf|Modrm|DefaultSize|NoRex64, { Reg64|WordMem, 0, 0 } },169 {"pop", 1, 0x07, X, Cpu64, q_Suf|Seg2ShortForm|DefaultSize|NoRex64, { SReg2, 0, 0 } },170 {"pop", 1, 0x0fa1, X, Cpu64, q_Suf|Seg3ShortForm|DefaultSize|NoRex64, { SReg3, 0, 0 } },168 {"pop", 1, 0x58, X, Cpu64, wq_Suf|ShortForm|DefaultSize|NoRex64, { WordReg, 0, 0 } }, 169 {"pop", 1, 0x8f, 0, Cpu64, wq_Suf|Modrm|DefaultSize|NoRex64, { WordReg|WordMem, 0, 0 } }, 170 {"pop", 1, 0x07, X, Cpu64, wq_Suf|Seg2ShortForm|DefaultSize|NoRex64, { SReg2, 0, 0 } }, 171 {"pop", 1, 0x0fa1, X, Cpu64, wq_Suf|Seg3ShortForm|DefaultSize|NoRex64, { SReg3, 0, 0 } }, 171 172 172 173 {"popa", 0, 0x61, X, Cpu186|CpuNo64, wl_Suf|DefaultSize, { 0, 0, 0 } }, … … 177 178 In the 64bit code, xchg eax, eax is reused for new nop instruction. 178 179 */ 179 {"xchg", 2, 0x90, X, CpuNo64, wl_Suf|ShortForm, { WordReg, Acc, 0 } },180 {"xchg", 2, 0x90, X, CpuNo64, wl_Suf|ShortForm, { Acc, WordReg, 0 } },180 {"xchg", 2, 0x90, X, 0, wlq_Suf|ShortForm, { WordReg, Acc, 0 } }, 181 {"xchg", 2, 0x90, X, 0, wlq_Suf|ShortForm, { Acc, WordReg, 0 } }, 181 182 {"xchg", 2, 0x86, X, 0, bwlq_Suf|W|Modrm, { Reg, Reg|AnyMem, 0 } }, 182 183 {"xchg", 2, 0x86, X, 0, bwlq_Suf|W|Modrm, { Reg|AnyMem, Reg, 0 } }, 183 184 184 185 /* In/out from ports. */ 185 {"in", 2, 0xe4, X, 0, bwl q_Suf|W, { Imm8, Acc, 0 } },186 {"in", 2, 0xec, X, 0, bwl q_Suf|W, { InOutPortReg, Acc, 0 } },187 {"in", 1, 0xe4, X, 0, bwl q_Suf|W, { Imm8, 0, 0 } },188 {"in", 1, 0xec, X, 0, bwl q_Suf|W, { InOutPortReg, 0, 0 } },189 {"out", 2, 0xe6, X, 0, bwl q_Suf|W, { Acc, Imm8, 0 } },190 {"out", 2, 0xee, X, 0, bwl q_Suf|W, { Acc, InOutPortReg, 0 } },191 {"out", 1, 0xe6, X, 0, bwl q_Suf|W, { Imm8, 0, 0 } },192 {"out", 1, 0xee, X, 0, bwl q_Suf|W, { InOutPortReg, 0, 0 } },186 {"in", 2, 0xe4, X, 0, bwl_Suf|W, { Imm8, Acc, 0 } }, 187 {"in", 2, 0xec, X, 0, bwl_Suf|W, { InOutPortReg, Acc, 0 } }, 188 {"in", 1, 0xe4, X, 0, bwl_Suf|W, { Imm8, 0, 0 } }, 189 {"in", 1, 0xec, X, 0, bwl_Suf|W, { InOutPortReg, 0, 0 } }, 190 {"out", 2, 0xe6, X, 0, bwl_Suf|W, { Acc, Imm8, 0 } }, 191 {"out", 2, 0xee, X, 0, bwl_Suf|W, { Acc, InOutPortReg, 0 } }, 192 {"out", 1, 0xe6, X, 0, bwl_Suf|W, { Imm8, 0, 0 } }, 193 {"out", 1, 0xee, X, 0, bwl_Suf|W, { InOutPortReg, 0, 0 } }, 193 194 194 195 /* Load effective address. */ … … 211 212 {"sahf", 0, 0x9e, X, CpuNo64,NoSuf, { 0, 0, 0} }, 212 213 {"pushf", 0, 0x9c, X, CpuNo64,wlq_Suf|DefaultSize, { 0, 0, 0} }, 213 {"pushf", 0, 0x9c, X, Cpu64, q_Suf|DefaultSize|NoRex64,{ 0, 0, 0} },214 {"pushf", 0, 0x9c, X, Cpu64, wq_Suf|DefaultSize|NoRex64,{ 0, 0, 0} }, 214 215 {"popf", 0, 0x9d, X, CpuNo64,wlq_Suf|DefaultSize, { 0, 0, 0} }, 215 {"popf", 0, 0x9d, X, Cpu64, q_Suf|DefaultSize|NoRex64,{ 0, 0, 0} },216 {"popf", 0, 0x9d, X, Cpu64, wq_Suf|DefaultSize|NoRex64,{ 0, 0, 0} }, 216 217 {"stc", 0, 0xf9, X, 0, NoSuf, { 0, 0, 0} }, 217 218 {"std", 0, 0xfd, X, 0, NoSuf, { 0, 0, 0} }, … … 371 372 /* Control transfer instructions. */ 372 373 {"call", 1, 0xe8, X, 0, wlq_Suf|JumpDword|DefaultSize, { Disp16|Disp32, 0, 0} }, 373 {"call", 1, 0xff, 2, 0, wlq_Suf|Modrm|DefaultSize, { WordReg|WordMem|JumpAbsolute, 0, 0} }, 374 {"call", 1, 0xff, 2, CpuNo64, wl_Suf|Modrm|DefaultSize, { WordReg|WordMem|JumpAbsolute, 0, 0} }, 375 {"call", 1, 0xff, 2, Cpu64, wq_Suf|Modrm|DefaultSize|NoRex64,{ WordReg|WordMem|JumpAbsolute, 0, 0} }, 374 376 /* Intel Syntax */ 375 377 {"call", 2, 0x9a, X, CpuNo64,wlq_Suf|JumpInterSegment|DefaultSize, { Imm16, Imm16|Imm32, 0} }, … … 382 384 #define JUMP_PC_RELATIVE 0xeb 383 385 {"jmp", 1, 0xeb, X, 0, NoSuf|Jump, { Disp, 0, 0} }, 384 {"jmp", 1, 0xff, 4, 0, wlq_Suf|Modrm, { WordReg|WordMem|JumpAbsolute, 0, 0} }, 386 {"jmp", 1, 0xff, 4, CpuNo64, wl_Suf|Modrm, { WordReg|WordMem|JumpAbsolute, 0, 0} }, 387 {"jmp", 1, 0xff, 4, Cpu64, wq_Suf|Modrm|NoRex64, { WordReg|WordMem|JumpAbsolute, 0, 0} }, 385 388 /* Intel Syntax */ 386 389 {"jmp", 2, 0xea, X, CpuNo64,wl_Suf|JumpInterSegment, { Imm16, Imm16|Imm32, 0} }, … … 433 436 434 437 /* jcxz vs. jecxz is chosen on the basis of the address size prefix. */ 435 {"jcxz", 1, 0xe3, X, 0, NoSuf|JumpByte|Size16, { Disp, 0, 0} }, 436 {"jecxz", 1, 0xe3, X, 0, NoSuf|JumpByte|Size32, { Disp, 0, 0} }, 438 {"jcxz", 1, 0xe3, X, CpuNo64,NoSuf|JumpByte|Size16, { Disp, 0, 0} }, 439 {"jecxz", 1, 0xe3, X, CpuNo64,NoSuf|JumpByte|Size32, { Disp, 0, 0} }, 440 {"jecxz", 1, 0x67e3, X, Cpu64,NoSuf|JumpByte|Size32, { Disp, 0, 0} }, 441 {"jrcxz", 1, 0xe3, X, Cpu64, NoSuf|JumpByte|Size64|NoRex64, { Disp, 0, 0} }, 437 442 438 443 /* The loop instructions also use the address size prefix to select … … 440 445 instructions emit an address size prefix rather than a data size 441 446 prefix. */ 442 {"loop", 1, 0xe2, X, 0, wlq_Suf|JumpByte, { Disp, 0, 0} }, 443 {"loopz", 1, 0xe1, X, 0, wlq_Suf|JumpByte, { Disp, 0, 0} }, 444 {"loope", 1, 0xe1, X, 0, wlq_Suf|JumpByte, { Disp, 0, 0} }, 445 {"loopnz", 1, 0xe0, X, 0, wlq_Suf|JumpByte, { Disp, 0, 0} }, 446 {"loopne", 1, 0xe0, X, 0, wlq_Suf|JumpByte, { Disp, 0, 0} }, 447 {"loop", 1, 0xe2, X, CpuNo64,wl_Suf|JumpByte,{ Disp, 0, 0} }, 448 {"loop", 1, 0xe2, X, Cpu64, lq_Suf|JumpByte|NoRex64,{ Disp, 0, 0} }, 449 {"loopz", 1, 0xe1, X, CpuNo64,wl_Suf|JumpByte,{ Disp, 0, 0} }, 450 {"loopz", 1, 0xe1, X, Cpu64, lq_Suf|JumpByte|NoRex64,{ Disp, 0, 0} }, 451 {"loope", 1, 0xe1, X, CpuNo64,wl_Suf|JumpByte,{ Disp, 0, 0} }, 452 {"loope", 1, 0xe1, X, Cpu64, lq_Suf|JumpByte|NoRex64,{ Disp, 0, 0} }, 453 {"loopnz", 1, 0xe0, X, CpuNo64,wl_Suf|JumpByte,{ Disp, 0, 0} }, 454 {"loopnz", 1, 0xe0, X, Cpu64, lq_Suf|JumpByte|NoRex64,{ Disp, 0, 0} }, 455 {"loopne", 1, 0xe0, X, CpuNo64,wl_Suf|JumpByte,{ Disp, 0, 0} }, 456 {"loopne", 1, 0xe0, X, Cpu64, lq_Suf|JumpByte|NoRex64,{ Disp, 0, 0} }, 447 457 448 458 /* Set byte on flag instructions. */ … … 483 493 {"scmp", 0, 0xa6, X, 0, bwlq_Suf|W|IsString, { 0, 0, 0} }, 484 494 {"scmp", 2, 0xa6, X, 0, bwlq_Suf|W|IsString, { AnyMem|EsSeg, AnyMem, 0} }, 485 {"ins", 0, 0x6c, X, Cpu186, bwl q_Suf|W|IsString, { 0, 0, 0} },486 {"ins", 2, 0x6c, X, Cpu186, bwl q_Suf|W|IsString, { InOutPortReg, AnyMem|EsSeg, 0} },487 {"outs", 0, 0x6e, X, Cpu186, bwl q_Suf|W|IsString, { 0, 0, 0} },488 {"outs", 2, 0x6e, X, Cpu186, bwl q_Suf|W|IsString, { AnyMem, InOutPortReg, 0} },495 {"ins", 0, 0x6c, X, Cpu186, bwl_Suf|W|IsString, { 0, 0, 0} }, 496 {"ins", 2, 0x6c, X, Cpu186, bwl_Suf|W|IsString, { InOutPortReg, AnyMem|EsSeg, 0} }, 497 {"outs", 0, 0x6e, X, Cpu186, bwl_Suf|W|IsString, { 0, 0, 0} }, 498 {"outs", 2, 0x6e, X, Cpu186, bwl_Suf|W|IsString, { AnyMem, InOutPortReg, 0} }, 489 499 {"lods", 0, 0xac, X, 0, bwlq_Suf|W|IsString, { 0, 0, 0} }, 490 500 {"lods", 1, 0xac, X, 0, bwlq_Suf|W|IsString, { AnyMem, 0, 0} }, … … 554 564 {"sgdt", 1, 0x0f01, 0, Cpu286, wlq_Suf|Modrm, { WordMem, 0, 0} }, 555 565 {"sidt", 1, 0x0f01, 1, Cpu286, wlq_Suf|Modrm, { WordMem, 0, 0} }, 556 {"sldt", 1, 0x0f00, 0, Cpu286, wlq_Suf|Modrm, { WordReg|WordMem, 0, 0} }, 557 {"smsw", 1, 0x0f01, 4, Cpu286, wlq_Suf|Modrm, { WordReg|WordMem, 0, 0} }, 558 {"str", 1, 0x0f00, 1, Cpu286, w_Suf|Modrm|IgnoreSize,{ Reg16|ShortMem, 0, 0} }, 566 {"sldt", 1, 0x0f00, 0, Cpu286, wlq_Suf|Modrm, { WordReg|InvMem, 0, 0} }, 567 {"sldt", 1, 0x0f00, 0, Cpu286, w_Suf|Modrm|IgnoreSize,{ ShortMem, 0, 0} }, 568 {"smsw", 1, 0x0f01, 4, Cpu286, wlq_Suf|Modrm, { WordReg|InvMem, 0, 0} }, 569 {"smsw", 1, 0x0f01, 4, Cpu286, w_Suf|Modrm|IgnoreSize,{ ShortMem, 0, 0} }, 570 {"str", 1, 0x0f00, 1, Cpu286, wlq_Suf|Modrm, { WordReg|InvMem, 0, 0} }, 571 {"str", 1, 0x0f00, 1, Cpu286, w_Suf|Modrm|IgnoreSize,{ ShortMem, 0, 0} }, 559 572 560 573 {"verr", 1, 0x0f00, 4, Cpu286, w_Suf|Modrm|IgnoreSize,{ Reg16|ShortMem, 0, 0} }, … … 969 982 {"movd", 2, 0x660f7e,X,CpuSSE2,FP|Modrm, { RegXMM, Reg32|LLongMem, 0 } }, 970 983 /* Real MMX instructions. */ 984 {"movd", 2, 0x0f6e, X, CpuMMX, FP|Modrm, { Reg64|LLongMem, RegMMX, 0 } }, 985 {"movd", 2, 0x0f7e, X, CpuMMX, FP|Modrm, { RegMMX, Reg64|LLongMem, 0 } }, 986 {"movd", 2, 0x660f6e,X,CpuSSE2,FP|Modrm, { Reg64|LLongMem, RegXMM, 0 } }, 987 {"movd", 2, 0x660f7e,X,CpuSSE2,FP|Modrm, { RegXMM, Reg64|LLongMem, 0 } }, 988 /* In the 64bit mode the short form mov immediate is redefined to have 989 64bit displacement value. */ 971 990 {"movq", 2, 0x0f6f, X, CpuMMX, FP|Modrm, { RegMMX|LongMem, RegMMX, 0 } }, 972 991 {"movq", 2, 0x0f7f, X, CpuMMX, FP|Modrm, { RegMMX, RegMMX|LongMem, 0 } }, 973 992 {"movq", 2, 0xf30f7e,X,CpuSSE2,FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, 974 993 {"movq", 2, 0x660fd6,X,CpuSSE2,FP|Modrm, { RegXMM, RegXMM|LLongMem, 0 } }, 975 /* In the 64bit mode the short form mov immediate is redefined to have976 64bit displacement value. */977 994 {"movq", 2, 0x88, X, Cpu64, NoSuf|D|W|Modrm|Size64,{ Reg64, Reg64|AnyMem, 0 } }, 978 995 {"movq", 2, 0xc6, 0, Cpu64, NoSuf|W|Modrm|Size64, { Imm32S, Reg64|WordMem, 0 } }, … … 1138 1155 {"movlps", 2, 0x0f12, X, CpuSSE, FP|Modrm, { LLongMem, RegXMM, 0 } }, 1139 1156 {"movlps", 2, 0x0f13, X, CpuSSE, FP|Modrm, { RegXMM, LLongMem, 0 } }, 1140 {"movmskps", 2, 0x0f50, X, CpuSSE, FP|Modrm, { RegXMM|InvMem, Reg32, 0 } },1157 {"movmskps", 2, 0x0f50, X, CpuSSE, lq_Suf|IgnoreSize|Modrm, { RegXMM|InvMem, Reg32|Reg64, 0 } }, 1141 1158 {"movntps", 2, 0x0f2b, X, CpuSSE, FP|Modrm, { RegXMM, LLongMem, 0 } }, 1142 1159 {"movntq", 2, 0x0fe7, X, CpuSSE, FP|Modrm, { RegMMX, LLongMem, 0 } }, … … 1153 1170 {"pavgw", 2, 0x0fe3, X, CpuSSE, FP|Modrm, { RegMMX|LLongMem, RegMMX, 0 } }, 1154 1171 {"pavgw", 2, 0x660fe3, X, CpuSSE2,FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, 1155 {"pextrw", 3, 0x0fc5, X, CpuSSE, FP|Modrm, { Imm8, RegMMX|InvMem, Reg32} },1156 {"pextrw", 3, 0x660fc5, X, CpuSSE2, FP|Modrm, { Imm8, RegXMM|InvMem, Reg32} },1157 {"pinsrw", 3, 0x0fc4, X, CpuSSE, FP|Modrm, { Imm8, Reg32|ShortMem, RegMMX } },1158 {"pinsrw", 3, 0x660fc4, X, CpuSSE2, FP|Modrm, { Imm8, Reg32|ShortMem, RegXMM } },1172 {"pextrw", 3, 0x0fc5, X, CpuSSE, lq_Suf|IgnoreSize|Modrm, { Imm8, RegMMX|InvMem, Reg32|Reg64 } }, 1173 {"pextrw", 3, 0x660fc5, X, CpuSSE2,lq_Suf|IgnoreSize|Modrm, { Imm8, RegXMM|InvMem, Reg32|Reg64 } }, 1174 {"pinsrw", 3, 0x0fc4, X, CpuSSE, lq_Suf|IgnoreSize|Modrm, { Imm8, Reg32|Reg64|ShortMem, RegMMX } }, 1175 {"pinsrw", 3, 0x660fc4, X, CpuSSE2, lq_Suf|IgnoreSize|Modrm, { Imm8, Reg32|Reg64|ShortMem, RegXMM } }, 1159 1176 {"pmaxsw", 2, 0x0fee, X, CpuSSE, FP|Modrm, { RegMMX|LLongMem, RegMMX, 0 } }, 1160 1177 {"pmaxsw", 2, 0x660fee, X, CpuSSE2,FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, … … 1165 1182 {"pminub", 2, 0x0fda, X, CpuSSE, FP|Modrm, { RegMMX|LLongMem, RegMMX, 0 } }, 1166 1183 {"pminub", 2, 0x660fda, X, CpuSSE2,FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, 1167 {"pmovmskb", 2, 0x0fd7, X, CpuSSE, FP|Modrm, { RegMMX|InvMem, Reg32, 0 } },1168 {"pmovmskb", 2, 0x660fd7, X, CpuSSE2, FP|Modrm, { RegXMM|InvMem, Reg32, 0 } },1184 {"pmovmskb", 2, 0x0fd7, X, CpuSSE, lq_Suf|IgnoreSize|Modrm, { RegMMX|InvMem, Reg32|Reg64, 0 } }, 1185 {"pmovmskb", 2, 0x660fd7, X, CpuSSE2,lq_Suf|IgnoreSize|Modrm, { RegXMM|InvMem, Reg32|Reg64, 0 } }, 1169 1186 {"pmulhuw", 2, 0x0fe4, X, CpuSSE, FP|Modrm, { RegMMX|LLongMem, RegMMX, 0 } }, 1170 1187 {"pmulhuw", 2, 0x660fe4, X, CpuSSE2,FP|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, … … 1215 1232 {"cmpunordsd",2, 0xf20fc2, 3, CpuSSE2, FP|Modrm|ImmExt,{ RegXMM|LongMem, RegXMM, 0 } }, 1216 1233 {"cmppd", 3, 0x660fc2, X, CpuSSE2, FP|Modrm, { Imm8, RegXMM|LLongMem, RegXMM } }, 1234 /* Intel mode string compare. */ 1235 {"cmpsd", 0, 0xa7, X, 0, NoSuf|Size32|IsString, { 0, 0, 0} }, 1236 {"cmpsd", 2, 0xa7, X, 0, NoSuf|Size32|IsString, { AnyMem, AnyMem|EsSeg, 0} }, 1217 1237 {"cmpsd", 3, 0xf20fc2, X, CpuSSE2, FP|Modrm, { Imm8, RegXMM|LongMem, RegXMM } }, 1218 1238 {"comisd", 2, 0x660f2f, X, CpuSSE2, FP|Modrm, { RegXMM|LongMem, RegXMM, 0 } }, … … 1231 1251 {"movlpd", 2, 0x660f12, X, CpuSSE2, FP|Modrm, { LLongMem, RegXMM, 0 } }, 1232 1252 {"movlpd", 2, 0x660f13, X, CpuSSE2, FP|Modrm, { RegXMM, LLongMem, 0 } }, 1233 {"movmskpd", 2, 0x660f50, X, CpuSSE2, FP|Modrm, { RegXMM|InvMem, Reg32, 0 } },1253 {"movmskpd", 2, 0x660f50, X, CpuSSE2, lq_Suf|IgnoreSize|Modrm, { RegXMM|InvMem, Reg32|Reg64, 0 } }, 1234 1254 {"movntpd", 2, 0x660f2b, X, CpuSSE2, FP|Modrm, { RegXMM, LLongMem, 0 } }, 1255 /* Intel mode string move. */ 1256 {"movsd", 0, 0xa5, X, 0, NoSuf|Size32|IsString, { 0, 0, 0} }, 1257 {"movsd", 2, 0xa5, X, 0, NoSuf|Size32|IsString, { AnyMem, AnyMem|EsSeg, 0} }, 1235 1258 {"movsd", 2, 0xf20f10, X, CpuSSE2, FP|Modrm, { RegXMM|LongMem, RegXMM, 0 } }, 1236 1259 {"movsd", 2, 0xf20f11, X, CpuSSE2, FP|Modrm, { RegXMM, RegXMM|LongMem, 0 } }, -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/opcode/i860.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 97 97 The order of opcodes does not affect the disassembler. */ 98 98 99 static struct i860_opcode i860_opcodes[] =99 static const struct i860_opcode i860_opcodes[] = 100 100 { 101 101 /* REG-Format Instructions. */ -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/opcode/ia64.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* ia64.h -- Header file for ia64 opcode table 2 Copyright (C) 1998, 1999 David Mosberger-Tang <davidm@hpl.hp.com> 3 4 See the file HP-COPYRIGHT for additional information. */ 2 Copyright (C) 1998, 1999, 2002 Free Software Foundation, Inc. 3 Contributed by David Mosberger-Tang <davidm@hpl.hp.com> */ 5 4 6 5 #ifndef opcode_ia64_h … … 9 8 #include <sys/types.h> 10 9 11 #include <bfd.h>10 #include "bfd.h" 12 11 13 12 … … 40 39 41 40 /* Changes to this enumeration must be propagated to the operand table in 42 bfd/cpu-ia64-opc.c 43 */ 41 bfd/cpu-ia64-opc.c 42 */ 44 43 enum ia64_opnd 45 44 { … … 47 46 48 47 /* constants */ 48 IA64_OPND_AR_CSD, /* application register csd (ar.csd) */ 49 49 IA64_OPND_AR_CCV, /* application register ccv (ar.ccv) */ 50 50 IA64_OPND_AR_PFS, /* application register pfs (ar.pfs) */ … … 134 134 IA64_OPND_TGT25c, /* signed 25-bit (ip + 16*bits 13-32, 36) */ 135 135 IA64_OPND_TGT64, /* 64-bit (ip + 16*bits 13-32, 36, 2-40(L)) */ 136 IA64_OPND_LDXMOV, /* any symbol, generates R_IA64_LDXMOV. */ 136 137 137 138 IA64_OPND_COUNT /* # of operand types (MUST BE LAST!) */ … … 288 289 short ent_index; 289 290 290 /* Opcode dependencies. */ 291 /* Opcode dependencies. */ 291 292 const struct ia64_opcode_dependency *dependencies; 292 293 }; -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/opcode/m68hc11.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* m68hc11.h -- Header file for Motorola 68HC11 & 68HC12 opcode table 2 Copyright 1999, 2000 Free Software Foundation, Inc.3 Written by Stephane Carrez (stcarrez@ worldnet.fr)2 Copyright 1999, 2000, 2002, 2003 Free Software Foundation, Inc. 3 Written by Stephane Carrez (stcarrez@nerim.fr) 4 4 5 5 This file is part of GDB, GAS, and the GNU binutils. … … 192 192 #define M6811_SPIF 0x80 /* SPI Transfer Complete flag */ 193 193 #define M6811_WCOL 0x40 /* Write Collision */ 194 #define M6811_MODF 0x 20 /* Mode Fault */194 #define M6811_MODF 0x10 /* Mode Fault */ 195 195 196 196 /* Flags of the ADCTL register. */ … … 213 213 #define M6811_OC1M7 0x80 /* Output Compare 7 */ 214 214 #define M6811_OC1M6 0x40 /* 6 */ 215 #define M6811_OC1M5 0x 40 /* 5 */216 #define M6811_OC1M4 0x 40 /* 4 */215 #define M6811_OC1M5 0x20 /* 5 */ 216 #define M6811_OC1M4 0x10 /* 4 */ 217 217 #define M6811_OC1M3 0x08 /* 3 */ 218 218 … … 342 342 #define M6812_OP_D_IDX 0x1000 /* Indirect indexed: [D,r] */ 343 343 #define M6812_OP_D_IDX_2 0x2000 /* [N,r] N:16-bits */ 344 #define M6811_OP_MASK 0x0FFFF 344 #define M6812_OP_PAGE 0x4000 /* Page number */ 345 #define M6811_OP_MASK 0x07FFF 346 #define M6811_OP_BRANCH 0x00008000 /* Branch, jsr, call */ 345 347 #define M6811_OP_BITMASK 0x00010000 /* Bitmask: #<val-8> */ 346 348 #define M6811_OP_JUMP_REL 0x00020000 /* Pc-Relative: <val-8> */ … … 377 379 #define M6811_OP_LOW_ADDR 0x02000000 378 380 381 #define M68HC12_BANK_VIRT 0x010000 382 #define M68HC12_BANK_MASK 0x00003fff 383 #define M68HC12_BANK_BASE 0x00008000 384 #define M68HC12_BANK_SHIFT 14 385 #define M68HC12_BANK_PAGE_MASK 0x0ff 386 387 379 388 /* CPU identification. */ 380 389 #define cpu6811 0x01 381 390 #define cpu6812 0x02 391 #define cpu6812s 0x04 382 392 383 393 /* The opcode table is an array of struct m68hc11_opcode. */ … … 416 426 417 427 #endif /* _OPCODE_M68HC11_H */ 418 -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/opcode/m88k.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 /* Table of opcodes for the motorola88k family.2 Copyright 1989, 1990, 1991, 1993 Free Software Foundation, Inc.1 /* Table of opcodes for the Motorola M88k family. 2 Copyright 1989, 1990, 1991, 1993, 2001 Free Software Foundation, Inc. 3 3 4 4 This file is part of GDB and GAS. … … 35 35 * are initialized by init_disasm(). 36 36 * 37 * Structure Format38 *39 * struct INSTAB {40 * UPINT opcode;41 * char *mnemonic;42 * struct OPSPEC op1,op2,op3;43 * struct SIM_FLAGS flgs;44 * struct INSTAB *next;45 * }46 *47 * struct OPSPEC {48 * UPINT offset:5;49 * UPINT width:6;50 * UPINT type:5;51 * }52 *53 37 * Revision History 54 38 * … … 62 46 #include <stdio.h> 63 47 64 65 /* 66 * This file contains the structures and constants needed to build the M88000 67 * simulator. It is the main include file, containing all the 68 * structures, macros and definitions except for the floating point 69 * instruction set. 70 */ 71 72 /* 73 * The following flag informs the Simulator as to what type of byte ordering 74 * will be used. For instance, a BOFLAG = 1 indicates a DEC VAX and IBM type 75 * of ordering shall be used. 76 */ 77 78 /* # define BOFLAG 1 */ /* BYTE ORDERING FLAG */ 79 80 /* define the number of bits in the primary opcode field of the instruction, 81 * the destination field, the source 1 and source 2 fields. 82 */ 83 # define OP 8 /* size of opcode field */ 84 # define DEST 6 /* size of destination */ 85 # define SOURCE1 6 /* size of source1 */ 86 # define SOURCE2 6 /* size of source2 */ 87 88 # define REGs 32 /* number of registers */ 89 90 # define WORD long 91 # define FLAG unsigned 92 # define STATE short 93 94 # define TRUE 1 95 # define FALSE 0 96 97 # define READ 0 98 # define WRITE 1 48 /* Define the number of bits in the primary opcode field of the instruction, 49 the destination field, the source 1 and source 2 fields. */ 50 51 /* Size of opcode field. */ 52 #define OP 8 53 54 /* Size of destination. */ 55 #define DEST 6 56 57 /* Size of source1. */ 58 #define SOURCE1 6 59 60 /* Size of source2. */ 61 #define SOURCE2 6 62 63 /* Number of registers. */ 64 #define REGs 32 65 66 /* Type definitions. */ 67 68 typedef unsigned int UINT; 69 #define WORD long 70 #define FLAG unsigned 71 #define STATE short 99 72 100 73 /* The next four equates define the priorities that the various classes 101 74 * of instructions have regarding writing results back into registers and 102 * signalling exceptions. 103 */ 75 * signalling exceptions. */ 76 104 77 /* PMEM is also defined in <sys/param.h> on Delta 88's. Sigh! */ 105 78 #undef PMEM 106 79 107 # define PINT 0 /* Integer Priority */ 108 # define PFLT 1 /* Floating Point Priority */ 109 # define PMEM 2 /* Memory Priority */ 110 # define NA 3 /* Not Applicable, instruction doesnt write to regs */ 111 # define HIPRI 3 /* highest of these priorities */ 80 /* Integer priority. */ 81 #define PINT 0 82 83 /* Floating point priority. */ 84 #define PFLT 1 85 86 /* Memory priority. */ 87 #define PMEM 2 88 89 /* Not applicable, instruction doesn't write to regs. */ 90 #define NA 3 91 92 /* Highest of these priorities. */ 93 #define HIPRI 3 112 94 113 95 /* The instruction registers are an artificial mechanism to speed up … … 123 105 */ 124 106 125 struct IR_FIELDS { 126 unsigned op:OP, 127 dest: DEST, 128 src1: SOURCE1, 129 src2: SOURCE2; 130 int ltncy, 131 extime, 132 wb_pri; /* writeback priority */ 133 unsigned imm_flags:2,/* immediate size */ 134 rs1_used:1, /* register source 1 used */ 135 rs2_used:1, /* register source 2 used */ 136 rsd_used:1, /* register source/dest. used */ 137 c_flag:1, /* complement */ 138 u_flag:1, /* upper half word */ 139 n_flag:1, /* execute next */ 140 wb_flag:1, /* uses writeback slot */ 141 dest_64:1, /* dest size */ 142 s1_64:1, /* source 1 size */ 143 s2_64:1, /* source 2 size */ 144 scale_flag:1, /* scaled register */ 145 brk_flg:1; 146 }; 147 148 struct mem_segs { 149 struct mem_wrd *seg; /* pointer (returned by calloc) to segment */ 150 unsigned long baseaddr; /* base load address from file headers */ 151 unsigned long endaddr; /* Ending address of segment */ 152 int flags; /* segment control flags (none defined 12/5/86) */ 107 struct IR_FIELDS 108 { 109 unsigned op:OP, 110 dest: DEST, 111 src1: SOURCE1, 112 src2: SOURCE2; 113 int ltncy, 114 extime, 115 /* Writeback priority. */ 116 wb_pri; 117 /* Immediate size. */ 118 unsigned imm_flags:2, 119 /* Register source 1 used. */ 120 rs1_used:1, 121 /* Register source 2 used. */ 122 rs2_used:1, 123 /* Register source/dest. used. */ 124 rsd_used:1, 125 /* Complement. */ 126 c_flag:1, 127 /* Upper half word. */ 128 u_flag:1, 129 /* Execute next. */ 130 n_flag:1, 131 /* Uses writeback slot. */ 132 wb_flag:1, 133 /* Dest size. */ 134 dest_64:1, 135 /* Source 1 size. */ 136 s1_64:1, 137 /* Source 2 size. */ 138 s2_64:1, 139 scale_flag:1, 140 /* Scaled register. */ 141 brk_flg:1; 142 }; 143 144 struct mem_segs 145 { 146 /* Pointer (returned by calloc) to segment. */ 147 struct mem_wrd *seg; 148 149 /* Base load address from file headers. */ 150 unsigned long baseaddr; 151 152 /* Ending address of segment. */ 153 unsigned long endaddr; 154 155 /* Segment control flags (none defined). */ 156 int flags; 153 157 }; 154 158 … … 156 160 #define MEMSEGSIZE (sizeof(struct mem_segs))/* size of mem_segs structure */ 157 161 158 162 #if 0 159 163 #define BRK_RD (0x01) /* break on memory read */ 160 164 #define BRK_WR (0x02) /* break on memory write */ 161 165 #define BRK_EXEC (0x04) /* break on execution */ 162 166 #define BRK_CNT (0x08) /* break on terminal count */ 163 164 165 struct mem_wrd { 166 struct IR_FIELDS opcode; /* simulator instruction break down */ 167 union { 168 unsigned long l; /* memory element break down */ 169 unsigned short s[2]; 170 unsigned char c[4]; 171 } mem; 172 }; 173 174 #define MEMWRDSIZE (sizeof(struct mem_wrd)) /* size of each 32 bit memory model */ 175 176 /* External declarations */ 177 178 extern struct mem_segs memory[]; 179 extern struct PROCESSOR m78000; 180 181 struct PROCESSOR { 182 unsigned WORD 183 ip, /* execute instruction pointer */ 184 vbr, /* vector base register */ 185 psr; /* processor status register */ 186 187 WORD S1bus, /* source 1 */ 188 S2bus, /* source 2 */ 189 Dbus, /* destination */ 190 DAbus, /* data address bus */ 191 ALU, 192 Regs[REGs], /* data registers */ 193 time_left[REGs], /* max clocks before reg is available */ 194 wb_pri[REGs], /* writeback priority of reg */ 195 SFU0_regs[REGs], /* integer unit control regs */ 196 SFU1_regs[REGs], /* floating point control regs */ 197 Scoreboard[REGs], 198 Vbr; 199 unsigned WORD scoreboard, 200 Psw, 201 Tpsw; 202 FLAG jump_pending:1; /* waiting for a jump instr. */ 203 }; 204 205 # define i26bit 1 /* size of immediate field */ 206 # define i16bit 2 207 # define i10bit 3 208 209 /* Definitions for fields in psr */ 210 211 # define mode 31 212 # define rbo 30 213 # define ser 29 214 # define carry 28 215 # define sf7m 11 216 # define sf6m 10 217 # define sf5m 9 218 # define sf4m 8 219 # define sf3m 7 220 # define sf2m 6 221 # define sf1m 5 222 # define mam 4 223 # define inm 3 224 # define exm 2 225 # define trm 1 226 # define ovfm 0 227 228 #define MODEMASK (1<<(mode-1)) 229 # define SILENT 0 /* simulate without output to crt */ 230 # define VERBOSE 1 /* simulate in verbose mode */ 231 # define PR_INSTR 2 /* only print instructions */ 232 233 # define RESET 16 /* reset phase */ 234 235 # define PHASE1 0 /* data path phases */ 236 # define PHASE2 1 237 238 /* the 1 clock operations */ 239 240 # define ADDU 1 241 # define ADDC 2 242 # define ADDUC 3 243 # define ADD 4 244 245 # define SUBU ADD+1 246 # define SUBB ADD+2 247 # define SUBUB ADD+3 248 # define SUB ADD+4 249 250 # define AND_ ADD+5 251 # define OR ADD+6 252 # define XOR ADD+7 253 # define CMP ADD+8 254 255 /* the LOADS */ 256 257 # define LDAB CMP+1 258 # define LDAH CMP+2 259 # define LDA CMP+3 260 # define LDAD CMP+4 261 262 # define LDB LDAD+1 263 # define LDH LDAD+2 264 # define LD LDAD+3 265 # define LDD LDAD+4 266 # define LDBU LDAD+5 267 # define LDHU LDAD+6 268 269 /* the STORES */ 270 271 # define STB LDHU+1 272 # define STH LDHU+2 273 # define ST LDHU+3 274 # define STD LDHU+4 275 276 /* the exchange */ 277 278 # define XMEMBU LDHU+5 279 # define XMEM LDHU+6 280 281 /* the branches */ 282 # define JSR STD+1 283 # define BSR STD+2 284 # define BR STD+3 285 # define JMP STD+4 286 # define BB1 STD+5 287 # define BB0 STD+6 288 # define RTN STD+7 289 # define BCND STD+8 290 291 /* the TRAPS */ 292 # define TB1 BCND+1 293 # define TB0 BCND+2 294 # define TCND BCND+3 295 # define RTE BCND+4 296 # define TBND BCND+5 297 298 /* the MISC instructions */ 299 # define MUL TBND + 1 300 # define DIV MUL +2 301 # define DIVU MUL +3 302 # define MASK MUL +4 303 # define FF0 MUL +5 304 # define FF1 MUL +6 305 # define CLR MUL +7 306 # define SET MUL +8 307 # define EXT MUL +9 308 # define EXTU MUL +10 309 # define MAK MUL +11 310 # define ROT MUL +12 311 312 /* control register manipulations */ 313 314 # define LDCR ROT +1 315 # define STCR ROT +2 316 # define XCR ROT +3 317 318 # define FLDCR ROT +4 319 # define FSTCR ROT +5 320 # define FXCR ROT +6 321 322 323 # define NOP XCR +1 324 325 /* floating point instructions */ 326 327 # define FADD NOP +1 328 # define FSUB NOP +2 329 # define FMUL NOP +3 330 # define FDIV NOP +4 331 # define FSQRT NOP +5 332 # define FCMP NOP +6 333 # define FIP NOP +7 334 # define FLT NOP +8 335 # define INT NOP +9 336 # define NINT NOP +10 337 # define TRNC NOP +11 338 # define FLDC NOP +12 339 # define FSTC NOP +13 340 # define FXC NOP +14 341 342 # define UEXT(src,off,wid) ((((unsigned int)(src))>>(off)) & ((1<<(wid)) - 1)) 343 # define SEXT(src,off,wid) (((((int)(src))<<(32-((off)+(wid)))) >>(32-(wid))) ) 344 # define MAKE(src,off,wid) \ 345 ((((unsigned int)(src)) & ((1<<(wid)) - 1)) << (off)) 346 347 # define opword(n) (unsigned long) (memaddr->mem.l) 348 349 /* Constants and Masks */ 167 #endif 168 169 struct mem_wrd 170 { 171 /* Simulator instruction break down. */ 172 struct IR_FIELDS opcode; 173 union { 174 /* Memory element break down. */ 175 unsigned long l; 176 unsigned short s[2]; 177 unsigned char c[4]; 178 } mem; 179 }; 180 181 /* Size of each 32 bit memory model. */ 182 #define MEMWRDSIZE (sizeof (struct mem_wrd)) 183 184 extern struct mem_segs memory[]; 185 extern struct PROCESSOR m78000; 186 187 struct PROCESSOR 188 { 189 unsigned WORD 190 /* Execute instruction pointer. */ 191 ip, 192 /* Vector base register. */ 193 vbr, 194 /* Processor status register. */ 195 psr; 196 197 /* Source 1. */ 198 WORD S1bus, 199 /* Source 2. */ 200 S2bus, 201 /* Destination. */ 202 Dbus, 203 /* Data address bus. */ 204 DAbus, 205 ALU, 206 /* Data registers. */ 207 Regs[REGs], 208 /* Max clocks before reg is available. */ 209 time_left[REGs], 210 /* Writeback priority of reg. */ 211 wb_pri[REGs], 212 /* Integer unit control regs. */ 213 SFU0_regs[REGs], 214 /* Floating point control regs. */ 215 SFU1_regs[REGs], 216 Scoreboard[REGs], 217 Vbr; 218 unsigned WORD scoreboard, 219 Psw, 220 Tpsw; 221 /* Waiting for a jump instruction. */ 222 FLAG jump_pending:1; 223 }; 224 225 /* Size of immediate field. */ 226 227 #define i26bit 1 228 #define i16bit 2 229 #define i10bit 3 230 231 /* Definitions for fields in psr. */ 232 233 #define mode 31 234 #define rbo 30 235 #define ser 29 236 #define carry 28 237 #define sf7m 11 238 #define sf6m 10 239 #define sf5m 9 240 #define sf4m 8 241 #define sf3m 7 242 #define sf2m 6 243 #define sf1m 5 244 #define mam 4 245 #define inm 3 246 #define exm 2 247 #define trm 1 248 #define ovfm 0 249 250 /* The 1 clock operations. */ 251 252 #define ADDU 1 253 #define ADDC 2 254 #define ADDUC 3 255 #define ADD 4 256 257 #define SUBU ADD+1 258 #define SUBB ADD+2 259 #define SUBUB ADD+3 260 #define SUB ADD+4 261 262 #define AND_ ADD+5 263 #define OR ADD+6 264 #define XOR ADD+7 265 #define CMP ADD+8 266 267 /* Loads. */ 268 269 #define LDAB CMP+1 270 #define LDAH CMP+2 271 #define LDA CMP+3 272 #define LDAD CMP+4 273 274 #define LDB LDAD+1 275 #define LDH LDAD+2 276 #define LD LDAD+3 277 #define LDD LDAD+4 278 #define LDBU LDAD+5 279 #define LDHU LDAD+6 280 281 /* Stores. */ 282 283 #define STB LDHU+1 284 #define STH LDHU+2 285 #define ST LDHU+3 286 #define STD LDHU+4 287 288 /* Exchange. */ 289 290 #define XMEMBU LDHU+5 291 #define XMEM LDHU+6 292 293 /* Branches. */ 294 295 #define JSR STD+1 296 #define BSR STD+2 297 #define BR STD+3 298 #define JMP STD+4 299 #define BB1 STD+5 300 #define BB0 STD+6 301 #define RTN STD+7 302 #define BCND STD+8 303 304 /* Traps. */ 305 306 #define TB1 BCND+1 307 #define TB0 BCND+2 308 #define TCND BCND+3 309 #define RTE BCND+4 310 #define TBND BCND+5 311 312 /* Misc. */ 313 314 #define MUL TBND + 1 315 #define DIV MUL +2 316 #define DIVU MUL +3 317 #define MASK MUL +4 318 #define FF0 MUL +5 319 #define FF1 MUL +6 320 #define CLR MUL +7 321 #define SET MUL +8 322 #define EXT MUL +9 323 #define EXTU MUL +10 324 #define MAK MUL +11 325 #define ROT MUL +12 326 327 /* Control register manipulations. */ 328 329 #define LDCR ROT +1 330 #define STCR ROT +2 331 #define XCR ROT +3 332 333 #define FLDCR ROT +4 334 #define FSTCR ROT +5 335 #define FXCR ROT +6 336 337 #define NOP XCR +1 338 339 /* Floating point instructions. */ 340 341 #define FADD NOP +1 342 #define FSUB NOP +2 343 #define FMUL NOP +3 344 #define FDIV NOP +4 345 #define FSQRT NOP +5 346 #define FCMP NOP +6 347 #define FIP NOP +7 348 #define FLT NOP +8 349 #define INT NOP +9 350 #define NINT NOP +10 351 #define TRNC NOP +11 352 #define FLDC NOP +12 353 #define FSTC NOP +13 354 #define FXC NOP +14 355 356 #define UEXT(src,off,wid) \ 357 ((((unsigned int)(src)) >> (off)) & ((1 << (wid)) - 1)) 358 359 #define SEXT(src,off,wid) \ 360 (((((int)(src))<<(32 - ((off) + (wid)))) >>(32 - (wid))) ) 361 362 #define MAKE(src,off,wid) \ 363 ((((unsigned int)(src)) & ((1 << (wid)) - 1)) << (off)) 364 365 #define opword(n) (unsigned long) (memaddr->mem.l) 366 367 /* Constants and masks. */ 350 368 351 369 #define SFU0 0x80000000 … … 361 379 #define CTRLMASK 0xfc00f800 362 380 363 /* Operands types */ 364 365 enum operand_type { 381 /* Operands types. */ 382 383 enum operand_type 384 { 366 385 HEX = 1, 367 386 REG = 2, … … 369 388 IND = 3, 370 389 BF = 4, 371 REGSC = 5 /* scaled register */, 372 CRREG = 6 /* control register */, 373 FCRREG = 7 /* floating point control register */, 390 /* Scaled register. */ 391 REGSC = 5, 392 /* Control register. */ 393 CRREG = 6, 394 /* Floating point control register. */ 395 FCRREG = 7, 374 396 PCREL = 8, 375 397 CONDMASK = 9, 376 XREG = 10, /* extended register */ 377 DEC = 11, /* decimal */ 378 }; 379 380 /* Hashing Specification */ 398 /* Extended register. */ 399 XREG = 10, 400 /* Decimal. */ 401 DEC = 11 402 }; 403 404 /* Hashing specification. */ 381 405 382 406 #define HASHVAL 79 383 407 384 /* Type definitions */ 385 386 typedef unsigned int UINT; 387 388 /* Structure templates */ 389 390 #if never 391 typedef struct { 392 unsigned int offset:5; 393 unsigned int width:6; 394 unsigned int type:5; 408 /* Structure templates. */ 409 410 typedef struct 411 { 412 unsigned int offset; 413 unsigned int width; 414 enum operand_type type; 395 415 } OPSPEC; 396 #endif 397 398 typedef struct { 399 unsigned int offset; 400 unsigned int width; 401 enum operand_type type; 402 } OPSPEC; 403 404 struct SIM_FLAGS { 405 int ltncy, /* latency (max number of clocks needed to execute) */ 406 extime, /* execution time (min number of clocks needed to execute) */ 407 wb_pri; /* writeback slot priority */ 408 unsigned op:OP, /* simulator version of opcode */ 409 imm_flags:2, /* 10,16 or 26 bit immediate flags */ 410 rs1_used:1, /* register source 1 used */ 411 rs2_used:1, /* register source 2 used */ 412 rsd_used:1, /* register source/dest used */ 413 c_flag:1, /* complement */ 414 u_flag:1, /* upper half word */ 415 n_flag:1, /* execute next */ 416 wb_flag:1, /* uses writeback slot */ 417 dest_64:1, /* double precision dest */ 418 s1_64:1, /* double precision source 1 */ 419 s2_64:1, /* double precision source 2 */ 420 scale_flag:1; /* register is scaled */ 416 417 struct SIM_FLAGS 418 { 419 int ltncy, /* latency (max number of clocks needed to execute). */ 420 extime, /* execution time (min number of clocks needed to execute). */ 421 wb_pri; /* writeback slot priority. */ 422 unsigned op:OP, /* simulator version of opcode. */ 423 imm_flags:2, /* 10,16 or 26 bit immediate flags. */ 424 rs1_used:1, /* register source 1 used. */ 425 rs2_used:1, /* register source 2 used. */ 426 rsd_used:1, /* register source/dest used. */ 427 c_flag:1, /* complement. */ 428 u_flag:1, /* upper half word. */ 429 n_flag:1, /* execute next. */ 430 wb_flag:1, /* uses writeback slot. */ 431 dest_64:1, /* double precision dest. */ 432 s1_64:1, /* double precision source 1. */ 433 s2_64:1, /* double precision source 2. */ 434 scale_flag:1; /* register is scaled. */ 421 435 }; 422 436 423 437 typedef struct INSTRUCTAB { 424 unsigned int opcode; 425 char *mnemonic; 426 OPSPEC op1,op2,op3; 427 struct SIM_FLAGS flgs; 428 struct INSTRUCTAB *next; 438 unsigned int opcode; 439 char *mnemonic; 440 OPSPEC op1,op2,op3; 441 struct SIM_FLAGS flgs; 429 442 } INSTAB; 430 443 … … 433 446 #define NO_OPERAND {0,0,0} 434 447 435 /* Opcode Mnemonic Op 1 Spec Op 2 Spec Op 3 Spec Simflags Next */ 436 437 static INSTAB instructions[] = { 438 {0xf400c800,"jsr ",{0,5,REG} ,NO_OPERAND ,NO_OPERAND , {2,2,NA,JSR , 0,0,1,0,0,0,0,1,0,0,0,0}, NULL }, 439 {0xf400cc00,"jsr.n ",{0,5,REG} ,NO_OPERAND ,NO_OPERAND , {1,1,NA,JSR , 0,0,1,0,0,0,1,1,0,0,0,0}, NULL }, 440 {0xf400c000,"jmp ",{0,5,REG} ,NO_OPERAND ,NO_OPERAND , {2,2,NA,JMP , 0,0,1,0,0,0,0,1,0,0,0,0}, NULL }, 441 {0xf400c400,"jmp.n ",{0,5,REG} ,NO_OPERAND ,NO_OPERAND , {1,1,NA,JMP , 0,0,1,0,0,0,1,1,0,0,0,0}, NULL }, 442 {0xc8000000,"bsr ",{0,26,PCREL},NO_OPERAND ,NO_OPERAND , {2,2,NA,BSR , i26bit,0,0,0,0,0,0,1,0,0,0,0}, NULL }, 443 {0xcc000000,"bsr.n ",{0,26,PCREL},NO_OPERAND ,NO_OPERAND , {1,1,NA,BSR , i26bit,0,0,0,0,0,1,1,0,0,0,0}, NULL }, 444 {0xc0000000,"br ",{0,26,PCREL},NO_OPERAND ,NO_OPERAND , {2,2,NA,BR , i26bit,0,0,0,0,0,0,1,0,0,0,0}, NULL }, 445 {0xc4000000,"br.n ",{0,26,PCREL},NO_OPERAND ,NO_OPERAND , {1,1,NA,BR , i26bit,0,0,0,0,0,1,1,0,0,0,0}, NULL }, 446 {0xd0000000,"bb0 ",{21,5,HEX} ,{16,5,REG} ,{0,16,PCREL},{2,2,NA,BB0, i16bit,0,1,0,0,0,0,1,0,0,0,0}, NULL }, 447 {0xd4000000,"bb0.n ",{21,5,HEX} ,{16,5,REG} ,{0,16,PCREL},{1,1,NA,BB0, i16bit,0,1,0,0,0,1,1,0,0,0,0}, NULL }, 448 {0xd8000000,"bb1 ",{21,5,HEX},{16,5,REG} ,{0,16,PCREL},{2,2,NA,BB1, i16bit,0,1,0,0,0,0,1,0,0,0,0}, NULL }, 449 {0xdc000000,"bb1.n ",{21,5,HEX},{16,5,REG} ,{0,16,PCREL},{1,1,NA,BB1, i16bit,0,1,0,0,0,1,1,0,0,0,0}, NULL }, 450 {0xf000d000,"tb0 ",{21,5,HEX} ,{16,5,REG} ,{0,10,HEX}, {2,2,NA,TB0 , i10bit,0,1,0,0,0,0,1,0,0,0,0}, NULL }, 451 {0xf000d800,"tb1 ",{21,5,HEX} ,{16,5,REG} ,{0,10,HEX}, {2,2,NA,TB1 , i10bit,0,1,0,0,0,0,1,0,0,0,0}, NULL }, 452 {0xe8000000,"bcnd ",{21,5,CONDMASK},{16,5,REG},{0,16,PCREL},{2,2,NA,BCND, i16bit,0,1,0,0,0,0,1,0,0,0,0}, NULL }, 453 {0xec000000,"bcnd.n ",{21,5,CONDMASK},{16,5,REG},{0,16,PCREL},{1,1,NA,BCND, i16bit,0,1,0,0,0,1,1,0,0,0,0}, NULL }, 454 {0xf000e800,"tcnd ",{21,5,CONDMASK},{16,5,REG},{0,10,HEX}, {2,2,NA,TCND, i10bit,0,1,0,0,0,0,1,0,0,0,0}, NULL }, 455 {0xf8000000,"tbnd ",{16,5,REG} ,{0,16,HEX} ,NO_OPERAND , {2,2,NA,TBND, i10bit,1,0,0,0,0,0,1,0,0,0,0}, NULL }, 456 {0xf400f800,"tbnd ",{16,5,REG} ,{0,5,REG} ,NO_OPERAND , {2,2,NA,TBND, 0,1,1,0,0,0,0,1,0,0,0,0}, NULL }, 457 {0xf400fc00,"rte ",NO_OPERAND ,NO_OPERAND ,NO_OPERAND , {2,2,NA,RTE , 0,0,0,0,0,0,0,1,0,0,0,0}, NULL }, 458 {0x1c000000,"ld.b ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {3,1,PMEM,LDB ,i16bit,1,0,1,0,0,0,1,0,0,0,0}, NULL }, 459 {0xf4001c00,"ld.b ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {3,1,PMEM,LDB , 0,1,1,1,0,0,0,1,0,0,0,0}, NULL }, 460 {0x0c000000,"ld.bu ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {3,1,PMEM,LDBU, i16bit,1,0,1,0,0,0,1,0,0,0,0}, NULL }, 461 {0xf4000c00,"ld.bu ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {3,1,PMEM,LDBU ,0,1,1,1,0,0,0,1,0,0,0,0}, NULL }, 462 {0x18000000,"ld.h ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {3,1,PMEM,LDH ,i16bit,1,0,1,0,0,0,1,0,0,0,0}, NULL }, 463 {0xf4001800,"ld.h ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {3,1,PMEM,LDH ,0,1,1,1,0,0,0,1,0,0,0,0}, NULL }, 464 {0xf4001a00,"ld.h ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{3,1,PMEM,LDH ,0,1,1,1,0,0,0,1,0,0,0,1}, NULL }, 465 {0x08000000,"ld.hu ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {3,1,PMEM,LDHU, i16bit,1,0,1,0,0,0,1,0,0,0,0}, NULL }, 466 {0xf4000800,"ld.hu ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {3,1,PMEM,LDHU ,0,1,1,1,0,0,0,1,0,0,0,0}, NULL }, 467 {0xf4000a00,"ld.hu ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{3,1,PMEM,LDHU ,0,1,1,1,0,0,0,1,0,0,0,1}, NULL }, 468 {0x14000000,"ld ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {3,1,PMEM,LD ,i16bit,1,0,1,0,0,0,1,0,0,0,0}, NULL }, 469 {0xf4001400,"ld ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {3,1,PMEM,LD ,0,1,1,1,0,0,0,1,0,0,0,0}, NULL }, 470 {0xf4001600,"ld ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{3,1,PMEM,LD ,0,1,1,1,0,0,0,1,0,0,0,1}, NULL }, 471 {0x10000000,"ld.d ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {3,1,PMEM,LDD ,i16bit,1,0,1,0,0,0,1,0,0,0,0}, NULL }, 472 {0xf4001000,"ld.d ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {3,1,PMEM,LDD ,0,1,1,1,0,0,0,1,0,0,0,0}, NULL }, 473 {0xf4001200,"ld.d ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{3,1,PMEM,LDD ,0,1,1,1,0,0,0,1,0,0,0,1}, NULL }, 474 {0xf4001500,"ld.usr ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {3,1,PMEM,LD ,0,1,1,1,0,0,0,1,0,0,0,0}, NULL }, 475 {0xf4001700,"ld.usr ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{3,1,PMEM,LD ,0,1,1,1,0,0,0,1,0,0,0,1}, NULL }, 476 {0x2c000000,"st.b ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,NA,STB ,i16bit,1,0,1,0,0,0,1,0,0,0,0}, NULL }, 477 {0xf4002c00,"st.b ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,NA,STB ,0,1,1,1,0,0,0,1,0,0,0,0}, NULL }, 478 {0x28000000,"st.h ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,NA,STH ,i16bit,1,0,1,0,0,0,1,0,0,0,0}, NULL }, 479 {0xf4002800,"st.h ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,NA,STH ,0,1,1,1,0,0,0,1,0,0,0,0}, NULL }, 480 {0xf4002a00,"st.h ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{1,1,NA,STH ,0,1,1,1,0,0,0,1,0,0,0,1}, NULL }, 481 {0x24000000,"st ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,NA,ST ,i16bit,1,0,1,0,0,0,1,0,0,0,0}, NULL }, 482 {0xf4002400,"st ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,NA,ST ,0,1,1,1,0,0,0,1,0,0,0,0} ,NULL }, 483 {0xf4002600,"st ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{1,1,NA,ST ,0,1,1,1,0,0,0,1,0,0,0,1} ,NULL }, 484 {0x20000000,"st.d ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,NA,STD ,i16bit,0,1,0,0,0,0,1,0,0,0,0} ,NULL }, 485 {0xf4002000,"st.d ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,NA,STD ,0,1,1,1,0,0,0,1,0,0,0,0} ,NULL }, 486 {0xf4002200,"st.d ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{1,1,NA,STD ,0,1,1,1,0,0,0,1,0,0,0,1} ,NULL }, 487 {0xf4002500,"st.usr ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,NA,ST ,0,1,1,1,0,0,0,1,0,0,0,0} ,NULL }, 488 {0xf4002700,"st.usr ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{1,1,NA,ST ,0,1,1,1,0,0,0,1,0,0,0,1} ,NULL }, 489 /* m88100 only: 490 {0x00000000,"xmem.bu ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {3,1,PMEM,XMEMBU ,i16bit,1,1,1,0,0,0,1,0,0,0,0} ,NULL }, 491 */ 492 {0xf4000000,"xmem.bu ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {3,1,PMEM,XMEM ,0,1,1,1,0,0,0,1,0,0,0,0} ,NULL }, 493 /* m88100 only: 494 {0x04000000,"xmem ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {3,1,PMEM,XMEM ,i16bit,1,1,1,0,0,0,1,0,0,0,0} ,NULL }, 495 */ 496 {0xf4000400,"xmem ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {3,1,PMEM,XMEM ,0,1,1,1,0,0,0,1,0,0,0,0} ,NULL }, 497 {0xf4000600,"xmem ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{3,1,PMEM,XMEM ,0,1,1,1,0,0,0,1,0,0,0,1} ,NULL }, 498 {0xf4000500,"xmem.usr ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {3,1,PMEM,XMEM ,0,1,1,1,0,0,0,1,0,0,0,0} ,NULL }, 499 {0xf4000700,"xmem.usr ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{3,1,PMEM,XMEM ,0,1,1,1,0,0,0,1,0,0,0,1} ,NULL }, 500 /* m88100 only: 501 {0xf4003e00,"lda.b ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{1,1,PINT,LDAH, 0,1,1,1,0,0,0,0,0,0,0,1} ,NULL }, 502 */ 503 {0xf4003e00,"lda.x ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{1,1,PINT,LDAH, 0,1,1,1,0,0,0,0,0,0,0,1} ,NULL }, 504 {0xf4003a00,"lda.h ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{1,1,PINT,LDAH, 0,1,1,1,0,0,0,0,0,0,0,1} ,NULL }, 505 {0xf4003600,"lda ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{1,1,PINT,LDA , 0,1,1,1,0,0,0,0,0,0,0,1} ,NULL }, 506 {0xf4003200,"lda.d ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{1,1,PINT,LDAD, 0,1,1,1,0,0,0,0,0,0,0,1} ,NULL }, 507 508 {0x80004000,"ldcr ",{21,5,REG} ,{5,6,CRREG} ,NO_OPERAND ,{1,1,PINT,LDCR, 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 509 {0x80008000,"stcr ",{16,5,REG} ,{5,6,CRREG} ,NO_OPERAND ,{1,1,PINT,STCR, 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 510 {0x8000c000,"xcr ",{21,5,REG} ,{16,5,REG} ,{5,6,CRREG},{1,1,PINT,XCR, 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 511 512 {0xf4006000,"addu ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,ADDU, 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 513 {0xf4006200,"addu.ci ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,ADDU, 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 514 {0xf4006100,"addu.co ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,ADDU, 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 515 {0xf4006300,"addu.cio ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,ADDU, 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 516 {0xf4006400,"subu ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,SUBU, 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 517 {0xf4006600,"subu.ci ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,SUBU, 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 518 {0xf4006500,"subu.co ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,SUBU, 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 519 {0xf4006700,"subu.cio ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,SUBU, 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 520 {0xf4006800,"divu ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {32,32,PINT,DIVU, 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 521 {0xf4006900,"divu.d ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,}, NULL }, 522 {0xf4006e00,"muls ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,}, NULL }, 523 {0xf4006c00,"mulu ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,4,PINT,MUL, 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 524 {0xf4007000,"add ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,ADD , 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 525 {0xf4007200,"add.ci ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,ADD , 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 526 {0xf4007100,"add.co ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,ADD , 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 527 {0xf4007300,"add.cio ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,ADD , 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 528 {0xf4007400,"sub ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,SUB , 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 529 {0xf4007600,"sub.ci ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,SUB , 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 530 {0xf4007500,"sub.co ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,SUB , 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 531 {0xf4007700,"sub.cio ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,SUB , 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 532 {0xf4007800,"divs ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {32,32,PINT,DIV , 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 533 {0xf4007c00,"cmp ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,CMP, 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 534 535 {0x60000000,"addu ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,PINT,ADDU, i16bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL }, 536 {0x64000000,"subu ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,PINT,SUBU, i16bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL }, 537 538 {0x68000000,"divu ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {32,32,PINT,DIVU, i16bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL }, 539 {0x6c000000,"mulu ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {4,1,PINT,MUL, i16bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL }, 540 {0x70000000,"add ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,PINT,ADD, i16bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL }, 541 {0x74000000,"sub ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,PINT,SUB, i16bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL }, 542 {0x78000000,"divs ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {32,32,PINT,DIV, i16bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL }, 543 {0x7c000000,"cmp ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,PINT,CMP, i16bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL }, 544 545 {0xf4004000,"and ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,AND_ ,0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 546 {0xf4004400,"and.c ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,AND_ ,0,1,1,1,1,0,0,0,0,0,0,0} ,NULL }, 547 {0xf4005800,"or ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,OR ,0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 548 {0xf4005c00,"or.c ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,OR ,0,1,1,1,1,0,0,0,0,0,0,0} ,NULL }, 549 {0xf4005000,"xor ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,XOR ,0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 550 {0xf4005400,"xor.c ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,XOR ,0,1,1,1,1,0,0,0,0,0,0,0} ,NULL }, 551 {0x40000000,"and ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,PINT,AND_ ,i16bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL }, 552 {0x44000000,"and.u ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,PINT,AND_ ,i16bit,1,0,1,0,1,0,0,0,0,0,0} ,NULL }, 553 {0x58000000,"or ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,PINT,OR ,i16bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL }, 554 {0x5c000000,"or.u ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,PINT,OR ,i16bit,1,0,1,0,1,0,0,0,0,0,0} ,NULL }, 555 {0x50000000,"xor ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,PINT,XOR ,i16bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL }, 556 {0x54000000,"xor.u ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,PINT,XOR ,i16bit,1,0,1,0,1,0,0,0,0,0,0} ,NULL }, 557 {0x48000000,"mask ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,PINT,MASK ,i16bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL }, 558 {0x4c000000,"mask.u ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,PINT,MASK ,i16bit,1,0,1,0,1,0,0,0,0,0,0} ,NULL }, 559 {0xf400ec00,"ff0 ",{21,5,REG} ,{0,5,REG} ,NO_OPERAND , {1,1,PINT,FF0 ,0,0,1,1,0,0,0,0,0,0,0,0} ,NULL }, 560 {0xf400e800,"ff1 ",{21,5,REG} ,{0,5,REG} ,NO_OPERAND , {1,1,PINT,FF1 ,0,0,1,1,0,0,0,0,0,0,0,0} ,NULL }, 561 {0xf0008000,"clr ",{21,5,REG} ,{16,5,REG} ,{0,10,BF} , {1,1,PINT,CLR ,i10bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL }, 562 {0xf0008800,"set ",{21,5,REG} ,{16,5,REG} ,{0,10,BF} , {1,1,PINT,SET ,i10bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL }, 563 {0xf0009000,"ext ",{21,5,REG} ,{16,5,REG} ,{0,10,BF} , {1,1,PINT,EXT ,i10bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL }, 564 {0xf0009800,"extu ",{21,5,REG} ,{16,5,REG} ,{0,10,BF} , {1,1,PINT,EXTU ,i10bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL }, 565 {0xf000a000,"mak ",{21,5,REG} ,{16,5,REG} ,{0,10,BF} , {1,1,PINT,MAK ,i10bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL }, 566 {0xf000a800,"rot ",{21,5,REG} ,{16,5,REG} ,{0,10,BF} , {1,1,PINT,ROT ,i10bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL }, 567 {0xf4008000,"clr ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,CLR ,0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 568 {0xf4008800,"set ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,SET ,0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 569 {0xf4009000,"ext ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,EXT ,0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 570 {0xf4009800,"extu ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,EXTU ,0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 571 {0xf400a000,"mak ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,MAK ,0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 572 {0xf400a800,"rot ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,ROT ,0,1,1,1,0,0,0,0,0,0,0,0} ,NULL }, 573 574 {0x84002800,"fadd.sss ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {5,1,PFLT,FADD ,0,1,1,1,0,0,0,1,0,0,0,0} ,NULL }, 575 {0x84002880,"fadd.ssd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,2,PFLT,FADD ,0,1,1,1,0,0,0,1,0,0,1,0} ,NULL }, 576 {0x84002a00,"fadd.sds ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,2,PFLT,FADD ,0,1,1,1,0,0,0,1,0,1,0,0} ,NULL }, 577 {0x84002a80,"fadd.sdd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,2,PFLT,FADD ,0,1,1,1,0,0,0,1,0,1,1,0} ,NULL }, 578 {0x84002820,"fadd.dss ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,2,PFLT,FADD ,0,1,1,1,0,0,0,1,1,0,0,0} ,NULL }, 579 {0x840028a0,"fadd.dsd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,2,PFLT,FADD ,0,1,1,1,0,0,0,1,1,0,1,0} ,NULL }, 580 {0x84002a20,"fadd.dds ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,2,PFLT,FADD ,0,1,1,1,0,0,0,1,1,1,0,0} ,NULL }, 581 {0x84002aa0,"fadd.ddd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,2,PFLT,FADD ,0,1,1,1,0,0,0,1,1,1,1,0} ,NULL }, 582 {0x84003000,"fsub.sss ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {5,1,PFLT,FSUB ,0,1,1,1,0,0,0,1,0,0,0,0} ,NULL }, 583 {0x84003080,"fsub.ssd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,2,PFLT,FSUB ,0,1,1,1,0,0,0,1,0,0,1,0} ,NULL }, 584 {0x84003200,"fsub.sds ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,2,PFLT,FSUB ,0,1,1,1,0,0,0,1,0,1,0,0} ,NULL }, 585 {0x84003280,"fsub.sdd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,2,PFLT,FSUB ,0,1,1,1,0,0,0,1,0,1,1,0} ,NULL }, 586 {0x84003020,"fsub.dss ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,2,PFLT,FSUB ,0,1,1,1,0,0,0,1,1,0,0,0} ,NULL }, 587 {0x840030a0,"fsub.dsd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,2,PFLT,FSUB ,0,1,1,1,0,0,0,1,1,0,1,0} ,NULL }, 588 {0x84003220,"fsub.dds ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,2,PFLT,FSUB ,0,1,1,1,0,0,0,1,1,1,0,0} ,NULL }, 589 {0x840032a0,"fsub.ddd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,2,PFLT,FSUB ,0,1,1,1,0,0,0,1,1,1,1,0} ,NULL }, 590 {0x84000000,"fmul.sss ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,1,PFLT,FMUL ,0,1,1,1,0,0,0,1,0,0,0,0} ,NULL }, 591 {0x84000080,"fmul.ssd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {9,2,PFLT,FMUL ,0,1,1,1,0,0,0,1,0,0,1,0} ,NULL }, 592 {0x84000200,"fmul.sds ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {9,2,PFLT,FMUL ,0,1,1,1,0,0,0,1,0,1,0,0} ,NULL }, 593 {0x84000280,"fmul.sdd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {9,2,PFLT,FMUL ,0,1,1,1,0,0,0,1,0,1,1,0} ,NULL }, 594 {0x84000020,"fmul.dss ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {9,2,PFLT,FMUL ,0,1,1,1,0,0,0,1,1,0,0,0} ,NULL }, 595 {0x840000a0,"fmul.dsd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {9,2,PFLT,FMUL ,0,1,1,1,0,0,0,1,1,0,1,0} ,NULL }, 596 {0x84000220,"fmul.dds ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {9,2,PFLT,FMUL ,0,1,1,1,0,0,0,1,1,1,0,0} ,NULL }, 597 {0x840002a0,"fmul.ddd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {9,2,PFLT,FMUL ,0,1,1,1,0,0,0,1,1,1,1,0} ,NULL }, 598 {0x84007000,"fdiv.sss ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {30,30,PFLT,FDIV ,0,1,1,1,0,0,0,1,0,0,0,0} ,NULL }, 599 {0x84007080,"fdiv.ssd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {60,60,PFLT,FDIV ,0,1,1,1,0,0,0,1,0,0,1,0} ,NULL }, 600 {0x84007200,"fdiv.sds ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {60,60,PFLT,FDIV ,0,1,1,1,0,0,0,1,0,1,0,0} ,NULL }, 601 {0x84007280,"fdiv.sdd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {60,60,PFLT,FDIV ,0,1,1,1,0,0,0,1,0,1,1,0} ,NULL }, 602 {0x84007020,"fdiv.dss ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {60,60,PFLT,FDIV ,0,1,1,1,0,0,0,1,1,0,0,0} ,NULL }, 603 {0x840070a0,"fdiv.dsd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {60,60,PFLT,FDIV ,0,1,1,1,0,0,0,1,1,0,1,0} ,NULL }, 604 {0x84007220,"fdiv.dds ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {60,60,PFLT,FDIV ,0,1,1,1,0,0,0,1,1,1,0,0} ,NULL }, 605 {0x840072a0,"fdiv.ddd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {60,60,PFLT,FDIV ,0,1,1,1,0,0,0,1,1,1,1,0} ,NULL }, 606 {0x84007800,"fsqrt.ss ",{21,5,REG} ,{0,5,REG} ,NO_OPERAND , {5,1,PFLT,FLT ,0,0,1,1,0,0,0,1,0,0,0,0} ,NULL }, 607 {0x84007820,"fsqrt.sd ",{21,5,REG} ,{0,5,REG} ,NO_OPERAND , {5,1,PFLT,FLT ,0,0,1,1,0,0,0,1,0,0,0,0} ,NULL }, 608 {0x84007880,"fsqrt.ds ",{21,5,REG} ,{0,5,REG} ,NO_OPERAND , {5,1,PFLT,FLT ,0,0,1,1,0,0,0,1,0,0,0,0} ,NULL }, 609 {0x840078a0,"fsqrt.dd ",{21,5,REG} ,{0,5,REG} ,NO_OPERAND , {6,1,PFLT,FLT ,0,0,1,1,0,0,0,1,1,0,0,0} ,NULL }, 610 {0x84003800,"fcmp.ss ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {5,1,PFLT,FCMP ,0,1,1,1,0,0,0,1,0,0,0,0} ,NULL }, 611 {0x84003880,"fcmp.sd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,1,PFLT,FCMP ,0,1,1,1,0,0,0,1,0,1,0,0} ,NULL }, 612 {0x84003a00,"fcmp.ds ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,1,PFLT,FCMP ,0,1,1,1,0,0,0,1,1,0,0,0} ,NULL }, 613 {0x84003a80,"fcmp.dd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,1,PFLT,FCMP ,0,1,1,1,0,0,0,1,1,1,0,0} ,NULL }, 614 {0x84002000,"flt.s ",{21,5,REG} ,{0,5,REG} ,NO_OPERAND , {5,1,PFLT,FLT ,0,0,1,1,0,0,0,1,0,0,0,0} ,NULL }, 615 {0x84002020,"flt.d ",{21,5,REG} ,{0,5,REG} ,NO_OPERAND , {6,1,PFLT,FLT ,0,0,1,1,0,0,0,1,1,0,0,0} ,NULL }, 616 {0x84004800,"int.s ",{21,5,REG} ,{0,5,REG} ,NO_OPERAND , {5,1,PFLT,INT ,0,0,1,1,0,0,0,1,0,0,0,0} ,NULL }, 617 {0x84004880,"int.d ",{21,5,REG} ,{0,5,REG} ,NO_OPERAND , {6,1,PFLT,INT ,0,0,1,1,0,0,0,1,1,0,0,0} ,NULL }, 618 {0x84005000,"nint.s ",{21,5,REG} ,{0,5,REG} ,NO_OPERAND , {5,1,PFLT,INT ,0,0,1,1,0,0,0,1,0,0,0,0} ,NULL }, 619 {0x84005080,"nint.d ",{21,5,REG} ,{0,5,REG} ,NO_OPERAND , {6,1,PFLT,INT ,0,0,1,1,0,0,0,1,1,0,0,0} ,NULL }, 620 {0x84005800,"trnc.s ",{21,5,REG} ,{0,5,REG} ,NO_OPERAND , {5,1,PFLT,TRNC ,0,0,1,1,0,0,0,1,0,0,0,0} ,NULL }, 621 {0x84005880,"trnc.d ",{21,5,REG} ,{0,5,REG} ,NO_OPERAND , {6,1,PFLT,TRNC ,0,0,1,1,0,0,0,1,1,0,0,0} ,NULL }, 622 623 {0x80004800,"fldcr ",{21,5,REG} ,{5,6,FCRREG} ,NO_OPERAND , {1,1,PFLT,FLDC ,0,0,1,1,0,0,0,1,0,0,0,0} ,NULL }, 624 {0x80008800,"fstcr ",{16,5,REG} ,{5,6,FCRREG} ,NO_OPERAND , {1,1,PFLT,FSTC ,0,0,1,1,0,0,0,1,0,0,0,0} ,NULL }, 625 {0x8000c800,"fxcr ",{21,5,REG} ,{16,5,REG} ,{5,6,FCRREG} , {1,1,PFLT,FXC ,0,0,1,1,0,0,0,1,0,0,0,0} ,NULL }, 626 627 /* The following are new for the 88110. */ 628 629 {0x8400aaa0,"fadd.ddd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 630 {0x8400aa80,"fadd.dds ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 631 {0x8400aac0,"fadd.ddx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 632 {0x8400aa20,"fadd.dsd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 633 {0x8400aa00,"fadd.dss ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 634 {0x8400aa40,"fadd.dsx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 635 {0x8400ab20,"fadd.dxd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 636 {0x8400ab00,"fadd.dxs ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 637 {0x8400ab40,"fadd.dxx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 638 {0x8400a8a0,"fadd.sdd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 639 {0x8400a880,"fadd.sds ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 640 {0x8400a8c0,"fadd.sdx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 641 {0x8400a820,"fadd.ssd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 642 {0x8400a800,"fadd.sss ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 643 {0x8400a840,"fadd.ssx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 644 {0x8400a920,"fadd.sxd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 645 {0x8400a900,"fadd.sxs ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 646 {0x8400a940,"fadd.sxx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 647 {0x8400aca0,"fadd.xdd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 648 {0x8400ac80,"fadd.xds ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 649 {0x8400acc0,"fadd.xdx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 650 {0x8400ac20,"fadd.xsd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 651 {0x8400ac00,"fadd.xss ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 652 {0x8400ac40,"fadd.xsx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 653 {0x8400ad20,"fadd.xxd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 654 {0x8400ad00,"fadd.xxs ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 655 {0x8400ad40,"fadd.xxx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 656 657 {0x8400ba80,"fcmp.sdd ",{21,5,REG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 658 {0x8400ba00,"fcmp.sds ",{21,5,REG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 659 {0x8400bb00,"fcmp.sdx ",{21,5,REG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 660 {0x8400b880,"fcmp.ssd ",{21,5,REG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 661 {0x8400b800,"fcmp.sss ",{21,5,REG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 662 {0x8400b900,"fcmp.ssx ",{21,5,REG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 663 {0x8400bc80,"fcmp.sxd ",{21,5,REG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 664 {0x8400bc00,"fcmp.sxs ",{21,5,REG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 665 {0x8400bd00,"fcmp.sxx ",{21,5,REG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 666 667 {0x8400baa0,"fcmpu.sdd ",{21,5,REG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 668 {0x8400ba20,"fcmpu.sds ",{21,5,REG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 669 {0x8400bb20,"fcmpu.sdx ",{21,5,REG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 670 {0x8400b8a0,"fcmpu.ssd ",{21,5,REG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 671 {0x8400b820,"fcmpu.sss ",{21,5,REG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 672 {0x8400b920,"fcmpu.ssx ",{21,5,REG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 673 {0x8400bca0,"fcmpu.sxd ",{21,5,REG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 674 {0x8400bc20,"fcmpu.sxs ",{21,5,REG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 675 {0x8400bd20,"fcmpu.sxx ",{21,5,REG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 676 677 {0x84000820,"fcvt.sd ",{21,5,REG} ,{0,5,REG} ,NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 678 {0x84000880,"fcvt.ds ",{21,5,REG} ,{0,5,REG} ,NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 679 680 {0x84008880,"fcvt.ds ",{21,5,XREG} ,{0,5,XREG} ,NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 681 {0x840088c0,"fcvt.dx ",{21,5,XREG} ,{0,5,XREG} ,NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 682 {0x84008820,"fcvt.sd ",{21,5,XREG} ,{0,5,XREG} ,NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 683 {0x84008840,"fcvt.sx ",{21,5,XREG} ,{0,5,XREG} ,NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 684 {0x84008920,"fcvt.xd ",{21,5,XREG} ,{0,5,XREG} ,NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 685 {0x84008900,"fcvt.xs ",{21,5,XREG} ,{0,5,XREG} ,NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 686 687 {0x8400f2a0,"fdiv.ddd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 688 {0x8400f280,"fdiv.dds ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 689 {0x8400f2c0,"fdiv.ddx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 690 {0x8400f220,"fdiv.dsd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 691 {0x8400f200,"fdiv.dss ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 692 {0x8400f240,"fdiv.dsx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 693 {0x8400f320,"fdiv.dxd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 694 {0x8400f300,"fdiv.dxs ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 695 {0x8400f340,"fdiv.dxx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 696 {0x8400f0a0,"fdiv.sdd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 697 {0x8400f080,"fdiv.sds ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 698 {0x8400f0c0,"fdiv.sdx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 699 {0x8400f020,"fdiv.ssd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 700 {0x8400f000,"fdiv.sss ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 701 {0x8400f040,"fdiv.ssx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 702 {0x8400f120,"fdiv.sxd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 703 {0x8400f100,"fdiv.sxs ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 704 {0x8400f140,"fdiv.sxx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 705 {0x8400f4a0,"fdiv.xdd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 706 {0x8400f480,"fdiv.xds ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 707 {0x8400f4c0,"fdiv.xdx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 708 {0x8400f420,"fdiv.xsd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 709 {0x8400f400,"fdiv.xss ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 710 {0x8400f440,"fdiv.xsx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 711 {0x8400f520,"fdiv.xxd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 712 {0x8400f500,"fdiv.xxs ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 713 {0x8400f540,"fdiv.xxx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 714 715 {0x84002220,"flt.ds ",{21,5,XREG} ,{0,5,REG} ,NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 716 {0x84002200,"flt.ss ",{21,5,XREG} ,{0,5,REG} ,NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 717 {0x84002240,"flt.xs ",{21,5,XREG} ,{0,5,REG} ,NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 718 719 {0x840082a0,"fmul.ddd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 720 {0x84008280,"fmul.dds ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 721 {0x840082c0,"fmul.ddx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 722 {0x84008220,"fmul.dsd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 723 {0x84008200,"fmul.dss ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 724 {0x84008240,"fmul.dsx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 725 {0x84008320,"fmul.dxd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 726 {0x84008300,"fmul.dxs ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 727 {0x84008340,"fmul.dxx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 728 {0x840080a0,"fmul.sdd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 729 {0x84008080,"fmul.sds ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 730 {0x840080c0,"fmul.sdx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 731 {0x84008020,"fmul.ssd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 732 {0x84008000,"fmul.sss ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 733 {0x84008040,"fmul.ssx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 734 {0x84008120,"fmul.sxd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 735 {0x84008100,"fmul.sxs ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 736 {0x84008140,"fmul.sxx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 737 {0x840084a0,"fmul.xdd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 738 {0x84008480,"fmul.xds ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 739 {0x840084c0,"fmul.xdx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 740 {0x84008420,"fmul.xsd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 741 {0x84008400,"fmul.xss ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 742 {0x84008440,"fmul.xsx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 743 {0x84008520,"fmul.xxd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 744 {0x84008500,"fmul.xxs ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 745 {0x84008540,"fmul.xxx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 746 747 {0x8400f8a0,"fsqrt.dd ",{21,5,XREG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 748 {0x8400f880,"fsqrt.ds ",{21,5,XREG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 749 {0x8400f8c0,"fsqrt.dx ",{21,5,XREG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 750 {0x8400f820,"fsqrt.sd ",{21,5,XREG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 751 {0x8400f800,"fsqrt.ss ",{21,5,XREG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 752 {0x8400f840,"fsqrt.sx ",{21,5,XREG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 753 {0x8400f920,"fsqrt.xd ",{21,5,XREG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 754 {0x8400f900,"fsqrt.xs ",{21,5,XREG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 755 {0x8400f940,"fsqrt.xx ",{21,5,XREG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 756 757 {0x8400b2a0,"fsub.ddd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 758 {0x8400b280,"fsub.dds ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 759 {0x8400b2c0,"fsub.ddx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 760 {0x8400b220,"fsub.dsd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 761 {0x8400b200,"fsub.dss ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 762 {0x8400b240,"fsub.dsx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 763 {0x8400b320,"fsub.dxd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 764 {0x8400b300,"fsub.dxs ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 765 {0x8400b340,"fsub.dxx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 766 {0x8400b0a0,"fsub.sdd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 767 {0x8400b080,"fsub.sds ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 768 {0x8400b0c0,"fsub.sdx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 769 {0x8400b020,"fsub.ssd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 770 {0x8400b000,"fsub.sss ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 771 {0x8400b040,"fsub.ssx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 772 {0x8400b120,"fsub.sxd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 773 {0x8400b100,"fsub.sxs ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 774 {0x8400b140,"fsub.sxx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 775 {0x8400b4a0,"fsub.xdd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 776 {0x8400b480,"fsub.xds ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 777 {0x8400b4c0,"fsub.xdx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 778 {0x8400b420,"fsub.xsd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 779 {0x8400b400,"fsub.xss ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 780 {0x8400b440,"fsub.xsx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 781 {0x8400b520,"fsub.xxd ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 782 {0x8400b500,"fsub.xxs ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 783 {0x8400b540,"fsub.xxx ",{21,5,XREG} ,{16,5,XREG} ,{0,5,XREG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 784 785 {0x8400fc00,"illop", {0,2,DEC}, NO_OPERAND, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 786 787 {0x8400c800,"int.ss ", {21,5,REG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 788 {0x8400c880,"int.sd ", {21,5,REG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 789 {0x8400c900,"int.sx ", {21,5,REG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 790 791 {0x04000000,"ld ", {21,5,XREG}, {16,5,REG}, {0,16,HEX}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 792 {0x00000000,"ld.d ", {21,5,XREG}, {16,5,REG}, {0,16,HEX}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 793 {0x3c000000,"ld.x ", {21,5,XREG}, {16,5,REG}, {0,16,HEX}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 794 795 {0xf0001400,"ld ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 796 {0xf0001000,"ld.d ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 797 {0xf0001800,"ld.x ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 798 {0xf0001500,"ld.usr ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 799 {0xf0001100,"ld.d.usr ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 800 {0xf0001900,"ld.x.usr ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 801 802 {0xf0001600,"ld ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 803 {0xf0001200,"ld.d ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 804 {0xf0001a00,"ld.x ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 805 {0xf0001700,"ld.usr ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 806 {0xf0001300,"ld.d.usr ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 807 {0xf0001b00,"ld.x.usr ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 808 809 {0x8400c000,"mov.s ", {21,5,REG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 810 {0x8400c080,"mov.d ", {21,5,REG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 811 {0x84004200,"mov.s ", {21,5,XREG}, {0,5,REG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 812 {0x84004280,"mov.d ", {21,5,XREG}, {0,5,REG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 813 {0x8400c300,"mov ", {21,5,XREG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 814 815 {0xf4006d00,"mulu.d ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 816 817 {0x8400d080,"nint.sd ", {21,5,REG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 818 {0x8400d000,"nint.ss ", {21,5,REG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 819 {0x8400d100,"nint.sx ", {21,5,REG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 820 821 {0x88002020,"padd.b ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 822 {0x88002040,"padd.h ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 823 {0x88002060,"padd ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 824 825 {0x880021e0,"padds.s ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 826 {0x880021a0,"padds.s.b ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 827 {0x880021c0,"padds.s.h ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 828 {0x880020e0,"padds.u ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 829 {0x880020a0,"padds.u.b ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 830 {0x880020c0,"padds.u.h ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 831 {0x88002160,"padds.us ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 832 {0x88002120,"padds.us.b ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 833 {0x88002140,"padds.us.h ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 834 835 {0x88003860,"pcmp ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 836 837 {0x88000000,"pmul ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 838 839 {0x88006260,"ppack.16 ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 840 {0x88006240,"ppack.16.h ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 841 {0x88006460,"ppack.32 ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 842 {0x88006420,"ppack.32.b ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 843 {0x88006440,"ppack.32.h ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 844 {0x88006160,"ppack.8 ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 845 846 {0x88007200,"prot ", {21,5,REG}, {16,5,REG}, {5,6,HEX}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 847 {0x88007800,"prot ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 848 849 {0x88003020,"psub.b ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 850 {0x88003040,"psub.h ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 851 {0x88003060,"psub ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 852 853 {0x880031e0,"psubs.s ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 854 {0x880031a0,"psubs.s.b ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 855 {0x880031c0,"psubs.s.h ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 856 {0x880030e0,"psubs.u ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 857 {0x880030a0,"psubs.u.b ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 858 {0x880030c0,"psubs.u.h ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 859 {0x88003160,"psubs.us ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 860 {0x88003120,"psubs.us.b ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 861 {0x88003140,"psubs.us.h ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 862 863 {0x88006800,"punpk.n ", {21,5,REG}, {16,5,REG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 864 {0x88006820,"punpk.b ", {21,5,REG}, {16,5,REG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 865 866 {0x34000000,"st ", {21,5,XREG}, {16,5,REG}, {0,16,HEX}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 867 {0x30000000,"st.d ", {21,5,XREG}, {16,5,REG}, {0,16,HEX}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 868 {0x38000000,"st.x ", {21,5,XREG}, {16,5,REG}, {0,16,HEX}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 869 870 {0xf4002c80,"st.b.wt ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 871 {0xf4002880,"st.h.wt ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 872 {0xf4002480,"st.wt ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 873 {0xf4002080,"st.d.wt ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 874 {0xf4002d80,"st.b.usr.wt ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 875 {0xf4002980,"st.h.usr.wt ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 876 {0xf4002580,"st.usr.wt ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 877 {0xf4002180,"st.d.usr.wt ", {21,5,REG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 878 879 {0xf0002400,"st ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 880 {0xf0002000,"st.d ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 881 {0xf0002100,"st.d.usr ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 882 {0xf0002180,"st.d.usr.wt ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 883 {0xf0002080,"st.d.wt ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 884 {0xf0002500,"st.usr ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 885 {0xf0002580,"st.usr.wt ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 886 {0xf0002480,"st.wt ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 887 {0xf0002800,"st.x ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 888 {0xf0002900,"st.x.usr ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 889 {0xf0002980,"st.x.usr.wt ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 890 {0xf0002880,"st.x.wt ", {21,5,XREG}, {16,5,REG}, {0,5,REG}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 891 892 {0xf4002f80,"st.b.usr.wt ", {21,5,REG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 893 {0xf4002e80,"st.b.wt ", {21,5,REG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 894 {0xf4002380,"st.d.usr.wt ", {21,5,REG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 895 {0xf4002280,"st.d.wt ", {21,5,REG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 896 {0xf4002b80,"st.h.usr.wt ", {21,5,REG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 897 {0xf4002a80,"st.h.wt ", {21,5,REG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 898 {0xf4002780,"st.usr.wt ", {21,5,REG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 899 {0xf4002680,"st.wt ", {21,5,REG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 900 901 {0xf0002600,"st ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 902 {0xf0002200,"st.d ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 903 {0xf0002300,"st.d.usr ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 904 {0xf0002380,"st.d.usr.wt ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 905 {0xf0002280,"st.d.wt ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 906 {0xf0002700,"st.usr ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 907 {0xf0002780,"st.usr.wt ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 908 {0xf0002680,"st.wt ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 909 {0xf0002a00,"st.x ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 910 {0xf0002b00,"st.x.usr ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 911 {0xf0002b80,"st.x.usr.wt ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 912 {0xf0002a80,"st.x.wt ", {21,5,XREG}, {16,5,REG}, {0,5,REGSC}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 913 914 {0x8400d880,"trnc.sd ", {21,5,REG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 915 {0x8400d800,"trnc.ss ", {21,5,REG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 916 {0x8400d900,"trnc.sx ", {21,5,REG}, {0,5,XREG}, NO_OPERAND, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, NULL }, 917 918 }; 448 extern const INSTAB instructions[]; 919 449 920 450 /* -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/opcode/mips.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* mips.h. Mips opcode list for GDB, the GNU debugger. 2 Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 2 Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 3 3 Free Software Foundation, Inc. 4 4 Contributed by Ralph Campbell and OSF … … 134 134 #define OP_SH_CODE19 6 /* 19 bit wait code. */ 135 135 #define OP_MASK_CODE19 0x7ffff 136 #define OP_SH_ALN 21 137 #define OP_MASK_ALN 0x7 138 #define OP_SH_VSEL 21 139 #define OP_MASK_VSEL 0x1f 140 #define OP_MASK_VECBYTE 0x7 /* Selector field is really 4 bits, 141 but 0x8-0xf don't select bytes. */ 142 #define OP_SH_VECBYTE 22 143 #define OP_MASK_VECALIGN 0x7 /* Vector byte-align (alni.ob) op. */ 144 #define OP_SH_VECALIGN 21 145 #define OP_MASK_INSMSB 0x1f /* "ins" MSB. */ 146 #define OP_SH_INSMSB 11 147 #define OP_MASK_EXTMSBD 0x1f /* "ext" MSBD. */ 148 #define OP_SH_EXTMSBD 11 149 150 #define OP_OP_COP0 0x10 151 #define OP_OP_COP1 0x11 152 #define OP_OP_COP2 0x12 153 #define OP_OP_COP3 0x13 154 #define OP_OP_LWC1 0x31 155 #define OP_OP_LWC2 0x32 156 #define OP_OP_LWC3 0x33 /* a.k.a. pref */ 157 #define OP_OP_LDC1 0x35 158 #define OP_OP_LDC2 0x36 159 #define OP_OP_LDC3 0x37 /* a.k.a. ld */ 160 #define OP_OP_SWC1 0x39 161 #define OP_OP_SWC2 0x3a 162 #define OP_OP_SWC3 0x3b 163 #define OP_OP_SDC1 0x3d 164 #define OP_OP_SDC2 0x3e 165 #define OP_OP_SDC3 0x3f /* a.k.a. sd */ 166 167 /* Values in the 'VSEL' field. */ 168 #define MDMX_FMTSEL_IMM_QH 0x1d 169 #define MDMX_FMTSEL_IMM_OB 0x1e 170 #define MDMX_FMTSEL_VEC_QH 0x15 171 #define MDMX_FMTSEL_VEC_OB 0x16 136 172 137 173 /* This structure holds information for a particular instruction. */ … … 162 198 }; 163 199 164 /* These are the characters which may appear sin the args field of an200 /* These are the characters which may appear in the args field of an 165 201 instruction. They appear in the order in which the fields appear 166 202 when the instruction is used. Commas and parentheses in the args … … 180 216 "j" 16 bit signed immediate (OP_*_DELTA) 181 217 "k" 5 bit cache opcode in target register position (OP_*_CACHE) 218 Also used for immediate operands in vr5400 vector insns. 182 219 "o" 16 bit signed offset (OP_*_DELTA) 183 220 "p" 16 bit PC relative branch target address (OP_*_DELTA) … … 196 233 "x" accept and ignore register name 197 234 "z" must be zero register 235 "K" 5 bit Hardware Register (rdhwr instruction) (OP_*_RD) 236 "+A" 5 bit ins/ext position, which becomes LSB (OP_*_SHAMT). 237 Enforces: 0 <= pos < 32. 238 "+B" 5 bit ins size, which becomes MSB (OP_*_INSMSB). 239 Requires that "+A" occur first to set position. 240 Enforces: 0 < (pos+size) <= 32. 241 "+C" 5 bit ext size, which becomes MSBD (OP_*_EXTMSBD). 242 Requires that "+A" occur first to set position. 243 Enforces: 0 < (pos+size) <= 32. 198 244 199 245 Floating point instructions: … … 210 256 "E" 5 bit target register (OP_*_RT) 211 257 "G" 5 bit destination register (OP_*_RD) 258 "H" 3 bit sel field for (d)mtc* and (d)mfc* (OP_*_SEL) 212 259 "P" 5 bit performance-monitor register (OP_*_PERFREG) 213 "H" 3 bit sel field (OP_*_SEL) 260 "e" 5 bit vector register byte specifier (OP_*_VECBYTE) 261 "%" 3 bit immediate vr5400 vector alignment operand (OP_*_VECALIGN) 262 see also "k" above 263 "+D" Combined destination register ("G") and sel ("H") for CP0 ops, 264 for pretty-printing in disassembly only. 214 265 215 266 Macro instructions: … … 221 272 "l" 32 bit floating point constant in .lit4 222 273 274 MDMX instruction operands (note that while these use the FP register 275 fields, they accept both $fN and $vN names for the registers): 276 "O" MDMX alignment offset (OP_*_ALN) 277 "Q" MDMX vector/scalar/immediate source (OP_*_VSEL and OP_*_FT) 278 "X" MDMX destination register (OP_*_FD) 279 "Y" MDMX source register (OP_*_FS) 280 "Z" MDMX source register (OP_*_FT) 281 223 282 Other: 224 283 "()" parens surrounding optional value 225 284 "," separates operands 285 "[]" brackets around index for vector-op scalar operand specifier (vr5400) 286 "+" Start of extension sequence. 226 287 227 288 Characters used so far, for quick reference when adding more: 228 "<>()," 229 "ABCDEFGHIJLMNPRSTUVW" 230 "abcdfhijklopqrstuvwxz" 289 "%[]<>(),+" 290 "ABCDEFGHIJKLMNOPQRSTUVWXYZ" 291 "abcdefhijklopqrstuvwxz" 292 293 Extension character sequences used so far ("+" followed by the 294 following), for quick reference when adding more: 295 "ABCD" 231 296 */ 232 297 … … 298 363 /* Instruction synchronize shared memory. */ 299 364 #define INSN_SYNC 0x80000000 365 /* Instruction reads MDMX accumulator. XXX FIXME: No bits left! */ 366 #define INSN_READ_MDMX_ACC 0 367 /* Instruction writes MDMX accumulator. XXX FIXME: No bits left! */ 368 #define INSN_WRITE_MDMX_ACC 0 300 369 301 370 /* Instruction is actually a macro. It should be ignored by the … … 305 374 /* Masks used to mark instructions to indicate which MIPS ISA level 306 375 they were introduced in. ISAs, as defined below, are logical 307 ORs of these bits, indicating that they support the instructions376 ORs of these bits, indicating that they support the instructions 308 377 defined at the given level. */ 309 378 310 #define INSN_ISA_MASK 0x0000ffff 311 #define INSN_ISA1 0x00000010 312 #define INSN_ISA2 0x00000020 313 #define INSN_ISA3 0x00000040 314 #define INSN_ISA4 0x00000080 315 #define INSN_ISA5 0x00000100 316 #define INSN_ISA32 0x00000200 317 #define INSN_ISA64 0x00000400 379 #define INSN_ISA_MASK 0x00000fff 380 #define INSN_ISA1 0x00000001 381 #define INSN_ISA2 0x00000002 382 #define INSN_ISA3 0x00000004 383 #define INSN_ISA4 0x00000008 384 #define INSN_ISA5 0x00000010 385 #define INSN_ISA32 0x00000020 386 #define INSN_ISA64 0x00000040 387 #define INSN_ISA32R2 0x00000080 388 389 /* Masks used for MIPS-defined ASEs. */ 390 #define INSN_ASE_MASK 0x0000f000 391 392 /* MIPS 16 ASE */ 393 #define INSN_MIPS16 0x00002000 394 /* MIPS-3D ASE */ 395 #define INSN_MIPS3D 0x00004000 396 /* MDMX ASE */ 397 #define INSN_MDMX 0x00008000 318 398 319 399 /* Chip specific instructions. These are bitmasks. */ … … 327 407 /* Toshiba R3900 instruction. */ 328 408 #define INSN_3900 0x00080000 329 /* 32-bit code running on a ISA3+ CPU. */ 330 #define INSN_GP32 0x00100000 409 /* MIPS R10000 instruction. */ 410 #define INSN_10000 0x00100000 411 /* Broadcom SB-1 instruction. */ 412 #define INSN_SB1 0x00200000 413 /* NEC VR4111/VR4181 instruction. */ 414 #define INSN_4111 0x00400000 415 /* NEC VR4120 instruction. */ 416 #define INSN_4120 0x00800000 417 /* NEC VR5400 instruction. */ 418 #define INSN_5400 0x01000000 419 /* NEC VR5500 instruction. */ 420 #define INSN_5500 0x02000000 331 421 332 422 /* MIPS ISA defines, use instead of hardcoding ISA level. */ … … 338 428 #define ISA_MIPS4 (ISA_MIPS3 | INSN_ISA4) 339 429 #define ISA_MIPS5 (ISA_MIPS4 | INSN_ISA5) 430 340 431 #define ISA_MIPS32 (ISA_MIPS2 | INSN_ISA32) 341 432 #define ISA_MIPS64 (ISA_MIPS5 | INSN_ISA32 | INSN_ISA64) 433 434 #define ISA_MIPS32R2 (ISA_MIPS32 | INSN_ISA32R2) 342 435 343 436 /* CPU defines, use instead of hardcoding processor number. Keep this 344 437 in sync with bfd/archures.c in order for machine selection to work. */ 345 438 #define CPU_UNKNOWN 0 /* Gas internal use. */ 346 #define CPU_R2000 2000347 439 #define CPU_R3000 3000 348 440 #define CPU_R3900 3900 … … 351 443 #define CPU_VR4100 4100 352 444 #define CPU_R4111 4111 445 #define CPU_VR4120 4120 353 446 #define CPU_R4300 4300 354 447 #define CPU_R4400 4400 … … 356 449 #define CPU_R4650 4650 357 450 #define CPU_R5000 5000 451 #define CPU_VR5400 5400 452 #define CPU_VR5500 5500 358 453 #define CPU_R6000 6000 359 454 #define CPU_R8000 8000 … … 362 457 #define CPU_MIPS16 16 363 458 #define CPU_MIPS32 32 364 #define CPU_MIPS32 _4K 3204113 /* 32, 04, octal 'K'. */459 #define CPU_MIPS32R2 33 365 460 #define CPU_MIPS5 5 366 461 #define CPU_MIPS64 64 367 462 #define CPU_SB1 12310201 /* octal 'SB', 01. */ 368 463 369 /* Test for membership in an ISA including chip specific ISAs. 370 INSN is pointer to an element of the opcode table; ISA is the 371 specified ISA to test against; and CPU is the CPU specific ISA 372 to test, or zero if no CPU specific ISA test is desired. 373 The gp32 arg is set when you need to force 32-bit register usage on 374 a machine with 64-bit registers; see the documentation under -mgp32 375 in the MIPS gas docs. */ 376 377 #define OPCODE_IS_MEMBER(insn, isa, cpu, gp32) \ 378 ((((insn)->membership & isa) != 0 \ 379 && ((insn)->membership & INSN_GP32 ? gp32 : 1) \ 380 ) \ 464 /* Test for membership in an ISA including chip specific ISAs. INSN 465 is pointer to an element of the opcode table; ISA is the specified 466 ISA/ASE bitmask to test against; and CPU is the CPU specific ISA to 467 test, or zero if no CPU specific ISA test is desired. */ 468 469 #define OPCODE_IS_MEMBER(insn, isa, cpu) \ 470 (((insn)->membership & isa) != 0 \ 381 471 || (cpu == CPU_R4650 && ((insn)->membership & INSN_4650) != 0) \ 382 472 || (cpu == CPU_R4010 && ((insn)->membership & INSN_4010) != 0) \ 383 || ((cpu == CPU_VR4100 || cpu == CPU_R4111) \ 384 && ((insn)->membership & INSN_4100) != 0) \ 385 || (cpu == CPU_R3900 && ((insn)->membership & INSN_3900) != 0)) 473 || (cpu == CPU_VR4100 && ((insn)->membership & INSN_4100) != 0) \ 474 || (cpu == CPU_R3900 && ((insn)->membership & INSN_3900) != 0) \ 475 || ((cpu == CPU_R10000 || cpu == CPU_R12000) \ 476 && ((insn)->membership & INSN_10000) != 0) \ 477 || (cpu == CPU_SB1 && ((insn)->membership & INSN_SB1) != 0) \ 478 || (cpu == CPU_R4111 && ((insn)->membership & INSN_4111) != 0) \ 479 || (cpu == CPU_VR4120 && ((insn)->membership & INSN_4120) != 0) \ 480 || (cpu == CPU_VR5400 && ((insn)->membership & INSN_5400) != 0) \ 481 || (cpu == CPU_VR5500 && ((insn)->membership & INSN_5500) != 0) \ 482 || 0) /* Please keep this term for easier source merging. */ 386 483 387 484 /* This is a list of macro expanded instructions. … … 509 606 M_LWR_AB, 510 607 M_LWU_AB, 608 M_MOVE, 511 609 M_MUL, 512 610 M_MUL_I, … … 521 619 M_REMU_3, 522 620 M_REMU_3I, 621 M_DROL, 523 622 M_ROL, 623 M_DROL_I, 524 624 M_ROL_I, 625 M_DROR, 525 626 M_ROR, 627 M_DROR_I, 526 628 M_ROR_I, 527 629 M_S_DA, -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/opcode/ns32k.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* ns32k-opcode.h -- Opcode table for National Semi 32k processor 2 Copyright 1987, 1991, 1994 Free Software Foundation, Inc.2 Copyright 1987, 1991, 1994, 2002 Free Software Foundation, Inc. 3 3 4 4 This file is part of GAS, the GNU Assembler. … … 38 38 The operands in the source instruction are checked for inconsistent 39 39 semantics. 40 40 41 41 F : 32 bit float general form 42 42 L : 64 bit float " … … 81 81 */ 82 82 struct ns32k_opcode { 83 c har *name;83 const char *name; 84 84 unsigned char opcode_id_size; /* not used by the assembler */ 85 85 unsigned char opcode_size; 86 86 unsigned long opcode_seed; 87 c har *operands;87 const char *operands; 88 88 unsigned char im_size; /* not used by dissassembler */ 89 c har *default_args;/* default to those args when none given */89 const char *default_args; /* default to those args when none given */ 90 90 char default_modec; /* default to this addr-mode when ambigous 91 91 ie when the argument of a general addr-mode … … 104 104 /* particular opcode */ 105 105 { 106 int obits; /* number of opcode bits */107 int ibits; /* number of instruction bits */108 ns32k_opcodeT code;/* op-code (may be > 8 bits!) */109 c har *args; /* how to compile said opcode */106 int obits; /* number of opcode bits */ 107 int ibits; /* number of instruction bits */ 108 ns32k_opcodeT code; /* op-code (may be > 8 bits!) */ 109 const char *args; /* how to compile said opcode */ 110 110 }; 111 111 112 112 struct not /* ns32k opcode text */ 113 113 { 114 c har * name;/* opcode name: lowercase string [key] */115 struct not_wot 114 const char *name; /* opcode name: lowercase string [key] */ 115 struct not_wot detail; /* rest of opcode table [datum] */ 116 116 }; 117 117 118 118 /* Instructions look like this: 119 119 120 120 basic instruction--1, 2, or 3 bytes 121 121 index byte for operand A, if operand A is indexed--1 byte … … 131 131 132 132 Each operand has a digit and a letter. 133 133 134 134 The digit gives the position in the assembly language. The letter, 135 135 one of the following, tells us what kind of operand it is. */ … … 483 483 }; 484 484 485 static const int numopcodes=sizeof(ns32k_opcodes)/sizeof(ns32k_opcodes[0]);486 487 static const struct ns32k_opcode *const endop = ns32k_opcodes+sizeof(ns32k_opcodes)/sizeof(ns32k_opcodes[0]);488 489 485 #define MAX_ARGS 4 490 486 #define ARG_LEN 50 -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/opcode/pj.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 37 37 38 38 39 typedef struct 39 typedef struct pj_opc_info_t 40 40 { 41 41 short opcode; … … 43 43 char len; 44 44 unsigned char arg[2]; 45 const char *name; 45 union { 46 const char *name; 47 void (*func) PARAMS ((struct pj_opc_info_t *, char *)); 48 } u; 46 49 } pj_opc_info_t; -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/opcode/ppc.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* ppc.h -- Header file for PowerPC opcode table 2 Copyright 1994, 1995, 1999, 2000 Free Software Foundation, Inc. 2 Copyright 1994, 1995, 1999, 2000, 2001, 2002 3 Free Software Foundation, Inc. 3 4 Written by Ian Lance Taylor, Cygnus Support 4 5 … … 90 91 91 92 /* Opcode is supported by Altivec Vector Unit */ 92 #define PPC_OPCODE_ALTIVEC (01000) 93 #define PPC_OPCODE_ALTIVEC (01000) 94 95 /* Opcode is supported by PowerPC 403 processor. */ 96 #define PPC_OPCODE_403 (02000) 97 98 /* Opcode is supported by PowerPC BookE processor. */ 99 #define PPC_OPCODE_BOOKE (04000) 100 101 /* Opcode is only supported by 64-bit PowerPC BookE processor. */ 102 #define PPC_OPCODE_BOOKE64 (010000) 103 104 /* Opcode is only supported by Power4 architecture. */ 105 #define PPC_OPCODE_POWER4 (020000) 106 107 /* Opcode isn't supported by Power4 architecture. */ 108 #define PPC_OPCODE_NOPOWER4 (040000) 109 110 /* Opcode is only supported by POWERPC Classic architecture. */ 111 #define PPC_OPCODE_CLASSIC (0100000) 112 113 /* Opcode is only supported by e500x2 Core. */ 114 #define PPC_OPCODE_SPE (0200000) 115 116 /* Opcode is supported by e500x2 Integer select APU. */ 117 #define PPC_OPCODE_ISEL (0400000) 118 119 /* Opcode is an e500 SPE floating point instruction. */ 120 #define PPC_OPCODE_EFS (01000000) 121 122 /* Opcode is supported by branch locking APU. */ 123 #define PPC_OPCODE_BRLOCK (02000000) 124 125 /* Opcode is supported by performance monitor APU. */ 126 #define PPC_OPCODE_PMR (04000000) 127 128 /* Opcode is supported by cache locking APU. */ 129 #define PPC_OPCODE_CACHELCK (010000000) 130 131 /* Opcode is supported by machine check APU. */ 132 #define PPC_OPCODE_RFMCI (020000000) 93 133 94 134 /* A macro to extract the major opcode from an instruction. */ … … 123 163 can accept any value). */ 124 164 unsigned long (*insert) PARAMS ((unsigned long instruction, long op, 165 int dialect, 125 166 const char **errmsg)); 126 167 … … 142 183 this operand (i.e., the instruction does not match). If the 143 184 operand is valid, *INVALID will not be changed. */ 144 long (*extract) PARAMS ((unsigned long instruction, int *invalid)); 185 long (*extract) PARAMS ((unsigned long instruction, int dialect, 186 int *invalid)); 145 187 146 188 /* One bit syntax flags. */ … … 231 273 #define PPC_OPERAND_VR (010000) 232 274 275 /* This operand is for the DS field in a DS form instruction. */ 276 #define PPC_OPERAND_DS (020000) 233 277 234 278 -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/opcode/sparc.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* Definitions for opcode table for the sparc. 2 Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 2000 2 Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 2000, 2002 3 3 Free Software Foundation, Inc. 4 4 … … 21 21 Boston, MA 02111-1307, USA. */ 22 22 23 #include <ansidecl.h>23 #include "ansidecl.h" 24 24 25 25 /* The SPARC opcode table (and other related data) is defined in -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/opcode/tic54x.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 20 20 02111-1307, USA. */ 21 21 22 #ifndef _ TIC54X_H_23 #define _ TIC54X_H_22 #ifndef _opcode_tic54x_h_ 23 #define _opcode_tic54x_h_ 24 24 25 25 typedef struct _symbol … … 87 87 /* The opcode mnemonic */ 88 88 const char *name; 89 90 89 unsigned int words; /* insn size in words */ 91 90 int minops, maxops; /* min/max operand count */ … … 142 141 #define FL_SMR 0x200 /* Smem read (for flagging write-only *+ARx */ 143 142 143 #define FL_PAR 0x400 /* Parallel instruction. */ 144 144 145 unsigned short opcode2, mask2; /* some insns have an extended opcode */ 146 147 const char* parname; 148 enum optype paroperand_types[MAX_OPERANDS]; 145 149 146 150 } template; 147 151 148 typedef struct _partemplate {149 char *name;150 char *parname;151 unsigned int words; /* length in words */152 int minops, maxops; /* min/max operand count for 2nd part of insn */153 unsigned short opcode;154 unsigned short mask;155 enum optype operand_types[MAX_OPERANDS];156 enum optype paroperand_types[MAX_OPERANDS];157 } partemplate;158 159 152 extern const template tic54x_unknown_opcode; 160 153 extern const template tic54x_optab[]; 161 extern const partemplate tic54x_paroptab[];154 extern const template tic54x_paroptab[]; 162 155 extern const symbol mmregs[], regs[]; 163 156 extern const symbol condition_codes[], cc2_codes[], status_bits[]; 164 157 extern const symbol cc3_codes[]; 165 158 extern const char *misc_symbols[]; 159 struct disassemble_info; 160 extern const template* tic54x_get_insn (struct disassemble_info *, 161 bfd_vma, unsigned short, int *); 166 162 167 #endif /* TIC54X_H*/163 #endif /* _opcode_tic54x_h_ */ -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/opcode/v850.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* v850.h -- Header file for NEC V850 opcode table 2 Copyright 1996, 1997 Free Software Foundation, Inc.2 Copyright 1996, 1997, 2001 Free Software Foundation, Inc. 3 3 Written by J.T. Conklin, Cygnus Support 4 4 … … 155 155 #define V850_NOT_R0 0x80 156 156 157 /* CYGNUS LOCAL v850e */158 157 /* push/pop type instruction, V850E specific. */ 159 158 #define V850E_PUSH_POP 0x100 -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/partition.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* List implementation of a partition of consecutive integers. 2 Copyright (C) 2000, 2001 Free Software Foundation, Inc.2 Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. 3 3 Contributed by CodeSourcery, LLC. 4 4 5 This file is part of G NUCC.5 This file is part of GCC. 6 6 7 G NUCC is free software; you can redistribute it and/or modify7 GCC is free software; you can redistribute it and/or modify 8 8 it under the terms of the GNU General Public License as published by 9 9 the Free Software Foundation; either version 2, or (at your option) 10 10 any later version. 11 11 12 G NUCC is distributed in the hope that it will be useful,12 GCC is distributed in the hope that it will be useful, 13 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the … … 16 16 17 17 You should have received a copy of the GNU General Public License 18 along with G NUCC; see the file COPYING. If not, write to18 along with GCC; see the file COPYING. If not, write to 19 19 the Free Software Foundation, 59 Temple Place - Suite 330, 20 20 Boston, MA 02111-1307, USA. */ … … 41 41 #endif /* __cplusplus */ 42 42 43 #include <ansidecl.h>43 #include "ansidecl.h" 44 44 #include <stdio.h> 45 45 … … 79 79 ((partition__)->elements[(element__)].class_element) 80 80 81 #ifdef __cplusplus 82 } 83 #endif /* __cplusplus */ 84 81 85 #endif /* _PARTITION_H */ -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/safe-ctype.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 64 64 _sch_isidnum = _sch_isidst|_sch_isdigit, /* A-Za-z0-9_ */ 65 65 _sch_isgraph = _sch_isalnum|_sch_ispunct, /* isprint and not space */ 66 _sch_iscppsp = _sch_isvsp|_sch_isnvsp /* isspace + \0 */ 66 _sch_iscppsp = _sch_isvsp|_sch_isnvsp, /* isspace + \0 */ 67 _sch_isbasic = _sch_isprint|_sch_iscppsp /* basic charset of ISO C 68 (plus ` and @) */ 67 69 }; 68 70 … … 70 72 extern const unsigned short _sch_istable[256]; 71 73 72 #define _sch_test(c, bit) (_sch_istable[(c) & 0xff] & ( bit))74 #define _sch_test(c, bit) (_sch_istable[(c) & 0xff] & (unsigned short)(bit)) 73 75 74 76 #define ISALPHA(c) _sch_test(c, _sch_isalpha) … … 87 89 #define ISIDNUM(c) _sch_test(c, _sch_isidnum) 88 90 #define ISIDST(c) _sch_test(c, _sch_isidst) 91 #define IS_ISOBASIC(c) _sch_test(c, _sch_isbasic) 89 92 #define IS_VSPACE(c) _sch_test(c, _sch_isvsp) 90 93 #define IS_NVSPACE(c) _sch_test(c, _sch_isnvsp) -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/sort.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* Sorting algorithms. 2 Copyright (C) 2000 Free Software Foundation, Inc.2 Copyright (C) 2000, 2002 Free Software Foundation, Inc. 3 3 Contributed by Mark Mitchell <mark@codesourcery.com>. 4 4 5 This file is part of G NUCC.5 This file is part of GCC. 6 6 7 G NUCC is free software; you can redistribute it and/or modify it7 GCC is free software; you can redistribute it and/or modify it 8 8 under the terms of the GNU General Public License as published by 9 9 the Free Software Foundation; either version 2, or (at your option) 10 10 any later version. 11 11 12 G NUCC is distributed in the hope that it will be useful, but12 GCC is distributed in the hope that it will be useful, but 13 13 WITHOUT ANY WARRANTY; without even the implied warranty of 14 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU … … 16 16 17 17 You should have received a copy of the GNU General Public License 18 along with G NUCC; see the file COPYING. If not, write to18 along with GCC; see the file COPYING. If not, write to 19 19 the Free Software Foundation, 59 Temple Place - Suite 330, 20 20 Boston, MA 02111-1307, USA. */ … … 32 32 #endif /* __cplusplus */ 33 33 34 #include <ansidecl.h>34 #include "ansidecl.h" 35 35 36 36 /* Sort an array of pointers. */ -
Property cvs2svn:cvs-rev
changed from
-
branches/GNU/src/binutils/include/splay-tree.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* A splay-tree datatype. 2 Copyright 1998, 1999, 2000 Free Software Foundation, Inc.2 Copyright 1998, 1999, 2000, 2002 Free Software Foundation, Inc. 3 3 Contributed by Mark Mitchell (mark@markmitchell.com). 4 4 5 This file is part of G NUCC.5 This file is part of GCC. 6 6 7 G NUCC is free software; you can redistribute it and/or modify it7 GCC is free software; you can redistribute it and/or modify it 8 8 under the terms of the GNU General Public License as published by 9 9 the Free Software Foundation; either version 2, or (at your option) 10 10 any later version. 11 11 12 G NUCC is distributed in the hope that it will be useful, but12 GCC is distributed in the hope that it will be useful, but 13 13 WITHOUT ANY WARRANTY; without even the implied warranty of 14 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU … … 16 16 17 17 You should have received a copy of the GNU General Public License 18 along with G NUCC; see the file COPYING. If not, write to18 along with GCC; see the file COPYING. If not, write to 19 19 the Free Software Foundation, 59 Temple Place - Suite 330, 20 20 Boston, MA 02111-1307, USA. */ … … 35 35 #endif /* __cplusplus */ 36 36 37 #include <ansidecl.h> 37 #include "ansidecl.h" 38 39 #ifndef GTY 40 #define GTY(X) 41 #endif 38 42 39 43 /* Use typedefs for the key and data types to facilitate changing … … 62 66 typedef int (*splay_tree_foreach_fn) PARAMS((splay_tree_node, void*)); 63 67 68 /* The type of a function used to allocate memory for tree root and 69 node structures. The first argument is the number of bytes needed; 70 the second is a data pointer the splay tree functions pass through 71 to the allocator. This function must never return zero. */ 72 typedef PTR (*splay_tree_allocate_fn) PARAMS((int, void *)); 73 74 /* The type of a function used to free memory allocated using the 75 corresponding splay_tree_allocate_fn. The first argument is the 76 memory to be freed; the latter is a data pointer the splay tree 77 functions pass through to the freer. */ 78 typedef void (*splay_tree_deallocate_fn) PARAMS((void *, void *)); 79 64 80 /* The nodes in the splay tree. */ 65 struct splay_tree_node_s 81 struct splay_tree_node_s GTY(()) 66 82 { 67 83 /* The key. */ 68 splay_tree_key key;84 splay_tree_key GTY ((use_param1 (""))) key; 69 85 70 86 /* The value. */ 71 splay_tree_value value;87 splay_tree_value GTY ((use_param2 (""))) value; 72 88 73 89 /* The left and right children, respectively. */ 74 splay_tree_node left;75 splay_tree_node right;90 splay_tree_node GTY ((use_params (""))) left; 91 splay_tree_node GTY ((use_params (""))) right; 76 92 }; 77 93 78 94 /* The splay tree itself. */ 79 typedef struct splay_tree_s 95 struct splay_tree_s GTY(()) 80 96 { 81 97 /* The root of the tree. */ 82 splay_tree_node root;98 splay_tree_node GTY ((use_params (""))) root; 83 99 84 100 /* The comparision function. */ … … 90 106 /* The deallocate-value function. NULL if no cleanup is necessary. */ 91 107 splay_tree_delete_value_fn delete_value; 92 } *splay_tree; 108 109 /* Allocate/free functions, and a data pointer to pass to them. */ 110 splay_tree_allocate_fn allocate; 111 splay_tree_deallocate_fn deallocate; 112 PTR GTY((skip (""))) allocate_data; 113 114 }; 115 typedef struct splay_tree_s *splay_tree; 93 116 94 117 extern splay_tree splay_tree_new PARAMS((splay_tree_compare_fn, 95 118 splay_tree_delete_key_fn, 96 119 splay_tree_delete_value_fn)); 120 extern splay_tree splay_tree_new_with_allocator 121 PARAMS((splay_tree_compare_fn, 122 splay_tree_delete_key_fn, 123 splay_tree_delete_value_fn, 124 splay_tree_allocate_fn, 125 splay_tree_deallocate_fn, 126 void *)); 97 127 extern void splay_tree_delete PARAMS((splay_tree)); 98 128 extern splay_tree_node splay_tree_insert … … 111 141 PARAMS((splay_tree, 112 142 splay_tree_key)); 143 extern splay_tree_node splay_tree_max 144 PARAMS((splay_tree)); 145 extern splay_tree_node splay_tree_min 146 PARAMS((splay_tree)); 113 147 extern int splay_tree_foreach PARAMS((splay_tree, 114 148 splay_tree_foreach_fn, -
Property cvs2svn:cvs-rev
changed from
Note:
See TracChangeset
for help on using the changeset viewer.