В версии gcc-2.95 можно было использовать глобальные конструкторы и деструкторы (функции __do_global_ctor_aux и __do_global_dtor_aux), подлинковывая crtbegin.o и crtend.o. Почему-то в версии gcc-3.3 это не получается, хотя файлы остались. Может, кто-нибудь сталкивался с этой проблемой?