aboutsummaryrefslogtreecommitdiff
path: root/bfd/coff-mips.c
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1993-06-10 18:51:48 +0000
committerIan Lance Taylor <ian@airs.com>1993-06-10 18:51:48 +0000
commit9b946448f6a70b9107482288aec91184eec9bdd2 (patch)
treea95cb3aefc5753325de05c3ec8bd2cc147812298 /bfd/coff-mips.c
parenteab176968fb94e6859f83e7ae8885e6b1096fb2c (diff)
downloadgdb-9b946448f6a70b9107482288aec91184eec9bdd2.zip
gdb-9b946448f6a70b9107482288aec91184eec9bdd2.tar.gz
gdb-9b946448f6a70b9107482288aec91184eec9bdd2.tar.bz2
* coff-mips.c (ecoff_sec_to_styp_flags): Use STYP_MIPS_INIT for
section named _INIT. Don't set STYP_TEXT unless SEC_CODE is set. (ecoff_styp_to_sec_flags): Treat a STYP_MIPS_INIT section like a STYP_TEXT section.
Diffstat (limited to 'bfd/coff-mips.c')
-rw-r--r--bfd/coff-mips.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/bfd/coff-mips.c b/bfd/coff-mips.c
index 6012b14..4517558 100644
--- a/bfd/coff-mips.c
+++ b/bfd/coff-mips.c
@@ -526,6 +526,8 @@ ecoff_sec_to_styp_flags (name, flags)
styp = STYP_BSS;
else if (strcmp (name, _SBSS) == 0)
styp = STYP_SBSS;
+ else if (strcmp (name, _INIT) == 0)
+ styp = STYP_MIPS_INIT;
else if (flags & SEC_CODE)
styp = STYP_TEXT;
else if (flags & SEC_DATA)
@@ -533,7 +535,7 @@ ecoff_sec_to_styp_flags (name, flags)
else if (flags & SEC_READONLY)
styp = STYP_RDATA;
else if (flags & SEC_LOAD)
- styp = STYP_TEXT;
+ styp = STYP_REG;
else
styp = STYP_BSS;
@@ -559,7 +561,8 @@ ecoff_styp_to_sec_flags (abfd, hdr)
/* For 386 COFF, at least, an unloadable text or data section is
actually a shared library section. */
- if (styp_flags & STYP_TEXT)
+ if ((styp_flags & STYP_TEXT)
+ || (stype_FLAGS & STYP_MIPS_INIT))
{
if (sec_flags & SEC_NEVER_LOAD)
sec_flags |= SEC_CODE | SEC_SHARED_LIBRARY;