OSDN Git Service

2007-08-31 Olivier Hainque <hainque@adacore.com>
authorhainque <hainque@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 31 Aug 2007 07:08:40 +0000 (07:08 +0000)
committerhainque <hainque@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 31 Aug 2007 07:08:40 +0000 (07:08 +0000)
* config/rs6000/xcoff.h (XCOFF_CSECT_DEFAULT_ALIGNMENT_STR): New
internal macro. Default alignment factor for csect directives, chosen
to match what BIGGEST_ALIGNMENT allows.
(DATA_SECTION_ASM_OP): Use it.
* config/rs6000/rs6000.c
(rs6000_xcoff_output_readonly_section_asm_op):
Use XCOFF_CSECT_DEFAULT_ALIGNMENT_STR.
(rs6000_xcoff_output_readwrite_section_asm_op): Likewise.

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

gcc/ChangeLog
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/xcoff.h

index bb950e9..524b9f1 100644 (file)
@@ -1,5 +1,16 @@
 2007-08-31  Olivier Hainque  <hainque@adacore.com>
 
+       * config/rs6000/xcoff.h (XCOFF_CSECT_DEFAULT_ALIGNMENT_STR): New
+       internal macro. Default alignment factor for csect directives, chosen
+       to match what BIGGEST_ALIGNMENT allows.
+       (DATA_SECTION_ASM_OP): Use it.
+       * config/rs6000/rs6000.c
+       (rs6000_xcoff_output_readonly_section_asm_op):
+       Use XCOFF_CSECT_DEFAULT_ALIGNMENT_STR.
+       (rs6000_xcoff_output_readwrite_section_asm_op): Likewise.
+       
+2007-08-31  Olivier Hainque  <hainque@adacore.com>
+
        * dbxout.c (dbxout_block): Move declaration within the first
        #if defined (DBX_DEBUGGING_INFO) block.  Rearrange another such
        block to include the definition, together with the associated
index 03660b7..83b4ed2 100644 (file)
@@ -20205,8 +20205,9 @@ rs6000_xcoff_asm_globalize_label (FILE *stream, const char *name)
 static void
 rs6000_xcoff_output_readonly_section_asm_op (const void *directive)
 {
-  fprintf (asm_out_file, "\t.csect %s[RO],3\n",
-          *(const char *const *) directive);
+  fprintf (asm_out_file, "\t.csect %s[RO],%s\n",
+          *(const char *const *) directive,
+          XCOFF_CSECT_DEFAULT_ALIGNMENT_STR);
 }
 
 /* Likewise for read-write sections.  */
@@ -20214,8 +20215,9 @@ rs6000_xcoff_output_readonly_section_asm_op (const void *directive)
 static void
 rs6000_xcoff_output_readwrite_section_asm_op (const void *directive)
 {
-  fprintf (asm_out_file, "\t.csect %s[RW],3\n",
-          *(const char *const *) directive);
+  fprintf (asm_out_file, "\t.csect %s[RW],%s\n",
+          *(const char *const *) directive,
+          XCOFF_CSECT_DEFAULT_ALIGNMENT_STR);
 }
 
 /* A get_unnamed_section callback, used for switching to toc_section.  */
index d2c167b..c4bceca 100644 (file)
 
 #define MAX_OFILE_ALIGNMENT 32768
 
+/* Default alignment factor for csect directives, chosen to honor
+   BIGGEST_ALIGNMENT.  */
+#define XCOFF_CSECT_DEFAULT_ALIGNMENT_STR "4"
+
 /* Return nonzero if this entry is to be written into the constant
    pool in a special way.  We do so if this is a SYMBOL_REF, LABEL_REF
    or a CONST containing one of them.  If -mfp-in-toc (the default),
 /* Output before instructions.  */
 #define TEXT_SECTION_ASM_OP "\t.csect .text[PR]"
 
-/* Output before writable data.
-   Align entire section to BIGGEST_ALIGNMENT.  */
-#define DATA_SECTION_ASM_OP "\t.csect .data[RW],3"
+/* Output before writable data.  */
+#define DATA_SECTION_ASM_OP \
+  "\t.csect .data[RW]," XCOFF_CSECT_DEFAULT_ALIGNMENT_STR
+
 
 /* Define to prevent DWARF2 unwind info in the data section rather
    than in the .eh_frame section.  We do this because the AIX linker