aboutsummaryrefslogtreecommitdiff
path: root/bfd/targets.c
diff options
context:
space:
mode:
authorStan Shebs <shebs@codesourcery.com>1994-02-27 23:45:18 +0000
committerStan Shebs <shebs@codesourcery.com>1994-02-27 23:45:18 +0000
commitfdfe2d146613e37c909be73c5ef87e3a96490daa (patch)
tree7b8871b771df1b7cf8d587abd443b3c1ae70dac7 /bfd/targets.c
parent4c8d6c9f4f5ee90a766c6e711828d37f75efc3c7 (diff)
downloadgdb-fdfe2d146613e37c909be73c5ef87e3a96490daa.zip
gdb-fdfe2d146613e37c909be73c5ef87e3a96490daa.tar.gz
gdb-fdfe2d146613e37c909be73c5ef87e3a96490daa.tar.bz2
Sun Feb 27 15:22:36 1994 Stan Shebs (shebs@andros.cygnus.com)
* targets.c (BFD_SEND, BFD_SEND_FMT): Add debugging versions that check all the pointer dereferences. Enabled via DEBUG_BFD_SEND. * bfd-in2.h: Rebuilt.
Diffstat (limited to 'bfd/targets.c')
-rw-r--r--bfd/targets.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/bfd/targets.c b/bfd/targets.c
index 841aebd..20d66bf 100644
--- a/bfd/targets.c
+++ b/bfd/targets.c
@@ -1,5 +1,5 @@
/* Generic target-file-type support for the BFD library.
- Copyright 1990, 91, 92, 93, 94 Free Software Foundation, Inc.
+ Copyright 1990, 91, 92, 93, 1994 Free Software Foundation, Inc.
Written by Cygnus Support.
This file is part of BFD, the Binary File Descriptor library.
@@ -102,11 +102,27 @@ DESCRIPTION
.#define BFD_SEND(bfd, message, arglist) \
. ((*((bfd)->xvec->message)) arglist)
+.
+.#ifdef DEBUG_BFD_SEND
+.#undef BFD_SEND
+.#define BFD_SEND(bfd, message, arglist) \
+. (((bfd) && (bfd)->xvec && (bfd)->xvec->message) ? \
+. ((*((bfd)->xvec->message)) arglist) : \
+. (bfd_assert (__FILE__,__LINE__), NULL))
+.#endif
For operations which index on the BFD format:
.#define BFD_SEND_FMT(bfd, message, arglist) \
. (((bfd)->xvec->message[(int)((bfd)->format)]) arglist)
+.
+.#ifdef DEBUG_BFD_SEND
+.#undef BFD_SEND_FMT
+.#define BFD_SEND_FMT(bfd, message, arglist) \
+. (((bfd) && (bfd)->xvec && (bfd)->xvec->message) ? \
+. (((bfd)->xvec->message[(int)((bfd)->format)]) arglist) : \
+. (bfd_assert (__FILE__,__LINE__), NULL))
+.#endif
This is the structure which defines the type of BFD this is. The
<<xvec>> member of the struct <<bfd>> itself points here. Each
@@ -353,6 +369,7 @@ extern bfd_target bfd_elf32_little_generic_vec;
extern bfd_target bfd_elf32_littlemips_vec;
extern bfd_target bfd_elf32_m68k_vec;
extern bfd_target bfd_elf32_m88k_vec;
+extern bfd_target bfd_elf32_powerpc_vec;
extern bfd_target bfd_elf32_sparc_vec;
extern bfd_target bfd_elf64_big_generic_vec;
extern bfd_target bfd_elf64_little_generic_vec;
@@ -389,6 +406,9 @@ extern bfd_target newsos3_vec;
extern bfd_target nlm32_i386_vec;
extern bfd_target nlm32_sparc_vec;
extern bfd_target nlm32_alpha_vec;
+/*start-sanitize-powerpc-netware*/
+extern bfd_target nlm32_powerpc_vec;
+/*end-sanitize-powerpc-netware*/
extern bfd_target oasys_vec;
extern bfd_target rs6000coff_vec;
extern bfd_target shcoff_vec;