summaryrefslogtreecommitdiff
path: root/data/odcctools/comm.diff
diff options
context:
space:
mode:
Diffstat (limited to 'data/odcctools/comm.diff')
-rw-r--r--data/odcctools/comm.diff35
1 files changed, 35 insertions, 0 deletions
diff --git a/data/odcctools/comm.diff b/data/odcctools/comm.diff
new file mode 100644
index 000000000..93b5d0a54
--- /dev/null
+++ b/data/odcctools/comm.diff
@@ -0,0 +1,35 @@
+Index: as/read.c
+===================================================================
+--- odcctools/as/read.c (revision 206)
++++ odcctools+iPhone/as/read.c (working copy)
+@@ -1698,7 +1700,7 @@
+
+ /*
+ * s_comm() implements the pseudo op:
+- * .comm name , expression
++ * .comm name , expression [ , align_expression ]
+ */
+ static
+ void
+@@ -1710,6 +1712,7 @@
+ char *p;
+ signed_target_addr_t temp;
+ symbolS *symbolP;
++ int align;
+
+ if(*input_line_pointer == '"')
+ name = input_line_pointer + 1;
+@@ -1731,6 +1734,13 @@
+ ignore_rest_of_line();
+ return;
+ }
++ align = 0;
++ if(*input_line_pointer == ','){
++ input_line_pointer++;
++ align = get_absolute_expression();
++ as_warn("Alignment of %u specified on .comm, and we didn't care.", align);
++ }
++
+ *p = 0;
+ symbolP = symbol_find_or_make(name);
+ *p = c;