* elf-bfd.h (struct elf_link_hash_entry): Replace elf_link_hash_flags
[deliverable/binutils-gdb.git] / bfd / elf.c
index c0d60090dbebc6158675d477d2b6ed9893c6590f..3c34ed40dffc08f7f586ce679d7781b883969eae 100644 (file)
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -1407,7 +1407,22 @@ _bfd_elf_link_hash_newfunc (struct bfd_hash_entry *entry,
          This flag is then reset by the code which reads an ELF input
          file.  This ensures that a symbol created by a non-ELF symbol
          reader will have the flag set correctly.  */
-      ret->elf_link_hash_flags = ELF_LINK_NON_ELF;
+      ret->ref_regular = 0;
+      ret->def_regular = 0;
+      ret->ref_dynamic = 0;
+      ret->def_dynamic = 0;
+      ret->ref_regular_nonweak = 0;
+      ret->dynamic_adjusted = 0;
+      ret->needs_copy = 0;
+      ret->needs_plt = 0;
+      ret->non_elf = 1;
+      ret->hidden = 0;
+      ret->forced_local = 0;
+      ret->mark = 0;
+      ret->non_got_ref = 0;
+      ret->dynamic_def = 0;
+      ret->dynamic_weak = 0;
+      ret->pointer_equality_needed = 0;
     }
 
   return entry;
@@ -1427,13 +1442,12 @@ _bfd_elf_link_hash_copy_indirect (const struct elf_backend_data *bed,
   /* Copy down any references that we may have already seen to the
      symbol which just became indirect.  */
 
-  dir->elf_link_hash_flags
-    |= ind->elf_link_hash_flags & (ELF_LINK_HASH_REF_DYNAMIC
-                                  | ELF_LINK_HASH_REF_REGULAR
-                                  | ELF_LINK_HASH_REF_REGULAR_NONWEAK
-                                  | ELF_LINK_NON_GOT_REF
-                                  | ELF_LINK_HASH_NEEDS_PLT
-                                  | ELF_LINK_POINTER_EQUALITY_NEEDED);
+  dir->ref_dynamic |= ind->ref_dynamic;
+  dir->ref_regular |= ind->ref_regular;
+  dir->ref_regular_nonweak |= ind->ref_regular_nonweak;
+  dir->non_got_ref |= ind->non_got_ref;
+  dir->needs_plt |= ind->needs_plt;
+  dir->pointer_equality_needed |= ind->pointer_equality_needed;
 
   if (ind->root.type != bfd_link_hash_indirect)
     return;
@@ -1475,10 +1489,10 @@ _bfd_elf_link_hash_hide_symbol (struct bfd_link_info *info,
                                bfd_boolean force_local)
 {
   h->plt = elf_hash_table (info)->init_offset;
-  h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT;
+  h->needs_plt = 0;
   if (force_local)
     {
-      h->elf_link_hash_flags |= ELF_LINK_FORCED_LOCAL;
+      h->forced_local = 1;
       if (h->dynindx != -1)
        {
          h->dynindx = -1;
This page took 0.023542 seconds and 4 git commands to generate.