+Thu Oct 21 13:03:49 1999 Jonathan Larmour <jlarmour@cygnus.co.uk>
+
+ * config/arm/telf.h (ASM_OUTPUT_SECTION_NAME): Add %nobits option
+ to .section when outputting a .bss section to deal with multiple
+ .bss input sections (as happens with -fdata-sections)
+ Also output %progbits, not @progbits so the assembler doesn't treat as
+ a comment.
+ * config/arm/unknown-elf.h (ASM_OUTPUT_SECTION_NAME): Likewise
+
+ * config/arm/lib1funcs.asm (_call_via_rX): Allow compilation of
+ thumb parts even when building with non-thumb CPUs, by forcing
+ thumb mode.
+
Wed Oct 20 22:57:58 1999 Jeffrey A Law (law@cygnus.com)
* sparc.md (movsf_const_intreg): If splitting, length must be > 1.
.text
.align 0
- .code 16
+ .force_thumb
.macro call_via register
.globl SYM (_call_via_\register)
TYPE (_call_via_\register)
do \
{ \
if ((DECL) && TREE_CODE (DECL) == FUNCTION_DECL) \
- fprintf (STREAM, "\t.section %s,\"ax\",@progbits\n", (NAME)); \
+ fprintf (STREAM, "\t.section %s,\"ax\",%%progbits\n", NAME); \
else if ((DECL) && DECL_READONLY_SECTION (DECL, RELOC)) \
- fprintf (STREAM, "\t.section %s,\"a\"\n", (NAME)); \
+ fprintf (STREAM, "\t.section %s,\"a\"\n", NAME); \
+ else if (! strncmp (NAME, ".bss", 4)) \
+ fprintf (STREAM, "\t.section %s,\"aw\",%%nobits\n", NAME); \
else \
- fprintf (STREAM, "\t.section %s,\"aw\"\n", (NAME)); \
+ fprintf (STREAM, "\t.section %s,\"aw\"\n", NAME); \
} \
while (0)
\f
NAME for object DECL which is either a FUNCTION_DECL, a VAR_DECL or
NULL_TREE. Some target formats do not support arbitrary sections. Do not
define this macro in such cases. */
-#define ASM_OUTPUT_SECTION_NAME(STREAM, DECL, NAME, RELOC) \
-do { \
- if ((DECL) && TREE_CODE (DECL) == FUNCTION_DECL) \
- fprintf (STREAM, "\t.section %s,\"ax\",@progbits\n", (NAME)); \
- else if ((DECL) && DECL_READONLY_SECTION (DECL, RELOC)) \
- fprintf (STREAM, "\t.section %s,\"a\"\n", (NAME)); \
- else \
- fprintf (STREAM, "\t.section %s,\"aw\"\n", (NAME)); \
-} while (0)
+#define ASM_OUTPUT_SECTION_NAME(STREAM, DECL, NAME, RELOC) \
+ do \
+ { \
+ if ((DECL) && TREE_CODE (DECL) == FUNCTION_DECL) \
+ fprintf (STREAM, "\t.section %s,\"ax\",%%progbits\n", NAME); \
+ else if ((DECL) && DECL_READONLY_SECTION (DECL, RELOC)) \
+ fprintf (STREAM, "\t.section %s,\"a\"\n", NAME); \
+ else if (! strncmp (NAME, ".bss", 4)) \
+ fprintf (STREAM, "\t.section %s,\"aw\",%%nobits\n", NAME); \
+ else \
+ fprintf (STREAM, "\t.section %s,\"aw\"\n", NAME); \
+ } \
+ while (0)
/* Don't know how to order these. UNALIGNED_WORD_ASM_OP is in
dwarf2.out. */