Index: third_party/yasm/patched-yasm/modules/objfmts/xdf/xdf-objfmt.c |
=================================================================== |
--- third_party/yasm/patched-yasm/modules/objfmts/xdf/xdf-objfmt.c (revision 71129) |
+++ third_party/yasm/patched-yasm/modules/objfmts/xdf/xdf-objfmt.c (working copy) |
@@ -25,7 +25,7 @@ |
* POSSIBILITY OF SUCH DAMAGE. |
*/ |
#include <util.h> |
-/*@unused@*/ RCSID("$Id: xdf-objfmt.c 2166 2009-01-02 08:33:21Z peter $"); |
+/*@unused@*/ RCSID("$Id: xdf-objfmt.c 2310 2010-03-28 19:28:54Z peter $"); |
#include <libyasm.h> |
@@ -604,10 +604,11 @@ |
yasm_xfree(objfmt); |
} |
-static xdf_section_data * |
-xdf_objfmt_init_new_section(yasm_object *object, yasm_section *sect, |
- const char *sectname, unsigned long line) |
+static void |
+xdf_objfmt_init_new_section(yasm_section *sect, unsigned long line) |
{ |
+ yasm_object *object = yasm_section_get_object(sect); |
+ const char *sectname = yasm_section_get_name(sect); |
yasm_objfmt_xdf *objfmt_xdf = (yasm_objfmt_xdf *)object->objfmt; |
xdf_section_data *data; |
yasm_symrec *sym; |
@@ -626,21 +627,17 @@ |
sym = yasm_symtab_define_label(object->symtab, sectname, |
yasm_section_bcs_first(sect), 1, line); |
data->sym = sym; |
- return data; |
} |
static yasm_section * |
xdf_objfmt_add_default_section(yasm_object *object) |
{ |
yasm_section *retval; |
- xdf_section_data *xsd; |
int isnew; |
retval = yasm_object_get_general(object, ".text", 0, 1, 0, &isnew, 0); |
- if (isnew) { |
- xsd = xdf_objfmt_init_new_section(object, retval, ".text", 0); |
+ if (isnew) |
yasm_section_set_default(retval, 1); |
- } |
return retval; |
} |
@@ -750,10 +747,7 @@ |
retval = yasm_object_get_general(object, sectname, align, 1, resonly, |
&isnew, line); |
- if (isnew) |
- xsd = xdf_objfmt_init_new_section(object, retval, sectname, line); |
- else |
- xsd = yasm_section_get_data(retval, &xdf_section_data_cb); |
+ xsd = yasm_section_get_data(retval, &xdf_section_data_cb); |
if (isnew || yasm_section_is_default(retval)) { |
yasm_section_set_default(retval, 0); |
@@ -847,6 +841,7 @@ |
xdf_objfmt_output, |
xdf_objfmt_destroy, |
xdf_objfmt_add_default_section, |
+ xdf_objfmt_init_new_section, |
xdf_objfmt_section_switch, |
xdf_objfmt_get_special_sym |
}; |