diff options
author | Ian Lance Taylor <ian@airs.com> | 1992-11-06 00:38:59 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1992-11-06 00:38:59 +0000 |
commit | 8f718ed3bd01421aa4b28fb0d9c9299825437258 (patch) | |
tree | 376f996e5c227820520de44f91e435899aae5859 /bfd | |
parent | 4e084cde32061bb4b3a3d437e956055e66174ed8 (diff) | |
download | gdb-8f718ed3bd01421aa4b28fb0d9c9299825437258.zip gdb-8f718ed3bd01421aa4b28fb0d9c9299825437258.tar.gz gdb-8f718ed3bd01421aa4b28fb0d9c9299825437258.tar.bz2 |
Thu Nov 5 15:34:19 1992 Ian Lance Taylor (ian@cygnus.com)
* section.c: New section bit SEC_SHARED_LIBRARY.
coffcode.h (styp_to_sec_flags): if STYP_NOLOAD && (STYP_TEXT ||
STYP_DATA), set SEC_SHARED_LIBRARY. This seems to be correct for
i386-sysv.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 7 | ||||
-rw-r--r-- | bfd/coffcode.h | 16 |
2 files changed, 21 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index cd592f5..25f5074 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,10 @@ +Thu Nov 5 15:34:19 1992 Ian Lance Taylor (ian@cygnus.com) + + * section.c: New section bit SEC_SHARED_LIBRARY. + coffcode.h (styp_to_sec_flags): if STYP_NOLOAD && (STYP_TEXT || + STYP_DATA), set SEC_SHARED_LIBRARY. This seems to be correct for + i386-sysv. + Thu Nov 5 04:43:09 1992 John Gilmore (gnu@cygnus.com) * target.c (struct bfd_target): Eliminate the SDEF and SDEF_FMT diff --git a/bfd/coffcode.h b/bfd/coffcode.h index 4f615dd..29b83ff 100644 --- a/bfd/coffcode.h +++ b/bfd/coffcode.h @@ -399,9 +399,21 @@ DEFUN(styp_to_sec_flags, (styp_flags), } #endif /* STYP_NOLOAD */ - if ((styp_flags & STYP_TEXT) || (styp_flags & STYP_DATA)) + /* For 386 COFF, at least, an unloadable text or data section is + actually a shared library section. */ + if (styp_flags & STYP_TEXT) { - sec_flags |= SEC_LOAD | SEC_ALLOC; + if (sec_flags & SEC_NEVER_LOAD) + sec_flags |= SEC_CODE | SEC_SHARED_LIBRARY; + else + sec_flags |= SEC_CODE | SEC_LOAD | SEC_ALLOC; + } + else if (styp_flags & STYP_DATA) + { + if (sec_flags & SEC_NEVER_LOAD) + sec_flags |= SEC_DATA | SEC_SHARED_LIBRARY; + else + sec_flags |= SEC_DATA | SEC_LOAD | SEC_ALLOC; } else if (styp_flags & STYP_BSS) { |