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

75 lines
2.1 KiB
Diff

--- binutils-2.14/gas/read.c 2003-06-02 22:35:23.000000000 +0200
+++ binutils-2.14-patched/gas/read.c 2013-04-24 18:37:53.000000000 +0200
@@ -48,6 +48,10 @@
#define TC_START_LABEL(x,y) (x == ':')
#endif
+#ifdef OBJ_AMIGAHUNK
+extern segT data_chip_section, bss_chip_section;
+#endif
+
/* Set by the object-format or the target. */
#ifndef TC_IMPLICIT_LCOMM_ALIGNMENT
#define TC_IMPLICIT_LCOMM_ALIGNMENT(SIZE, P2VAR) \
@@ -274,6 +278,9 @@
{"common", s_mri_common, 0},
{"common.s", s_mri_common, 1},
{"data", s_data, 0},
+#ifdef OBJ_AMIGAHUNK
+ {"datachip", s_data_chip, 0},
+#endif
{"dc", cons, 2},
{"dc.b", cons, 1},
{"dc.d", float_cons, 'd'},
@@ -1552,6 +1559,17 @@
demand_empty_rest_of_line ();
}
+#ifdef OBJ_AMIGAHUNK
+void
+s_data_chip (ignore)
+ int ignore ATTRIBUTE_UNUSED;
+{
+ int temp = get_absolute_expression ();
+ subseg_set (data_chip_section, (subsegT) temp);
+ demand_empty_rest_of_line ();
+}
+#endif
+
/* Handle the .appfile pseudo-op. This is automatically generated by
do_scrub_chars when a preprocessor # line comment is seen with a
file name. This default definition may be overridden by the object
@@ -3717,7 +3735,7 @@
#ifdef BFD_ASSEMBLER
#ifdef TC_CONS_FIX_NEW
- TC_CONS_FIX_NEW (frag_now, p - frag_now->fr_literal, nbytes, exp);
+ TC_CONS_FIX_NEW (frag_now, p - frag_now->fr_literal, nbytes, exp, 0);
#else
{
bfd_reloc_code_real_type r;
@@ -3742,12 +3760,12 @@
break;
}
fix_new_exp (frag_now, p - frag_now->fr_literal, (int) nbytes, exp,
- 0, r);
+ 0, r, 0);
}
#endif
#else
#ifdef TC_CONS_FIX_NEW
- TC_CONS_FIX_NEW (frag_now, p - frag_now->fr_literal, nbytes, exp);
+ TC_CONS_FIX_NEW (frag_now, p - frag_now->fr_literal, nbytes, exp, 0);
#else
/* Figure out which reloc number to use. Use TC_CONS_RELOC if
it is defined, otherwise use NO_RELOC if it is defined,
@@ -3760,7 +3778,7 @@
#endif
#endif
fix_new_exp (frag_now, p - frag_now->fr_literal, (int) nbytes, exp, 0,
- TC_CONS_RELOC);
+ TC_CONS_RELOC, 0);
#endif /* TC_CONS_FIX_NEW */
#endif /* BFD_ASSEMBLER */
}