http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57602
--- Comment #2 from Igor Zamyatin <izamyatin at gmail dot com> --- For both cases we have calls of static routines where address of some static variable is being passed. Since all this could be seen only for 32 bits, problem looks like some attribute which allows the routine to pass parameters on registers lost somewhere (but callee still rely on this fact).