diff options
author | Steve Chamberlain <sac@cygnus> | 1992-10-08 16:02:09 +0000 |
---|---|---|
committer | Steve Chamberlain <sac@cygnus> | 1992-10-08 16:02:09 +0000 |
commit | 294eaca479e9ced9a87b958c37feb2c570aa1595 (patch) | |
tree | bb7a6bb0ac1df535df9c7fe230c1a0bc81b85ab3 /bfd/coff-m88k.c | |
parent | 0da7012441eaccf157dc44c8cc110fbf2d3f8376 (diff) | |
download | gdb-294eaca479e9ced9a87b958c37feb2c570aa1595.zip gdb-294eaca479e9ced9a87b958c37feb2c570aa1595.tar.gz gdb-294eaca479e9ced9a87b958c37feb2c570aa1595.tar.bz2 |
Some of these are guesses, if you know different, just yell.
Thu Oct 8 08:52:48 1992 Steve Chamberlain (sac@thepub.cygnus.com)
Now a bfd knows whether underscores are normally prepended
to symbols in its file format. Helps with error messages.
* aout-adobe.c, aout-target.h, bout.c, coff-a29k.c, coff-h8300.c,
coff-z8k.c: targets set so they have leading underscore
* coff-i386.c, coff-i960.c, coff-m68k.c, coff-mips.c, coff-m88k.c,
coff-rs6000.c, coff-we32k.c, elf.c, ieee.c, srec.c: targets set
without leading underscore flag
* targets.c: add symbol leading char to xvec description
* bfd-in.h (bfd_get_symbol_leading_char): new macro.
Diffstat (limited to 'bfd/coff-m88k.c')
-rw-r--r-- | bfd/coff-m88k.c | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/bfd/coff-m88k.c b/bfd/coff-m88k.c index 896e74c..1696a85 100644 --- a/bfd/coff-m88k.c +++ b/bfd/coff-m88k.c @@ -18,22 +18,20 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* $Id$ */ - #define M88 1 /* Customize various include files */ #include "bfd.h" #include "sysdep.h" #include "libbfd.h" #include "obstack.h" -#include "coff-m88k.h" -#include "internalcoff.h" +#include "coff/m88k.h" +#include "coff/internal.h" #include "libcoff.h" - +#undef HOWTO_PREPARE /* Provided the symbol, returns the value reffed */ #define HOWTO_PREPARE(relocation, symbol) \ { \ if (symbol != (asymbol *)NULL) { \ - if (symbol->flags & BSF_FORT_COMM) { \ + if (symbol->section == &bfd_com_section) { \ relocation = 0; \ } \ else { \ @@ -49,14 +47,16 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ static bfd_reloc_status_type -DEFUN(howto_hvrt16,(abfd, reloc_entry, symbol_in, data, ignore_input_section), -bfd *abfd AND -arelent *reloc_entry AND -asymbol *symbol_in AND -unsigned char *data AND -asection *ignore_input_section) +DEFUN(howto_hvrt16,(abfd, reloc_entry, symbol_in, data, + ignore_input_section, ignore_bfd), + bfd *abfd AND + arelent *reloc_entry AND + asymbol *symbol_in AND + PTR data AND + asection *ignore_input_section AND + bfd *ignore_bfd) { - long relocation; + long relocation = 0; bfd_vma addr = reloc_entry->address; long x = bfd_get_16(abfd, (bfd_byte *)data + addr); @@ -89,9 +89,9 @@ static reloc_howto_type howto_table[] = /* Code to turn an external r_type into a pointer to an entry in the above howto table */ #define RTYPE2HOWTO(cache_ptr, dst) \ - if (dst.r_type >= R_PCR16L && dst.r_type <= R_VRT32) { \ - cache_ptr->howto = howto_table + dst.r_type - R_PCR16L; \ - cache_ptr->addend += dst.r_offset << 16; \ + if ((dst)->r_type >= R_PCR16L && (dst)->r_type <= R_VRT32) {\ + cache_ptr->howto = howto_table + (dst)->r_type - R_PCR16L;\ + cache_ptr->addend += (dst)->r_offset << 16; \ } \ else { \ BFD_ASSERT(0); \ @@ -116,6 +116,7 @@ bfd_target m88kbcs_vec = HAS_SYMS | HAS_LOCALS | DYNAMIC | WP_TEXT), (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */ + 0, /* leading underscore */ '/', /* ar_pad_char */ 15, /* ar_max_namelen */ 3, /* default alignment power */ |