diff options
author | Steve Chamberlain <sac@cygnus> | 1995-06-29 01:17:58 +0000 |
---|---|---|
committer | Steve Chamberlain <sac@cygnus> | 1995-06-29 01:17:58 +0000 |
commit | 89665c8562dac7459029330dabb4e426cd1643a6 (patch) | |
tree | ba05dedc3eeb42b9c2cb71a26a7ab31b83a12276 /bfd/targets.c | |
parent | 6f2d32120e50bd3bc24ac0c16f53875a35788314 (diff) | |
download | fsf-binutils-gdb-89665c8562dac7459029330dabb4e426cd1643a6.zip fsf-binutils-gdb-89665c8562dac7459029330dabb4e426cd1643a6.tar.gz fsf-binutils-gdb-89665c8562dac7459029330dabb4e426cd1643a6.tar.bz2 |
Wed Jun 28 18:04:42 1995 Steve Chamberlain <sac@slash.cygnus.com>
* Makefile.in: versados.o is now conditionally built.
* coffcode.h (add_data_entry): New function.
(coff_write_object_contents): Clean up. Calculate
data entries.
* cofflink.c (_bfd_coff_generic_relocate_section):
.reloc and .edata sections are IMAGE_BASED too.
If there's a base_file then write out base information.
* configure.host (i386-*-pe): New.
* syms.c (coff_section_type): Only scan prefixes.
* targets.c (bfd_target_vector): Versados is now conditionally
built.
* config/m68k-coff.mt: Build versados.o
* hosts/i386pe.h: New file.
Diffstat (limited to 'bfd/targets.c')
-rw-r--r-- | bfd/targets.c | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/bfd/targets.c b/bfd/targets.c index 8841e82..50aeb84 100644 --- a/bfd/targets.c +++ b/bfd/targets.c @@ -147,7 +147,7 @@ DESCRIPTION . bfd_target_srec_flavour, . bfd_target_som_flavour, . bfd_target_os9k_flavour, -. bfd_target_msdos_flavour +. bfd_target_versados_flavour .}; . .{* Forward declaration. *} @@ -265,6 +265,7 @@ The general target vector. .CAT(NAME,_bfd_copy_private_bfd_data),\ .CAT(NAME,_bfd_merge_private_bfd_data),\ .CAT(NAME,_bfd_copy_private_section_data),\ +.CAT(NAME,_bfd_copy_private_symbol_data),\ .CAT(NAME,_bfd_set_private_flags) . {* Called to copy BFD general private data from one object file . to another. *} @@ -276,6 +277,10 @@ The general target vector. . to another. *} . boolean (*_bfd_copy_private_section_data) PARAMS ((bfd *, sec_ptr, . bfd *, sec_ptr)); +. {* Called to copy BFD private symbol data from one symbol +. to another. *} +. boolean (*_bfd_copy_private_symbol_data) PARAMS ((bfd *, asymbol *, +. bfd *, asymbol *)); . {* Called to set private backend flags *} . boolean (*_bfd_set_private_flags) PARAMS ((bfd *, flagword)); . @@ -380,7 +385,8 @@ The general target vector. .CAT(NAME,_bfd_relax_section),\ .CAT(NAME,_bfd_link_hash_table_create),\ .CAT(NAME,_bfd_link_add_symbols),\ -.CAT(NAME,_bfd_final_link) +.CAT(NAME,_bfd_final_link),\ +.CAT(NAME,_bfd_link_split_section) . int (*_bfd_sizeof_headers) PARAMS ((bfd *, boolean)); . bfd_byte * (*_bfd_get_relocated_section_contents) PARAMS ((bfd *, . struct bfd_link_info *, struct bfd_link_order *, @@ -401,6 +407,9 @@ The general target vector. . section of the BFD. *} . boolean (*_bfd_final_link) PARAMS ((bfd *, struct bfd_link_info *)); . +. {* Should this section be split up into smaller pieces during linking. *} +. boolean (*_bfd_link_split_section) PARAMS ((bfd *, struct sec *)); +. . {* Routines to handle dynamic symbols and relocs. *} .#define BFD_JUMP_TABLE_DYNAMIC(NAME)\ .CAT(NAME,_get_dynamic_symtab_upper_bound),\ @@ -433,10 +442,14 @@ in this structure. we can't intermix extern's and initializers. */ extern const bfd_target a29kcoff_big_vec; extern const bfd_target a_out_adobe_vec; +extern const bfd_target aout_arm_big_vec; +extern const bfd_target aout_arm_little_vec; extern const bfd_target aout_mips_big_vec; extern const bfd_target aout_mips_little_vec; extern const bfd_target aout0_big_vec; extern const bfd_target apollocoff_vec; +extern const bfd_target armpe_vec; +extern const bfd_target armpei_vec; extern const bfd_target b_out_vec_big_host; extern const bfd_target b_out_vec_little_host; /* start-sanitize-arc */ @@ -473,6 +486,8 @@ extern const bfd_target i386bsd_vec; extern const bfd_target i386dynix_vec; extern const bfd_target i386os9k_vec; extern const bfd_target i386coff_vec; +extern const bfd_target i386pe_vec; +extern const bfd_target i386pei_vec; extern const bfd_target go32coff_vec; extern const bfd_target i386linux_vec; extern const bfd_target i386lynx_aout_vec; @@ -511,6 +526,7 @@ extern const bfd_target sparcnetbsd_vec; extern const bfd_target sparccoff_vec; extern const bfd_target sunos_big_vec; extern const bfd_target tekhex_vec; +extern const bfd_target versados_vec; extern const bfd_target we32kcoff_vec; extern const bfd_target w65_vec; extern const bfd_target z8kcoff_vec; @@ -630,6 +646,10 @@ const bfd_target * const bfd_target_vector[] = { &i386msdos_vec, &i386netbsd_vec, &i386os9k_vec, + &i386pe_vec, + &i386pei_vec, + &armpe_vec, + &armpei_vec, &icoff_big_vec, &icoff_little_vec, &ieee_vec, @@ -657,7 +677,9 @@ const bfd_target * const bfd_target_vector[] = { #endif &pc532machaout_vec, #if 0 - /* We have no way of distinguishing this from other a.out variants */ + /* We have no way of distinguishing these from other a.out variants */ + &aout_arm_big_vec, + &aout_arm_little_vec, &riscix_vec, #endif &rs6000coff_vec, @@ -673,6 +695,7 @@ const bfd_target * const bfd_target_vector[] = { &aout0_big_vec, &tekhex_vec, &we32kcoff_vec, + &versados_vec, &z8kcoff_vec, #endif /* not SELECT_VECS */ @@ -680,7 +703,8 @@ const bfd_target * const bfd_target_vector[] = { /* Always support S-records, for convenience. */ &srec_vec, &symbolsrec_vec, - +/* And tekhex */ + &tekhex_vec, /* Likewise for binary output. */ &binary_vec, |