1999-08-08 Mumit Khan <khan@xraylith.wisc.edu>

* section.c (SEC_SHARED): Define.
	* coffcode.h (sec_to_styp_flags): Handle SEC_SHARED.
	(styp_to_sec_flags): Likewise.
	* peicode.h (coff_swap_scnhdr_out): Likewise.
	* bfd-in2.h: Rebuild.

1999-08-08  Ian Lance Taylor  <ian@zembu.com>

	* coffcode.h (coff_classify_symbol): Comment out part of
	1999-08-05 change which breaks cygwin DLLs.
This commit is contained in:
Ian Lance Taylor 1999-08-08 16:50:27 +00:00
parent 153b546a7a
commit bd826630b1
5 changed files with 31 additions and 0 deletions

View File

@ -1,5 +1,16 @@
1999-08-08 Mumit Khan <khan@xraylith.wisc.edu>
* section.c (SEC_SHARED): Define.
* coffcode.h (sec_to_styp_flags): Handle SEC_SHARED.
(styp_to_sec_flags): Likewise.
* peicode.h (coff_swap_scnhdr_out): Likewise.
* bfd-in2.h: Rebuild.
1999-08-08 Ian Lance Taylor <ian@zembu.com>
* coffcode.h (coff_classify_symbol): Comment out part of
1999-08-05 change which breaks cygwin DLLs.
* acinclude.m4 (BFD_BINARY_FOPEN): Change -windows to -windows*.
* aclocal.m4, configure: Rebuild.

View File

@ -1008,6 +1008,10 @@ typedef struct sec
"near" the GP. */
#define SEC_SHORT 0x2000000
/* This section contains data which may be shared with other
executables or shared objects. */
#define SEC_SHARED 0x4000000
/* End of section flags. */
/* Some internal packed boolean fields. */

View File

@ -445,6 +445,8 @@ sec_to_styp_flags (sec_name, sec_flags)
#ifdef COFF_WITH_PE
if (sec_flags & SEC_LINK_ONCE)
styp_flags |= IMAGE_SCN_LNK_COMDAT;
if (sec_flags & SEC_SHARED)
styp_flags |= IMAGE_SCN_MEM_SHARED;
#endif
return (styp_flags);
@ -579,6 +581,9 @@ styp_to_sec_flags (abfd, hdr, name)
if (styp_flags & IMAGE_SCN_LNK_REMOVE)
sec_flags |= SEC_EXCLUDE;
if (styp_flags & IMAGE_SCN_MEM_SHARED)
sec_flags |= SEC_SHARED;
if (styp_flags & IMAGE_SCN_LNK_COMDAT)
{
sec_flags |= SEC_LINK_ONCE;
@ -3911,6 +3916,10 @@ coff_classify_symbol (abfd, syment)
return COFF_SYMBOL_LOCAL;
}
#if 0
/* This is correct for Microsoft generated objects, but it
breaks gas generated objects. */
if (syment->n_value == 0)
{
asection *sec;
@ -3923,6 +3932,7 @@ coff_classify_symbol (abfd, syment)
== 0))
return COFF_SYMBOL_PE_SECTION;
}
#endif
return COFF_SYMBOL_LOCAL;
}

View File

@ -1239,6 +1239,8 @@ coff_swap_scnhdr_out (abfd, in, out)
flags |= IMAGE_SCN_MEM_READ;
if (! (flags & SEC_READONLY))
flags |= IMAGE_SCN_MEM_WRITE;
if (flags & SEC_SHARED)
flags |= IMAGE_SCN_MEM_SHARED;
}
bfd_h_put_32(abfd, flags, (bfd_byte *) scnhdr_ext->s_flags);

View File

@ -311,6 +311,10 @@ CODE_FRAGMENT
. "near" the GP. *}
.#define SEC_SHORT 0x2000000
.
. {* This section contains data which may be shared with other
. executables or shared objects. *}
.#define SEC_SHARED 0x4000000
.
. {* End of section flags. *}
.
. {* Some internal packed boolean fields. *}