The whole reason the GOT works is that the offset between the code and data sections is constant; ergo, the offset between the code and some given datum in the data section is constant.
This SO question addresses this, and confirms that for data defined in the library, the GOT is redundant.
The only possibility left is data used in the library, but defined elsewhere.
Thus, is the only point of the GOT in a shared lib, to be able to keep that lib's code section position-independent by localizing all relocations to symbols defined in other shared libraries, in the GOT?