#include "bfd.h"#include "sysdep.h"#include "libbfd.h"#include "nlm/alpha-ext.h"#include "libnlm.h"#include "nlmswap.h"#include "nlm-target.h"

Go to the source code of this file.
Defines | |
| #define | ARCH_SIZE 32 |
| #define | Nlm_External_Fixed_Header Nlm32_alpha_External_Fixed_Header |
| #define | ONES(n) (((bfd_vma) 1 << ((n) - 1) << 1) - 1) |
| #define | TARGET_LITTLE_NAME "nlm32-alpha" |
| #define | TARGET_LITTLE_SYM nlmNAME(alpha_vec) |
| #define | TARGET_BACKEND_DATA &nlm32_alpha_backend |
Functions/Subroutines | |
| static bfd_boolean nlm_alpha_backend_object_p | PARAMS ((bfd *)) |
| static bfd_boolean nlm_alpha_read_reloc | PARAMS ((bfd *, nlmNAME(symbol_type)*, asection **, arelent *)) |
| static bfd_boolean nlm_alpha_mangle_relocs | PARAMS ((bfd *, asection *, const PTR, bfd_vma, bfd_size_type)) |
| static bfd_boolean nlm_alpha_read_import | PARAMS ((bfd *, nlmNAME(symbol_type)*)) |
| static bfd_boolean nlm_alpha_write_import | PARAMS ((bfd *, asection *, arelent *)) |
| static bfd_vma nlm_alpha_get_public_offset | PARAMS ((bfd *, asymbol *)) |
| static bfd_boolean nlm_alpha_write_external | PARAMS ((bfd *, bfd_size_type, asymbol *, struct reloc_and_sec *)) |
| static bfd_boolean | nlm_alpha_backend_object_p (bfd *abfd) |
| static bfd_boolean | nlm_alpha_write_prefix (bfd *abfd) |
| static bfd_boolean | nlm_alpha_read_reloc (bfd *abfd, sym, asection **secp, arelent *rel) |
| static bfd_boolean | nlm_alpha_mangle_relocs (abfd, sec, data, offset, count) |
| static bfd_boolean | nlm_alpha_read_import (bfd *abfd, sym) |
| static bfd_boolean | nlm_alpha_write_import (bfd *abfd, asection *sec, arelent *rel) |
| static bfd_boolean | nlm_alpha_set_public_section (bfd *abfd, sym) |
| static bfd_vma | nlm_alpha_get_public_offset (abfd, asymbol *sym) |
| static bfd_boolean | nlm_alpha_write_external (bfd *abfd, bfd_size_type count, asymbol *sym, struct reloc_and_sec *relocs) |
Variables | |
| static reloc_howto_type | nlm32_alpha_howto_table [] |
| static reloc_howto_type | nlm32_alpha_nw_howto |
| static struct nlm_backend_data | nlm32_alpha_backend |
| #define ARCH_SIZE 32 |
Definition at line 34 of file nlm32-alpha.c.
| #define Nlm_External_Fixed_Header Nlm32_alpha_External_Fixed_Header |
Definition at line 37 of file nlm32-alpha.c.
Definition at line 104 of file nlm32-alpha.c.
| #define TARGET_BACKEND_DATA &nlm32_alpha_backend |
Definition at line 895 of file nlm32-alpha.c.
| #define TARGET_LITTLE_NAME "nlm32-alpha" |
Definition at line 893 of file nlm32-alpha.c.
| #define TARGET_LITTLE_SYM nlmNAME(alpha_vec) |
Definition at line 894 of file nlm32-alpha.c.
| static bfd_boolean nlm_alpha_backend_object_p | ( | bfd * | abfd | ) | [static] |
Definition at line 65 of file nlm32-alpha.c.
References bfd_bread(), bfd_seek(), FALSE, H_GET_32, NLM32_ALPHA_MAGIC, PTR, SEEK_SET, size, and TRUE.
Definition at line 625 of file nlm32-alpha.c.
References bfd_alloc(), bfd_bread(), bfd_und_section_ptr, FALSE, H_GET_32, nlm_alpha_read_reloc(), NLM_TARGET_LONG_SIZE, NULL, PTR, nlm_relent::reloc, relocs, and TRUE.
| static bfd_boolean nlm_alpha_read_reloc | ( | bfd * | abfd, | |
| sym | , | |||
| asection ** | secp, | |||
| arelent * | rel | |||
| ) | [static] |
Definition at line 416 of file nlm32-alpha.c.
References reloc_cache_entry::addend, reloc_cache_entry::address, ALPHA_R_BRADDR, ALPHA_R_GPDISP, ALPHA_R_GPREL32, ALPHA_R_GPVALUE, ALPHA_R_IGNORE, ALPHA_R_LITERAL, ALPHA_R_LITUSE, ALPHA_R_NW_RELOC, ALPHA_R_NW_RELOC_LITA, ALPHA_R_NW_RELOC_SETGP, ALPHA_R_OP_PRSHIFT, ALPHA_R_OP_PSUB, ALPHA_R_OP_PUSH, ALPHA_R_OP_STORE, ALPHA_R_SREL16, ALPHA_R_SREL32, ALPHA_R_SREL64, ALPHA_RELOC_SECTION_DATA, ALPHA_RELOC_SECTION_TEXT, bfd_abs_section_ptr, BFD_ASSERT, bfd_bread(), bfd_get_section_by_name(), bfd_get_section_vma, bfd_little_endian, FALSE, H_GET_32, H_GET_64, reloc_cache_entry::howto, NLM_CODE_NAME, NLM_INITIALIZED_DATA_NAME, NULL, nlm32_alpha_external_reloc::r_symndx, nlm32_alpha_external_reloc::r_vaddr, RELOC_BITS0_TYPE_LITTLE, RELOC_BITS0_TYPE_SH_LITTLE, RELOC_BITS1_EXTERN_LITTLE, RELOC_BITS1_OFFSET_LITTLE, RELOC_BITS1_OFFSET_SH_LITTLE, RELOC_BITS3_SIZE_LITTLE, RELOC_BITS3_SIZE_SH_LITTLE, size, bfd_section::size, reloc_cache_entry::sym_ptr_ptr, bfd_section::symbol_ptr_ptr, and TRUE.
Referenced by nlm_alpha_read_import().
Definition at line 788 of file nlm32-alpha.c.
References BFD_ASSERT, bfd_get_section_by_name(), BSF_FUNCTION, bfd_symbol::flags, NLM_CODE_NAME, NLM_INITIALIZED_DATA_NAME, bfd_section::size, bfd_section::symbol, TRUE, and bfd_symbol::value.
| static bfd_boolean nlm_alpha_write_external | ( | bfd * | abfd, | |
| bfd_size_type | count, | |||
| asymbol * | sym, | |||
| struct reloc_and_sec * | relocs | |||
| ) | [static] |
Definition at line 824 of file nlm32-alpha.c.
References reloc_cache_entry::addend, reloc_cache_entry::address, bfd_abs_section_ptr, bfd_bwrite(), bfd_put_32, FALSE, reloc_cache_entry::howto, i, len, bfd_symbol::name, nlm_alpha_backend_data, nlm_alpha_write_import(), NLM_TARGET_LONG_SIZE, NULL, r, rel, sec, strlen(), reloc_cache_entry::sym_ptr_ptr, and TRUE.
Definition at line 677 of file nlm32-alpha.c.
References reloc_cache_entry::addend, reloc_cache_entry::address, ALPHA_R_GPDISP, ALPHA_R_IGNORE, ALPHA_R_LITUSE, ALPHA_R_NW_RELOC, ALPHA_R_NW_RELOC_LITA, ALPHA_R_NW_RELOC_SETGP, ALPHA_R_OP_PRSHIFT, ALPHA_R_OP_PSUB, ALPHA_R_OP_PUSH, ALPHA_R_OP_STORE, ALPHA_RELOC_SECTION_DATA, ALPHA_RELOC_SECTION_TEXT, BFD_ASSERT, bfd_bwrite(), bfd_get_section, bfd_get_section_by_name(), bfd_get_section_flags, bfd_get_section_vma, bfd_is_und_section, bfd_little_endian, FALSE, bfd_section::flags, H_PUT_32, H_PUT_64, reloc_cache_entry::howto, NLM_CODE_NAME, nlm32_alpha_external_reloc::r_bits, nlm32_alpha_external_reloc::r_symndx, nlm32_alpha_external_reloc::r_vaddr, RELOC_BITS0_TYPE_LITTLE, RELOC_BITS0_TYPE_SH_LITTLE, RELOC_BITS1_EXTERN_LITTLE, RELOC_BITS1_OFFSET_LITTLE, RELOC_BITS1_OFFSET_SH_LITTLE, RELOC_BITS3_SIZE_LITTLE, RELOC_BITS3_SIZE_SH_LITTLE, SEC_CODE, size, sym, reloc_cache_entry::sym_ptr_ptr, TRUE, and reloc_howto_struct::type.
Referenced by nlm_alpha_write_external().
| static bfd_boolean nlm_alpha_write_prefix | ( | bfd * | abfd | ) | [static] |
Definition at line 90 of file nlm32-alpha.c.
References bfd_bwrite(), FALSE, nlm32_alpha_external_prefix_header::format, H_PUT_32, nlm32_alpha_external_prefix_header::magic, memset, NLM32_ALPHA_MAGIC, PTR, nlm32_alpha_external_prefix_header::size, and TRUE.
| static bfd_boolean nlm_alpha_write_external PARAMS | ( | (bfd *, bfd_size_type, asymbol *, struct reloc_and_sec *) | ) | [static] |
| static bfd_boolean nlm_alpha_mangle_relocs PARAMS | ( | (bfd *, asection *, const PTR, bfd_vma, bfd_size_type) | ) | [static] |
| static bfd_boolean nlm_alpha_read_reloc PARAMS | ( | (bfd *, nlmNAME(symbol_type)*, asection **, arelent *) | ) | [static] |
| static bfd_boolean nlm_alpha_backend_object_p PARAMS | ( | (bfd *) | ) | [static] |
struct nlm_backend_data nlm32_alpha_backend [static] |
Initial value:
{
"NetWare Alpha Module \032",
sizeof (Nlm32_alpha_External_Fixed_Header),
sizeof (struct nlm32_alpha_external_prefix_header),
bfd_arch_alpha,
0,
TRUE,
nlm_alpha_backend_object_p,
nlm_alpha_write_prefix,
nlm_alpha_read_reloc,
nlm_alpha_mangle_relocs,
nlm_alpha_read_import,
nlm_alpha_write_import,
nlm_alpha_set_public_section,
nlm_alpha_get_public_offset,
nlm_swap_fixed_header_in,
nlm_swap_fixed_header_out,
nlm_alpha_write_external,
0,
}
Definition at line 871 of file nlm32-alpha.c.
reloc_howto_type nlm32_alpha_howto_table[] [static] |
Definition at line 108 of file nlm32-alpha.c.
reloc_howto_type nlm32_alpha_nw_howto [static] |
Initial value:
HOWTO (ALPHA_R_NW_RELOC, /* type */ 0, /* rightshift */ 0, /* size (0 = byte, 1 = short, 2 = long) */ 0, /* bitsize */ FALSE, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ 0, /* special_function */ "NW_RELOC", /* name */ FALSE, /* partial_inplace */ 0, /* src_mask */ 0, /* dst_mask */ FALSE)
Definition at line 396 of file nlm32-alpha.c.
1.5.6