James McAvoy is photographed for the Hollywood Reporter in Cannes, France.