aboutsummaryrefslogtreecommitdiff
path: root/bfd/coffcode.h
diff options
context:
space:
mode:
authorSteve Chamberlain <sac@cygnus>1992-05-26 22:20:09 +0000
committerSteve Chamberlain <sac@cygnus>1992-05-26 22:20:09 +0000
commit780c477aff1675c963494a514a5a1027e95d56ea (patch)
treef2b1e645853984cc51f6b8bbff7ac31ca8f85290 /bfd/coffcode.h
parent954d412a061e19fdce08af66e1719f5fca4f6a30 (diff)
downloadgdb-780c477aff1675c963494a514a5a1027e95d56ea.zip
gdb-780c477aff1675c963494a514a5a1027e95d56ea.tar.gz
gdb-780c477aff1675c963494a514a5a1027e95d56ea.tar.bz2
29k const fix
Diffstat (limited to 'bfd/coffcode.h')
-rw-r--r--bfd/coffcode.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index d978e30..09a4744 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -1797,6 +1797,15 @@ DEFUN(coff_write_relocs,(abfd),
abort ();
n.r_vaddr = q->address + s->vma;
+ /* The 29k const/consth reloc pair is a real kludge - the consth
+ part doesn't have a symbol - it has an offset. So rebuilt
+ that here */
+#ifdef R_IHCONST
+ if (q->howto->type == R_IHCONST)
+ n.r_symndx = q->addend;
+ else
+#endif
+
if (q->sym_ptr_ptr) {
n.r_symndx = get_index((*(q->sym_ptr_ptr)));
/* Take notice if the symbol reloc points to a symbol we don't have