TORONTO -- A broad-based rally helped Canada's largest stock index to post a triple-digit gain in late-morning trading, while U.S. stock markets also pushed higher.

The S&P/TSX composite index was up 119.12 points to 15,628.87, after 90 minutes of trading.

In New York, the Dow Jones industrial average was up 214.59 points to 24,021.48. The S&P 500 index was up 22.86 points to 2,662.26 and the Nasdaq composite index was up 104.33 points to 7,108.07.

The Canadian dollar was trading at 77.68 cents US, down from an average value of 77.71 cents US on Wednesday.

The June crude contract was up 19 cents to US$68.24 per barrel and the June natural gas contract was up three cents to US$2.84 per mmBTU.

The June gold contract was down US$3.90 to US$1,318.90 an ounce and the July copper contract was down one cent to US$3.15 a pound.