The Arduino GSM Shield is not very compatible with the Leonardo, and the library uses interrupts different for the Leonardo.
There is a guide for it:
http://arduino.cc/en/Guide/GSMShieldLeonardoMegaBut that still uses pin 3 for TX. However, pin 3 is also SCL for the I2C bus.
It would better if the GSM shield could be used and still keep the Serial1 and I2C available.
The solution is simple, use RX to pin 8 (as described in the Guide) and TX to pin 9.
The RXINT should not be used, since pin 8 supports PCINT change interrupt for the normal SoftwareSerial library.
In the library GSM3SoftSerial, the interrupt for the Leonardo is not very well implemented. It seems to be a work in progress. As it is implemented at the moment, I would call it a bug.
I suggest to remove the interrupt number for the Leonardo, and make it possible to use a pin as described for the SoftwareSerial library.
The library and the guide should be changed.
In this post I suggested to make __RXINT__ value 100, to disable it.
http://forum.arduino.cc/index.php?topic=269816.msg1913883#msg1913883I don't know if __RXPIN__ value 8 will use the PCINT change interrupt without further change.
http://arduino.cc/en/Reference/softwareSerialhttp://arduino.cc/en/Main/arduinoBoardLeonardohttp://arduino.cc/en/Main/ArduinoGSMShield