How to make genesis block transaction spendable? I read this question Why can’t the genesis block coinbase be spent? . It says because of some quirk (the genesis block coinbase transaction is not added to the global transaction database) genesis block coinbase transaction cannot be spent.

How to add this transaction to the global transaction database ? What changes are needed to make this transaction spendable ?
It would be trivially easy to make the change.  Just a couple lines of code to add the include the genesis block tx in the utxo.  

Understand however the hard part is that would create a hard fork.  Unless the change became part of a majority of nodes it would violate the consensus rules. If that output was ever spent any node running older code would be split from any node running newer code as some nodes would see the new txn as valid and some as invalid.  This is true for any hard fork scenario.  For this reason it is unlikely that hard forks for minor or trivially reasons will ever happen.