Stocks end at 7-month high; Nifty crosses 25,000 mark amid broad-based buying