|
From: Rich C. <rc...@wi...> - 2012-07-16 11:41:31
|
On Mon, 16 Jul 2012 13:03:25 +0200
Julian Seward <js...@ac...> wrote:
> On Monday, July 16, 2012, Rich Coe wrote:
> > For gcc on x86, -malign-double will do what is needed.
>
> Can you clarify? What does the man page say about -malign-double?
>
> J
> -malign-double
> -mno-align-double
> Control whether GCC aligns "double", "long double", and "long long"
> variables on a two word boundary or a one word boundary. Aligning
> "double" variables on a two word boundary will produce code that runs
> somewhat faster on a Pentium at the expense of more memory.
>
> On x86-64, -malign-double is enabled by default.
Then there's this. Not very desirable for V. bummer.
> Warning: if you use the -malign-double switch, structures containing
> the above types will be aligned differently than the published
> application binary interface specifications for the 386 and will not
> be binary compatible with structures in code compiled without
> that switch.
I'll keep looking.
rev 12742 broke the darwin build, this patch makes it build again.
Index: coregrind/m_debuginfo/readmacho.c
===================================================================
--- coregrind/m_debuginfo/readmacho.c (revision 12749)
+++ coregrind/m_debuginfo/readmacho.c (working copy)
@@ -1045,6 +1045,14 @@
Word debug_loc_sz;
UChar* debug_name_img;
Word debug_name_sz;
+ UChar* debug_str_alt_img = NULL; /* .debug_str (alternate) */
+ Word debug_str_alt_sz = 0;
+ UChar* debug_line_alt_img = NULL; /* .debug_str (alternate) */
+ Word debug_line_alt_sz = 0;
+ UChar* debug_info_alt_img = NULL; /* .debug_str (alternate) */
+ Word debug_info_alt_sz = 0;
+ UChar* debug_abbv_alt_img = NULL; /* .debug_str (alternate) */
+ Word debug_abbv_alt_sz = 0;
debug_info_img =
getsectdata(iid.macho_img, iid.macho_img_szB,
@@ -1087,7 +1095,8 @@
NULL, 0,
debug_abbv_img, debug_abbv_sz,
debug_line_img, debug_line_sz,
- debug_str_img, debug_str_sz );
+ debug_str_img, debug_str_sz,
+ debug_str_alt_img, debug_str_alt_sz);
/* The new reader: read the DIEs in .debug_info to acquire
information on variable types and locations. But only if
@@ -1102,7 +1111,11 @@
debug_line_img, debug_line_sz,
debug_str_img, debug_str_sz,
debug_ranges_img, debug_ranges_sz,
- debug_loc_img, debug_loc_sz
+ debug_loc_img, debug_loc_sz,
+ debug_info_alt_img, debug_info_alt_sz,
+ debug_abbv_alt_img, debug_abbv_alt_sz,
+ debug_line_alt_img, debug_line_alt_sz,
+ debug_str_alt_img, debug_str_alt_sz
);
}
}
--
Rich Coe rc...@wi...
|