This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PATCH: Replace is_archive with maybe_archive


Hi,

We use is_archive to indicate -lfoo. libfoo used to be archive only before
DSO support was added.  This patch changes is_archive to maybe_archive.
OK for trunk?

Thanks.


H.J.
---
2010-12-04  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.

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..34cc82c 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 3737db9..9efc069 100644
--- a/ld/ldfile.c
+++ b/ld/ldfile.c
@@ -387,7 +387,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))
 	{
@@ -424,7 +424,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 b0d585f..e0ad27e 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -1021,7 +1021,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;
@@ -1029,14 +1029,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);
@@ -1045,7 +1045,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;
@@ -1054,7 +1054,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;
@@ -1062,7 +1062,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 d0aea1d..fc7592d 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;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]