diff options
author | Stan Shebs <shebs@codesourcery.com> | 1994-02-27 23:45:18 +0000 |
---|---|---|
committer | Stan Shebs <shebs@codesourcery.com> | 1994-02-27 23:45:18 +0000 |
commit | fdfe2d146613e37c909be73c5ef87e3a96490daa (patch) | |
tree | 7b8871b771df1b7cf8d587abd443b3c1ae70dac7 /bfd | |
parent | 4c8d6c9f4f5ee90a766c6e711828d37f75efc3c7 (diff) | |
download | gdb-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')
-rw-r--r-- | bfd/ChangeLog | 4 | ||||
-rw-r--r-- | bfd/bfd-in2.h | 26 | ||||
-rw-r--r-- | bfd/targets.c | 22 |
3 files changed, 50 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index bb29d59..a2cfc52 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,9 @@ 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. + * srec.c (hex_value): Always set to a size of 256 bytes. (srec_init): Cosmetic changes. diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index 20ce0d5..294b0a9 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -756,6 +756,12 @@ typedef struct sec discarded. */ #define SEC_DEBUGGING 0x10000 + /* The contents of this section are held in memory pointed to + by the contents field. This is checked by + bfd_get_section_contents, and the data is retrieved from + memory if appropriate. */ +#define SEC_IN_MEMORY 0x20000 + /* End of section flags. */ /* The virtual memory address of the section - where it will be @@ -835,7 +841,9 @@ typedef struct sec PTR userdata; - struct lang_output_section *otheruserdata; + /* If the SEC_IN_MEMORY flag is set, this points to the actual + contents. */ + unsigned char *contents; /* Attached line number information */ @@ -1924,8 +1932,24 @@ core_file_matches_executable_p #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 #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 enum bfd_flavour { bfd_target_unknown_flavour, bfd_target_aout_flavour, 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; |