idata alignment in .s files
authorKim Knuttila <krk@cygnus>
Thu, 30 Nov 1995 18:47:11 +0000 (18:47 +0000)
committerKim Knuttila <krk@cygnus>
Thu, 30 Nov 1995 18:47:11 +0000 (18:47 +0000)
gas/ChangeLog
gas/config/tc-ppc.c

index fa65630d20f2dc28fcd2e834fa23dfdc32f97257..b925148153b063c3a1595ec448328ab9f1e92d90 100644 (file)
@@ -1,3 +1,8 @@
+Thu Nov 30 13:25:49 1995  Kim Knuttila  <krk@cygnus.com>
+
+       * config/tc-ppc.c (ppc_pe_section): To get the alignment right for
+       the various idata sections, we check the name on the .section pseudo.
+
 Thu Nov 30 11:23:42 1995  Manfred Hollstein KS/EF4A 60/1F/110 #40283  <manfred@lts.sel.alcatel.de>
 
        * config/obj-coff.c (fixup_segment): If TC_M88K is defined, do not
index f6ec614a465a55b5f39afc27299632b5cab386db..26481e11d283df1cb3f7e5f4569f6a93980fff13 100644 (file)
@@ -3125,8 +3125,6 @@ ppc_pe_section (ignore)
   segT sec;
   int align;
 
-  align = 4; /* default alignment to 16 byte boundary */
-
   section_name = input_line_pointer;
   c = get_symbol_end ();
 
@@ -3140,6 +3138,29 @@ ppc_pe_section (ignore)
   exp = 0;
   flags = SEC_NO_FLAGS;
 
+  if (strcmp (name, ".idata$2") == 0)
+    {
+      align = 0;
+    }
+  else if (strcmp (name, ".idata$3") == 0)
+    {
+      align = 0;
+    }
+  else if (strcmp (name, ".idata$4") == 0)
+    {
+      align = 2;
+    }
+  else if (strcmp (name, ".idata$5") == 0)
+    {
+      align = 2;
+    }
+  else if (strcmp (name, ".idata$6") == 0)
+    {
+      align = 1;
+    }
+  else
+    align = 4; /* default alignment to 16 byte boundary */
+
   if (*input_line_pointer == ',')
     {
       ++input_line_pointer;