diff options
-rw-r--r-- | ld/ChangeLog | 17 | ||||
-rw-r--r-- | ld/emultempl/aix.em | 2 | ||||
-rw-r--r-- | ld/emultempl/elf32.em | 4 | ||||
-rw-r--r-- | ld/emultempl/linux.em | 2 | ||||
-rw-r--r-- | ld/emultempl/pe.em | 2 | ||||
-rw-r--r-- | ld/emultempl/pep.em | 2 | ||||
-rw-r--r-- | ld/emultempl/sunos.em | 6 | ||||
-rw-r--r-- | ld/emultempl/vms.em | 2 | ||||
-rw-r--r-- | ld/ldfile.c | 4 | ||||
-rw-r--r-- | ld/ldlang.c | 12 | ||||
-rw-r--r-- | ld/ldlang.h | 2 |
11 files changed, 36 insertions, 19 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index c1e59bf..bb7b5a6 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,5 +1,22 @@ 2010-12-05 H.J. Lu <hongjiu.lu@intel.com> + * ldfile.c (ldfile_open_file_search): Check maybe_archive instead + of is_archive. + * emultempl/aix.em: Likewise. + * emultempl/elf32.em: Likewise. + * emultempl/linux.em: Likewise. + * emultempl/pe.em: Likewise. + * emultempl/pep.em: Likewise. + * emultempl/sunos.em: Likewise. + * emultempl/vms.em: Likewise. + + * ldlang.c (new_afile): Set maybe_archive instead of is_archive.. + + * ldlang.h (lang_input_statement_struct): Replace is_archive + with maybe_archive. + +2010-12-05 H.J. Lu <hongjiu.lu@intel.com> + * plugin.c (asymbol_from_plugin_symbol): Properly convert LTO plugin visibility to ELF visibility. (is_visible_from_outside): Re-indent. diff --git a/ld/emultempl/aix.em b/ld/emultempl/aix.em index 4dc36c3..5ccb25c 100644 --- a/ld/emultempl/aix.em +++ b/ld/emultempl/aix.em @@ -1426,7 +1426,7 @@ gld${EMULATION_NAME}_open_dynamic_archive (const char *arch, { char *path; - if (!entry->is_archive) + if (!entry->maybe_archive) return FALSE; path = concat (search->name, "/lib", entry->filename, arch, ".a", NULL); diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em index 1950efe..34cc82c7 100644 --- a/ld/emultempl/elf32.em +++ b/ld/emultempl/elf32.em @@ -1618,7 +1618,7 @@ gld${EMULATION_NAME}_open_dynamic_archive const char *filename; char *string; - if (! entry->is_archive) + if (! entry->maybe_archive) return FALSE; filename = entry->filename; @@ -1672,7 +1672,7 @@ gld${EMULATION_NAME}_open_dynamic_archive if (bfd_check_format (entry->the_bfd, bfd_object) && (entry->the_bfd->flags & DYNAMIC) != 0) { - ASSERT (entry->is_archive && entry->search_dirs_flag); + ASSERT (entry->maybe_archive && entry->search_dirs_flag); /* Rather than duplicating the logic above. Just use the filename we recorded earlier. */ diff --git a/ld/emultempl/linux.em b/ld/emultempl/linux.em index 2a2a960..db62830 100644 --- a/ld/emultempl/linux.em +++ b/ld/emultempl/linux.em @@ -62,7 +62,7 @@ gld${EMULATION_NAME}_open_dynamic_archive { char *string; - if (! entry->is_archive) + if (! entry->maybe_archive) return FALSE; string = (char *) xmalloc (strlen (search->name) diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em index 24c1fe7..df0678d 100644 --- a/ld/emultempl/pe.em +++ b/ld/emultempl/pe.em @@ -2086,7 +2086,7 @@ gld_${EMULATION_NAME}_open_dynamic_archive unsigned int i; - if (! entry->is_archive) + if (! entry->maybe_archive) return FALSE; filename = entry->filename; diff --git a/ld/emultempl/pep.em b/ld/emultempl/pep.em index 444704b..4ab7489 100644 --- a/ld/emultempl/pep.em +++ b/ld/emultempl/pep.em @@ -1824,7 +1824,7 @@ gld_${EMULATION_NAME}_open_dynamic_archive unsigned int i; - if (! entry->is_archive) + if (! entry->maybe_archive) return FALSE; filename = entry->filename; diff --git a/ld/emultempl/sunos.em b/ld/emultempl/sunos.em index bbd6075..5c6c0a6 100644 --- a/ld/emultempl/sunos.em +++ b/ld/emultempl/sunos.em @@ -157,7 +157,7 @@ gld${EMULATION_NAME}_find_so (lang_input_statement_type *inp) struct stat st; if (! inp->search_dirs_flag - || ! inp->is_archive + || ! inp->maybe_archive || ! inp->dynamic) return; @@ -889,7 +889,7 @@ gld${EMULATION_NAME}_count_need (lang_input_statement_type *inp) { ++need_entries; need_size += NEED_ENTRY_SIZE; - if (! inp->is_archive) + if (! inp->maybe_archive) need_size += strlen (inp->filename) + 1; else { @@ -917,7 +917,7 @@ gld${EMULATION_NAME}_set_need (lang_input_statement_type *inp) referential locality. */ bfd_put_32 (link_info.output_bfd, need_pnames - need_contents, need_pinfo); - if (! inp->is_archive) + if (! inp->maybe_archive) { bfd_put_32 (link_info.output_bfd, (bfd_vma) 0, need_pinfo + 4); bfd_put_16 (link_info.output_bfd, (bfd_vma) 0, need_pinfo + 8); diff --git a/ld/emultempl/vms.em b/ld/emultempl/vms.em index f21796b..fb8fd53 100644 --- a/ld/emultempl/vms.em +++ b/ld/emultempl/vms.em @@ -52,7 +52,7 @@ gld${EMULATION_NAME}_open_dynamic_archive (const char *arch ATTRIBUTE_UNUSED, { char *string; - if (! entry->is_archive) + if (! entry->maybe_archive) return FALSE; string = (char *) xmalloc (strlen (search->name) diff --git a/ld/ldfile.c b/ld/ldfile.c index 3d9feb5..a9a6954 100644 --- a/ld/ldfile.c +++ b/ld/ldfile.c @@ -370,7 +370,7 @@ ldfile_open_file_search (const char *arch, /* If this is not an archive, try to open it in the current directory first. */ - if (! entry->is_archive) + if (! entry->maybe_archive) { if (entry->sysrooted && IS_ABSOLUTE_PATH (entry->filename)) { @@ -407,7 +407,7 @@ ldfile_open_file_search (const char *arch, } } - if (entry->is_archive) + if (entry->maybe_archive) string = concat (search->name, slash, lib, entry->filename, arch, suffix, (const char *) NULL); else diff --git a/ld/ldlang.c b/ld/ldlang.c index 2927ec8..e804a53 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -1015,7 +1015,7 @@ new_afile (const char *name, { case lang_input_file_is_symbols_only_enum: p->filename = name; - p->is_archive = FALSE; + p->maybe_archive = FALSE; p->real = TRUE; p->local_sym_name = name; p->just_syms_flag = TRUE; @@ -1023,14 +1023,14 @@ new_afile (const char *name, break; case lang_input_file_is_fake_enum: p->filename = name; - p->is_archive = FALSE; + p->maybe_archive = FALSE; p->real = FALSE; p->local_sym_name = name; p->just_syms_flag = FALSE; p->search_dirs_flag = FALSE; break; case lang_input_file_is_l_enum: - p->is_archive = TRUE; + p->maybe_archive = TRUE; p->filename = name; p->real = TRUE; p->local_sym_name = concat ("-l", name, (const char *) NULL); @@ -1039,7 +1039,7 @@ new_afile (const char *name, break; case lang_input_file_is_marker_enum: p->filename = name; - p->is_archive = FALSE; + p->maybe_archive = FALSE; p->real = FALSE; p->local_sym_name = name; p->just_syms_flag = FALSE; @@ -1048,7 +1048,7 @@ new_afile (const char *name, case lang_input_file_is_search_file_enum: p->sysrooted = ldlang_sysrooted_script; p->filename = name; - p->is_archive = FALSE; + p->maybe_archive = FALSE; p->real = TRUE; p->local_sym_name = name; p->just_syms_flag = FALSE; @@ -1056,7 +1056,7 @@ new_afile (const char *name, break; case lang_input_file_is_file_enum: p->filename = name; - p->is_archive = FALSE; + p->maybe_archive = FALSE; p->real = TRUE; p->local_sym_name = name; p->just_syms_flag = FALSE; diff --git a/ld/ldlang.h b/ld/ldlang.h index 0b7b43b..15e55875 100644 --- a/ld/ldlang.h +++ b/ld/ldlang.h @@ -249,7 +249,7 @@ typedef struct lang_input_statement_struct const char *target; - unsigned int is_archive : 1; + unsigned int maybe_archive : 1; /* 1 means search a set of directories for this file. */ unsigned int search_dirs_flag : 1; |