2001-01-23 Kazu Hirata <kazu@hxi.com>
* aoutx.h: Fix formatting. * bfd.c: Likewise. * bfd-in2.h: Likewise. * bfd-in.h: Likewise. * cpu-i386.c: Likewise. * cpu-m68hc11.c: Likewise. * dwarf2.c: Likewise. * elf64-x86-64.c: Likewise. * format.c: Likewise. * freebsd.h: Likewise. * hash.c: Likewise. * hp300hpux.c: Likewise. * hppabsd-core.c: Likewise. * hpux-core.c: Likewise.
This commit is contained in:
parent
f29d9b6d30
commit
3fde5a36df
15 changed files with 127 additions and 150 deletions
|
@ -27,6 +27,21 @@
|
||||||
* elf-m10300.c: Likewise.
|
* elf-m10300.c: Likewise.
|
||||||
* elfxx-ia64.c: Likewise.
|
* elfxx-ia64.c: Likewise.
|
||||||
|
|
||||||
|
* aoutx.h: Fix formatting.
|
||||||
|
* bfd.c: Likewise.
|
||||||
|
* bfd-in2.h: Likewise.
|
||||||
|
* bfd-in.h: Likewise.
|
||||||
|
* cpu-i386.c: Likewise.
|
||||||
|
* cpu-m68hc11.c: Likewise.
|
||||||
|
* dwarf2.c: Likewise.
|
||||||
|
* elf64-x86-64.c: Likewise.
|
||||||
|
* format.c: Likewise.
|
||||||
|
* freebsd.h: Likewise.
|
||||||
|
* hash.c: Likewise.
|
||||||
|
* hp300hpux.c: Likewise.
|
||||||
|
* hppabsd-core.c: Likewise.
|
||||||
|
* hpux-core.c: Likewise.
|
||||||
|
|
||||||
2001-01-22 Bo Thorsen <bo@suse.de>
|
2001-01-22 Bo Thorsen <bo@suse.de>
|
||||||
|
|
||||||
* elf64-x86-64.c: Added PIC support for X86-64.
|
* elf64-x86-64.c: Added PIC support for X86-64.
|
||||||
|
|
|
@ -1977,7 +1977,6 @@ error_return:
|
||||||
_bfd_stringtab_free (strtab);
|
_bfd_stringtab_free (strtab);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
long
|
long
|
||||||
NAME(aout,get_symtab) (abfd, location)
|
NAME(aout,get_symtab) (abfd, location)
|
||||||
|
@ -1995,7 +1994,6 @@ NAME(aout,get_symtab) (abfd, location)
|
||||||
*location++ =0;
|
*location++ =0;
|
||||||
return bfd_get_symcount (abfd);
|
return bfd_get_symcount (abfd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Standard reloc stuff */
|
/* Standard reloc stuff */
|
||||||
/* Output standard relocation information to a file in target byte order. */
|
/* Output standard relocation information to a file in target byte order. */
|
||||||
|
@ -2538,7 +2536,6 @@ NAME(aout,get_reloc_upper_bound) (abfd, asect)
|
||||||
bfd_set_error (bfd_error_invalid_operation);
|
bfd_set_error (bfd_error_invalid_operation);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
long
|
long
|
||||||
NAME(aout,get_symtab_upper_bound) (abfd)
|
NAME(aout,get_symtab_upper_bound) (abfd)
|
||||||
|
|
|
@ -292,7 +292,6 @@ struct orl { /* output ranlib */
|
||||||
int namidx; /* index into string table */
|
int namidx; /* index into string table */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/* Linenumber stuff */
|
/* Linenumber stuff */
|
||||||
typedef struct lineno_cache_entry {
|
typedef struct lineno_cache_entry {
|
||||||
unsigned int line_number; /* Linenumber from start of function*/
|
unsigned int line_number; /* Linenumber from start of function*/
|
||||||
|
|
129
bfd/bfd-in2.h
129
bfd/bfd-in2.h
|
@ -292,7 +292,6 @@ struct orl { /* output ranlib */
|
||||||
int namidx; /* index into string table */
|
int namidx; /* index into string table */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/* Linenumber stuff */
|
/* Linenumber stuff */
|
||||||
typedef struct lineno_cache_entry {
|
typedef struct lineno_cache_entry {
|
||||||
unsigned int line_number; /* Linenumber from start of function*/
|
unsigned int line_number; /* Linenumber from start of function*/
|
||||||
|
@ -779,7 +778,7 @@ extern int bfd_ticoff_get_section_load_page
|
||||||
PARAMS ((struct sec *));
|
PARAMS ((struct sec *));
|
||||||
|
|
||||||
/* And more from the source. */
|
/* And more from the source. */
|
||||||
void
|
void
|
||||||
bfd_init PARAMS ((void));
|
bfd_init PARAMS ((void));
|
||||||
|
|
||||||
bfd *
|
bfd *
|
||||||
|
@ -794,22 +793,21 @@ bfd_openstreamr PARAMS ((const char *, const char *, PTR));
|
||||||
bfd *
|
bfd *
|
||||||
bfd_openw PARAMS ((CONST char *filename, CONST char *target));
|
bfd_openw PARAMS ((CONST char *filename, CONST char *target));
|
||||||
|
|
||||||
boolean
|
boolean
|
||||||
bfd_close PARAMS ((bfd *abfd));
|
bfd_close PARAMS ((bfd *abfd));
|
||||||
|
|
||||||
boolean
|
boolean
|
||||||
bfd_close_all_done PARAMS ((bfd *));
|
bfd_close_all_done PARAMS ((bfd *));
|
||||||
|
|
||||||
bfd *
|
bfd *
|
||||||
bfd_create PARAMS ((CONST char *filename, bfd *templ));
|
bfd_create PARAMS ((CONST char *filename, bfd *templ));
|
||||||
|
|
||||||
boolean
|
boolean
|
||||||
bfd_make_writable PARAMS ((bfd *abfd));
|
bfd_make_writable PARAMS ((bfd *abfd));
|
||||||
|
|
||||||
boolean
|
boolean
|
||||||
bfd_make_readable PARAMS ((bfd *abfd));
|
bfd_make_readable PARAMS ((bfd *abfd));
|
||||||
|
|
||||||
|
|
||||||
/* Byte swapping macros for user section data. */
|
/* Byte swapping macros for user section data. */
|
||||||
|
|
||||||
#define bfd_put_8(abfd, val, ptr) \
|
#define bfd_put_8(abfd, val, ptr) \
|
||||||
|
@ -862,7 +860,6 @@ bfd_make_readable PARAMS ((bfd *abfd));
|
||||||
: (bits) == 64 ? bfd_put_64 (abfd, val, ptr) \
|
: (bits) == 64 ? bfd_put_64 (abfd, val, ptr) \
|
||||||
: (abort (), (void) 0))
|
: (abort (), (void) 0))
|
||||||
|
|
||||||
|
|
||||||
/* Byte swapping macros for file header data. */
|
/* Byte swapping macros for file header data. */
|
||||||
|
|
||||||
#define bfd_h_put_8(abfd, val, ptr) \
|
#define bfd_h_put_8(abfd, val, ptr) \
|
||||||
|
@ -1303,20 +1300,20 @@ bfd_make_section_anyway PARAMS ((bfd *abfd, const char *name));
|
||||||
asection *
|
asection *
|
||||||
bfd_make_section PARAMS ((bfd *, const char *name));
|
bfd_make_section PARAMS ((bfd *, const char *name));
|
||||||
|
|
||||||
boolean
|
boolean
|
||||||
bfd_set_section_flags PARAMS ((bfd *abfd, asection *sec, flagword flags));
|
bfd_set_section_flags PARAMS ((bfd *abfd, asection *sec, flagword flags));
|
||||||
|
|
||||||
void
|
void
|
||||||
bfd_map_over_sections PARAMS ((bfd *abfd,
|
bfd_map_over_sections PARAMS ((bfd *abfd,
|
||||||
void (*func) (bfd *abfd,
|
void (*func) (bfd *abfd,
|
||||||
asection *sect,
|
asection *sect,
|
||||||
PTR obj),
|
PTR obj),
|
||||||
PTR obj));
|
PTR obj));
|
||||||
|
|
||||||
boolean
|
boolean
|
||||||
bfd_set_section_size PARAMS ((bfd *abfd, asection *sec, bfd_size_type val));
|
bfd_set_section_size PARAMS ((bfd *abfd, asection *sec, bfd_size_type val));
|
||||||
|
|
||||||
boolean
|
boolean
|
||||||
bfd_set_section_contents
|
bfd_set_section_contents
|
||||||
PARAMS ((bfd *abfd,
|
PARAMS ((bfd *abfd,
|
||||||
asection *section,
|
asection *section,
|
||||||
|
@ -1324,18 +1321,18 @@ bfd_set_section_contents
|
||||||
file_ptr offset,
|
file_ptr offset,
|
||||||
bfd_size_type count));
|
bfd_size_type count));
|
||||||
|
|
||||||
boolean
|
boolean
|
||||||
bfd_get_section_contents
|
bfd_get_section_contents
|
||||||
PARAMS ((bfd *abfd, asection *section, PTR location,
|
PARAMS ((bfd *abfd, asection *section, PTR location,
|
||||||
file_ptr offset, bfd_size_type count));
|
file_ptr offset, bfd_size_type count));
|
||||||
|
|
||||||
boolean
|
boolean
|
||||||
bfd_copy_private_section_data PARAMS ((bfd *ibfd, asection *isec, bfd *obfd, asection *osec));
|
bfd_copy_private_section_data PARAMS ((bfd *ibfd, asection *isec, bfd *obfd, asection *osec));
|
||||||
|
|
||||||
#define bfd_copy_private_section_data(ibfd, isection, obfd, osection) \
|
#define bfd_copy_private_section_data(ibfd, isection, obfd, osection) \
|
||||||
BFD_SEND (obfd, _bfd_copy_private_section_data, \
|
BFD_SEND (obfd, _bfd_copy_private_section_data, \
|
||||||
(ibfd, isection, obfd, osection))
|
(ibfd, isection, obfd, osection))
|
||||||
void
|
void
|
||||||
_bfd_strip_section_from_output
|
_bfd_strip_section_from_output
|
||||||
PARAMS ((struct bfd_link_info *info, asection *section));
|
PARAMS ((struct bfd_link_info *info, asection *section));
|
||||||
|
|
||||||
|
@ -1558,22 +1555,22 @@ bfd_arch_get_compatible PARAMS ((
|
||||||
const bfd *abfd,
|
const bfd *abfd,
|
||||||
const bfd *bbfd));
|
const bfd *bbfd));
|
||||||
|
|
||||||
void
|
void
|
||||||
bfd_set_arch_info PARAMS ((bfd *abfd, const bfd_arch_info_type *arg));
|
bfd_set_arch_info PARAMS ((bfd *abfd, const bfd_arch_info_type *arg));
|
||||||
|
|
||||||
enum bfd_architecture
|
enum bfd_architecture
|
||||||
bfd_get_arch PARAMS ((bfd *abfd));
|
bfd_get_arch PARAMS ((bfd *abfd));
|
||||||
|
|
||||||
unsigned long
|
unsigned long
|
||||||
bfd_get_mach PARAMS ((bfd *abfd));
|
bfd_get_mach PARAMS ((bfd *abfd));
|
||||||
|
|
||||||
unsigned int
|
unsigned int
|
||||||
bfd_arch_bits_per_byte PARAMS ((bfd *abfd));
|
bfd_arch_bits_per_byte PARAMS ((bfd *abfd));
|
||||||
|
|
||||||
unsigned int
|
unsigned int
|
||||||
bfd_arch_bits_per_address PARAMS ((bfd *abfd));
|
bfd_arch_bits_per_address PARAMS ((bfd *abfd));
|
||||||
|
|
||||||
const bfd_arch_info_type *
|
const bfd_arch_info_type *
|
||||||
bfd_get_arch_info PARAMS ((bfd *abfd));
|
bfd_get_arch_info PARAMS ((bfd *abfd));
|
||||||
|
|
||||||
const bfd_arch_info_type *
|
const bfd_arch_info_type *
|
||||||
|
@ -1586,10 +1583,10 @@ const char *
|
||||||
bfd_printable_arch_mach
|
bfd_printable_arch_mach
|
||||||
PARAMS ((enum bfd_architecture arch, unsigned long machine));
|
PARAMS ((enum bfd_architecture arch, unsigned long machine));
|
||||||
|
|
||||||
unsigned int
|
unsigned int
|
||||||
bfd_octets_per_byte PARAMS ((bfd *abfd));
|
bfd_octets_per_byte PARAMS ((bfd *abfd));
|
||||||
|
|
||||||
unsigned int
|
unsigned int
|
||||||
bfd_arch_mach_octets_per_byte PARAMS ((enum bfd_architecture arch,
|
bfd_arch_mach_octets_per_byte PARAMS ((enum bfd_architecture arch,
|
||||||
unsigned long machine));
|
unsigned long machine));
|
||||||
|
|
||||||
|
@ -1624,7 +1621,6 @@ typedef enum bfd_reloc_status
|
||||||
}
|
}
|
||||||
bfd_reloc_status_type;
|
bfd_reloc_status_type;
|
||||||
|
|
||||||
|
|
||||||
typedef struct reloc_cache_entry
|
typedef struct reloc_cache_entry
|
||||||
{
|
{
|
||||||
/* A pointer into the canonical table of pointers */
|
/* A pointer into the canonical table of pointers */
|
||||||
|
@ -1770,7 +1766,7 @@ struct reloc_howto_struct
|
||||||
} \
|
} \
|
||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
unsigned int
|
unsigned int
|
||||||
bfd_get_reloc_size PARAMS ((reloc_howto_type *));
|
bfd_get_reloc_size PARAMS ((reloc_howto_type *));
|
||||||
|
|
||||||
typedef struct relent_chain {
|
typedef struct relent_chain {
|
||||||
|
@ -1808,7 +1804,6 @@ bfd_install_relocation
|
||||||
enum bfd_reloc_code_real {
|
enum bfd_reloc_code_real {
|
||||||
_dummy_first_bfd_reloc_code_real,
|
_dummy_first_bfd_reloc_code_real,
|
||||||
|
|
||||||
|
|
||||||
/* Basic absolute relocations of N bits. */
|
/* Basic absolute relocations of N bits. */
|
||||||
BFD_RELOC_64,
|
BFD_RELOC_64,
|
||||||
BFD_RELOC_32,
|
BFD_RELOC_32,
|
||||||
|
@ -2062,7 +2057,6 @@ to compensate for the borrow when the low bits are added. */
|
||||||
BFD_RELOC_MIPS_GOT_OFST,
|
BFD_RELOC_MIPS_GOT_OFST,
|
||||||
BFD_RELOC_MIPS_GOT_DISP,
|
BFD_RELOC_MIPS_GOT_DISP,
|
||||||
|
|
||||||
|
|
||||||
/* i386/elf relocations */
|
/* i386/elf relocations */
|
||||||
BFD_RELOC_386_GOT32,
|
BFD_RELOC_386_GOT32,
|
||||||
BFD_RELOC_386_PLT32,
|
BFD_RELOC_386_PLT32,
|
||||||
|
@ -2383,7 +2377,6 @@ bits placed non-contigously in the instruction. */
|
||||||
/* This is a 16 bit offset from the call table base pointer. */
|
/* This is a 16 bit offset from the call table base pointer. */
|
||||||
BFD_RELOC_V850_CALLT_16_16_OFFSET,
|
BFD_RELOC_V850_CALLT_16_16_OFFSET,
|
||||||
|
|
||||||
|
|
||||||
/* This is a 32bit pcrel reloc for the mn10300, offset by two bytes in the
|
/* This is a 32bit pcrel reloc for the mn10300, offset by two bytes in the
|
||||||
instruction. */
|
instruction. */
|
||||||
BFD_RELOC_MN10300_32_PCREL,
|
BFD_RELOC_MN10300_32_PCREL,
|
||||||
|
@ -2675,7 +2668,6 @@ bfd_reloc_type_lookup PARAMS ((bfd *abfd, bfd_reloc_code_real_type code));
|
||||||
const char *
|
const char *
|
||||||
bfd_get_reloc_code_name PARAMS ((bfd_reloc_code_real_type code));
|
bfd_get_reloc_code_name PARAMS ((bfd_reloc_code_real_type code));
|
||||||
|
|
||||||
|
|
||||||
typedef struct symbol_cache_entry
|
typedef struct symbol_cache_entry
|
||||||
{
|
{
|
||||||
/* A pointer to the BFD which owns the symbol. This information
|
/* A pointer to the BFD which owns the symbol. This information
|
||||||
|
@ -2800,10 +2792,10 @@ typedef struct symbol_cache_entry
|
||||||
} asymbol;
|
} asymbol;
|
||||||
#define bfd_get_symtab_upper_bound(abfd) \
|
#define bfd_get_symtab_upper_bound(abfd) \
|
||||||
BFD_SEND (abfd, _bfd_get_symtab_upper_bound, (abfd))
|
BFD_SEND (abfd, _bfd_get_symtab_upper_bound, (abfd))
|
||||||
boolean
|
boolean
|
||||||
bfd_is_local_label PARAMS ((bfd *abfd, asymbol *sym));
|
bfd_is_local_label PARAMS ((bfd *abfd, asymbol *sym));
|
||||||
|
|
||||||
boolean
|
boolean
|
||||||
bfd_is_local_label_name PARAMS ((bfd *abfd, const char *name));
|
bfd_is_local_label_name PARAMS ((bfd *abfd, const char *name));
|
||||||
|
|
||||||
#define bfd_is_local_label_name(abfd, name) \
|
#define bfd_is_local_label_name(abfd, name) \
|
||||||
|
@ -2811,26 +2803,26 @@ bfd_is_local_label_name PARAMS ((bfd *abfd, const char *name));
|
||||||
#define bfd_canonicalize_symtab(abfd, location) \
|
#define bfd_canonicalize_symtab(abfd, location) \
|
||||||
BFD_SEND (abfd, _bfd_canonicalize_symtab,\
|
BFD_SEND (abfd, _bfd_canonicalize_symtab,\
|
||||||
(abfd, location))
|
(abfd, location))
|
||||||
boolean
|
boolean
|
||||||
bfd_set_symtab PARAMS ((bfd *abfd, asymbol **location, unsigned int count));
|
bfd_set_symtab PARAMS ((bfd *abfd, asymbol **location, unsigned int count));
|
||||||
|
|
||||||
void
|
void
|
||||||
bfd_print_symbol_vandf PARAMS ((PTR file, asymbol *symbol));
|
bfd_print_symbol_vandf PARAMS ((PTR file, asymbol *symbol));
|
||||||
|
|
||||||
#define bfd_make_empty_symbol(abfd) \
|
#define bfd_make_empty_symbol(abfd) \
|
||||||
BFD_SEND (abfd, _bfd_make_empty_symbol, (abfd))
|
BFD_SEND (abfd, _bfd_make_empty_symbol, (abfd))
|
||||||
#define bfd_make_debug_symbol(abfd,ptr,size) \
|
#define bfd_make_debug_symbol(abfd,ptr,size) \
|
||||||
BFD_SEND (abfd, _bfd_make_debug_symbol, (abfd, ptr, size))
|
BFD_SEND (abfd, _bfd_make_debug_symbol, (abfd, ptr, size))
|
||||||
int
|
int
|
||||||
bfd_decode_symclass PARAMS ((asymbol *symbol));
|
bfd_decode_symclass PARAMS ((asymbol *symbol));
|
||||||
|
|
||||||
boolean
|
boolean
|
||||||
bfd_is_undefined_symclass PARAMS ((int symclass));
|
bfd_is_undefined_symclass PARAMS ((int symclass));
|
||||||
|
|
||||||
void
|
void
|
||||||
bfd_symbol_info PARAMS ((asymbol *symbol, symbol_info *ret));
|
bfd_symbol_info PARAMS ((asymbol *symbol, symbol_info *ret));
|
||||||
|
|
||||||
boolean
|
boolean
|
||||||
bfd_copy_private_symbol_data PARAMS ((bfd *ibfd, asymbol *isym, bfd *obfd, asymbol *osym));
|
bfd_copy_private_symbol_data PARAMS ((bfd *ibfd, asymbol *isym, bfd *obfd, asymbol *osym));
|
||||||
|
|
||||||
#define bfd_copy_private_symbol_data(ibfd, isymbol, obfd, osymbol) \
|
#define bfd_copy_private_symbol_data(ibfd, isymbol, obfd, osymbol) \
|
||||||
|
@ -3016,85 +3008,85 @@ typedef enum bfd_error
|
||||||
bfd_error_invalid_error_code
|
bfd_error_invalid_error_code
|
||||||
} bfd_error_type;
|
} bfd_error_type;
|
||||||
|
|
||||||
bfd_error_type
|
bfd_error_type
|
||||||
bfd_get_error PARAMS ((void));
|
bfd_get_error PARAMS ((void));
|
||||||
|
|
||||||
void
|
void
|
||||||
bfd_set_error PARAMS ((bfd_error_type error_tag));
|
bfd_set_error PARAMS ((bfd_error_type error_tag));
|
||||||
|
|
||||||
CONST char *
|
CONST char *
|
||||||
bfd_errmsg PARAMS ((bfd_error_type error_tag));
|
bfd_errmsg PARAMS ((bfd_error_type error_tag));
|
||||||
|
|
||||||
void
|
void
|
||||||
bfd_perror PARAMS ((CONST char *message));
|
bfd_perror PARAMS ((CONST char *message));
|
||||||
|
|
||||||
typedef void (*bfd_error_handler_type) PARAMS ((const char *, ...));
|
typedef void (*bfd_error_handler_type) PARAMS ((const char *, ...));
|
||||||
|
|
||||||
bfd_error_handler_type
|
bfd_error_handler_type
|
||||||
bfd_set_error_handler PARAMS ((bfd_error_handler_type));
|
bfd_set_error_handler PARAMS ((bfd_error_handler_type));
|
||||||
|
|
||||||
void
|
void
|
||||||
bfd_set_error_program_name PARAMS ((const char *));
|
bfd_set_error_program_name PARAMS ((const char *));
|
||||||
|
|
||||||
bfd_error_handler_type
|
bfd_error_handler_type
|
||||||
bfd_get_error_handler PARAMS ((void));
|
bfd_get_error_handler PARAMS ((void));
|
||||||
|
|
||||||
long
|
long
|
||||||
bfd_get_reloc_upper_bound PARAMS ((bfd *abfd, asection *sect));
|
bfd_get_reloc_upper_bound PARAMS ((bfd *abfd, asection *sect));
|
||||||
|
|
||||||
long
|
long
|
||||||
bfd_canonicalize_reloc
|
bfd_canonicalize_reloc
|
||||||
PARAMS ((bfd *abfd,
|
PARAMS ((bfd *abfd,
|
||||||
asection *sec,
|
asection *sec,
|
||||||
arelent **loc,
|
arelent **loc,
|
||||||
asymbol **syms));
|
asymbol **syms));
|
||||||
|
|
||||||
void
|
void
|
||||||
bfd_set_reloc
|
bfd_set_reloc
|
||||||
PARAMS ((bfd *abfd, asection *sec, arelent **rel, unsigned int count)
|
PARAMS ((bfd *abfd, asection *sec, arelent **rel, unsigned int count)
|
||||||
|
|
||||||
);
|
);
|
||||||
|
|
||||||
boolean
|
boolean
|
||||||
bfd_set_file_flags PARAMS ((bfd *abfd, flagword flags));
|
bfd_set_file_flags PARAMS ((bfd *abfd, flagword flags));
|
||||||
|
|
||||||
int
|
int
|
||||||
bfd_get_arch_size PARAMS ((bfd *abfd));
|
bfd_get_arch_size PARAMS ((bfd *abfd));
|
||||||
|
|
||||||
int
|
int
|
||||||
bfd_get_sign_extend_vma PARAMS ((bfd *abfd));
|
bfd_get_sign_extend_vma PARAMS ((bfd *abfd));
|
||||||
|
|
||||||
boolean
|
boolean
|
||||||
bfd_set_start_address PARAMS ((bfd *abfd, bfd_vma vma));
|
bfd_set_start_address PARAMS ((bfd *abfd, bfd_vma vma));
|
||||||
|
|
||||||
long
|
long
|
||||||
bfd_get_mtime PARAMS ((bfd *abfd));
|
bfd_get_mtime PARAMS ((bfd *abfd));
|
||||||
|
|
||||||
long
|
long
|
||||||
bfd_get_size PARAMS ((bfd *abfd));
|
bfd_get_size PARAMS ((bfd *abfd));
|
||||||
|
|
||||||
int
|
int
|
||||||
bfd_get_gp_size PARAMS ((bfd *abfd));
|
bfd_get_gp_size PARAMS ((bfd *abfd));
|
||||||
|
|
||||||
void
|
void
|
||||||
bfd_set_gp_size PARAMS ((bfd *abfd, int i));
|
bfd_set_gp_size PARAMS ((bfd *abfd, int i));
|
||||||
|
|
||||||
bfd_vma
|
bfd_vma
|
||||||
bfd_scan_vma PARAMS ((CONST char *string, CONST char **end, int base));
|
bfd_scan_vma PARAMS ((CONST char *string, CONST char **end, int base));
|
||||||
|
|
||||||
boolean
|
boolean
|
||||||
bfd_copy_private_bfd_data PARAMS ((bfd *ibfd, bfd *obfd));
|
bfd_copy_private_bfd_data PARAMS ((bfd *ibfd, bfd *obfd));
|
||||||
|
|
||||||
#define bfd_copy_private_bfd_data(ibfd, obfd) \
|
#define bfd_copy_private_bfd_data(ibfd, obfd) \
|
||||||
BFD_SEND (obfd, _bfd_copy_private_bfd_data, \
|
BFD_SEND (obfd, _bfd_copy_private_bfd_data, \
|
||||||
(ibfd, obfd))
|
(ibfd, obfd))
|
||||||
boolean
|
boolean
|
||||||
bfd_merge_private_bfd_data PARAMS ((bfd *ibfd, bfd *obfd));
|
bfd_merge_private_bfd_data PARAMS ((bfd *ibfd, bfd *obfd));
|
||||||
|
|
||||||
#define bfd_merge_private_bfd_data(ibfd, obfd) \
|
#define bfd_merge_private_bfd_data(ibfd, obfd) \
|
||||||
BFD_SEND (obfd, _bfd_merge_private_bfd_data, \
|
BFD_SEND (obfd, _bfd_merge_private_bfd_data, \
|
||||||
(ibfd, obfd))
|
(ibfd, obfd))
|
||||||
boolean
|
boolean
|
||||||
bfd_set_private_flags PARAMS ((bfd *abfd, flagword flags));
|
bfd_set_private_flags PARAMS ((bfd *abfd, flagword flags));
|
||||||
|
|
||||||
#define bfd_set_private_flags(abfd, flags) \
|
#define bfd_set_private_flags(abfd, flags) \
|
||||||
|
@ -3116,7 +3108,6 @@ bfd_set_private_flags PARAMS ((bfd *abfd, flagword flags));
|
||||||
#define bfd_debug_info_accumulate(abfd, section) \
|
#define bfd_debug_info_accumulate(abfd, section) \
|
||||||
BFD_SEND (abfd, _bfd_debug_info_accumulate, (abfd, section))
|
BFD_SEND (abfd, _bfd_debug_info_accumulate, (abfd, section))
|
||||||
|
|
||||||
|
|
||||||
#define bfd_stat_arch_elt(abfd, stat) \
|
#define bfd_stat_arch_elt(abfd, stat) \
|
||||||
BFD_SEND (abfd, _bfd_stat_arch_elt,(abfd, stat))
|
BFD_SEND (abfd, _bfd_stat_arch_elt,(abfd, stat))
|
||||||
|
|
||||||
|
@ -3164,10 +3155,10 @@ extern bfd_byte *bfd_get_relocated_section_contents
|
||||||
struct bfd_link_order *, bfd_byte *,
|
struct bfd_link_order *, bfd_byte *,
|
||||||
boolean, asymbol **));
|
boolean, asymbol **));
|
||||||
|
|
||||||
symindex
|
symindex
|
||||||
bfd_get_next_mapent PARAMS ((bfd *abfd, symindex previous, carsym **sym));
|
bfd_get_next_mapent PARAMS ((bfd *abfd, symindex previous, carsym **sym));
|
||||||
|
|
||||||
boolean
|
boolean
|
||||||
bfd_set_archive_head PARAMS ((bfd *output, bfd *new_head));
|
bfd_set_archive_head PARAMS ((bfd *output, bfd *new_head));
|
||||||
|
|
||||||
bfd *
|
bfd *
|
||||||
|
@ -3176,10 +3167,10 @@ bfd_openr_next_archived_file PARAMS ((bfd *archive, bfd *previous));
|
||||||
CONST char *
|
CONST char *
|
||||||
bfd_core_file_failing_command PARAMS ((bfd *abfd));
|
bfd_core_file_failing_command PARAMS ((bfd *abfd));
|
||||||
|
|
||||||
int
|
int
|
||||||
bfd_core_file_failing_signal PARAMS ((bfd *abfd));
|
bfd_core_file_failing_signal PARAMS ((bfd *abfd));
|
||||||
|
|
||||||
boolean
|
boolean
|
||||||
core_file_matches_executable_p
|
core_file_matches_executable_p
|
||||||
PARAMS ((bfd *core_bfd, bfd *exec_bfd));
|
PARAMS ((bfd *core_bfd, bfd *exec_bfd));
|
||||||
|
|
||||||
|
@ -3479,7 +3470,7 @@ CAT(NAME,_canonicalize_dynamic_reloc)
|
||||||
PTR backend_data;
|
PTR backend_data;
|
||||||
|
|
||||||
} bfd_target;
|
} bfd_target;
|
||||||
boolean
|
boolean
|
||||||
bfd_set_default_target PARAMS ((const char *name));
|
bfd_set_default_target PARAMS ((const char *name));
|
||||||
|
|
||||||
const bfd_target *
|
const bfd_target *
|
||||||
|
@ -3488,16 +3479,16 @@ bfd_find_target PARAMS ((CONST char *target_name, bfd *abfd));
|
||||||
const char **
|
const char **
|
||||||
bfd_target_list PARAMS ((void));
|
bfd_target_list PARAMS ((void));
|
||||||
|
|
||||||
const bfd_target *
|
const bfd_target *
|
||||||
bfd_search_for_target PARAMS ((int (* search_func) (const bfd_target *, void *), void *));
|
bfd_search_for_target PARAMS ((int (* search_func) (const bfd_target *, void *), void *));
|
||||||
|
|
||||||
boolean
|
boolean
|
||||||
bfd_check_format PARAMS ((bfd *abfd, bfd_format format));
|
bfd_check_format PARAMS ((bfd *abfd, bfd_format format));
|
||||||
|
|
||||||
boolean
|
boolean
|
||||||
bfd_check_format_matches PARAMS ((bfd *abfd, bfd_format format, char ***matching));
|
bfd_check_format_matches PARAMS ((bfd *abfd, bfd_format format, char ***matching));
|
||||||
|
|
||||||
boolean
|
boolean
|
||||||
bfd_set_format PARAMS ((bfd *abfd, bfd_format format));
|
bfd_set_format PARAMS ((bfd *abfd, bfd_format format));
|
||||||
|
|
||||||
CONST char *
|
CONST char *
|
||||||
|
|
|
@ -218,7 +218,6 @@ CODE_FRAGMENT
|
||||||
struct which ultimately gets passed in to the bfd. When it arrives, copy
|
struct which ultimately gets passed in to the bfd. When it arrives, copy
|
||||||
it to the following struct so that the data will be available in coffcode.h
|
it to the following struct so that the data will be available in coffcode.h
|
||||||
where it is needed. The typedef's used are defined in bfd.h */
|
where it is needed. The typedef's used are defined in bfd.h */
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
SECTION
|
SECTION
|
||||||
|
|
|
@ -47,7 +47,7 @@ const bfd_arch_info_type bfd_x86_64_arch_intel_syntax =
|
||||||
"x86_64:intel",
|
"x86_64:intel",
|
||||||
3,
|
3,
|
||||||
true,
|
true,
|
||||||
bfd_default_compatible,
|
bfd_default_compatible,
|
||||||
bfd_default_scan ,
|
bfd_default_scan ,
|
||||||
&bfd_i386_arch_intel_syntax,
|
&bfd_i386_arch_intel_syntax,
|
||||||
};
|
};
|
||||||
|
@ -78,7 +78,7 @@ const bfd_arch_info_type bfd_x86_64_arch =
|
||||||
"x86_64",
|
"x86_64",
|
||||||
3,
|
3,
|
||||||
true,
|
true,
|
||||||
bfd_default_compatible,
|
bfd_default_compatible,
|
||||||
bfd_default_scan ,
|
bfd_default_scan ,
|
||||||
&i8086_arch,
|
&i8086_arch,
|
||||||
};
|
};
|
||||||
|
@ -96,6 +96,5 @@ const bfd_arch_info_type bfd_i386_arch =
|
||||||
true,
|
true,
|
||||||
bfd_default_compatible,
|
bfd_default_compatible,
|
||||||
bfd_default_scan ,
|
bfd_default_scan ,
|
||||||
&bfd_x86_64_arch
|
&bfd_x86_64_arch
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -36,4 +36,3 @@ const bfd_arch_info_type bfd_m68hc11_arch =
|
||||||
bfd_default_scan,
|
bfd_default_scan,
|
||||||
0,
|
0,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1248,7 +1248,7 @@ parse_comp_unit (abfd, stash, unit_length, abbrev_length)
|
||||||
|
|
||||||
char *info_ptr = stash->info_ptr;
|
char *info_ptr = stash->info_ptr;
|
||||||
char *end_ptr = info_ptr + unit_length;
|
char *end_ptr = info_ptr + unit_length;
|
||||||
|
|
||||||
version = read_2_bytes (abfd, info_ptr);
|
version = read_2_bytes (abfd, info_ptr);
|
||||||
info_ptr += 2;
|
info_ptr += 2;
|
||||||
BFD_ASSERT (abbrev_length == 0
|
BFD_ASSERT (abbrev_length == 0
|
||||||
|
@ -1542,7 +1542,7 @@ _bfd_dwarf2_find_nearest_line (abfd, section, symbols, offset,
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
*pinfo = (PTR) stash;
|
*pinfo = (PTR) stash;
|
||||||
|
|
||||||
msec = find_debug_info (abfd, NULL);
|
msec = find_debug_info (abfd, NULL);
|
||||||
if (! msec)
|
if (! msec)
|
||||||
/* No dwarf2 info. Note that at this point the stash
|
/* No dwarf2 info. Note that at this point the stash
|
||||||
|
|
|
@ -1716,7 +1716,6 @@ elf64_x86_64_finish_dynamic_sections (output_bfd, info)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#define TARGET_LITTLE_SYM bfd_elf64_x86_64_vec
|
#define TARGET_LITTLE_SYM bfd_elf64_x86_64_vec
|
||||||
#define TARGET_LITTLE_NAME "elf64-x86-64"
|
#define TARGET_LITTLE_NAME "elf64-x86-64"
|
||||||
#define ELF_ARCH bfd_arch_i386
|
#define ELF_ARCH bfd_arch_i386
|
||||||
|
|
72
bfd/format.c
72
bfd/format.c
|
@ -23,7 +23,7 @@ SECTION
|
||||||
File formats
|
File formats
|
||||||
|
|
||||||
A format is a BFD concept of high level file contents type. The
|
A format is a BFD concept of high level file contents type. The
|
||||||
formats supported by BFD are:
|
formats supported by BFD are:
|
||||||
|
|
||||||
o <<bfd_object>>
|
o <<bfd_object>>
|
||||||
|
|
||||||
|
@ -37,7 +37,6 @@ SECTION
|
||||||
|
|
||||||
The BFD contains the result of an executable core dump.
|
The BFD contains the result of an executable core dump.
|
||||||
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "bfd.h"
|
#include "bfd.h"
|
||||||
|
@ -68,7 +67,7 @@ DESCRIPTION
|
||||||
the file, or an error results.
|
the file, or an error results.
|
||||||
|
|
||||||
The function returns <<true>> on success, otherwise <<false>>
|
The function returns <<true>> on success, otherwise <<false>>
|
||||||
with one of the following error codes:
|
with one of the following error codes:
|
||||||
|
|
||||||
o <<bfd_error_invalid_operation>> -
|
o <<bfd_error_invalid_operation>> -
|
||||||
if <<format>> is not one of <<bfd_object>>, <<bfd_archive>> or
|
if <<format>> is not one of <<bfd_object>>, <<bfd_archive>> or
|
||||||
|
@ -109,7 +108,7 @@ DESCRIPTION
|
||||||
Then the user may choose a format and try again.
|
Then the user may choose a format and try again.
|
||||||
|
|
||||||
When done with the list that @var{matching} points to, the caller
|
When done with the list that @var{matching} points to, the caller
|
||||||
should free it.
|
should free it.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
boolean
|
boolean
|
||||||
|
@ -134,11 +133,11 @@ bfd_check_format_matches (abfd, format, matching)
|
||||||
if (abfd->format != bfd_unknown)
|
if (abfd->format != bfd_unknown)
|
||||||
return (abfd->format == format)? true: false;
|
return (abfd->format == format)? true: false;
|
||||||
|
|
||||||
/* Since the target type was defaulted, check them
|
/* Since the target type was defaulted, check them
|
||||||
all in the hope that one will be uniquely recognized. */
|
all in the hope that one will be uniquely recognized. */
|
||||||
save_targ = abfd->xvec;
|
save_targ = abfd->xvec;
|
||||||
match_count = 0;
|
match_count = 0;
|
||||||
|
|
||||||
if (matching)
|
if (matching)
|
||||||
{
|
{
|
||||||
matching_vector =
|
matching_vector =
|
||||||
|
@ -149,7 +148,7 @@ bfd_check_format_matches (abfd, format, matching)
|
||||||
matching_vector[0] = NULL;
|
matching_vector[0] = NULL;
|
||||||
*matching = matching_vector;
|
*matching = matching_vector;
|
||||||
}
|
}
|
||||||
|
|
||||||
right_targ = 0;
|
right_targ = 0;
|
||||||
|
|
||||||
/* Presume the answer is yes. */
|
/* Presume the answer is yes. */
|
||||||
|
@ -160,16 +159,16 @@ bfd_check_format_matches (abfd, format, matching)
|
||||||
{
|
{
|
||||||
if (bfd_seek (abfd, (file_ptr)0, SEEK_SET) != 0) /* rewind! */
|
if (bfd_seek (abfd, (file_ptr)0, SEEK_SET) != 0) /* rewind! */
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
right_targ = BFD_SEND_FMT (abfd, _bfd_check_format, (abfd));
|
right_targ = BFD_SEND_FMT (abfd, _bfd_check_format, (abfd));
|
||||||
|
|
||||||
if (right_targ)
|
if (right_targ)
|
||||||
{
|
{
|
||||||
abfd->xvec = right_targ; /* Set the target as returned. */
|
abfd->xvec = right_targ; /* Set the target as returned. */
|
||||||
|
|
||||||
if (matching)
|
if (matching)
|
||||||
free (matching_vector);
|
free (matching_vector);
|
||||||
|
|
||||||
return true; /* File position has moved, BTW. */
|
return true; /* File position has moved, BTW. */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -189,12 +188,12 @@ bfd_check_format_matches (abfd, format, matching)
|
||||||
{
|
{
|
||||||
abfd->xvec = save_targ;
|
abfd->xvec = save_targ;
|
||||||
abfd->format = bfd_unknown;
|
abfd->format = bfd_unknown;
|
||||||
|
|
||||||
if (matching)
|
if (matching)
|
||||||
free (matching_vector);
|
free (matching_vector);
|
||||||
|
|
||||||
bfd_set_error (bfd_error_file_not_recognized);
|
bfd_set_error (bfd_error_file_not_recognized);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -202,15 +201,15 @@ bfd_check_format_matches (abfd, format, matching)
|
||||||
for (target = bfd_target_vector; *target != NULL; target++)
|
for (target = bfd_target_vector; *target != NULL; target++)
|
||||||
{
|
{
|
||||||
const bfd_target *temp;
|
const bfd_target *temp;
|
||||||
|
|
||||||
if (*target == &binary_vec)
|
if (*target == &binary_vec)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
abfd->xvec = *target; /* Change BFD's target temporarily */
|
abfd->xvec = *target; /* Change BFD's target temporarily */
|
||||||
|
|
||||||
if (bfd_seek (abfd, (file_ptr)0, SEEK_SET) != 0)
|
if (bfd_seek (abfd, (file_ptr)0, SEEK_SET) != 0)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
/* If _bfd_check_format neglects to set bfd_error, assume
|
/* If _bfd_check_format neglects to set bfd_error, assume
|
||||||
bfd_error_wrong_format. We didn't used to even pay any
|
bfd_error_wrong_format. We didn't used to even pay any
|
||||||
attention to bfd_error, so I suspect that some
|
attention to bfd_error, so I suspect that some
|
||||||
|
@ -218,19 +217,19 @@ bfd_check_format_matches (abfd, format, matching)
|
||||||
bfd_set_error (bfd_error_wrong_format);
|
bfd_set_error (bfd_error_wrong_format);
|
||||||
|
|
||||||
temp = BFD_SEND_FMT (abfd, _bfd_check_format, (abfd));
|
temp = BFD_SEND_FMT (abfd, _bfd_check_format, (abfd));
|
||||||
|
|
||||||
if (temp)
|
if (temp)
|
||||||
{ /* This format checks out as ok! */
|
{ /* This format checks out as ok! */
|
||||||
right_targ = temp;
|
right_targ = temp;
|
||||||
|
|
||||||
if (matching)
|
if (matching)
|
||||||
{
|
{
|
||||||
matching_vector[match_count] = temp->name;
|
matching_vector[match_count] = temp->name;
|
||||||
matching_vector[match_count + 1] = NULL;
|
matching_vector[match_count + 1] = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
match_count++;
|
match_count++;
|
||||||
|
|
||||||
/* If this is the default target, accept it, even if other
|
/* If this is the default target, accept it, even if other
|
||||||
targets might match. People who want those other targets
|
targets might match. People who want those other targets
|
||||||
have to set the GNUTARGET variable. */
|
have to set the GNUTARGET variable. */
|
||||||
|
@ -258,38 +257,38 @@ bfd_check_format_matches (abfd, format, matching)
|
||||||
{
|
{
|
||||||
abfd->xvec = save_targ;
|
abfd->xvec = save_targ;
|
||||||
abfd->format = bfd_unknown;
|
abfd->format = bfd_unknown;
|
||||||
|
|
||||||
if (matching && bfd_get_error ()
|
if (matching && bfd_get_error ()
|
||||||
!= bfd_error_file_ambiguously_recognized)
|
!= bfd_error_file_ambiguously_recognized)
|
||||||
free (matching_vector);
|
free (matching_vector);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (match_count == 1)
|
if (match_count == 1)
|
||||||
{
|
{
|
||||||
abfd->xvec = right_targ; /* Change BFD's target permanently. */
|
abfd->xvec = right_targ; /* Change BFD's target permanently. */
|
||||||
|
|
||||||
if (matching)
|
if (matching)
|
||||||
free (matching_vector);
|
free (matching_vector);
|
||||||
|
|
||||||
return true; /* File position has moved, BTW. */
|
return true; /* File position has moved, BTW. */
|
||||||
}
|
}
|
||||||
|
|
||||||
abfd->xvec = save_targ; /* Restore original target type. */
|
abfd->xvec = save_targ; /* Restore original target type. */
|
||||||
abfd->format = bfd_unknown; /* Restore original format. */
|
abfd->format = bfd_unknown; /* Restore original format. */
|
||||||
|
|
||||||
if (match_count == 0)
|
if (match_count == 0)
|
||||||
{
|
{
|
||||||
bfd_set_error (bfd_error_file_not_recognized);
|
bfd_set_error (bfd_error_file_not_recognized);
|
||||||
|
|
||||||
if (matching)
|
if (matching)
|
||||||
free (matching_vector);
|
free (matching_vector);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
bfd_set_error (bfd_error_file_ambiguously_recognized);
|
bfd_set_error (bfd_error_file_ambiguously_recognized);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -335,7 +334,6 @@ bfd_set_format (abfd, format)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
FUNCTION
|
FUNCTION
|
||||||
bfd_format_string
|
bfd_format_string
|
||||||
|
@ -353,19 +351,19 @@ CONST char *
|
||||||
bfd_format_string (format)
|
bfd_format_string (format)
|
||||||
bfd_format format;
|
bfd_format format;
|
||||||
{
|
{
|
||||||
if (((int)format <(int) bfd_unknown)
|
if (((int)format <(int) bfd_unknown)
|
||||||
|| ((int)format >=(int) bfd_type_end))
|
|| ((int)format >=(int) bfd_type_end))
|
||||||
return "invalid";
|
return "invalid";
|
||||||
|
|
||||||
switch (format)
|
switch (format)
|
||||||
{
|
{
|
||||||
case bfd_object:
|
case bfd_object:
|
||||||
return "object"; /* Linker/assember/compiler output. */
|
return "object"; /* Linker/assember/compiler output. */
|
||||||
case bfd_archive:
|
case bfd_archive:
|
||||||
return "archive"; /* Object archive file. */
|
return "archive"; /* Object archive file. */
|
||||||
case bfd_core:
|
case bfd_core:
|
||||||
return "core"; /* Core dump. */
|
return "core"; /* Core dump. */
|
||||||
default:
|
default:
|
||||||
return "unknown";
|
return "unknown";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,7 +59,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
format. I think. */
|
format. I think. */
|
||||||
#define SWAP_MAGIC(ext) bfd_getl32 (ext)
|
#define SWAP_MAGIC(ext) bfd_getl32 (ext)
|
||||||
|
|
||||||
|
|
||||||
#define MY_write_object_contents MY(write_object_contents)
|
#define MY_write_object_contents MY(write_object_contents)
|
||||||
static boolean MY(write_object_contents) PARAMS ((bfd *abfd));
|
static boolean MY(write_object_contents) PARAMS ((bfd *abfd));
|
||||||
|
|
||||||
|
|
|
@ -268,7 +268,7 @@ SUBSUBSECTION
|
||||||
Write other derived routines
|
Write other derived routines
|
||||||
|
|
||||||
You will want to write other routines for your new hash table,
|
You will want to write other routines for your new hash table,
|
||||||
as well.
|
as well.
|
||||||
|
|
||||||
You will want an initialization routine which calls the
|
You will want an initialization routine which calls the
|
||||||
initialization routine of the hash table you are deriving from
|
initialization routine of the hash table you are deriving from
|
||||||
|
@ -366,7 +366,7 @@ bfd_hash_lookup (table, string, create, copy)
|
||||||
struct bfd_hash_entry *hashp;
|
struct bfd_hash_entry *hashp;
|
||||||
unsigned int len;
|
unsigned int len;
|
||||||
unsigned int index;
|
unsigned int index;
|
||||||
|
|
||||||
hash = 0;
|
hash = 0;
|
||||||
len = 0;
|
len = 0;
|
||||||
s = (const unsigned char *) string;
|
s = (const unsigned char *) string;
|
||||||
|
|
|
@ -24,7 +24,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||||
| hp300hpux bfd | ----------> hpux w/gnu ext
|
| hp300hpux bfd | ----------> hpux w/gnu ext
|
||||||
hpux w/gnu extension ----> | |
|
hpux w/gnu extension ----> | |
|
||||||
|
|
||||||
|
|
||||||
Support for the 9000/[34]00 has several limitations.
|
Support for the 9000/[34]00 has several limitations.
|
||||||
1. Shared libraries are not supported.
|
1. Shared libraries are not supported.
|
||||||
2. The output format from this bfd is not usable by native tools.
|
2. The output format from this bfd is not usable by native tools.
|
||||||
|
@ -238,7 +237,6 @@ MY (callback) (abfd)
|
||||||
bfd_default_set_arch_mach (abfd, DEFAULT_ARCH, 0);
|
bfd_default_set_arch_mach (abfd, DEFAULT_ARCH, 0);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
if (obj_aout_subformat (abfd) == gnu_encap_format)
|
if (obj_aout_subformat (abfd) == gnu_encap_format)
|
||||||
{
|
{
|
||||||
/* The file offsets of the relocation info */
|
/* The file offsets of the relocation info */
|
||||||
|
@ -419,7 +417,6 @@ convert_sym_type (sym_pointer, cache_ptr, abfd)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
Swaps the information in an executable header taken from a raw
|
Swaps the information in an executable header taken from a raw
|
||||||
|
@ -485,7 +482,6 @@ NAME (aout,swap_exec_header_in) (abfd, raw_bytes, execp)
|
||||||
while (0);
|
while (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* The hp symbol table is a bit different than other a.out targets. Instead
|
/* The hp symbol table is a bit different than other a.out targets. Instead
|
||||||
of having an array of nlist items and an array of strings, hp's format
|
of having an array of nlist items and an array of strings, hp's format
|
||||||
has them mixed together in one structure. In addition, the strings are
|
has them mixed together in one structure. In addition, the strings are
|
||||||
|
@ -538,7 +534,6 @@ MY (slurp_symbol_table) (abfd)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
sym_end = (struct external_nlist *) (((char *) syms) + symbol_bytes);
|
sym_end = (struct external_nlist *) (((char *) syms) + symbol_bytes);
|
||||||
|
|
||||||
/* first, march thru the table and figure out how many symbols there are */
|
/* first, march thru the table and figure out how many symbols there are */
|
||||||
|
@ -615,8 +610,6 @@ MY (slurp_symbol_table) (abfd)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
MY (swap_std_reloc_in) (abfd, bytes, cache_ptr, symbols, symcount)
|
MY (swap_std_reloc_in) (abfd, bytes, cache_ptr, symbols, symcount)
|
||||||
bfd *abfd;
|
bfd *abfd;
|
||||||
|
@ -739,7 +732,6 @@ doit:
|
||||||
|
|
||||||
count = reloc_size / each_size;
|
count = reloc_size / each_size;
|
||||||
|
|
||||||
|
|
||||||
reloc_cache = (arelent *) bfd_zalloc (abfd, (size_t) (count * sizeof
|
reloc_cache = (arelent *) bfd_zalloc (abfd, (size_t) (count * sizeof
|
||||||
(arelent)));
|
(arelent)));
|
||||||
if (!reloc_cache && count != 0)
|
if (!reloc_cache && count != 0)
|
||||||
|
@ -769,14 +761,12 @@ doit:
|
||||||
bfd_get_symcount (abfd));
|
bfd_get_symcount (abfd));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bfd_release (abfd, relocs);
|
bfd_release (abfd, relocs);
|
||||||
asect->relocation = reloc_cache;
|
asect->relocation = reloc_cache;
|
||||||
asect->reloc_count = count;
|
asect->reloc_count = count;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
/* The following functions are identical to functions in aoutx.h except */
|
/* The following functions are identical to functions in aoutx.h except */
|
||||||
/* they refer to MY(func) rather than NAME(aout,func) and they also */
|
/* they refer to MY(func) rather than NAME(aout,func) and they also */
|
||||||
|
@ -822,9 +812,6 @@ MY (get_symtab_upper_bound) (abfd)
|
||||||
return (bfd_get_symcount (abfd) + 1) * (sizeof (aout_symbol_type *));
|
return (bfd_get_symcount (abfd) + 1) * (sizeof (aout_symbol_type *));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
long
|
long
|
||||||
MY (canonicalize_reloc) (abfd, section, relptr, symbols)
|
MY (canonicalize_reloc) (abfd, section, relptr, symbols)
|
||||||
bfd *abfd;
|
bfd *abfd;
|
||||||
|
@ -863,5 +850,4 @@ MY (canonicalize_reloc) (abfd, section, relptr, symbols)
|
||||||
return section->reloc_count;
|
return section->reloc_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#include "aout-target.h"
|
#include "aout-target.h"
|
||||||
|
|
|
@ -18,14 +18,13 @@
|
||||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
Written by the Center for Software Science at the University of Utah
|
Written by the Center for Software Science at the University of Utah
|
||||||
and by Cygnus Support.
|
and by Cygnus Support.
|
||||||
|
|
||||||
The core file structure for the Utah 4.3BSD and OSF1 ports on the
|
The core file structure for the Utah 4.3BSD and OSF1 ports on the
|
||||||
PA is a mix between traditional cores and hpux cores -- just
|
PA is a mix between traditional cores and hpux cores -- just
|
||||||
different enough that supporting this format would tend to add
|
different enough that supporting this format would tend to add
|
||||||
gross hacks to trad-core.c or hpux-core.c. So instead we keep any
|
gross hacks to trad-core.c or hpux-core.c. So instead we keep any
|
||||||
gross hacks isolated to this file. */
|
gross hacks isolated to this file. */
|
||||||
|
|
||||||
|
|
||||||
/* This file can only be compiled on systems which use HPPA-BSD style
|
/* This file can only be compiled on systems which use HPPA-BSD style
|
||||||
core files.
|
core files.
|
||||||
|
@ -141,7 +140,6 @@ hppabsd_core_core_file_p (abfd)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Sanity checks. Make sure the size of the core file matches the
|
/* Sanity checks. Make sure the size of the core file matches the
|
||||||
the size computed from information within the core itself. */
|
the size computed from information within the core itself. */
|
||||||
{
|
{
|
||||||
|
@ -180,9 +178,9 @@ hppabsd_core_core_file_p (abfd)
|
||||||
core_stacksec (abfd) = make_bfd_asection (abfd, ".stack",
|
core_stacksec (abfd) = make_bfd_asection (abfd, ".stack",
|
||||||
SEC_ALLOC + SEC_HAS_CONTENTS,
|
SEC_ALLOC + SEC_HAS_CONTENTS,
|
||||||
clicksz * u.u_ssize,
|
clicksz * u.u_ssize,
|
||||||
NBPG * (USIZE + KSTAKSIZE)
|
NBPG * (USIZE + KSTAKSIZE)
|
||||||
+ clicksz * u.u_dsize, 2);
|
+ clicksz * u.u_dsize, 2);
|
||||||
core_stacksec (abfd)->vma = USRSTACK;
|
core_stacksec (abfd)->vma = USRSTACK;
|
||||||
|
|
||||||
core_datasec (abfd) = make_bfd_asection (abfd, ".data",
|
core_datasec (abfd) = make_bfd_asection (abfd, ".data",
|
||||||
SEC_ALLOC + SEC_LOAD
|
SEC_ALLOC + SEC_LOAD
|
||||||
|
@ -225,7 +223,6 @@ hppabsd_core_core_file_matches_executable_p (core_bfd, exec_bfd)
|
||||||
/* There's no way to know this... */
|
/* There's no way to know this... */
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#define hppabsd_core_get_symtab_upper_bound \
|
#define hppabsd_core_get_symtab_upper_bound \
|
||||||
_bfd_nosymbols_get_symtab_upper_bound
|
_bfd_nosymbols_get_symtab_upper_bound
|
||||||
|
@ -245,7 +242,7 @@ static void
|
||||||
swap_abort ()
|
swap_abort ()
|
||||||
{
|
{
|
||||||
/* This way doesn't require any declaration for ANSI to fuck up. */
|
/* This way doesn't require any declaration for ANSI to fuck up. */
|
||||||
abort ();
|
abort ();
|
||||||
}
|
}
|
||||||
|
|
||||||
#define NO_GET ((bfd_vma (*) PARAMS (( const bfd_byte *))) swap_abort )
|
#define NO_GET ((bfd_vma (*) PARAMS (( const bfd_byte *))) swap_abort )
|
||||||
|
@ -287,7 +284,7 @@ const bfd_target hppabsd_core_vec =
|
||||||
bfd_false, bfd_false,
|
bfd_false, bfd_false,
|
||||||
bfd_false, bfd_false
|
bfd_false, bfd_false
|
||||||
},
|
},
|
||||||
|
|
||||||
BFD_JUMP_TABLE_GENERIC (_bfd_generic),
|
BFD_JUMP_TABLE_GENERIC (_bfd_generic),
|
||||||
BFD_JUMP_TABLE_COPY (_bfd_generic),
|
BFD_JUMP_TABLE_COPY (_bfd_generic),
|
||||||
BFD_JUMP_TABLE_CORE (hppabsd_core),
|
BFD_JUMP_TABLE_CORE (hppabsd_core),
|
||||||
|
@ -299,7 +296,7 @@ const bfd_target hppabsd_core_vec =
|
||||||
BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
|
BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
|
||||||
|
|
||||||
NULL,
|
NULL,
|
||||||
|
|
||||||
(PTR) 0 /* backend_data */
|
(PTR) 0 /* backend_data */
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -85,7 +85,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||||
/* .lwpid and .user_tid are only valid if PROC_INFO_HAS_THREAD_ID, else they
|
/* .lwpid and .user_tid are only valid if PROC_INFO_HAS_THREAD_ID, else they
|
||||||
are set to 0. Also, until HP-UX implements MxN threads, .user_tid and
|
are set to 0. Also, until HP-UX implements MxN threads, .user_tid and
|
||||||
.lwpid are synonymous. */
|
.lwpid are synonymous. */
|
||||||
struct hpux_core_struct
|
struct hpux_core_struct
|
||||||
{
|
{
|
||||||
int sig;
|
int sig;
|
||||||
int lwpid; /* Kernel thread ID. */
|
int lwpid; /* Kernel thread ID. */
|
||||||
|
@ -142,7 +142,6 @@ hpux_core_make_empty_symbol (abfd)
|
||||||
return new;
|
return new;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* this function builds a bfd target if the file is a corefile.
|
/* this function builds a bfd target if the file is a corefile.
|
||||||
It returns null or 0 if it finds out thaat it is not a core file.
|
It returns null or 0 if it finds out thaat it is not a core file.
|
||||||
The way it checks this is by looking for allowed 'type' field values.
|
The way it checks this is by looking for allowed 'type' field values.
|
||||||
|
@ -288,7 +287,7 @@ hpux_core_core_file_p (abfd)
|
||||||
*/
|
*/
|
||||||
unknown_sections++;
|
unknown_sections++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default: return 0; /*unrecognized core file type */
|
default: return 0; /*unrecognized core file type */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -389,7 +388,7 @@ const bfd_target hpux_core_vec =
|
||||||
bfd_false, bfd_false,
|
bfd_false, bfd_false,
|
||||||
bfd_false, bfd_false
|
bfd_false, bfd_false
|
||||||
},
|
},
|
||||||
|
|
||||||
BFD_JUMP_TABLE_GENERIC (_bfd_generic),
|
BFD_JUMP_TABLE_GENERIC (_bfd_generic),
|
||||||
BFD_JUMP_TABLE_COPY (_bfd_generic),
|
BFD_JUMP_TABLE_COPY (_bfd_generic),
|
||||||
BFD_JUMP_TABLE_CORE (hpux_core),
|
BFD_JUMP_TABLE_CORE (hpux_core),
|
||||||
|
@ -401,6 +400,6 @@ const bfd_target hpux_core_vec =
|
||||||
BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
|
BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
|
||||||
|
|
||||||
NULL,
|
NULL,
|
||||||
|
|
||||||
(PTR) 0 /* backend_data */
|
(PTR) 0 /* backend_data */
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue