aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1995-03-20 07:57:56 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1995-03-20 07:57:56 -0500
commitc0388f29ce05ff699a5731ced42bba0d04fc824e (patch)
treef6bcc474ade80848bf35816928593e7c2f6e0d0e
parentd2d671fc9d0e14b76cc5f87c96bdb700b4ae5e8e (diff)
downloadgcc-c0388f29ce05ff699a5731ced42bba0d04fc824e.zip
gcc-c0388f29ce05ff699a5731ced42bba0d04fc824e.tar.gz
gcc-c0388f29ce05ff699a5731ced42bba0d04fc824e.tar.bz2
(EXTRA_SECTIONS): Write zeros first time in .rdata.
From-SVN: r9211
-rw-r--r--gcc/config/alpha/alpha.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h
index 0526d69..7fa19cb 100644
--- a/gcc/config/alpha/alpha.h
+++ b/gcc/config/alpha/alpha.h
@@ -1509,7 +1509,11 @@ extern char *current_function_name;
#define DATA_SECTION_ASM_OP ".data"
/* Define an extra section for read-only data, a routine to enter it, and
- indicate that it is for read-only data. */
+ indicate that it is for read-only data.
+
+ The first timem we enter the readonly data sectiono for a file, we write
+ eight bytes of zero. This works around a bug in DEC's assembler in
+ some versions of OSF/1 V3.x. */
#define EXTRA_SECTIONS readonly_data
@@ -1519,7 +1523,15 @@ literal_section () \
{ \
if (in_section != readonly_data) \
{ \
+ static int firsttime = 1; \
+ \
fprintf (asm_out_file, "%s\n", READONLY_DATA_SECTION_ASM_OP); \
+ if (firsttime) \
+ { \
+ firsttime = 0; \
+ ASM_OUTPUT_DOUBLE_INT (asm_out_file, const0_rtx); \
+ } \
+ \
in_section = readonly_data; \
} \
} \