amigaos-cross-toolchain/patches/binutils-2.14/gas/as.c.diff

37 lines
1.4 KiB
Diff

--- binutils-2.14/gas/as.c 2003-04-08 14:47:07.000000000 +0200
+++ binutils-2.14-patched/gas/as.c 2013-04-24 18:38:14.000000000 +0200
@@ -88,6 +88,9 @@
#ifdef BFD_ASSEMBLER
segT reg_section, expr_section;
segT text_section, data_section, bss_section;
+#ifdef OBJ_AMIGAHUNK
+segT data_chip_section, bss_chip_section;
+#endif
#endif
/* The default obstack chunk size. If we set this to zero, the
@@ -1044,6 +1047,10 @@
text_section = subseg_new (TEXT_SECTION_NAME, 0);
data_section = subseg_new (DATA_SECTION_NAME, 0);
bss_section = subseg_new (BSS_SECTION_NAME, 0);
+#ifdef OBJ_AMIGAHUNK
+ data_chip_section = subseg_new (".data_chip", 0);
+ bss_chip_section = subseg_new (".bss_chip", 0);
+#endif
/* @@ FIXME -- we're setting the RELOC flag so that sections are assumed
to have relocs, otherwise we don't find out in time. */
applicable = bfd_applicable_section_flags (stdoutput);
@@ -1054,6 +1061,12 @@
applicable & (SEC_ALLOC | SEC_LOAD | SEC_RELOC
| SEC_DATA));
bfd_set_section_flags (stdoutput, bss_section, applicable & SEC_ALLOC);
+#ifdef OBJ_AMIGAHUNK
+ bfd_set_section_flags (stdoutput, data_chip_section,
+ applicable & (SEC_ALLOC | SEC_LOAD | SEC_RELOC));
+ bfd_set_section_flags (stdoutput, bss_chip_section, applicable & SEC_ALLOC);
+#endif
+
seg_info (bss_section)->bss = 1;
subseg_new (BFD_ABS_SECTION_NAME, 0);
subseg_new (BFD_UND_SECTION_NAME, 0);