2000-11-27 Philip Blundell <pb@futuretv.com>
* libcoff-in.h (coff_tdata): Add `strings_written' flag. (obj_coff_strings_written): New accessor macro for above. * libcoff.h: Regenerate. * cofflink.c (_bfd_coff_final_link): Say that we wrote the strings. * coffcode.h (coff_write_object_contents): No need to write out the string table if it's already been done.
This commit is contained in:
parent
bc7a577dc7
commit
d71f672e69
|
@ -1,3 +1,13 @@
|
|||
2000-11-27 Philip Blundell <pb@futuretv.com>
|
||||
|
||||
* libcoff-in.h (coff_tdata): Add `strings_written' flag.
|
||||
(obj_coff_strings_written): New accessor macro for above.
|
||||
* libcoff.h: Regenerate.
|
||||
* cofflink.c (_bfd_coff_final_link): Say that we wrote the
|
||||
strings.
|
||||
* coffcode.h (coff_write_object_contents): No need to write out
|
||||
the string table if it's already been done.
|
||||
|
||||
2000-11-22 Philip Blundell <pb@futuretv.com>
|
||||
|
||||
* cofflink.c (_bfd_coff_generic_relocate_section): Don't object to
|
||||
|
|
|
@ -3798,7 +3798,7 @@ coff_write_object_contents (abfd)
|
|||
return false;
|
||||
}
|
||||
#ifdef COFF_LONG_SECTION_NAMES
|
||||
else if (long_section_names)
|
||||
else if (long_section_names && ! obj_coff_strings_written (abfd))
|
||||
{
|
||||
/* If we have long section names we have to write out the string
|
||||
table even if there are no symbols. */
|
||||
|
|
|
@ -1102,6 +1102,8 @@ _bfd_coff_final_link (abfd, info)
|
|||
|
||||
if (! _bfd_stringtab_emit (abfd, finfo.strtab))
|
||||
return false;
|
||||
|
||||
obj_coff_strings_written (abfd) = true;
|
||||
}
|
||||
|
||||
_bfd_stringtab_free (finfo.strtab);
|
||||
|
|
|
@ -43,6 +43,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
|||
#define obj_coff_strings(bfd) (coff_data (bfd)->strings)
|
||||
#define obj_coff_keep_strings(bfd) (coff_data (bfd)->keep_strings)
|
||||
#define obj_coff_sym_hashes(bfd) (coff_data (bfd)->sym_hashes)
|
||||
#define obj_coff_strings_written(bfd) (coff_data (bfd)->strings_written)
|
||||
|
||||
#define obj_coff_local_toc_table(bfd) (coff_data(bfd)->local_toc_sym_map)
|
||||
|
||||
|
@ -83,6 +84,8 @@ typedef struct coff_tdata
|
|||
char *strings;
|
||||
/* If this is true, the strings may not be freed. */
|
||||
boolean keep_strings;
|
||||
/* If this is true, the strings have been written out already. */
|
||||
boolean strings_written;
|
||||
|
||||
/* is this a PE format coff file */
|
||||
int pe;
|
||||
|
|
|
@ -43,6 +43,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
|||
#define obj_coff_strings(bfd) (coff_data (bfd)->strings)
|
||||
#define obj_coff_keep_strings(bfd) (coff_data (bfd)->keep_strings)
|
||||
#define obj_coff_sym_hashes(bfd) (coff_data (bfd)->sym_hashes)
|
||||
#define obj_coff_strings_written(bfd) (coff_data (bfd)->strings_written)
|
||||
|
||||
#define obj_coff_local_toc_table(bfd) (coff_data(bfd)->local_toc_sym_map)
|
||||
|
||||
|
@ -83,6 +84,8 @@ typedef struct coff_tdata
|
|||
char *strings;
|
||||
/* If this is true, the strings may not be freed. */
|
||||
boolean keep_strings;
|
||||
/* If this is true, the strings have been written out already. */
|
||||
boolean strings_written;
|
||||
|
||||
/* is this a PE format coff file */
|
||||
int pe;
|
||||
|
|
Loading…
Reference in New Issue