aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/pa/pa-pro-end.h
diff options
context:
space:
mode:
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>2004-08-05 20:57:06 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2004-08-05 20:57:06 +0000
commitd4482715693d5289b88a7c68168b5fcbe40a2766 (patch)
tree465ec10094020f2ced7d87cf202dca82d9966e60 /gcc/config/pa/pa-pro-end.h
parentc34f5b333dc7f357f14709c6a7d5d941ad84be5c (diff)
downloadgcc-d4482715693d5289b88a7c68168b5fcbe40a2766.zip
gcc-d4482715693d5289b88a7c68168b5fcbe40a2766.tar.gz
gcc-d4482715693d5289b88a7c68168b5fcbe40a2766.tar.bz2
pa.c (pa_asm_output_aligned_bss, [...]): New functions.
* pa.c (pa_asm_output_aligned_bss, pa_asm_output_aligned_common, pa_asm_output_aligned_local): New functions. * pa-protos.h: Add prototypes for pa_asm_output_aligned_bss, pa_asm_output_aligned_common and pa_asm_output_aligned_local. * pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Use pa_asm_output_aligned_common. (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local. * pa.h (ASM_OUTPUT_ALIGNED_BSS): New macro. (ASM_OUTPUT_ALIGNED_COMMON): Use pa_asm_output_aligned_common. (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local. * pa64-hpux.h (MAX_OFILE_ALIGNMENT): New macro. (ASM_OUTPUT_ALIGNED_COMMON): Use pa_asm_output_aligned_common. (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local. * som.h (MAX_OFILE_ALIGNMENT): Provide maximum alignment of global common data. From-SVN: r85611
Diffstat (limited to 'gcc/config/pa/pa-pro-end.h')
-rw-r--r--gcc/config/pa/pa-pro-end.h30
1 files changed, 8 insertions, 22 deletions
diff --git a/gcc/config/pa/pa-pro-end.h b/gcc/config/pa/pa-pro-end.h
index 5fc06e2..b020f5e 100644
--- a/gcc/config/pa/pa-pro-end.h
+++ b/gcc/config/pa/pa-pro-end.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for PRO.
- Copyright (C) 1996, 1997, 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1997, 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of GCC.
@@ -52,27 +52,13 @@ Boston, MA 02111-1307, USA. */
#undef STARTFILE_SPEC
#define STARTFILE_SPEC ""
-/* The following two macros are identical to the ones in pa.h. We need
- to override the macros in elfos.h on the rtems and pro ports. */
-
-/* This says how to output an assembler line to define a global common symbol
- with size SIZE (in bytes) and alignment ALIGN (in bits). */
-
+/* We need to override the following two macros defined in elfos.h since
+ the .comm directive has a different syntax and it can't be used for
+ local common symbols. */
#undef ASM_OUTPUT_ALIGNED_COMMON
-#define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGNED) \
-{ bss_section (); \
- assemble_name ((FILE), (NAME)); \
- fprintf ((FILE), "\t.comm "HOST_WIDE_INT_PRINT_UNSIGNED"\n", \
- MAX ((unsigned HOST_WIDE_INT)(SIZE), \
- ((unsigned HOST_WIDE_INT)(ALIGNED) / BITS_PER_UNIT)));}
-
-/* This says how to output an assembler line to define a local common symbol
- with size SIZE (in bytes) and alignment ALIGN (in bits). */
+#define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGN) \
+ pa_asm_output_aligned_common (FILE, NAME, SIZE, ALIGN)
#undef ASM_OUTPUT_ALIGNED_LOCAL
-#define ASM_OUTPUT_ALIGNED_LOCAL(FILE, NAME, SIZE, ALIGNED) \
-{ bss_section (); \
- fprintf ((FILE), "\t.align %d\n", ((ALIGNED) / BITS_PER_UNIT)); \
- assemble_name ((FILE), (NAME)); \
- fprintf ((FILE), "\n\t.block "HOST_WIDE_INT_PRINT_UNSIGNED"\n", \
- (unsigned HOST_WIDE_INT)(SIZE));}
+#define ASM_OUTPUT_ALIGNED_LOCAL(FILE, NAME, SIZE, ALIGN) \
+ pa_asm_output_aligned_local (FILE, NAME, SIZE, ALIGN)