* coffcode.h [_LIT]: Recognize .lit section.
authorJim Kingdon <jkingdon@engr.sgi.com>
Sun, 25 Apr 1993 04:45:31 +0000 (04:45 +0000)
committerJim Kingdon <jkingdon@engr.sgi.com>
Sun, 25 Apr 1993 04:45:31 +0000 (04:45 +0000)
bfd/ChangeLog
bfd/coffcode.h

index a002f681672a622e140db80db06e9ca4094e3e82..60808fb9e5199bdb4c5afd94229a43acf9c5251a 100644 (file)
@@ -1,3 +1,7 @@
+Sat Apr 24 21:33:45 1993  Jim Kingdon  (kingdon@cygnus.com)
+
+       * coffcode.h [_LIT]: Recognize .lit section.
+
 Fri Apr 23 19:00:36 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
 
        * coff-alpha.c, cpu-alpha.c, config/alphaosf.mt,
index 9791f724c2b22f448830f68cd58dc4b7278c98a1..ad89efe44712ef36dd48f9eab2cd1cc7749c2e70 100644 (file)
@@ -338,6 +338,12 @@ DEFUN(sec_to_styp_flags, (sec_name, sec_flags),
   {
     styp_flags = STYP_LIB;
 #endif                         /* _LIB */
+#ifdef _LIT
+  }
+  else if (!strcmp (sec_name, _LIT))
+  {
+    stype_flags = STYP_LIT;
+#endif /* _LIT */
 
   }
   /* Try and figure out what it should be */
@@ -413,11 +419,16 @@ DEFUN(styp_to_sec_flags, (abfd, hdr),
   }
   else if (styp_flags & STYP_BSS) 
   {
-    sec_flags |= SEC_ALLOC;
+#ifdef BSS_NOLOAD_IS_SHARED_LIBRARY
+    if (sec_flags & SEC_NEVER_LOAD)
+      sec_flags |= SEC_ALLOC | SEC_SHARED_LIBRARY;
+    else
+#endif
+      sec_flags |= SEC_ALLOC;
   }
   else if (styp_flags & STYP_INFO) 
   {
-    sec_flags |= SEC_NEVER_LOAD;
+    /* Nothing to do.  */
   }
   else
   {
@@ -1226,6 +1237,14 @@ DEFUN(coff_compute_section_file_positions,(abfd),
       current->_raw_size += sofar - old_sofar ;
 #endif
 
+#ifdef _LIB
+      /* Force .lib sections to start at zero.  The vma is then
+        incremented in coff_set_section_contents.  This is right for
+        SVR3.2.  */
+      if (strcmp (current->name, _LIB) == 0)
+       bfd_set_section_vma (abfd, current, 0);
+#endif
+
       previous = current;
     }
   obj_relocbase(abfd) = sofar;
@@ -1637,7 +1656,7 @@ DEFUN(coff_set_section_contents,(abfd, section, location, offset, count),
        right for SVR3.2.  Shared libraries should probably get more
        generic support.  Ian Taylor <ian@cygnus.com>.  */
     if (strcmp (section->name, _LIB) == 0)
-      ++section->vma;
+      ++section->lma;
 #endif
 
     /* Don't write out bss sections - one way to do this is to