Norwegian striker Erling Haaland has signed a contract extension with Manchester City until 2034, removing a clause that would have allowed him to move to Real Madrid.