diff options
author | Mark Kettenis <kettenis@cvs.openbsd.org> | 2010-04-26 21:29:01 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@cvs.openbsd.org> | 2010-04-26 21:29:01 +0000 |
commit | dab3a16bb47d78351ffe686e2d291e5f67a19c34 (patch) | |
tree | 56b04a968feff705bf66fdeedbc0525560cb4fe5 | |
parent | 5776b98b621ced4e32c210aeecde22695c97f033 (diff) |
Work around the fact that our .comm directive is somewhat non-standard.
-rw-r--r-- | gnu/gcc/gcc/config/pa/openbsd.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gnu/gcc/gcc/config/pa/openbsd.h b/gnu/gcc/gcc/config/pa/openbsd.h index 6957fc7486b..b7c1f44977c 100644 --- a/gnu/gcc/gcc/config/pa/openbsd.h +++ b/gnu/gcc/gcc/config/pa/openbsd.h @@ -120,6 +120,30 @@ Boston, MA 02111-1307, USA. */ #undef TARGET_GAS #define TARGET_GAS 1 +/* XXX OpenBSD/hppa has a non-standard .comm */ + +#undef ASM_OUTPUT_ALIGNED_COMMON +#define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGN) \ + do \ + { \ + switch_to_section (bss_section); \ + assemble_name((FILE), (NAME)); \ + fprintf ((FILE), "\t.comm %d\n", \ + MAX ((SIZE), ((ALIGN) / BITS_PER_UNIT))); \ + } \ + while (0) + +#undef ASM_OUTPUT_ALIGNED_LOCAL +#define ASM_OUTPUT_ALIGNED_LOCAL(FILE, NAME, SIZE, ALIGN) \ + do \ + { \ + switch_to_section (bss_section); \ + fprintf((FILE), "\t.align %d\n", ((ALIGN) / BITS_PER_UNIT)); \ + assemble_name((FILE), (NAME)); \ + fprintf ((FILE), "\t.block %d\n", (SIZE)); \ + } \ + while (0) + #undef TARGET_SCHED_DEFAULT #define TARGET_SCHED_DEFAULT PROCESSOR_700 |