Changeset 609 for branches/GNU/src/binutils/bfd/elfxx-target.h
- Timestamp:
- Aug 16, 2003, 6:59:22 PM (22 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/GNU/src/binutils/bfd/elfxx-target.h
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 1 /* Target definitions for NN-bit ELF 2 Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 3 Free Software Foundation, Inc.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 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.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.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. */2 Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 3 2003 Free Software Foundation, Inc. 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 20 21 21 /* This structure contains everything that BFD knows about a target. … … 34 34 35 35 #define bfd_elfNN_canonicalize_dynamic_symtab _bfd_elf_canonicalize_dynamic_symtab 36 #ifndef bfd_elfNN_canonicalize_reloc 36 37 #define bfd_elfNN_canonicalize_reloc _bfd_elf_canonicalize_reloc 38 #endif 37 39 #ifndef bfd_elfNN_find_nearest_line 38 40 #define bfd_elfNN_find_nearest_line _bfd_elf_find_nearest_line … … 45 47 #define bfd_elfNN_get_reloc_upper_bound _bfd_elf_get_reloc_upper_bound 46 48 #endif 49 #ifndef bfd_elfNN_get_symbol_info 47 50 #define bfd_elfNN_get_symbol_info _bfd_elf_get_symbol_info 51 #endif 48 52 #define bfd_elfNN_get_symtab _bfd_elf_get_symtab 49 53 #define bfd_elfNN_get_symtab_upper_bound _bfd_elf_get_symtab_upper_bound … … 52 56 #endif 53 57 #define bfd_elfNN_make_empty_symbol _bfd_elf_make_empty_symbol 58 #ifndef bfd_elfNN_new_section_hook 54 59 #define bfd_elfNN_new_section_hook _bfd_elf_new_section_hook 60 #endif 55 61 #define bfd_elfNN_set_arch_mach _bfd_elf_set_arch_mach 56 62 #ifndef bfd_elfNN_set_section_contents … … 67 73 #define elf_backend_got_symbol_offset (bfd_vma) 0 68 74 #endif 75 #ifndef elf_backend_can_refcount 76 #define elf_backend_can_refcount 0 77 #endif 69 78 #ifndef elf_backend_want_got_plt 70 79 #define elf_backend_want_got_plt 0 … … 85 94 #define elf_backend_want_dynbss 1 86 95 #endif 96 #ifndef elf_backend_want_p_paddr_set_to_zero 97 #define elf_backend_want_p_paddr_set_to_zero 0 98 #endif 87 99 88 100 #define bfd_elfNN_bfd_debug_info_start bfd_void 89 101 #define bfd_elfNN_bfd_debug_info_end bfd_void 90 #define bfd_elfNN_bfd_debug_info_accumulate (PROTO(void,(*),(bfd*, struct sec *))) bfd_void 102 #define bfd_elfNN_bfd_debug_info_accumulate \ 103 (void (*) PARAMS ((bfd*, struct sec *))) bfd_void 91 104 92 105 #ifndef bfd_elfNN_bfd_get_relocated_section_contents … … 102 115 #define elf_backend_can_gc_sections 0 103 116 #endif 117 #ifndef elf_backend_can_refcount 118 #define elf_backend_can_refcount 0 119 #endif 120 #ifndef elf_backend_want_got_sym 121 #define elf_backend_want_got_sym 1 122 #endif 104 123 #ifndef elf_backend_gc_mark_hook 105 124 #define elf_backend_gc_mark_hook NULL … … 110 129 #ifndef bfd_elfNN_bfd_gc_sections 111 130 #define bfd_elfNN_bfd_gc_sections _bfd_elfNN_gc_sections 131 #endif 132 133 #ifndef bfd_elfNN_bfd_merge_sections 134 #define bfd_elfNN_bfd_merge_sections \ 135 _bfd_elf_merge_sections 136 #endif 137 138 #ifndef bfd_elfNN_bfd_discard_group 139 #define bfd_elfNN_bfd_discard_group bfd_elf_discard_group 112 140 #endif 113 141 … … 128 156 #ifndef bfd_elfNN_bfd_copy_private_bfd_data 129 157 #define bfd_elfNN_bfd_copy_private_bfd_data \ 130 ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_true)158 _bfd_elf_copy_private_bfd_data 131 159 #endif 132 160 #ifndef bfd_elfNN_bfd_print_private_bfd_data … … 136 164 #ifndef bfd_elfNN_bfd_merge_private_bfd_data 137 165 #define bfd_elfNN_bfd_merge_private_bfd_data \ 138 ((b oolean (*) PARAMS ((bfd *, bfd *))) bfd_true)166 ((bfd_boolean (*) PARAMS ((bfd *, bfd *))) bfd_true) 139 167 #endif 140 168 #ifndef bfd_elfNN_bfd_set_private_flags 141 169 #define bfd_elfNN_bfd_set_private_flags \ 142 ((b oolean (*) PARAMS ((bfd *, flagword))) bfd_true)170 ((bfd_boolean (*) PARAMS ((bfd *, flagword))) bfd_true) 143 171 #endif 144 172 #ifndef bfd_elfNN_bfd_is_local_label_name … … 155 183 #endif 156 184 185 #ifndef bfd_elfNN_bfd_link_hash_table_free 186 #define bfd_elfNN_bfd_link_hash_table_free _bfd_generic_link_hash_table_free 187 #endif 188 157 189 #ifdef elf_backend_relocate_section 158 190 #ifndef bfd_elfNN_bfd_link_hash_table_create … … 160 192 #endif 161 193 #else /* ! defined (elf_backend_relocate_section) */ 162 /* If no backend relocate_section routine, use the generic linker. */ 194 /* If no backend relocate_section routine, use the generic linker. 195 Note - this will prevent the port from being able to use some of 196 the other features of the ELF linker, because the generic hash structure 197 does not have the fields needed by the ELF linker. In particular it 198 means that linking directly to S-records will not work. */ 163 199 #ifndef bfd_elfNN_bfd_link_hash_table_create 164 200 #define bfd_elfNN_bfd_link_hash_table_create \ … … 172 208 #endif 173 209 #endif /* ! defined (elf_backend_relocate_section) */ 210 211 #ifndef bfd_elfNN_bfd_link_just_syms 212 #define bfd_elfNN_bfd_link_just_syms _bfd_elf_link_just_syms 213 #endif 214 174 215 #ifndef bfd_elfNN_bfd_link_split_section 175 216 #define bfd_elfNN_bfd_link_split_section _bfd_generic_link_split_section … … 214 255 215 256 #ifndef elf_backend_collect 216 #define elf_backend_collect false257 #define elf_backend_collect FALSE 217 258 #endif 218 259 #ifndef elf_backend_type_change_ok 219 #define elf_backend_type_change_ok false260 #define elf_backend_type_change_ok FALSE 220 261 #endif 221 262 … … 318 359 #ifndef elf_backend_hide_symbol 319 360 #define elf_backend_hide_symbol _bfd_elf_link_hash_hide_symbol 361 #endif 362 #ifndef elf_backend_emit_relocs 363 #define elf_backend_emit_relocs NULL 364 #endif 365 #ifndef elf_backend_count_relocs 366 #define elf_backend_count_relocs NULL 367 #endif 368 #ifndef elf_backend_grok_prstatus 369 #define elf_backend_grok_prstatus NULL 370 #endif 371 #ifndef elf_backend_grok_psinfo 372 #define elf_backend_grok_psinfo NULL 373 #endif 374 #ifndef elf_backend_sprintf_vma 375 #define elf_backend_sprintf_vma _bfd_elf_sprintf_vma 376 #endif 377 #ifndef elf_backend_fprintf_vma 378 #define elf_backend_fprintf_vma _bfd_elf_fprintf_vma 379 #endif 380 #ifndef elf_backend_reloc_type_class 381 #define elf_backend_reloc_type_class _bfd_elf_reloc_type_class 382 #endif 383 #ifndef elf_backend_discard_info 384 #define elf_backend_discard_info NULL 385 #endif 386 #ifndef elf_backend_ignore_discarded_relocs 387 #define elf_backend_ignore_discarded_relocs NULL 388 #endif 389 #ifndef elf_backend_write_section 390 #define elf_backend_write_section NULL 391 #endif 392 #ifndef elf_backend_mips_irix_compat 393 #define elf_backend_mips_irix_compat NULL 394 #endif 395 #ifndef elf_backend_mips_rtype_to_howto 396 #define elf_backend_mips_rtype_to_howto NULL 320 397 #endif 321 398 … … 326 403 #ifndef USE_REL 327 404 #define USE_REL 0 328 #else329 #undef USE_REL330 #define USE_REL 1331 405 #endif 332 406 … … 342 416 #endif 343 417 418 #ifndef elf_backend_rela_normal 419 #define elf_backend_rela_normal 0 420 #endif 421 344 422 #ifndef ELF_MACHINE_ALT1 345 423 #define ELF_MACHINE_ALT1 0 … … 361 439 362 440 #ifndef INCLUDED_TARGET_FILE 363 static CONSTstruct elf_backend_data elfNN_bed =441 static const struct elf_backend_data elfNN_bed = 364 442 { 365 443 ELF_ARCH, /* arch */ … … 400 478 elf_backend_copy_indirect_symbol, 401 479 elf_backend_hide_symbol, 480 elf_backend_emit_relocs, 481 elf_backend_count_relocs, 482 elf_backend_grok_prstatus, 483 elf_backend_grok_psinfo, 484 elf_backend_sprintf_vma, 485 elf_backend_fprintf_vma, 486 elf_backend_reloc_type_class, 487 elf_backend_discard_info, 488 elf_backend_ignore_discarded_relocs, 489 elf_backend_write_section, 490 elf_backend_mips_irix_compat, 491 elf_backend_mips_rtype_to_howto, 402 492 elf_backend_ecoff_debug_swap, 403 493 ELF_MACHINE_ALT1, … … 412 502 elf_backend_may_use_rela_p, 413 503 elf_backend_default_use_rela_p, 504 elf_backend_rela_normal, 414 505 elf_backend_sign_extend_vma, 415 506 elf_backend_want_got_plt, … … 419 510 elf_backend_plt_alignment, 420 511 elf_backend_can_gc_sections, 421 elf_backend_want_dynbss 512 elf_backend_can_refcount, 513 elf_backend_want_got_sym, 514 elf_backend_want_dynbss, 515 elf_backend_want_p_paddr_set_to_zero 422 516 }; 423 517 #endif … … 444 538 445 539 /* object_flags: mask of all file flags */ 446 (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS |447 DYNAMIC | WP_TEXT | D_PAGED),540 (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS 541 | DYNAMIC | WP_TEXT | D_PAGED), 448 542 449 543 /* section_flags: mask of all section flags */ 450 (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY | 451 SEC_CODE | SEC_DATA | SEC_DEBUGGING | SEC_EXCLUDE | SEC_SORT_ENTRIES), 544 (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY 545 | SEC_CODE | SEC_DATA | SEC_DEBUGGING | SEC_EXCLUDE | SEC_SORT_ENTRIES 546 | SEC_ARCH_BIT_0 | SEC_SMALL_DATA | SEC_MERGE | SEC_STRINGS | SEC_GROUP), 452 547 453 548 /* leading_symbol_char: is the first char of a user symbol … … 462 557 /* ar_max_namelen: maximum number of characters in an archive header 463 558 FIXME: this really has nothing to do with ELF, this is a characteristic 464 of the archiver and should be independently tunable. Th is value is465 a WAG (wild a** guess)*/466 1 4,559 of the archiver and should be independently tunable. The System V ABI, 560 Chapter 7 (Formats & Protocols), Archive section sets this as 15. */ 561 15, 467 562 468 563 /* Routines to byte-swap various sized integers from the data sections */ … … 539 634 540 635 /* object_flags: mask of all file flags */ 541 (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS |542 DYNAMIC | WP_TEXT | D_PAGED),636 (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS 637 | DYNAMIC | WP_TEXT | D_PAGED), 543 638 544 639 /* section_flags: mask of all section flags */ 545 (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY | 546 SEC_CODE | SEC_DATA | SEC_DEBUGGING | SEC_EXCLUDE | SEC_SORT_ENTRIES), 640 (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY 641 | SEC_CODE | SEC_DATA | SEC_DEBUGGING | SEC_EXCLUDE | SEC_SORT_ENTRIES 642 | SEC_ARCH_BIT_0 | SEC_SMALL_DATA | SEC_MERGE | SEC_STRINGS | SEC_GROUP), 547 643 548 644 /* leading_symbol_char: is the first char of a user symbol … … 557 653 /* ar_max_namelen: maximum number of characters in an archive header 558 654 FIXME: this really has nothing to do with ELF, this is a characteristic 559 of the archiver and should be independently tunable. Th is value is560 a WAG (wild a** guess)*/561 1 4,655 of the archiver and should be independently tunable. The System V ABI, 656 Chapter 7 (Formats & Protocols), Archive section sets this as 15. */ 657 15, 562 658 563 659 /* Routines to byte-swap various sized integers from the data sections */ -
Property cvs2svn:cvs-rev
changed from
Note:
See TracChangeset
for help on using the changeset viewer.