#include <linux/linkage.h>
#include <linux/mm.h>
#include <asm/uaccess.h>
#include <starlet.h>
#include <descrip.h>
#include <ihadef.h>
#include <ihddef.h>
#include <ihidef.h>
#include <ihpdef.h>
#include <ihsdef.h>
#include <ihvndef.h>
#include <isddef.h>
#include <imcbdef.h>
#include <va_rangedef.h>
#include <system_data_cells.h>
#include <iafdef.h>
#include <shldef.h>
#include <ssdef.h>
Go to the source code of this file.
Classes | |
struct | Elf32_External_Rela |
struct | Elf32_External_Sym |
struct | bfd_symbol |
Defines | |
#define | COERCE32(x) (((signed long) (x) ^ 0x80000000) - 0x80000000) |
#define | bfd_h_get_16 bfd_getl16 |
#define | bfd_h_get_32 bfd_getl32 |
#define | bfd_h_get_signed_32 bfd_getl_signed_32 |
#define | H_GET_16 bfd_h_get_16 |
#define | H_GET_32 bfd_h_get_32 |
#define | H_GET_S32 bfd_h_get_signed_32 |
#define | H_GET_WORD H_GET_32 |
#define | H_GET_SIGNED_WORD H_GET_S32 |
Typedefs | |
typedef struct bfd_symbol | asymbol |
Functions | |
unsigned int | bfd_getl32 (void *dummy, const void *p) |
signed int | bfd_getl_signed_32 (void *dummy, const void *p) |
signed short | bfd_getl16 (void *dummy, const void *p) |
void | nisse_swap_symbol_in (void *abfd, const void *psrc, const void *pshn, asymbol *dst) |
int | find_symtab_offset (void *symtab, long offset, void **v) |
int | find_section_offset (struct _ihd *ihd, int secno) |
int | find_symtab (void *abfd, void *symtab, long symstr, char *s) |
void * | find_it (void *sh, char *s, void **retiaf) |
asmlinkage int | exe_imgfix (void) |
#define bfd_h_get_16 bfd_getl16 |
Definition at line 94 of file sysimgfix.c.
#define bfd_h_get_32 bfd_getl32 |
Definition at line 95 of file sysimgfix.c.
#define bfd_h_get_signed_32 bfd_getl_signed_32 |
Definition at line 96 of file sysimgfix.c.
#define COERCE32 | ( | x | ) | (((signed long) (x) ^ 0x80000000) - 0x80000000) |
#define H_GET_16 bfd_h_get_16 |
#define H_GET_32 bfd_h_get_32 |
#define H_GET_S32 bfd_h_get_signed_32 |
Definition at line 99 of file sysimgfix.c.
#define H_GET_SIGNED_WORD H_GET_S32 |
#define H_GET_WORD H_GET_32 |
typedef struct bfd_symbol asymbol |
signed short bfd_getl16 | ( | void * | dummy, | |
const void * | p | |||
) |
Definition at line 87 of file sysimgfix.c.
unsigned int bfd_getl32 | ( | void * | dummy, | |
const void * | p | |||
) |
Definition at line 61 of file sysimgfix.c.
signed int bfd_getl_signed_32 | ( | void * | dummy, | |
const void * | p | |||
) |
asmlinkage int exe_imgfix | ( | void | ) |
Definition at line 200 of file sysimgfix.c.
References ctl_gl_fixuplnk, ctl_gl_iaflnkptr, find_it(), find_section_offset(), find_symtab_offset(), _iaf::iaf_l_dotadroff, _iaf::iaf_l_fixuplnk, _iaf::iaf_l_g_fixoff, _iaf::iaf_l_iaflink, _iaf::iaf_l_permctx, _iaf::iaf_l_shlstoff, _iaf::iaf_l_shrimgcnt, _ihd::ihd_w_symdbgoff, nisse_swap_symbol_in(), Elf32_External_Rela::r_info, Elf32_External_Rela::r_offset, bfd_symbol::section, _shl::shl_l_baseva, and SS__NORMAL.
Referenced by exe_imgact().
void* find_it | ( | void * | sh, | |
char * | s, | |||
void ** | retiaf | |||
) |
Definition at line 172 of file sysimgfix.c.
References ctl_gl_fixuplnk, find_symtab(), _iaf::iaf_l_fixuplnk, _iaf::iaf_l_iaflink, _iaf::iaf_l_permctx, _ihd::ihd_w_imgidoff, _ihd::ihd_w_symdbgoff, nisse_swap_symbol_in(), bfd_symbol::section, and _shl::shl_t_imgnam.
Referenced by exe_imgfix().
int find_section_offset | ( | struct _ihd * | ihd, | |
int | secno | |||
) |
Definition at line 139 of file sysimgfix.c.
References _ihd::ihd_b_hdrblkcnt, _ihd::ihd_w_size, _isd::isd_v_vpn, and _isd::isd_w_size.
Referenced by exe_imgfix().
int find_symtab | ( | void * | abfd, | |
void * | symtab, | |||
long | symstr, | |||
char * | s | |||
) |
Definition at line 156 of file sysimgfix.c.
References bfd_symbol::name, nisse_swap_symbol_in(), and Elf32_External_Sym::st_name.
Referenced by find_it().
int find_symtab_offset | ( | void * | symtab, | |
long | offset, | |||
void ** | v | |||
) |
Definition at line 122 of file sysimgfix.c.
References bfd_symbol::name, nisse_swap_symbol_in(), Elf32_External_Sym::st_name, and bfd_symbol::value.
Referenced by exe_imgfix().
void nisse_swap_symbol_in | ( | void * | abfd, | |
const void * | psrc, | |||
const void * | pshn, | |||
asymbol * | dst | |||
) |
Definition at line 104 of file sysimgfix.c.
References bfd_symbol::flags, H_GET_16, H_GET_32, H_GET_SIGNED_WORD, H_GET_WORD, bfd_symbol::name, bfd_symbol::section, Elf32_External_Sym::st_name, Elf32_External_Sym::st_shndx, Elf32_External_Sym::st_size, Elf32_External_Sym::st_value, and bfd_symbol::value.
Referenced by exe_imgfix(), find_it(), find_symtab(), and find_symtab_offset().