------- Comment #9 from daney at gcc dot gnu dot org 2007-09-04 06:32 ------- Fixing things up when we are calculating relocations does not seem like it will work. We cannot go adding an offest to a %lo() relocation and expect it not to overflow on occasion.
Probably we need to load the value into a register and handle the casting there, as is done at -O0. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33256