X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=bfd%2Felfnn-ia64.c;h=d179bc45686b708d4a6420ac8a0ad8455a2c01ad;hb=refs%2Fheads%2Fconcurrent-displaced-stepping-2020-04-01;hp=208b85df903606143e06dd8727e016b41aa69011;hpb=8c803a2dd7d3d742a3d0071914f557ef465afe71;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/elfnn-ia64.c b/bfd/elfnn-ia64.c index 208b85df90..d179bc4568 100644 --- a/bfd/elfnn-ia64.c +++ b/bfd/elfnn-ia64.c @@ -873,13 +873,11 @@ elfNN_ia64_relax_section (bfd *abfd, asection *sec, return TRUE; error_return: - if (isymbuf != NULL && (unsigned char *) isymbuf != symtab_hdr->contents) + if ((unsigned char *) isymbuf != symtab_hdr->contents) free (isymbuf); - if (contents != NULL - && elf_section_data (sec)->this_hdr.contents != contents) + if (elf_section_data (sec)->this_hdr.contents != contents) free (contents); - if (internal_relocs != NULL - && elf_section_data (sec)->relocs != internal_relocs) + if (elf_section_data (sec)->relocs != internal_relocs) free (internal_relocs); return FALSE; } @@ -1310,8 +1308,7 @@ elfNN_ia64_hash_copy_indirect (struct bfd_link_info *info, struct elfNN_ia64_dyn_sym_info *dyn_i; unsigned int count; - if (dir->info) - free (dir->info); + free (dir->info); dir->info = ind->info; dir->count = ind->count; @@ -1399,14 +1396,11 @@ elfNN_ia64_global_dyn_info_free (void **xentry, struct elfNN_ia64_link_hash_entry *entry = (struct elfNN_ia64_link_hash_entry *) xentry; - if (entry->info) - { - free (entry->info); - entry->info = NULL; - entry->count = 0; - entry->sorted_count = 0; - entry->size = 0; - } + free (entry->info); + entry->info = NULL; + entry->count = 0; + entry->sorted_count = 0; + entry->size = 0; return TRUE; } @@ -1420,14 +1414,11 @@ elfNN_ia64_local_dyn_info_free (void **slot, struct elfNN_ia64_local_hash_entry *entry = (struct elfNN_ia64_local_hash_entry *) *slot; - if (entry->info) - { - free (entry->info); - entry->info = NULL; - entry->count = 0; - entry->sorted_count = 0; - entry->size = 0; - } + free (entry->info); + entry->info = NULL; + entry->count = 0; + entry->sorted_count = 0; + entry->size = 0; return TRUE; } @@ -4744,6 +4735,10 @@ elfNN_ia64_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info) flagword in_flags; bfd_boolean ok = TRUE; + /* FIXME: What should be checked when linking shared libraries? */ + if ((ibfd->flags & DYNAMIC) != 0) + return TRUE; + if (!is_ia64_elf (ibfd) || !is_ia64_elf (obfd)) return TRUE; @@ -5015,6 +5010,11 @@ elfNN_hpux_backend_symbol_processing (bfd *abfd ATTRIBUTE_UNUSED, break; } } + +static void +ignore_errors (const char *fmt ATTRIBUTE_UNUSED, ...) +{ +} #define TARGET_LITTLE_SYM ia64_elfNN_le_vec #define TARGET_LITTLE_NAME "elfNN-ia64-little" @@ -5112,7 +5112,7 @@ elfNN_hpux_backend_symbol_processing (bfd *abfd ATTRIBUTE_UNUSED, We don't want to flood users with so many error messages. We turn off the warning for now. It will be turned on later when the Intel compiler is fixed. */ -#define elf_backend_link_order_error_handler NULL +#define elf_backend_link_order_error_handler ignore_errors #include "elfNN-target.h"