aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-hppa.c9
2 files changed, 13 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 5c11ea0..48cf124 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+Tue Dec 14 21:38:25 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
+
+ * config/tc-hppa.c (md_apply_fix): Handle cases where no
+ relocation will be emitted for 32bit formats.
+
Mon Dec 13 23:33:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
* config/tc-hppa.c (md_apply_fix): Do not call hppa_field_adjust
diff --git a/gas/config/tc-hppa.c b/gas/config/tc-hppa.c
index 87d2922..d06d27e 100644
--- a/gas/config/tc-hppa.c
+++ b/gas/config/tc-hppa.c
@@ -3020,7 +3020,14 @@ md_apply_fix (fixP, valp)
{
result = 0;
fixP->fx_addnumber = fixP->fx_offset;
- bfd_put_32 (stdoutput, 0, buf);
+ /* If we have a real relocation, then we want zero to
+ be stored in the object file. If no relocation is going
+ to be emitted, then we need to store new_val into the
+ object file. */
+ if (fixP->fx_addsy)
+ bfd_put_32 (stdoutput, 0, buf);
+ else
+ bfd_put_32 (stdoutput, new_val, buf);
return 1;
}
break;