X-Git-Url: https://oss.titaniummirror.com/gitweb?p=msp430-binutils.git;a=blobdiff_plain;f=bfd%2Ftargets.c;h=a33790bcbe67ff7c2e3080a4a65913c30e5c7c51;hp=d408a2177b21de493f84246cee905494cec24b98;hb=88750007d7869f178f0ba528f41efd3b74c424cf;hpb=6df9443a374e2b81278c61b8afc0a1eef7db280b diff --git a/bfd/targets.c b/bfd/targets.c index d408a21..a33790b 100644 --- a/bfd/targets.c +++ b/bfd/targets.c @@ -1,6 +1,6 @@ /* Generic target-file-type support for the BFD library. Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 + 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. Written by Cygnus Support. @@ -157,6 +157,7 @@ DESCRIPTION . bfd_target_oasys_flavour, . bfd_target_tekhex_flavour, . bfd_target_srec_flavour, +. bfd_target_verilog_flavour, . bfd_target_ihex_flavour, . bfd_target_som_flavour, . bfd_target_os9k_flavour, @@ -441,7 +442,8 @@ BFD_JUMP_TABLE macros. . NAME##_bfd_merge_sections, \ . NAME##_bfd_is_group_section, \ . NAME##_bfd_discard_group, \ -. NAME##_section_already_linked \ +. NAME##_section_already_linked, \ +. NAME##_bfd_define_common_symbol . . int (*_bfd_sizeof_headers) (bfd *, struct bfd_link_info *); . bfd_byte * (*_bfd_get_relocated_section_contents) @@ -489,6 +491,10 @@ BFD_JUMP_TABLE macros. . void (*_section_already_linked) (bfd *, struct bfd_section *, . struct bfd_link_info *); . +. {* Define a common symbol. *} +. bfd_boolean (*_bfd_define_common_symbol) (bfd *, struct bfd_link_info *, +. struct bfd_link_hash_entry *); +. . {* Routines to handle dynamic symbols and relocs. *} .#define BFD_JUMP_TABLE_DYNAMIC(NAME) \ . NAME##_get_dynamic_symtab_upper_bound, \ @@ -560,9 +566,7 @@ extern const bfd_target armpei_big_vec; extern const bfd_target armpei_little_vec; extern const bfd_target b_out_vec_big_host; extern const bfd_target b_out_vec_little_host; -extern const bfd_target bfd_efi_app_ia32_vec; -extern const bfd_target bfd_efi_app_x86_64_vec; -extern const bfd_target bfd_efi_app_ia64_vec; +extern const bfd_target bfd_pei_ia64_vec; extern const bfd_target bfd_elf32_avr_vec; extern const bfd_target bfd_elf32_bfin_vec; extern const bfd_target bfd_elf32_bfinfdpic_vec; @@ -583,6 +587,7 @@ extern const bfd_target bfd_elf32_dlx_big_vec; extern const bfd_target bfd_elf32_fr30_vec; extern const bfd_target bfd_elf32_frv_vec; extern const bfd_target bfd_elf32_frvfdpic_vec; +extern const bfd_target bfd_elf32_moxie_vec; extern const bfd_target bfd_elf32_h8300_vec; extern const bfd_target bfd_elf32_hppa_linux_vec; extern const bfd_target bfd_elf32_hppa_nbsd_vec; @@ -598,6 +603,8 @@ extern const bfd_target bfd_elf32_ia64_big_vec; extern const bfd_target bfd_elf32_ia64_hpux_big_vec; extern const bfd_target bfd_elf32_ip2k_vec; extern const bfd_target bfd_elf32_iq2000_vec; +extern const bfd_target bfd_elf32_lm32_vec; +extern const bfd_target bfd_elf32_lm32fdpic_vec; extern const bfd_target bfd_elf32_little_generic_vec; extern const bfd_target bfd_elf32_littlearc_vec; extern const bfd_target bfd_elf32_littlearm_vec; @@ -618,6 +625,7 @@ extern const bfd_target bfd_elf32_mcore_big_vec; extern const bfd_target bfd_elf32_mcore_little_vec; extern const bfd_target bfd_elf32_mep_vec; extern const bfd_target bfd_elf32_mep_little_vec; +extern const bfd_target bfd_elf32_microblaze_vec; extern const bfd_target bfd_elf32_mn10200_vec; extern const bfd_target bfd_elf32_mn10300_vec; extern const bfd_target bfd_elf32_mt_vec; @@ -672,6 +680,7 @@ extern const bfd_target bfd_elf64_hppa_vec; extern const bfd_target bfd_elf64_ia64_big_vec; extern const bfd_target bfd_elf64_ia64_hpux_big_vec; extern const bfd_target bfd_elf64_ia64_little_vec; +extern const bfd_target bfd_elf64_ia64_vms_vec; extern const bfd_target bfd_elf64_little_generic_vec; extern const bfd_target bfd_elf64_littlemips_vec; extern const bfd_target bfd_elf64_mmix_vec; @@ -690,6 +699,8 @@ extern const bfd_target bfd_elf64_tradbigmips_vec; extern const bfd_target bfd_elf64_tradlittlemips_vec; extern const bfd_target bfd_elf64_x86_64_freebsd_vec; extern const bfd_target bfd_elf64_x86_64_vec; +extern const bfd_target bfd_elf64_l1om_freebsd_vec; +extern const bfd_target bfd_elf64_l1om_vec; extern const bfd_target bfd_mmo_vec; extern const bfd_target bfd_powerpc_pe_vec; extern const bfd_target bfd_powerpc_pei_vec; @@ -739,6 +750,7 @@ extern const bfd_target m88kopenbsd_vec; extern const bfd_target mach_o_be_vec; extern const bfd_target mach_o_le_vec; extern const bfd_target mach_o_fat_vec; +extern const bfd_target mach_o_i386_vec; extern const bfd_target maxqcoff_vec; extern const bfd_target mcore_pe_big_vec; extern const bfd_target mcore_pe_little_vec; @@ -758,6 +770,7 @@ extern const bfd_target pc532netbsd_vec; extern const bfd_target pdp11_aout_vec; extern const bfd_target pef_vec; extern const bfd_target pef_xlib_vec; +extern const bfd_target plugin_vec; extern const bfd_target pmac_xcoff_vec; extern const bfd_target ppcboot_vec; extern const bfd_target riscix_vec; @@ -809,6 +822,7 @@ extern const bfd_target z8kcoff_vec; /* These are always included. */ extern const bfd_target srec_vec; +extern const bfd_target verilog_vec; extern const bfd_target symbolsrec_vec; extern const bfd_target tekhex_vec; extern const bfd_target binary_vec; @@ -878,10 +892,8 @@ static const bfd_target * const _bfd_target_vector[] = &armpei_little_vec, &b_out_vec_big_host, &b_out_vec_little_host, - &bfd_efi_app_ia32_vec, #ifdef BFD64 - &bfd_efi_app_x86_64_vec, - &bfd_efi_app_ia64_vec, + &bfd_pei_ia64_vec, #endif &bfd_elf32_avr_vec, &bfd_elf32_bfin_vec, @@ -908,6 +920,7 @@ static const bfd_target * const _bfd_target_vector[] = &bfd_elf32_fr30_vec, &bfd_elf32_frv_vec, &bfd_elf32_frvfdpic_vec, + &bfd_elf32_moxie_vec, &bfd_elf32_h8300_vec, &bfd_elf32_hppa_linux_vec, &bfd_elf32_hppa_nbsd_vec, @@ -927,6 +940,7 @@ static const bfd_target * const _bfd_target_vector[] = #endif &bfd_elf32_ip2k_vec, &bfd_elf32_iq2000_vec, + &bfd_elf32_lm32_vec, &bfd_elf32_little_generic_vec, &bfd_elf32_littlearc_vec, &bfd_elf32_littlearm_vec, @@ -946,6 +960,7 @@ static const bfd_target * const _bfd_target_vector[] = &bfd_elf32_mcore_big_vec, &bfd_elf32_mcore_little_vec, &bfd_elf32_mep_vec, + &bfd_elf32_microblaze_vec, &bfd_elf32_mn10200_vec, &bfd_elf32_mn10300_vec, &bfd_elf32_mt_vec, @@ -964,8 +979,10 @@ static const bfd_target * const _bfd_target_vector[] = &bfd_elf32_powerpc_vxworks_vec, &bfd_elf32_powerpcle_vec, &bfd_elf32_s390_vec, +#ifdef BFD64 &bfd_elf32_bigscore_vec, - &bfd_elf32_littlescore_vec, + &bfd_elf32_littlescore_vec, +#endif &bfd_elf32_sh_vec, &bfd_elf32_shblin_vec, &bfd_elf32_shl_vec, @@ -1005,6 +1022,7 @@ static const bfd_target * const _bfd_target_vector[] = &bfd_elf64_ia64_big_vec, &bfd_elf64_ia64_hpux_big_vec, &bfd_elf64_ia64_little_vec, + &bfd_elf64_ia64_vms_vec, &bfd_elf64_little_generic_vec, &bfd_elf64_littlemips_vec, &bfd_elf64_mmix_vec, @@ -1023,6 +1041,8 @@ static const bfd_target * const _bfd_target_vector[] = &bfd_elf64_tradlittlemips_vec, &bfd_elf64_x86_64_freebsd_vec, &bfd_elf64_x86_64_vec, + &bfd_elf64_l1om_freebsd_vec, + &bfd_elf64_l1om_vec, &bfd_mmo_vec, #endif &bfd_powerpc_pe_vec, @@ -1102,6 +1122,7 @@ static const bfd_target * const _bfd_target_vector[] = &mach_o_be_vec, &mach_o_le_vec, &mach_o_fat_vec, + &mach_o_i386_vec, &maxqcoff_vec, &mcore_pe_big_vec, &mcore_pe_little_vec, @@ -1132,6 +1153,9 @@ static const bfd_target * const _bfd_target_vector[] = &pdp11_aout_vec, &pef_vec, &pef_xlib_vec, +#if BFD_SUPPORTS_PLUGINS + &plugin_vec, +#endif #if 0 /* This has the same magic number as RS/6000. */ &pmac_xcoff_vec, @@ -1189,6 +1213,8 @@ static const bfd_target * const _bfd_target_vector[] = /* Always support S-records, for convenience. */ &srec_vec, &symbolsrec_vec, +/* And verilog. */ + &verilog_vec, /* And tekhex */ &tekhex_vec, /* Likewise for binary output. */ @@ -1429,7 +1455,7 @@ bfd_target_list (void) vec_length++; amt = (vec_length + 1) * sizeof (char **); - name_ptr = name_list = bfd_malloc (amt); + name_ptr = name_list = (const char **) bfd_malloc (amt); if (name_list == NULL) return NULL;