S&P 500 ekes out slight weekly gain; energy top loser after ~9% rise last week