Bug gas/213
authorDave Anglin <dave.anglin@nrc.ca>
Fri, 11 Jun 2004 17:36:32 +0000 (17:36 +0000)
committerDave Anglin <dave.anglin@nrc.ca>
Fri, 11 Jun 2004 17:36:32 +0000 (17:36 +0000)
* config/tc-hppa.c (hppa_fix_adjustable): Allow reduction of fake
labels.  Fix warning.

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

index 3f4b71f8664c6422b211ae31b1e410f1ad0f572e..82915a5550064f16c13a4cde92f2316ff4384f25 100644 (file)
@@ -1,3 +1,9 @@
+2004-06-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       Bug gas/213
+       * config/tc-hppa.c (hppa_fix_adjustable): Allow reduction of fake
+       labels.  Fix warning.
+
 2004-05-28  DJ Delorie  <dj@redhat.com>
 
        * config/tc-mn10300.h (tc_fix_adjustable): Define.
index 72abe1dedb54a4571e56cc26bbab72d17c1d3452..8eff3664a3ea89ba1c3c2fc3e7b1092a3dec6115 100644 (file)
@@ -8402,14 +8402,21 @@ int
 hppa_fix_adjustable (fixp)
      fixS *fixp;
 {
+#ifdef OBJ_ELF
   reloc_type code;
+#endif
   struct hppa_fix_struct *hppa_fix;
 
   hppa_fix = (struct hppa_fix_struct *) fixp->tc_fix_data;
 
 #ifdef OBJ_SOM
-  /* Reject reductions of symbols in 32bit relocs.  */
-  if (fixp->fx_r_type == R_HPPA && hppa_fix->fx_r_format == 32)
+  /* Reject reductions of symbols in 32bit relocs unless they
+     are fake labels.  */
+  if (fixp->fx_r_type == R_HPPA
+      && hppa_fix->fx_r_format == 32
+      && strncmp (S_GET_NAME (fixp->fx_addsy),
+                 FAKE_LABEL_NAME,
+                 strlen (FAKE_LABEL_NAME)))
     return 0;
 #endif