add gcc atomic support