diff options
author | Ian Lance Taylor <ian@airs.com> | 1999-09-11 14:41:11 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1999-09-11 14:41:11 +0000 |
commit | 703153b5668996e80932ab4cde7972694a3c6d11 (patch) | |
tree | 0b92744c8f9b5c8180ad9553ca08b377ae0c5a8b | |
parent | fa16d38700e5fbbeb00dbdbad7567366e97e154f (diff) | |
download | gdb-703153b5668996e80932ab4cde7972694a3c6d11.zip gdb-703153b5668996e80932ab4cde7972694a3c6d11.tar.gz gdb-703153b5668996e80932ab4cde7972694a3c6d11.tar.bz2 |
1999-09-11 Donn Terry <donn@interix.com>
* syms.c (BSF_DEBUGGING_RELOC): Define.
* coffgen.c (fixup_symbol_value): Relocate a symbol which has
BSF_DEBUGGING_RELOC set.
* bfd-in2.h: Rebuild.
-rw-r--r-- | bfd/ChangeLog | 7 | ||||
-rw-r--r-- | bfd/bfd-in2.h | 7 | ||||
-rw-r--r-- | bfd/coffgen.c | 3 | ||||
-rw-r--r-- | bfd/syms.c | 7 |
4 files changed, 21 insertions, 3 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index aa16f61..143fbc0 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,10 @@ +1999-09-11 Donn Terry <donn@interix.com> + + * syms.c (BSF_DEBUGGING_RELOC): Define. + * coffgen.c (fixup_symbol_value): Relocate a symbol which has + BSF_DEBUGGING_RELOC set. + * bfd-in2.h: Rebuild. + 1999-09-10 Ian Lance Taylor <ian@zembu.com> * ecoff.c (bfd_debug_section): Update initialization for new diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index ec82e0c..b53329c 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -2303,7 +2303,7 @@ typedef struct symbol_cache_entry <<BSF_GLOBAL>> */ /* The symbol is a debugging record. The value has an arbitary - meaning. */ + meaning, unless BSF_DEBUGGING_RELOC is also set. */ #define BSF_DEBUGGING 0x08 /* The symbol denotes a function entry point. Used in ELF, @@ -2361,6 +2361,11 @@ typedef struct symbol_cache_entry others someday. */ #define BSF_OBJECT 0x10000 + /* This symbol is a debugging symbol. The value is the offset + into the section of the data. BSF_DEBUGGING should be set + as well. */ +#define BSF_DEBUGGING_RELOC 0x20000 + flagword flags; /* A pointer to the section to which this symbol is diff --git a/bfd/coffgen.c b/bfd/coffgen.c index feb57a3..f090f10 100644 --- a/bfd/coffgen.c +++ b/bfd/coffgen.c @@ -585,7 +585,8 @@ fixup_symbol_value (abfd, coff_symbol_ptr, syment) syment->n_scnum = N_UNDEF; syment->n_value = coff_symbol_ptr->symbol.value; } - else if (coff_symbol_ptr->symbol.flags & BSF_DEBUGGING) + else if ((coff_symbol_ptr->symbol.flags & BSF_DEBUGGING) != 0 + && (coff_symbol_ptr->symbol.flags & BSF_DEBUGGING_RELOC) == 0) { syment->n_value = coff_symbol_ptr->symbol.value; } @@ -227,7 +227,7 @@ CODE_FRAGMENT . <<BSF_GLOBAL>> *} . . {* The symbol is a debugging record. The value has an arbitary -. meaning. *} +. meaning, unless BSF_DEBUGGING_RELOC is also set. *} .#define BSF_DEBUGGING 0x08 . . {* The symbol denotes a function entry point. Used in ELF, @@ -285,6 +285,11 @@ CODE_FRAGMENT . others someday. *} .#define BSF_OBJECT 0x10000 . +. {* This symbol is a debugging symbol. The value is the offset +. into the section of the data. BSF_DEBUGGING should be set +. as well. *} +.#define BSF_DEBUGGING_RELOC 0x20000 +. . flagword flags; . . {* A pointer to the section to which this symbol is |