The rupee gave up early gains to end a shade weaker today on month-end demand for the dollar from importers but expectations of dollar inflows from an overseas share offering limited losses. The rupee finished at 43.53 per dollar, weaker than yesterday's close of 43.52 and near a three-week closing low on Wednesday of 43.54.