Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4)

Unified Diff: third_party/yasm/patched-yasm/modules/objfmts/macho/macho-objfmt.c

Issue 6170009: Update our yasm copy to yasm 1.1.0 (Part 1: yasm side)... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/
Patch Set: Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/yasm/patched-yasm/modules/objfmts/macho/macho-objfmt.c
===================================================================
--- third_party/yasm/patched-yasm/modules/objfmts/macho/macho-objfmt.c (revision 71129)
+++ third_party/yasm/patched-yasm/modules/objfmts/macho/macho-objfmt.c (working copy)
@@ -91,7 +91,7 @@
*/
#include <util.h>
-/*@unused@*/ RCSID("$Id: macho-objfmt.c 2166 2009-01-02 08:33:21Z peter $");
+/*@unused@*/ RCSID("$Id: macho-objfmt.c 2345 2010-08-01 01:27:40Z peter $");
#include <libyasm.h>
@@ -532,7 +532,7 @@
if ((vis & YASM_SYM_EXTERN) || (vis & YASM_SYM_COMMON)) {
reloc->ext = 1;
info->msd->extreloc = 1; /* section has external relocations */
- } else if (!value->curpos_rel && !info->is_64) {
+ } else if (!info->is_64) {
/*@dependent@*/ /*@null@*/ yasm_bytecode *sym_precbc;
/* Local symbols need valued to their actual address */
@@ -1001,7 +1001,7 @@
unsigned long delta = msd->vmoff % align;
if (delta > 0) {
msd->vmoff += align - delta;
- info->vmsize += delta;
+ info->vmsize += align - delta;
}
}
@@ -1188,7 +1188,7 @@
/* next: section headers */
/* offset to relocs for first section */
- info.rel_base = align32((long)fileoffset + (long)info.filesize);
+ info.rel_base = align32((long)fileoff_sections);
info.s_reloff = 0; /* offset for relocs of following sections */
yasm_object_sections_traverse(object, &info, macho_objfmt_output_secthead);
@@ -1217,8 +1217,8 @@
}
/* padding to long boundary */
- if (info.rel_base - (fileoffset + info.filesize)) {
- fwrite(pad_data, info.rel_base - (fileoffset + info.filesize), 1, f);
+ if ((info.rel_base - fileoff_sections) > 0) {
+ fwrite(pad_data, info.rel_base - fileoff_sections, 1, f);
}
/* relocation data */
@@ -1242,10 +1242,11 @@
yasm_xfree(objfmt);
}
-static macho_section_data *
-macho_objfmt_init_new_section(yasm_object *object, yasm_section *sect,
- const char *sectname, unsigned long line)
+static void
+macho_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_macho *objfmt_macho = (yasm_objfmt_macho *)object->objfmt;
macho_section_data *data;
yasm_symrec *sym;
@@ -1265,7 +1266,6 @@
sym = yasm_symtab_define_label(object->symtab, sectname,
yasm_section_bcs_first(sect), 1, line);
data->sym = sym;
- return data;
}
static yasm_section *
@@ -1278,7 +1278,7 @@
retval = yasm_object_get_general(object, "LC_SEGMENT.__TEXT.__text", 0, 1,
0, &isnew, 0);
if (isnew) {
- msd = macho_objfmt_init_new_section(object, retval, ".text", 0);
+ msd = yasm_section_get_data(retval, &macho_section_data_cb);
msd->segname = yasm__xstrdup("__TEXT");
msd->sectname = yasm__xstrdup("__text");
msd->flags = S_ATTR_PURE_INSTRUCTIONS;
@@ -1471,10 +1471,7 @@
&isnew, line);
yasm_xfree(realname);
- if (isnew)
- msd = macho_objfmt_init_new_section(object, retval, sectname, line);
- else
- msd = yasm_section_get_data(retval, &macho_section_data_cb);
+ msd = yasm_section_get_data(retval, &macho_section_data_cb);
if (isnew || yasm_section_is_default(retval)) {
yasm_section_set_default(retval, 0);
@@ -1564,6 +1561,7 @@
macho_objfmt_output,
macho_objfmt_destroy,
macho_objfmt_add_default_section,
+ macho_objfmt_init_new_section,
macho_objfmt_section_switch,
macho_objfmt_get_special_sym
};
@@ -1582,6 +1580,7 @@
macho_objfmt_output,
macho_objfmt_destroy,
macho_objfmt_add_default_section,
+ macho_objfmt_init_new_section,
macho_objfmt_section_switch,
macho_objfmt_get_special_sym
};
@@ -1600,6 +1599,7 @@
macho_objfmt_output,
macho_objfmt_destroy,
macho_objfmt_add_default_section,
+ macho_objfmt_init_new_section,
macho_objfmt_section_switch,
macho_objfmt_get_special_sym
};

Powered by Google App Engine
This is Rietveld 408576698