diff options
author | Olivier Hainque <hainque@adacore.com> | 2007-08-31 07:08:40 +0000 |
---|---|---|
committer | Olivier Hainque <hainque@gcc.gnu.org> | 2007-08-31 07:08:40 +0000 |
commit | 890f9edfff1fb106af3395b14e6f17caeb58ae3d (patch) | |
tree | 63d2909d74d7981d03eda9bb8903b66eb8d847fc /gcc/config | |
parent | b420396fcf9487f7208a496369f30e2f3c19551e (diff) | |
download | gcc-890f9edfff1fb106af3395b14e6f17caeb58ae3d.zip gcc-890f9edfff1fb106af3395b14e6f17caeb58ae3d.tar.gz gcc-890f9edfff1fb106af3395b14e6f17caeb58ae3d.tar.bz2 |
xcoff.h (XCOFF_CSECT_DEFAULT_ALIGNMENT_STR): New internal macro.
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.
From-SVN: r127956
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 10 | ||||
-rw-r--r-- | gcc/config/rs6000/xcoff.h | 11 |
2 files changed, 14 insertions, 7 deletions
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 03660b7..83b4ed2 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -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. */ diff --git a/gcc/config/rs6000/xcoff.h b/gcc/config/rs6000/xcoff.h index d2c167b..c4bceca 100644 --- a/gcc/config/rs6000/xcoff.h +++ b/gcc/config/rs6000/xcoff.h @@ -60,6 +60,10 @@ #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), @@ -277,9 +281,10 @@ /* 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 |