gcm.c revision 4d703b5c9cb1bc29ace6c53cb50b2fe766e6370f