aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2002-09-09 21:31:40 +0000
committerJeff Law <law@redhat.com>2002-09-09 21:31:40 +0000
commit502b19cb2a782d3d866874f4861a635d0706e938 (patch)
tree925f3aa724b4dde0748e272b46a6e3e4426627cf /gas
parentd1f5b980c3caab8fecf0feac8f0ef17f427ba16d (diff)
downloadgdb-502b19cb2a782d3d866874f4861a635d0706e938.zip
gdb-502b19cb2a782d3d866874f4861a635d0706e938.tar.gz
gdb-502b19cb2a782d3d866874f4861a635d0706e938.tar.bz2
* config/tc-hppa.c (md_apply_fix3): Don't set fx_done for
marker relocations such as ENTRY/EXIT. * config/tc-hppa.h (MD_APPLY_SYM_VALUE): Definition applies to both OBJ_ELF and OBJ_SOM.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog7
-rw-r--r--gas/config/tc-hppa.c6
-rw-r--r--gas/config/tc-hppa.h2
3 files changed, 11 insertions, 4 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 4512f80..f8b9d76 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,10 @@
+2002-09-05 Jeff Law <law@redhat.com>
+
+ * config/tc-hppa.c (md_apply_fix3): Don't set fx_done for
+ marker relocations such as ENTRY/EXIT.
+ * config/tc-hppa.h (MD_APPLY_SYM_VALUE): Definition applies
+ to both OBJ_ELF and OBJ_SOM.
+
2002-09-05 Alan Modra <amodra@bigpond.net.au>
* doc/internals.texi (md_apply_fix3): Expand.
diff --git a/gas/config/tc-hppa.c b/gas/config/tc-hppa.c
index 166b50c..4f61731 100644
--- a/gas/config/tc-hppa.c
+++ b/gas/config/tc-hppa.c
@@ -4419,9 +4419,6 @@ md_apply_fix3 (fixP, valP, seg)
offsetT new_val;
int insn, val, fmt;
- if (fixP->fx_addsy == NULL && fixP->fx_pcrel == 0)
- fixP->fx_done = 1;
-
/* SOM uses R_HPPA_ENTRY and R_HPPA_EXIT relocations which can
never be "applied" (they are just markers). Likewise for
R_HPPA_BEGIN_BRTAB and R_HPPA_END_BRTAB. */
@@ -4448,6 +4445,9 @@ md_apply_fix3 (fixP, valP, seg)
return;
#endif
+ if (fixP->fx_addsy == NULL && fixP->fx_pcrel == 0)
+ fixP->fx_done = 1;
+
/* There should have been an HPPA specific fixup associated
with the GAS fixup. */
hppa_fixP = (struct hppa_fix_struct *) fixP->tc_fix_data;
diff --git a/gas/config/tc-hppa.h b/gas/config/tc-hppa.h
index aa02346..ea1ce9c 100644
--- a/gas/config/tc-hppa.h
+++ b/gas/config/tc-hppa.h
@@ -161,10 +161,10 @@ int hppa_fix_adjustable PARAMS((struct fix *));
#define UNDEFINED_DIFFERENCE_OK
#endif
-#ifdef OBJ_ELF
/* Values passed to md_apply_fix3 don't include the symbol value. */
#define MD_APPLY_SYM_VALUE(FIX) 0
+#ifdef OBJ_ELF
/* Handle .type psuedo. Given a type string of `millicode', set the
internal elf symbol type to STT_PARISC_MILLI, and return
BSF_FUNCTION for the BFD symbol type. */