Just a newby asking the 64k question again - Arduino Mega2560

Read the post I wrote above, the answer is in there.

Move your pgm data after the code, then the constructor table starts in the lower address memory.