aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ld/ChangeLog17
-rw-r--r--ld/emultempl/aix.em2
-rw-r--r--ld/emultempl/elf32.em4
-rw-r--r--ld/emultempl/linux.em2
-rw-r--r--ld/emultempl/pe.em2
-rw-r--r--ld/emultempl/pep.em2
-rw-r--r--ld/emultempl/sunos.em6
-rw-r--r--ld/emultempl/vms.em2
-rw-r--r--ld/ldfile.c4
-rw-r--r--ld/ldlang.c12
-rw-r--r--ld/ldlang.h2
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;