The 31-year-old most recently played for Aberdeen working under then Dons boss Derek McInnes, who is now in charge at Kilmarnock.
McInnes said: “Gary is someone I knew from my time at Aberdeen and I know exactly how hard he works, how dedicated he is Monday to Friday.
"He wants to come here and challenge himself to get into the team which is want you want, competition for all positions in the team."

