X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2Fpef.c;h=30c31794909e504acbab11daea45079a6179ab21;hb=97f50151221de0a023a8317559b1992a90f9cb8f;hp=f0b323388f2050d46c2b2ebeb11aa69413f67a43;hpb=4b95cf5c0c75d6efc1b2f96af72317aecca079f1;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/pef.c b/bfd/pef.c index f0b323388f..30c3179490 100644 --- a/bfd/pef.c +++ b/bfd/pef.c @@ -1,5 +1,5 @@ /* PEF support for BFD. - Copyright (C) 1999-2014 Free Software Foundation, Inc. + Copyright (C) 1999-2016 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -41,7 +41,9 @@ #define bfd_pef_bfd_is_target_special_symbol ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false) #define bfd_pef_get_lineno _bfd_nosymbols_get_lineno #define bfd_pef_find_nearest_line _bfd_nosymbols_find_nearest_line +#define bfd_pef_find_line _bfd_nosymbols_find_line #define bfd_pef_find_inliner_info _bfd_nosymbols_find_inliner_info +#define bfd_pef_get_symbol_version_string _bfd_nosymbols_get_symbol_version_string #define bfd_pef_bfd_make_debug_symbol _bfd_nosymbols_bfd_make_debug_symbol #define bfd_pef_read_minisymbols _bfd_generic_read_minisymbols #define bfd_pef_minisymbol_to_symbol _bfd_generic_minisymbol_to_symbol @@ -58,7 +60,6 @@ #define bfd_pef_section_already_linked _bfd_generic_section_already_linked #define bfd_pef_bfd_define_common_symbol bfd_generic_define_common_symbol #define bfd_pef_bfd_link_hash_table_create _bfd_generic_link_hash_table_create -#define bfd_pef_bfd_link_hash_table_free _bfd_generic_link_hash_table_free #define bfd_pef_bfd_link_add_symbols _bfd_generic_link_add_symbols #define bfd_pef_bfd_link_just_syms _bfd_generic_link_just_syms #define bfd_pef_bfd_copy_link_hash_symbol_type \ @@ -66,6 +67,7 @@ #define bfd_pef_bfd_final_link _bfd_generic_final_link #define bfd_pef_bfd_link_split_section _bfd_generic_link_split_section #define bfd_pef_get_section_contents_in_window _bfd_generic_get_section_contents_in_window +#define bfd_pef_bfd_link_check_relocs _bfd_generic_link_check_relocs static int bfd_pef_parse_traceback_table (bfd *abfd, @@ -216,7 +218,7 @@ bfd_pef_print_symbol (bfd *abfd, fprintf (file, " %-5s %s", symbol->section->name, symbol->name); if (CONST_STRNEQ (symbol->name, "__traceback_")) { - unsigned char *buf = alloca (symbol->udata.i); + unsigned char *buf = xmalloc (symbol->udata.i); size_t offset = symbol->value + 4; size_t len = symbol->udata.i; int ret; @@ -226,6 +228,7 @@ bfd_pef_print_symbol (bfd *abfd, len, 0, NULL, file); if (ret < 0) fprintf (file, " [ERROR]"); + free (buf); } } } @@ -486,7 +489,7 @@ bfd_pef_scan_start_address (bfd *abfd) goto end; for (section = abfd->sections; section != NULL; section = section->next) - if ((section->index + 1) == header.main_section) + if ((long) (section->index + 1) == header.main_section) break; if (section == NULL)