GCC 3.3 is more picky about syntax, so a few changes are
necessary to get things to compile.
First, the uint_64_t constants needed to have ULL appended to
the end of them to indicate that they are unsigned long longs. For
example, "#define MF_SPECIAL (uint_64_t)
(0x0000000000000001)" became "#define MF_SPECIAL
Second, static variables may only be initialized to constants. I
have attached a diff for the current 2.3.x branch with the
necessary changes to get it to compile in gcc 3.3.