* elflink.h (elf_merge_symbol): Don't always set type_change_ok
authorIan Lance Taylor <ian@airs.com>
Tue, 2 Jun 1998 21:16:06 +0000 (21:16 +0000)
committerIan Lance Taylor <ian@airs.com>
Tue, 2 Jun 1998 21:16:06 +0000 (21:16 +0000)
and size_change_ok.
  (elf_link_add_object_symbols): Set type_change_ok and
size_change_ok before calling elf_merge_symbol.

bfd/ChangeLog
bfd/elflink.h

index 794b4c19f1f22f9a94e9b2572588b0687e64bde2..f103ab4b72cdd0f244ffb5dd0b8675ca52960d9a 100644 (file)
@@ -1,5 +1,10 @@
 Tue Jun  2 15:29:35 1998  Ian Lance Taylor  <ian@cygnus.com>
 
+       * elflink.h (elf_merge_symbol): Don't always set type_change_ok
+       and size_change_ok.
+       (elf_link_add_object_symbols): Set type_change_ok and
+       size_change_ok before calling elf_merge_symbol.
+
        * elf32-mips.c (mips_elf_relocate_section): If we issue an
        undefined symbol error, don't also issue an overflow error.
 
index db79db7e7b93a792a37d16713972c2732b192044..cbc18d94b7d8560abaf604cac51ce6203d35e804 100644 (file)
@@ -299,8 +299,6 @@ elf_merge_symbol (abfd, info, name, sym, psec, pvalue, sym_hash,
   boolean newdyn, olddyn, olddef, newdef, newdyncommon, olddyncommon;
 
   *override = false;
-  *type_change_ok = false;
-  *size_change_ok = false;
 
   sec = *psec;
   bind = ELF_ST_BIND (sym->st_info);
@@ -1372,6 +1370,8 @@ elf_link_add_object_symbols (abfd, info)
                      purposes of the merge, act as though we were
                      defining the symbol we just defined, although we
                      actually going to define an indirect symbol.  */
+                 type_change_ok = false;
+                 size_change_ok = false;
                  if (! elf_merge_symbol (abfd, info, shortname, &sym, &sec,
                                          &value, &hi, &override,
                                          &type_change_ok, &size_change_ok))
@@ -1510,6 +1510,8 @@ elf_link_add_object_symbols (abfd, info)
                  strcpy (shortname + (p - name), p + 1);
 
                  /* Once again, merge with any existing symbol.  */
+                 type_change_ok = false;
+                 size_change_ok = false;
                  if (! elf_merge_symbol (abfd, info, shortname, &sym, &sec,
                                          &value, &hi, &override,
                                          &type_change_ok, &size_change_ok))