Does using -fno-tree-sink avoid the problem even without this patch? http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41354
Den 5. aug. 2010 14.36 skrev <[email protected]>: > Revision: 5179 > Author: [email protected] > Date: Thu Aug 5 05:34:53 2010 > Log: Fix GCC 4.4.4 build > > Force a number functions to not inline in order th work around a bug in GCC > 4.4.4. > > See http://codereview.chromium.org/3083016 for more info. > Review URL: http://codereview.chromium.org/3034056 > http://code.google.com/p/v8/source/detail?r=5179 > > Modified: > /branches/bleeding_edge/src/globals.h > /branches/bleeding_edge/src/heap.h > > ======================================= > --- /branches/bleeding_edge/src/globals.h Wed Jul 14 04:18:09 2010 > +++ /branches/bleeding_edge/src/globals.h Thu Aug 5 05:34:53 2010 > @@ -643,11 +643,14 @@ > #if defined(__GNUC__) && !defined(DEBUG) > #if (__GNUC__ >= 4) > #define INLINE(header) inline header __attribute__((always_inline)) > +#define NO_INLINE(header) header __attribute__((noinline)) > #else > #define INLINE(header) inline __attribute__((always_inline)) header > +#define NO_INLINE(header) __attribute__((noinline)) header > #endif > #else > #define INLINE(header) inline header > +#define NO_INLINE(header) header > #endif > > // Feature flags bit positions. They are mostly based on the CPUID spec. > ======================================= > --- /branches/bleeding_edge/src/heap.h Thu Aug 5 04:19:43 2010 > +++ /branches/bleeding_edge/src/heap.h Thu Aug 5 05:34:53 2010 > @@ -1195,12 +1195,12 @@ > static bool CreateInitialMaps(); > static bool CreateInitialObjects(); > > - // These four Create*EntryStub functions are here because of a gcc-4.4 > bug > - // that assigns wrong vtable entries. > - static void CreateCEntryStub(); > - static void CreateJSEntryStub(); > - static void CreateJSConstructEntryStub(); > - static void CreateRegExpCEntryStub(); > + // These four Create*EntryStub functions are here and forced to not be > inlined > + // because of a gcc-4.4 bug that assigns wrong vtable entries. > + NO_INLINE(static void CreateCEntryStub()); > + NO_INLINE(static void CreateJSEntryStub()); > + NO_INLINE(static void CreateJSConstructEntryStub()); > + NO_INLINE(static void CreateRegExpCEntryStub()); > > static void CreateFixedStubs(); > > -- > v8-dev mailing list > [email protected] > http://groups.google.com/group/v8-dev > -- Erik Corry, Software Engineer Google Denmark ApS. CVR nr. 28 86 69 84 c/o Philip & Partners, 7 Vognmagergade, P.O. Box 2227, DK-1018 Copenhagen K, Denmark. -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
