* config/tc-vax.c (md_estimate_size_before_relax): Only try to
authorJason Thorpe <thorpej@netbsd.org>
Sat, 28 Sep 2002 20:01:43 +0000 (20:01 +0000)
committerJason Thorpe <thorpej@netbsd.org>
Sat, 28 Sep 2002 20:01:43 +0000 (20:01 +0000)
convert undefined references to GOT32/PLT32 if PIC code is
requested.  Fix comment.

gas/ChangeLog
gas/config/tc-vax.c

index 641f7c1e3f0b9d8f6ff6ef29242711e2b9482a96..cf754ab3a6fca8e792863213c50ab1a44546357a 100644 (file)
@@ -1,3 +1,10 @@
+2002-09-28  Matt Thomas  <matt@3am-software.com>
+            Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * config/tc-vax.c (md_estimate_size_before_relax): Only try to
+       convert undefined references to GOT32/PLT32 if PIC code is
+       requested.  Fix comment.
+
 2002-09-27  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
 
        * config/tc-sh.c (sh_force_relocation): Return 0 for
index a2bae67495799856684920bfb11f827d03e46ad4..24256634a9cad64ff12b40d6dbeb06dc07d15bf5 100644 (file)
@@ -1244,12 +1244,11 @@ md_estimate_size_before_relax (fragP, segment)
          old_fr_fix = fragP->fr_fix;
          p = fragP->fr_literal + old_fr_fix;
 #ifdef OBJ_ELF
-         /*
-          * If this is to undefined symbol, then if it's an indirect
-          * reference indicate that is can mutated into a GLOB_DAT
-          * by the loader.  We restrict ourselves to no offset due to
-          * a limitation in the NetBSD linker.
-          */
+         /* If this is to an undefined symbol, then if it's an indirect
+            reference indicate that is can mutated into a GLOB_DAT or
+            JUMP_SLOT by the loader.  We restrict ourselves to no offset
+            due to a limitation in the NetBSD linker.  */
+
          if (GOT_symbol == NULL)
            GOT_symbol = symbol_find (GLOBAL_OFFSET_TABLE_NAME);
          if (PLT_symbol == NULL)
@@ -1257,6 +1256,7 @@ md_estimate_size_before_relax (fragP, segment)
          if ((GOT_symbol == NULL || fragP->fr_symbol != GOT_symbol)
              && (PLT_symbol == NULL || fragP->fr_symbol != PLT_symbol)
              && fragP->fr_symbol != NULL
+             && flag_want_pic
              && (!S_IS_DEFINED (fragP->fr_symbol)
                  || S_IS_WEAK (fragP->fr_symbol)
                  || S_IS_EXTERNAL (fragP->fr_symbol)))
@@ -1269,7 +1269,6 @@ md_estimate_size_before_relax (fragP, segment)
                }
              else
                {
-       
                  if (((unsigned char *) fragP->fr_opcode)[0] == VAX_CALLS
                      || ((unsigned char *) fragP->fr_opcode)[0] == VAX_CALLG
                      || ((unsigned char *) fragP->fr_opcode)[0] == VAX_JSB