ooo-build r11297 - trunk/patches/test
- From: michael svn gnome org
- To: svn-commits-list gnome org
- Subject: ooo-build r11297 - trunk/patches/test
- Date: Thu, 17 Jan 2008 11:38:30 +0000 (GMT)
Author: michael
Date: Thu Jan 17 11:38:29 2008
New Revision: 11297
URL: http://svn.gnome.org/viewvc/ooo-build?rev=11297&view=rev
Log:
alignment fix.
Modified:
trunk/patches/test/gcc-vt-copy-3.diff
Modified: trunk/patches/test/gcc-vt-copy-3.diff
==============================================================================
--- trunk/patches/test/gcc-vt-copy-3.diff (original)
+++ trunk/patches/test/gcc-vt-copy-3.diff Thu Jan 17 11:38:29 2008
@@ -27,7 +27,7 @@
diff -u -r -x '*~' -x testsuite -x libjava -x cc-nptl -x build-dir -x '*.orig' -x obj-i586-suse-linux -x texis -x Makeconfig -x version.h -x '*.o' -x '*.1' -x 'Makefile*' -x 'config*' -x libtool -x '*.info' -x '*.tex' pristine-gcc-4.2.1-simple/gcc/cp/class.c gcc-4.2.1-simple/gcc/cp/class.c
--- pristine-gcc-4.2.1-simple/gcc/cp/class.c 2007-07-05 10:02:39.000000000 +0100
-+++ gcc-4.2.1-simple/gcc/cp/class.c 2008-01-16 16:26:01.000000000 +0000
++++ gcc-4.2.1-simple/gcc/cp/class.c 2008-01-17 11:32:50.000000000 +0000
@@ -136,7 +136,7 @@
static tree fixed_type_or_null (tree, int *, int *);
static tree build_simple_base_path (tree expr, tree binfo);
@@ -52,7 +52,7 @@
static void clone_constructors_and_destructors (tree);
static tree build_clone (tree, tree);
static void update_vtable_entry_for_fn (tree, tree, tree, tree *, unsigned);
-@@ -6355,6 +6355,49 @@
+@@ -6355,6 +6355,52 @@
return decl;
}
@@ -70,11 +70,14 @@
+ {
+ int nslots = list_length (inits);
+ tree atype = build_cplus_array_type (vtbl_slot_copy_type_node,
-+ build_index_type (size_int (nslots)));
++ build_index_type (size_int (nslots - 1)));
+ layout_type (atype);
++ TYPE_ALIGN (atype) = BITS_PER_UNIT * 4;
+
+ d = build_lang_decl (VAR_DECL, name, atype);
+ DECL_VTRELOC_INIT(d) = 1;
++ DECL_ALIGN(d) = 1;
++ DECL_USER_ALIGN(d) = 1;
+ DECL_SECTION_NAME(d) = mangle_vtreloc_section_for_type (t);
+ SET_DECL_ASSEMBLER_NAME (d, name);
+ /* Remember the type it is for. */
@@ -102,7 +105,7 @@
/* Returns the binfo for the primary base of BINFO. If the resulting
BINFO is a virtual base, and it is inherited elsewhere in the
-@@ -6637,6 +6680,140 @@
+@@ -6637,6 +6683,140 @@
dump_thunk (stderr, 0, fn);
}
@@ -243,7 +246,7 @@
/* Virtual function table initialization. */
/* Create all the necessary vtables for T and its base classes. */
-@@ -6647,19 +6824,30 @@
+@@ -6647,19 +6827,30 @@
tree list;
tree vbase;
@@ -276,7 +279,7 @@
}
if (BINFO_VTABLE (TYPE_BINFO (t)))
-@@ -6676,6 +6864,10 @@
+@@ -6676,6 +6867,10 @@
layout_vtable_decl (binfo, list_length (inits));
decl = get_vtbl_decl_for_binfo (binfo);
initialize_artificial_var (decl, inits);
@@ -287,7 +290,7 @@
dump_vtable (BINFO_TYPE (binfo), binfo, decl);
}
-@@ -6945,6 +7137,7 @@
+@@ -6945,6 +7140,7 @@
tree inits;
tree id;
tree vbase;
@@ -295,7 +298,7 @@
/* See if we've already created this construction vtable group. */
id = mangle_ctor_vtbl_for_type (t, binfo);
-@@ -6955,11 +7148,13 @@
+@@ -6955,11 +7151,13 @@
/* Build a version of VTBL (with the wrong type) for use in
constructing the addresses of secondary vtables in the
construction vtable group. */
@@ -310,7 +313,7 @@
/* Add the vtables for each of our virtual bases using the vbase in T
binfo. */
-@@ -6973,7 +7168,7 @@
+@@ -6973,7 +7171,7 @@
continue;
b = copied_binfo (vbase, binfo);
@@ -319,7 +322,7 @@
}
inits = TREE_VALUE (list);
-@@ -6986,6 +7181,11 @@
+@@ -6986,6 +7184,11 @@
CLASSTYPE_VTABLES (t) = chainon (CLASSTYPE_VTABLES (t), vtbl);
initialize_artificial_var (vtbl, inits);
dump_vtable (t, binfo, vtbl);
@@ -331,7 +334,7 @@
}
/* Add the vtbl initializers for BINFO (and its bases other than
-@@ -7003,7 +7203,8 @@
+@@ -7003,7 +7206,8 @@
tree orig_binfo,
tree rtti_binfo,
tree t,
@@ -341,7 +344,7 @@
{
int i;
tree base_binfo;
-@@ -7026,7 +7227,7 @@
+@@ -7026,7 +7230,7 @@
TREE_VALUE (inits)
= chainon (TREE_VALUE (inits),
dfs_accumulate_vtbl_inits (binfo, orig_binfo,
@@ -350,7 +353,7 @@
/* Walk the BINFO and its bases. We walk in preorder so that as we
initialize each vtable we can figure out at what offset the
-@@ -7041,7 +7242,7 @@
+@@ -7041,7 +7245,7 @@
accumulate_vtbl_inits (base_binfo,
BINFO_BASE_BINFO (orig_binfo, i),
rtti_binfo, t,
@@ -359,7 +362,7 @@
}
}
-@@ -7053,7 +7254,8 @@
+@@ -7053,7 +7257,8 @@
tree orig_binfo,
tree rtti_binfo,
tree t,
@@ -369,7 +372,7 @@
{
tree inits = NULL_TREE;
tree vtbl = NULL_TREE;
-@@ -7120,7 +7322,7 @@
+@@ -7120,7 +7325,7 @@
/* Compute the initializer for this vtable. */
inits = build_vtbl_initializer (binfo, orig_binfo, t, rtti_binfo,
@@ -378,7 +381,7 @@
/* Figure out the position to which the VPTR should point. */
vtbl = TREE_PURPOSE (l);
-@@ -7154,6 +7356,40 @@
+@@ -7154,6 +7359,40 @@
return inits;
}
@@ -419,7 +422,7 @@
static GTY(()) tree abort_fndecl_addr;
/* Construct the initializer for BINFO's virtual function table. BINFO
-@@ -7184,7 +7420,8 @@
+@@ -7184,7 +7423,8 @@
tree orig_binfo,
tree t,
tree rtti_binfo,
@@ -429,7 +432,7 @@
{
tree v, b;
tree vfun_inits;
-@@ -7192,6 +7429,8 @@
+@@ -7192,6 +7432,8 @@
unsigned ix;
tree vbinfo;
VEC(tree,gc) *vbases;
@@ -438,7 +441,7 @@
/* Initialize VID. */
memset (&vid, 0, sizeof (vid));
-@@ -7213,7 +7452,7 @@
+@@ -7213,7 +7455,7 @@
signature, we share the vcall offsets. */
vid.fns = VEC_alloc (tree, gc, 32);
/* Add the vcall and vbase offset entries. */
@@ -447,7 +450,7 @@
/* Clear BINFO_VTABLE_PATH_MARKED; it's set by
build_vbase_offset_vtbl_entries. */
-@@ -7240,18 +7479,52 @@
+@@ -7240,18 +7482,52 @@
}
}
@@ -501,7 +504,7 @@
fn = BV_FN (v);
fn_original = fn;
-@@ -7281,7 +7554,10 @@
+@@ -7281,7 +7557,10 @@
{
/* We found a defn before a lost primary; go ahead as normal. */
if (look_for_overrides_here (BINFO_TYPE (b), fn_original))
@@ -513,7 +516,7 @@
/* The nearest definition is from a lost primary; clear the
slot. */
-@@ -7299,6 +7575,9 @@
+@@ -7299,6 +7578,9 @@
delta = BV_DELTA (v);
vcall_index = BV_VCALL_INDEX (v);
@@ -523,7 +526,7 @@
gcc_assert (TREE_CODE (delta) == INTEGER_CST);
gcc_assert (TREE_CODE (fn) == FUNCTION_DECL);
-@@ -7319,9 +7598,40 @@
+@@ -7319,9 +7601,40 @@
if (!DECL_NAME (fn))
finish_thunk (fn);
}
@@ -567,7 +570,7 @@
}
}
-@@ -7346,8 +7656,34 @@
+@@ -7346,8 +7659,34 @@
}
else
vfun_inits = tree_cons (NULL_TREE, init, vfun_inits);
@@ -602,7 +605,7 @@
/* The initializers for virtual functions were built up in reverse
order; straighten them out now. */
vfun_inits = nreverse (vfun_inits);
-@@ -7363,7 +7699,8 @@
+@@ -7363,7 +7702,8 @@
offsets in BINFO, which is in the hierarchy dominated by T. */
static void
@@ -612,7 +615,7 @@
{
tree b;
-@@ -7371,10 +7708,17 @@
+@@ -7371,10 +7711,17 @@
corresponding to the primary base class. */
b = get_primary_binfo (binfo);
if (b)
@@ -732,7 +735,7 @@
pop_namespace ();
diff -u -r -x '*~' -x testsuite -x libjava -x cc-nptl -x build-dir -x '*.orig' -x obj-i586-suse-linux -x texis -x Makeconfig -x version.h -x '*.o' -x '*.1' -x 'Makefile*' -x 'config*' -x libtool -x '*.info' -x '*.tex' pristine-gcc-4.2.1-simple/gcc/cp/decl2.c gcc-4.2.1-simple/gcc/cp/decl2.c
--- pristine-gcc-4.2.1-simple/gcc/cp/decl2.c 2007-06-28 14:16:12.000000000 +0100
-+++ gcc-4.2.1-simple/gcc/cp/decl2.c 2008-01-16 13:57:18.000000000 +0000
++++ gcc-4.2.1-simple/gcc/cp/decl2.c 2008-01-16 18:13:11.000000000 +0000
@@ -1530,6 +1530,26 @@
info. */
note_debug_info_needed (ctype);
@@ -767,7 +770,7 @@
+static void
+generate_vtable_copy_slots (void)
+{
-+ tree k, decl;
++ tree k;
+
+ if (!getenv ("VT_SHRINK"))
+ return;
@@ -792,8 +795,8 @@
+ TREE_PUBLIC (decl) = 0;
+ DECL_WEAK (decl) = 1;
+ DECL_INTERFACE_KNOWN (decl) = 1;
-+ /* mark_used (decl); */
-+ /* rest_of_decl_compilation (decl, 1, 1); */
++ DECL_ALIGN (decl) = 4;
++ DECL_ALIGN (ctor) = 4;
+ finish_decl (decl, ctor, NULL_TREE);
+
+ fprintf (stderr, "Generate vtreloc variable '%s' comdat? %d",
@@ -883,3 +886,25 @@
/* In a VAR_DECL, nonzero if the decl is a register variable with
an explicit asm specification. */
#define DECL_HARD_REGISTER(NODE) (VAR_DECL_CHECK (NODE)->decl_with_vis.hard_register)
+diff -u -r -x '*~' -x testsuite -x libjava -x cc-nptl -x build-dir -x '*.orig' -x obj-i586-suse-linux -x texis -x Makeconfig -x version.h -x '*.o' -x '*.1' -x 'Makefile*' -x 'config*' -x libtool -x '*.info' -x '*.tex' pristine-gcc-4.2.1-simple/gcc/varasm.c gcc-4.2.1-simple/gcc/varasm.c
+--- pristine-gcc-4.2.1-simple/gcc/varasm.c 2008-01-10 09:49:03.000000000 +0000
++++ gcc-4.2.1-simple/gcc/varasm.c 2008-01-17 11:08:40.000000000 +0000
+@@ -1550,6 +1550,8 @@
+ void
+ assemble_align (int align)
+ {
++ if (getenv ("DEBUG"))
++ fprintf (stderr, "assemble align %d\n", align);
+ if (align > BITS_PER_UNIT)
+ {
+ ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (align / BITS_PER_UNIT));
+@@ -1564,6 +1566,9 @@
+ int pos = 0;
+ int maximum = 2000;
+
++ if (getenv ("DEBUG"))
++ fprintf (stderr, "assemble string '%s'\n", p);
++
+ /* If the string is very long, split it up. */
+
+ while (pos < size)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]