1999-09-11 Donn Terry <donn@interix.com>

* coffcode.h (coff_mkobject_hook): If COFF_WITH_PE, set HAS_DEBUG
	to the reverse of IMAGE_FILE_DEBUG_STRIPPED.
	(coff_write_object_contents): Set IMAGE_FILE_DEBUG_STRIPPED if
	there is no SEC_DEBUGGING section.
	* peicode.h (pe_mkobject_hook): Set HAS_DEBUG to the reverse of
	IMAGE_FILE_DEBUG_STRIPPED.
This commit is contained in:
Ian Lance Taylor 1999-09-11 22:33:45 +00:00
parent 33d7d19757
commit 4cfec37b92
3 changed files with 28 additions and 4 deletions

View file

@ -7,6 +7,13 @@
1999-09-11 Donn Terry <donn@interix.com>
* coffcode.h (coff_mkobject_hook): If COFF_WITH_PE, set HAS_DEBUG
to the reverse of IMAGE_FILE_DEBUG_STRIPPED.
(coff_write_object_contents): Set IMAGE_FILE_DEBUG_STRIPPED if
there is no SEC_DEBUGGING section.
* peicode.h (pe_mkobject_hook): Set HAS_DEBUG to the reverse of
IMAGE_FILE_DEBUG_STRIPPED.
* pe-i386.c (COFF_LONG_FILENAMES): Define.
(COFF_SECTION_ALIGNMENT_ENTRIES): Define.
* pei-i386.c (COFF_LONG_FILENAMES): Define.

View file

@ -1627,6 +1627,13 @@ coff_mkobject_hook (abfd, filehdr, aouthdr)
coff->flags = 0;
#endif
#ifdef COFF_WITH_PE
/* FIXME: I'm not sure this is ever executed, since peicode.h
defines coff_mkobject_hook. */
if ((internal_f->f_flags & IMAGE_FILE_DEBUG_STRIPPED) == 0)
abfd->flags |= HAS_DEBUG;
#endif
return (PTR) coff;
}
#endif
@ -2902,6 +2909,7 @@ coff_write_object_contents (abfd)
asection *current;
boolean hasrelocs = false;
boolean haslinno = false;
boolean hasdebug = false;
file_ptr scn_base;
file_ptr reloc_base;
file_ptr lineno_base;
@ -2992,18 +3000,17 @@ coff_write_object_contents (abfd)
current = current->next)
{
struct internal_scnhdr section;
#ifdef COFF_WITH_PE
/* If we've got a .reloc section, remember. */
boolean is_reloc_section = false;
#ifdef COFF_IMAGE_WITH_PE
if (strcmp (current->name, ".reloc") == 0)
{
is_reloc_section = true;
hasrelocs = true;
pe_data (abfd)->has_reloc_section = 1;
}
#endif
#endif
internal_f.f_nscns++;
strncpy (section.s_name, current->name, SCNNMLEN);
@ -3069,6 +3076,9 @@ coff_write_object_contents (abfd)
hasrelocs = true;
if (current->lineno_count != 0)
haslinno = true;
if ((current->flags & SEC_DEBUGGING) != 0
&& ! is_reloc_section)
hasdebug = true;
#ifdef RS6000COFF_C
/* Indicate the use of an XCOFF overflow section header. */
@ -3277,6 +3287,10 @@ coff_write_object_contents (abfd)
internal_f.f_flags |= F_LNNO;
if (abfd->flags & EXEC_P)
internal_f.f_flags |= F_EXEC;
#ifdef COFF_IMAGE_WITH_PE
if (! hasdebug)
internal_f.f_flags |= IMAGE_FILE_DEBUG_STRIPPED;
#endif
#ifndef COFF_WITH_PE
if (bfd_little_endian (abfd))

View file

@ -2106,6 +2106,9 @@ pe_mkobject_hook (abfd, filehdr, aouthdr)
if ((internal_f->f_flags & F_DLL) != 0)
pe->dll = 1;
if ((internal_f->f_flags & IMAGE_FILE_DEBUG_STRIPPED) == 0)
abfd->flags |= HAS_DEBUG;
#ifdef COFF_IMAGE_WITH_PE
if (aouthdr)
pe->pe_opthdr = ((struct internal_aouthdr *)aouthdr)->pe;