diff options
author | John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | 2004-08-05 20:57:06 +0000 |
---|---|---|
committer | John David Anglin <danglin@gcc.gnu.org> | 2004-08-05 20:57:06 +0000 |
commit | d4482715693d5289b88a7c68168b5fcbe40a2766 (patch) | |
tree | 465ec10094020f2ced7d87cf202dca82d9966e60 /gcc/config/pa/pa-pro-end.h | |
parent | c34f5b333dc7f357f14709c6a7d5d941ad84be5c (diff) | |
download | gcc-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.h | 30 |
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) |