OSDN Git Service

* varasm.c (output_constant_pool): For pool constants in mergeable
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 26 Nov 2002 12:36:09 +0000 (12:36 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 26 Nov 2002 12:36:09 +0000 (12:36 +0000)
section ensure each constant is padded to multiple of entity size.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@59508 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/varasm.c

index 5884c5f..6a3858c 100644 (file)
@@ -1,5 +1,10 @@
 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
 
+       * varasm.c (output_constant_pool): For pool constants in mergeable
+       section ensure each constant is padded to multiple of entity size.
+
+2002-11-26  Jakub Jelinek  <jakub@redhat.com>
+
        * varasm.c (default_exception_section): Move to...
        * except.c (default_exception_section): ... here. Make
        .gcc_except_table read-only if it is not expected to have any
index a3d283a..db7599e 100644 (file)
@@ -3499,6 +3499,13 @@ output_constant_pool (fnname, fndecl)
          abort ();
        }
 
+      /* Make sure all constants in SECTION_MERGE and not SECTION_STRINGS
+        sections have proper size.  */
+      if (pool->align > GET_MODE_BITSIZE (pool->mode)
+         && in_section == in_named
+         && get_named_section_flags (in_named_name) & SECTION_MERGE)
+       assemble_align (pool->align);
+
 #ifdef ASM_OUTPUT_SPECIAL_POOL_ENTRY
     done: ;
 #endif